tariq786
Advanced Member level 2
Hi folks, I have a question about HDL simulators like Synopsys VCS or Cadence NCVerilog or Mentor Graphics ModelSim
Do you know how HDL simulators work inside?
For example,
I am always curious how would HDL simulator simulate the following sum of product (and-or-invert gate)
//////////////////////////////////////////Beginning of Verilog code ////////////////////////////////////////////////
module and_or_invert_gate(output z,
input a,b,c,d
)
wire y;
assign y = (a & b) | (c&d);
assign z = !y;
endmodule
/////////////////////////////////////////////// End of Verilog Code ////////////////////////////////////////////////////////////////////
I mean what does the simulator do when it sees an & symbol in the Verilog code? How does it simulate it? What algorithm is used?
Similarly how does it model concurrency as both assignment states are executing in parallel?
What are the pre-processing steps of HDL simulation?
Most importantly, how does HDL simulator know it has simulated correctly.
If you can share some documentation, that will help me pick up HDL simulation quickly, that would be very much appreciated.
Thanks a lot.
Do you know how HDL simulators work inside?
For example,
I am always curious how would HDL simulator simulate the following sum of product (and-or-invert gate)
//////////////////////////////////////////Beginning of Verilog code ////////////////////////////////////////////////
module and_or_invert_gate(output z,
input a,b,c,d
)
wire y;
assign y = (a & b) | (c&d);
assign z = !y;
endmodule
/////////////////////////////////////////////// End of Verilog Code ////////////////////////////////////////////////////////////////////
I mean what does the simulator do when it sees an & symbol in the Verilog code? How does it simulate it? What algorithm is used?
Similarly how does it model concurrency as both assignment states are executing in parallel?
What are the pre-processing steps of HDL simulation?
Most importantly, how does HDL simulator know it has simulated correctly.
If you can share some documentation, that will help me pick up HDL simulation quickly, that would be very much appreciated.
Thanks a lot.
Last edited: