【verilog每日一练】寄存器“打一拍” - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[问答]

【verilog每日一练】寄存器“打一拍”

请用verilog实现寄存器“打一拍”,将信号延时1个时钟周期,默认signal与clk信号同步,参考波形如下:
图片2.png

回帖(7)

卿小小_9e6

2023-8-19 11:50:51
  1. module  delay_1_tick(
  2.     input       clk             ,
  3.     input       signal          ,
  4.     output wire signal_1d
  5. );
  6. reg     signal_reg              ;
  7. always@(posedge clk)
  8. begin
  9.     signal_reg <= signal        ;
  10. end
  11. assign signal_1d = signal_reg   ;
  12. endmodule

dfghjkghj

2023-8-19 17:33:38
打一拍就是通过一级D寄存器,代码就不写了,注意非阻塞赋值就行

Mill

2023-8-20 18:57:53


解析:“打拍”即使用寄存器将信号延时1个时钟周期。如题目波形图,在时序电路中时钟上升沿3处将signal由0置为1,同一时刻将signal当前值赋给signal_1d,所以signal_1d仍为0;时钟上升沿5处将signal由1置为0,同一时刻将signal当前值赋给signal_1d,所以signal_1d仍为1,达到延时1个时钟周期的效果。

Mill

2023-8-21 18:26:43


解析:“打拍”即使用寄存器将信号延时1个时钟周期。如题目波形图,在时序电路中时钟上升沿3处将signal由0置为1,同一时刻将signal当前值赋给signal_1d,所以signal_1d仍为0;时钟上升沿5处将signal由1置为0,同一时刻将signal当前值赋给signal_1d,所以signal_1d仍为1,达到延时1个时钟周期的效果。

更多回帖

×
发帖