always @(posedge clk)
if(triggler)
w_en<=1'b1;
else w_en<=1'b0;
always @(posedge clk)
if(count==10'd1000)
triggler<=1'b1;
else begin
triggler<=1'b0
count<=count+1'b1;
end
仿真波形 大家看一下这两个alaways 块,是从我写的代码里简化出来的,我的本意是 第二个always 块中的count 计数到1万的时候,triggler 产生一个时钟周期的高脉冲,然后第一个always块 采样到这个高脉冲后 使能w_en。 但是我用modelsim 仿真的时候,triggler 发生从0到1跳变的时候,w_en 也立即从0到1跳变了。感觉这样肯定存在风险的。第一个always块采样到稳定的 高电平的triggler的时候才能让w_en 置一 才对。 我本想在第一个模块使用 negedge clk 去采样。这样就可以采样到稳定的 trggler 但是网上都说这样做并不好。请问统一用posedge clk 的情况下 如何能够正确采样呢? |