VHDL driving signal from different processes

前端 未结 5 1075
醉梦人生
醉梦人生 2021-01-04 12:22

I have a little problem with following VHDL code:

process (zbroji)
begin
    if rising_edge(zbroji) then
        oduzima <= \'0\';
        ucitanPrvi <         


        
5条回答
  •  感动是毒
    2021-01-04 12:30

    If you drive a std_logic signal from more than one process (and remember that a continuous assignment outside of a process also creates an implied process!) then all but one of them must be driving Z onto the signal. To a first approximation, the resolution function (that decides what the final value should be) will produce Xs unless this happens.

    I'm not sure how best to change your code - you need to decide when a particular process should not drive the signal and have it drive a Z at that point.


    The full definition of how the multiple drivers are resolved is defined in the ieee.std_logic_1164 package and covers all possibilities, such as a 1 and an L driving etc. The IEEE get shirty about copyright, so I'm not going to post even an excerpt here, but you'll be able to find it in the source libraries of your simulator.

提交回复
热议问题