Forum: FPGA, VHDL & Verilog Process and list sensitivity

von mansoor s. (Company: shahroodut) (mansoor64)

Attached files:

Rate this post
0 useful
not useful
I wrote a program that outputs it to me a little confused.
So someone explain to me what the problem could be that I'm grateful.
I'm going with the activation of a particular input to output transfer 
process sensitivity list for example if the active instance  rx1 then 
in1 transferred to the output.
The process for the first time about 10 times rx2 zero and one, 
respectively in2're just getting into the stream and no problem
but In the second series, which began rx4 zero and one,and is repeated 
about 10 times over, the first valu of in4 not moved to output but later 
transferred to the output in4, respectively.
please see the attached image.
the process list sensitivity not have overlap.

end if;
end process;

von Lothar M. (lkmiller) (Moderator)

Rate this post
0 useful
not useful
> I wrote a program
Please add the file as an attachment.
The problems in a VHDL code usually don't come from sensitivity lists. 
In most cases they are buried somewhere else...

von Andreas H. (ahz)

Rate this post
0 useful
not useful

It's hard to say what's going on without the sourcecode :/

Anyway, it looks like an standard flaw. The process sketch looks like a 
multiplexer. The process (in simulation) responds to all events of the 
signals in the sensitivity list.

For a given time t assume two events
  in2 <= "FE", and
  rising_edge(rx2) in THAT order.

The simulator assigns in2 and then to the neccassary action assigned to 
rx2 ( i expect this should be data_out <= in2. Thx for posting the code 
:-( )
So, after time t data_out is "FE".

But if the (internal) event order is
  in2 <= "FE"
then data_out is set (during the processing of the rx2 event) to the OLD 
value on in2 and THEN setting in2 to "FE".

Since your process is not sensitive to changes in in2 the simulator has 
no reason to reevaluate the outputs of this process.

Try adding the inx signals to the process. Then it should work, i.e:



von mansoor s. (Company: shahroodut) (mansoor64)

Rate this post
0 useful
not useful
Thanks and Praise
My issue was solved with your help


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.