wtr
Full Member level 5
IOBUF primative doesn't behave the way i want
Hello all,
I'm having an issue whereby instantiation of Xilinx IOBUF leaves me with a problem, such that my command received line mirrors the command transmit line.
The truth table is a follows.
T | I | IO | O
----------------
1 | X | Z | IO
0 | 1 | 1 | 1
0 | 0 | 0 | 0
So by design the output of iobuf is mirroring the input.
In RTL this could be described as
io <= 'Z' when T else I;
O <= IO;
However this makes my separate rx_cmd (O) block trigger when it sees the tx_cmd (I) - because of the start delimiter. I could force (and have in the past) the receive block to not be enabled(hold in reset) whilst I'm transmitting, but I'd prefer to do it on the mux line.
using vhdl like
io <= 'z' when T else I;
O <= IO when not T else 'Z';
Gives the functionality I want, however it creates glitch in simulation, around the transaction/event on T.
T is driven by a valid signal in the transmit command block, it's assigned '1' as it transitions through transmit parts of the state machine.
What methods have people used the past?
Regards,
Wes
Hello all,
I'm having an issue whereby instantiation of Xilinx IOBUF leaves me with a problem, such that my command received line mirrors the command transmit line.
The truth table is a follows.
T | I | IO | O
----------------
1 | X | Z | IO
0 | 1 | 1 | 1
0 | 0 | 0 | 0
So by design the output of iobuf is mirroring the input.
In RTL this could be described as
io <= 'Z' when T else I;
O <= IO;
However this makes my separate rx_cmd (O) block trigger when it sees the tx_cmd (I) - because of the start delimiter. I could force (and have in the past) the receive block to not be enabled(hold in reset) whilst I'm transmitting, but I'd prefer to do it on the mux line.
using vhdl like
io <= 'z' when T else I;
O <= IO when not T else 'Z';
Gives the functionality I want, however it creates glitch in simulation, around the transaction/event on T.
T is driven by a valid signal in the transmit command block, it's assigned '1' as it transitions through transmit parts of the state machine.
What methods have people used the past?
Regards,
Wes