Forum Discussion
Altera_Forum
Honored Contributor
15 years agoFirst you need to know if it is 'X' or 'U'. When you have a vector with X or U 's in it, Modelsim will sometimes replace the vector value by 'X'. Looking at the individual bits should tell you which one of those two it is.
'U' means uninitialized. All signals start in this state, and if you forget to initialize some vectors to a value, they will be in that state. 'X' means unknown. It usually has two possible causes:[list][*]you are trying to drive the signals from two places, one with '0' and one with '1'[*]you are doing a logical operation with at least one of the input signals in the 'U', 'X', or 'Z' state[/list] I think you should first give an initial value to all your signals. This ensures that you start in a good state. If then you still have 'X', it means that you are either driving the same signal from two places, or that you are reading a signal while it is in high impedance state ('Z'). I think that the latter is what is happening in your case, there is a one cycle delay between ft_din and rx_buf_in, so when you put rx_buf_re to 1 you are in fact putting in the FIFO the previous value of ft_din, which is in a high impedance state for at least one cycle.