Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

21 May, 2024: Computers section is temporarily disabled for maintenance. It will take several days before it's back.


devel / comp.lang.vhdl / Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

SubjectAuthor
* Process sensitivity list - why doesn't the process enter when signalsA
+* Re: Process sensitivity list - why doesn't the process enter whenMaurice SAAB
|`* Re: Process sensitivity list - why doesn't the process enter whenA
| `* Re: Process sensitivity list - why doesn't the process enter whenMaurice SAAB
|  `- Re: Process sensitivity list - why doesn't the process enter whenA
`* Re: Process sensitivity list - why doesn't the process enter whenCharles Bailey
 `- Re: Process sensitivity list - why doesn't the process enter whenA

1
Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=31&group=comp.lang.vhdl#31

  copy link   Newsgroups: comp.lang.vhdl
X-Received: by 2002:ad4:5966:: with SMTP id eq6mr89574qvb.116.1639603714505;
Wed, 15 Dec 2021 13:28:34 -0800 (PST)
X-Received: by 2002:a25:5f11:: with SMTP id t17mr8265112ybb.633.1639603714300;
Wed, 15 Dec 2021 13:28:34 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.vhdl
Date: Wed, 15 Dec 2021 13:28:34 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=2602:306:334c:b080:f9ee:1a24:df63:2afe;
posting-account=rRWESQoAAABpGoGZN4aaNtcTcmzDYlqZ
NNTP-Posting-Host: 2602:306:334c:b080:f9ee:1a24:df63:2afe
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
Subject: Process sensitivity list - why doesn't the process enter when signals
on it's sensitivity list change.
From: ashokmehta72@gmail.com (A)
Injection-Date: Wed, 15 Dec 2021 21:28:34 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 8
 by: A - Wed, 15 Dec 2021 21:28 UTC

Hello,

I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.

https://www.edaplayground.com/x/Qx_J

My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.

Thanks

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<spf5m5$1mib$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=32&group=comp.lang.vhdl#32

  copy link   Newsgroups: comp.lang.vhdl
Path: i2pn2.org!i2pn.org!aioe.org!LX3j8ejFoLXdTP0+wM+jVA.user.46.165.242.75.POSTED!not-for-mail
From: morisaab@yahoo.fr (Maurice SAAB)
Newsgroups: comp.lang.vhdl
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
Date: Thu, 16 Dec 2021 12:50:34 +0200
Organization: Aioe.org NNTP Server
Message-ID: <spf5m5$1mib$1@gioia.aioe.org>
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="55883"; posting-host="LX3j8ejFoLXdTP0+wM+jVA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101
Thunderbird/96.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
X-Antivirus-Status: Clean
X-Antivirus: AVG (VPS 211215-4, 12/15/2021), Outbound message
 by: Maurice SAAB - Thu, 16 Dec 2021 10:50 UTC

On 15/12/2021 23:28, A wrote:
> Hello,
>
> I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
>
> https://www.edaplayground.com/x/Qx_J
>
> My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
>
> Thanks
in process (A, B, C).... there is no wait statement, so time didn't advances

HTH

--
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<ad9e7d62-07ec-4db5-9e91-c53b8c19e9aan@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=33&group=comp.lang.vhdl#33

  copy link   Newsgroups: comp.lang.vhdl
X-Received: by 2002:a05:620a:4107:: with SMTP id j7mr13040661qko.645.1639679846219;
Thu, 16 Dec 2021 10:37:26 -0800 (PST)
X-Received: by 2002:a5b:18c:: with SMTP id r12mr15028240ybl.553.1639679845964;
Thu, 16 Dec 2021 10:37:25 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.vhdl
Date: Thu, 16 Dec 2021 10:37:25 -0800 (PST)
In-Reply-To: <spf5m5$1mib$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2602:306:334c:b080:90fc:3fb3:685b:a92a;
posting-account=rRWESQoAAABpGoGZN4aaNtcTcmzDYlqZ
NNTP-Posting-Host: 2602:306:334c:b080:90fc:3fb3:685b:a92a
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com> <spf5m5$1mib$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ad9e7d62-07ec-4db5-9e91-c53b8c19e9aan@googlegroups.com>
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
From: ashokmehta72@gmail.com (A)
Injection-Date: Thu, 16 Dec 2021 18:37:26 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: A - Thu, 16 Dec 2021 18:37 UTC

On Thursday, December 16, 2021 at 2:50:49 AM UTC-8, Maurice SAAB wrote:
> On 15/12/2021 23:28, A wrote:
> > Hello,
> >
> > I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
> >
> > https://www.edaplayground.com/x/Qx_J
> >
> > My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
> >
> > Thanks
> in process (A, B, C).... there is no wait statement, so time didn't advances
>
> HTH
>
>
>
> --
> Cet email a fait l'objet d'une analyse antivirus par AVG.
> http://www.avg.com

Process is sensitive to A.B.C - so can't have wait statement in the process. No wait when there is sensitivity list - VHDL rule.

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<spg4j1$1eb0$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=34&group=comp.lang.vhdl#34

  copy link   Newsgroups: comp.lang.vhdl
Path: i2pn2.org!i2pn.org!aioe.org!LX3j8ejFoLXdTP0+wM+jVA.user.46.165.242.75.POSTED!not-for-mail
From: morisaab@yahoo.fr (Maurice SAAB)
Newsgroups: comp.lang.vhdl
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
Date: Thu, 16 Dec 2021 21:37:57 +0200
Organization: Aioe.org NNTP Server
Message-ID: <spg4j1$1eb0$1@gioia.aioe.org>
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
<spf5m5$1mib$1@gioia.aioe.org>
<ad9e7d62-07ec-4db5-9e91-c53b8c19e9aan@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="47456"; posting-host="LX3j8ejFoLXdTP0+wM+jVA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101
Thunderbird/96.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
X-Antivirus-Status: Clean
X-Antivirus: AVG (VPS 211215-4, 12/15/2021), Outbound message
 by: Maurice SAAB - Thu, 16 Dec 2021 19:37 UTC

On 16/12/2021 20:37, A wrote:
> On Thursday, December 16, 2021 at 2:50:49 AM UTC-8, Maurice SAAB wrote:
>> On 15/12/2021 23:28, A wrote:
>>> Hello,
>>>
>>> I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
>>>
>>> https://www.edaplayground.com/x/Qx_J
>>>
>>> My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
>>>
>>> Thanks
>> in process (A, B, C).... there is no wait statement, so time didn't advances
>>
>> HTH
>>
>>
>>
>> --
>> Cet email a fait l'objet d'une analyse antivirus par AVG.
>> http://www.avg.com
>
> Process is sensitive to A.B.C - so can't have wait statement in the process. No wait when there is sensitivity list - VHDL rule.
Seems working with my (old) simulator:
ENTER: At Time = 0 ns INPUT = 'U''U''U'
EXIT: At Time = 0 ns iOUT1 = 'U''U''U'
ENTER: At Time = 1 ns INPUT = '0''U''U'
EXIT: At Time = 1 ns iOUT1 = '0''U''U'
ENTER: At Time = 11 ns INPUT = '0''0''U'
EXIT: At Time = 11 ns iOUT1 = '0''0''U'
ENTER: At Time = 15 ns INPUT = '0''0''0'
EXIT: At Time = 15 ns iOUT1 = '0''0''0'
ENTER: At Time = 26 ns INPUT = '1''0''0'
EXIT: At Time = 26 ns iOUT1 = '1''0''0'
ENTER: At Time = 36 ns INPUT = '1''1''0'
EXIT: At Time = 36 ns iOUT1 = '1''1''0'
ENTER: At Time = 40 ns INPUT = '1''1''1'
EXIT: At Time = 40 ns iOUT1 = '1''1''1'

there is ENTER at 36ns when B changes

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<spgo1a$2cp$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=35&group=comp.lang.vhdl#35

  copy link   Newsgroups: comp.lang.vhdl
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: logicguy76@gmail.com (Charles Bailey)
Newsgroups: comp.lang.vhdl
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
Date: Thu, 16 Dec 2021 19:09:59 -0600
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <spgo1a$2cp$1@dont-email.me>
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 17 Dec 2021 01:10:02 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="dad400a432ec3c53eaa81b06fe7d1f88";
logging-data="2457"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18AZO2J8C4lRoZnjO/FUFvkAC3PZNdpjrA="
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101
Thunderbird/38.7.2
Cancel-Lock: sha1:zDkn053NVgBvIW/WHdGsmQhRJ2Q=
In-Reply-To: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
 by: Charles Bailey - Fri, 17 Dec 2021 01:09 UTC

On 2021-12-15 15:28, A wrote:
> Hello,
>
> I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
>
> https://www.edaplayground.com/x/Qx_J
>
> My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
>
> Thanks
>
The main problem is that signals B and C are being driven by two
processes. Unless you are dealing with tri-state logic this is usually
a no-no. Remember that in VHDL a signal is not a variable in the sense
that you would think of a variable in a conventional programming
language. An assignment statement for a signal (<=) within a process or
in a stand-alone concurrent statement creates a driver for that signal.
So, in the example you pointed to, B and C have conflicting drivers.

Another problem is that signal B appears in the sensitivity list of the
first process and also appears on the left-hand side of an assignment
statement in that process. This is also usually a no-no since the
feedback can cause endless loops in some cases. (Trust me, over the
past few months I have been solving some simulator hang problems in
somebody else's logic caused by process feedback.)

Charles Bailey

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<0a41f27b-8836-4505-8b80-5308f9c216ben@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=36&group=comp.lang.vhdl#36

  copy link   Newsgroups: comp.lang.vhdl
X-Received: by 2002:ad4:5dcc:: with SMTP id m12mr3964795qvh.12.1639766831375;
Fri, 17 Dec 2021 10:47:11 -0800 (PST)
X-Received: by 2002:a25:c6d7:: with SMTP id k206mr5875210ybf.756.1639766831177;
Fri, 17 Dec 2021 10:47:11 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.vhdl
Date: Fri, 17 Dec 2021 10:47:10 -0800 (PST)
In-Reply-To: <spg4j1$1eb0$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2602:306:334c:b080:c0ce:7cbc:482b:3d67;
posting-account=rRWESQoAAABpGoGZN4aaNtcTcmzDYlqZ
NNTP-Posting-Host: 2602:306:334c:b080:c0ce:7cbc:482b:3d67
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com>
<spf5m5$1mib$1@gioia.aioe.org> <ad9e7d62-07ec-4db5-9e91-c53b8c19e9aan@googlegroups.com>
<spg4j1$1eb0$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0a41f27b-8836-4505-8b80-5308f9c216ben@googlegroups.com>
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
From: ashokmehta72@gmail.com (A)
Injection-Date: Fri, 17 Dec 2021 18:47:11 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 41
 by: A - Fri, 17 Dec 2021 18:47 UTC

On Thursday, December 16, 2021 at 11:38:15 AM UTC-8, Maurice SAAB wrote:
> On 16/12/2021 20:37, A wrote:
> > On Thursday, December 16, 2021 at 2:50:49 AM UTC-8, Maurice SAAB wrote:
> >> On 15/12/2021 23:28, A wrote:
> >>> Hello,
> >>>
> >>> I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
> >>>
> >>> https://www.edaplayground.com/x/Qx_J
> >>>
> >>> My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
> >>>
> >>> Thanks
> >> in process (A, B, C).... there is no wait statement, so time didn't advances
> >>
> >> HTH
> >>
> >>
> >>
> >> --
> >> Cet email a fait l'objet d'une analyse antivirus par AVG.
> >> http://www.avg.com
> >
> > Process is sensitive to A.B.C - so can't have wait statement in the process. No wait when there is sensitivity list - VHDL rule.
> Seems working with my (old) simulator:
> ENTER: At Time = 0 ns INPUT = 'U''U''U'
> EXIT: At Time = 0 ns iOUT1 = 'U''U''U'
> ENTER: At Time = 1 ns INPUT = '0''U''U'
> EXIT: At Time = 1 ns iOUT1 = '0''U''U'
> ENTER: At Time = 11 ns INPUT = '0''0''U'
> EXIT: At Time = 11 ns iOUT1 = '0''0''U'
> ENTER: At Time = 15 ns INPUT = '0''0''0'
> EXIT: At Time = 15 ns iOUT1 = '0''0''0'
> ENTER: At Time = 26 ns INPUT = '1''0''0'
> EXIT: At Time = 26 ns iOUT1 = '1''0''0'
> ENTER: At Time = 36 ns INPUT = '1''1''0'
> EXIT: At Time = 36 ns iOUT1 = '1''1''0'
> ENTER: At Time = 40 ns INPUT = '1''1''1'
> EXIT: At Time = 40 ns iOUT1 = '1''1''1'
>
> there is ENTER at 36ns when B changes
Thanks Maurice. But the reason it worked for you is because I had changed the model (drive A first) to make it work. If you try it again, it'll show the behavior as I explained in my original post.

Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

<b4754585-8945-4de5-9259-42151e208215n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=37&group=comp.lang.vhdl#37

  copy link   Newsgroups: comp.lang.vhdl
X-Received: by 2002:ac8:5bca:: with SMTP id b10mr3739798qtb.170.1639767012660;
Fri, 17 Dec 2021 10:50:12 -0800 (PST)
X-Received: by 2002:a5b:18c:: with SMTP id r12mr6076842ybl.553.1639767012480;
Fri, 17 Dec 2021 10:50:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.vhdl
Date: Fri, 17 Dec 2021 10:50:12 -0800 (PST)
In-Reply-To: <spgo1a$2cp$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2602:306:334c:b080:c0ce:7cbc:482b:3d67;
posting-account=rRWESQoAAABpGoGZN4aaNtcTcmzDYlqZ
NNTP-Posting-Host: 2602:306:334c:b080:c0ce:7cbc:482b:3d67
References: <dbd80671-a42a-4dfc-a89a-770d4e673935n@googlegroups.com> <spgo1a$2cp$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b4754585-8945-4de5-9259-42151e208215n@googlegroups.com>
Subject: Re: Process sensitivity list - why doesn't the process enter when
signals on it's sensitivity list change.
From: ashokmehta72@gmail.com (A)
Injection-Date: Fri, 17 Dec 2021 18:50:12 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 41
 by: A - Fri, 17 Dec 2021 18:50 UTC

On Thursday, December 16, 2021 at 5:10:05 PM UTC-8, Charles Bailey wrote:
> On 2021-12-15 15:28, A wrote:
> > Hello,
> >
> > I am perplexed with VHDL behavior in the example I tried on EDA Playground. Here's the link so that you can simulate yourself.
> >
> > https://www.edaplayground.com/x/Qx_J
> >
> > My question is why doesn't the process enter when 'B' changes? The process seems to remain stuck at time 0 - with A, B, C values as Uninitialized.
> >
> > Thanks
> >
> The main problem is that signals B and C are being driven by two
> processes. Unless you are dealing with tri-state logic this is usually
> a no-no. Remember that in VHDL a signal is not a variable in the sense
> that you would think of a variable in a conventional programming
> language. An assignment statement for a signal (<=) within a process or
> in a stand-alone concurrent statement creates a driver for that signal.
> So, in the example you pointed to, B and C have conflicting drivers.
>
> Another problem is that signal B appears in the sensitivity list of the
> first process and also appears on the left-hand side of an assignment
> statement in that process. This is also usually a no-no since the
> feedback can cause endless loops in some cases. (Trust me, over the
> past few months I have been solving some simulator hang problems in
> somebody else's logic caused by process feedback.)
>
> Charles Bailey

Thanks Charles. Multiple drivers is a good point. I was aware of this but I wanted to see if the process would at least enter once, when 'B' changes. I think since 'A' drives B and since A is 'U' at time zero; when B goes to '0', the multiple drivers get resolved to 'U' and the sensitivity list does not see a change in 'B'. Confusing explanation but that's the only way I can see why the process does not trigger when 'B' changes at time 1ns. Thanks again.


devel / comp.lang.vhdl / Re: Process sensitivity list - why doesn't the process enter when signals on it's sensitivity list change.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor