Closed pmerz1 closed 10 months ago
I have never worked with Vivado. I am using commercial simulators for ASIC and of course OSCI SystemC simulator. The issue looks like a bug in Vivado 2018. If you like to investigate it, it would make sense to ask Vivado support. Do you see any issue with the generated SV?
Hi,
I am currently testing this compiler and I had a problem simulating the generated SV modules with different tools.
I have implemented a producer and a consumer module that communicate via a channel. In the sockets for the channel on the consumer and producer side, I have implemented a simple CDC module that performs pipelining of an input signal.
This CDC module behaves differently in several simulators.
In SystemC, I've written following:
The generated SV module looks like:
I executed the code with three different simlulators and have following results for this simple CDC module:
Vivado2018.3 (The Divider is named Producer but I meant CDC)
Vivado2023.2
XCELIUM2209
As you can see, the CDC module works perfectly well with two of the three simulators. When using Vivado 2018.3, several signals like
sig_out_p_next
andbuffer_reg_s_next
get stuck onX
. After releasing the negative reset in particular,sig_out_p
andbuffer_reg_s
also get stuck onX
.I realize that you may not be familiar with these simulator tools. I am just wondering why this behavior occurs in VIVADO2018.3. I hope you have had this problem in the past.