verilog设计中 如何将某个信号延迟一个或多个时钟?

如图所示,如何写代码才能将数据data延迟一个或多个clk?
注:data的数据改变都是在clk上升沿进行改变的。

第1个回答  推荐于2017-12-15
很简单打拍啊
reg new_data0 ;
reg new_data1 ;
always@(posedge clk) begin
new_data0 <=data;
new_data1 <=new_data0 ;
end
图中new_data打了2拍,就是代码中的new_data1追问

clk上升沿的时候采data的值,准确吗?因为data是在clk上升沿的时候变化的,不会导致不准确码?

追答

对齐只是画波形图的理想情况,实际上data和new_data都有一点点滞后,但是data和new_data的变化是对齐的

本回答被提问者采纳
相似回答