Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > synthesis and sensitivity list?

Reply
Thread Tools

synthesis and sensitivity list?

 
 
Elinore
Guest
Posts: n/a
 
      08-11-2005
Hi

In the FSM example below, sensitity list is supposed to be (clk,
reset).

What if (clk, reset, input) ?

How is differently synthesized, for example, in Xilinx FPGA synthesis
tool, XST?

process(clk,reset)
begin
if (reset='1') then
state <= S1;
output <= '1';
elsif(clk='1' and clk'event) then
case state is
when s1 =>
if input ='1' then --- FSM input
state <= s2;
output <= '1';
else
state <= s3;
output <= '0';
when s2 => state <= s4; output <= '0';
end case;
end if;
end process

 
Reply With Quote
 
 
 
 
Peter
Guest
Posts: n/a
 
      08-11-2005
The process is only triggered on clk and reset, so "input" shall not be
in the sensitivity list. That is the normal case for a synchronous
design with asynchronous reset.
Synthesis programs does not care about sensitivity list but gives you a
warning if they are not complete.

/Peter

 
Reply With Quote
 
 
 
 
Neo
Guest
Posts: n/a
 
      08-11-2005
If you put "input" also in the sensitivity list it dosent matter for
the synthesis tool but it will usually give warnings. But you will end
up with simulation synthesis mismatch as simulation will take into
account your sensitivity list.

 
Reply With Quote
 
Ralf Hildebrandt
Guest
Posts: n/a
 
      08-11-2005
Elinore wrote:

> In the FSM example below, sensitity list is supposed to be (clk,
> reset).
>
> What if (clk, reset, input) ?
>
> How is differently synthesized, for example, in Xilinx FPGA synthesis
> tool, XST?
>
> process(clk,reset)
> begin
> if (reset='1') then
> state <= S1;
> output <= '1';
> elsif(clk='1' and clk'event) then

....
> end process


If you add any signal, the process will be triggered, if an there is an
'event of the added signal, but nothing will happen, as the two
if-clauses are false. -> Just unnessecary overhead for simulation, but
no false behavior for simulation or synthesis.

Note, that this behavior is because of the rising-edge dectection. For
combinational logic or latches you have to take more care with the
sensitivity list.

Ralf
 
Reply With Quote
 
Rob Dekker
Guest
Posts: n/a
 
      08-25-2005

"Neo" <> wrote in message news: ups.com...
> If you put "input" also in the sensitivity list it dosent matter for
> the synthesis tool but it will usually give warnings. But you will end
> up with simulation synthesis mismatch as simulation will take into
> account your sensitivity list.
>


Actually it is totally benign to put more signals on the sensitivity list than need.
Synthesis tool only warns if there are signals MISSING, because this would
lead to synthesis/simulation mismatches.

Synthesis / simulation results are the same, if there are EXTRA signals on the list.

Rob


 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      08-25-2005
Rob Dekker wrote

> Synthesis / simulation results are the same, if there are EXTRA signals on the list.


The duration of the simulation run
and the clarity of the code
are not the same.


-- Mike Treseler
 
Reply With Quote
 
Ahmed Samieh Ahmed Samieh is offline
Junior Member
Join Date: Mar 2007
Posts: 5
 
      06-10-2007
Quote:
Originally Posted by Elinore
Hi

In the FSM example below, sensitity list is supposed to be (clk,
reset).

What if (clk, reset, input) ?

How is differently synthesized, for example, in Xilinx FPGA synthesis
tool, XST?
http://www.doulos.com/knowhow/vhdl_d.../if_statement/

Sensitivity list
It is a fundamental rule of VHDL that only signals (which includes input and buffer ports) must appear in the sensitivity list.


Golden Rule 1:
To synthesize combinational logic using a process, all inputs to the design must appear in the sensitivity list.

!!!

Ahmed Samieh
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Coding style, wait statement, sensitivity list and synthesis. AG VHDL 45 01-06-2006 09:02 PM
os.path.splitext() and case sensitivity rbt Python 4 12-21-2005 01:55 PM
Re: Eclipse Search and Replace with Emacs like Case Sensitivity eschreiber@gmail.com Java 0 01-25-2005 04:42 PM
SOS! newbie question about synthesizable VHDL : synthesis run successfully but post-synthesis failed... walala VHDL 4 09-09-2003 08:41 AM
what are the possible reasons that successful pre-synthesis simulation + successful synthesis = failed post-synthes walala VHDL 4 09-08-2003 01:51 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57