bravoegg
Member level 2
Code:
always@(posedge clk)begin
data1512_vld_r1 <= data1512_vld;
tps_vld_r1 = tps_vld;
end
//cmlk_r, ram1512's data aligned to wr_1705
always@(posedge clk)begin
wr_1705 <= pilot_vld_r2 | data1512_vld_r1 | tps_vld_r1;
end
when either pilot_vld_r2 or data1512_vld_r1 or tps_vld_r1 is '1', wr_1705 turns to '1' the next clock cycle. But the simulation turns out wrong.
How could it be wrong...it's clearly that tps_vld_r1 is '1', then wr_1705 MUST be '1' next clock cycle...
to furthur test the code, I add the following code:
Code:
always@(posedge clk)begin
if(tps_vld_r1)
luck <= 1;
else
luck <= 0;
end
assign more = tps_vld_r1 || pilot_vld_r2 || data1512_vld_r1;
it's extremely puzzling that, at the red arrows in the above pictures, signal "luck" behaves completely differently than I thought.
Please help...
Last edited: