always@(*)
begin
if(C1) A = 1;
else if((C2 | C3)) A = 0;
else A <= A_reg;
end
always@(posedge clk)
begin
if(~RST_n) begin
A_reg <= 0;
end
else A_reg <=A;
end
初步找到不一样的原因了,就是上边一段代码两个仿真结果不一样,C1=1的时候,A=1,A_reg应该晚一个周期为1,vcs是这样的,但是xcelium两个信号同时变化,之后一直这样,导致了整个仿真持续的时间不同; C1是testbench里面@(posedge clk); C1=1;这样给的,怀疑是这个地方有问题。