[Verilog HDL] VERILOG寄存器

[复制链接]
 楼主| gaochy1126 发表于 2023-5-29 14:57 | 显示全部楼层 |阅读模式
异步清零寄存器
工作原理:

CP 不为上升沿,且 RD=1 时,寄存器输出保持不变。
CP 上升沿,且 RD=1 时,输入端 D0-D3 送寄存器,Q0-Q3 输出等于输入,并 保持此数据直到下一个时钟沿到来。
RD=0 时, 异步清零。
寄存器模块代码:
  1. module hardreg(d,clk,clrb,q);
  2.        
  3.         input clk,clrb;
  4.         input[3:0] d;
  5.         output reg [3:0] q;
  6.        
  7.         always@(posedge clk or  negedge clrb)
  8.         begin
  9.                 if(!clrb)
  10.                         q<=0;// 如果clrb=0就异步清零
  11.                 else
  12.                         q<=d;      
  13.         end
  14.        
  15. endmodule

testbench代码:
  1. `timescale 1 ns/ 1 ps

  2. `define clock_period 20
  3. module hardreg_tb;

  4.         reg clk;
  5.         reg clrb;
  6.         reg [3:0] din;

  7.         wire [3:0] dout;
  8.                      
  9.         hardreg hardreg0 (
  10.         din,
  11.         clk,
  12.         clrb,
  13.         dout
  14.         );
  15.        
  16.         initial clk =1'b1;
  17.         always#(`clock_period/2) clk=~clk;
  18.         initial begin                                                  
  19.          clrb=1'b0;
  20.                         din=4'b1111;
  21.                         #100
  22.                         clrb=1'b1;
  23.                         #100
  24.                         clrb=1'b0;
  25.                         #50
  26.                         din =4'b0001;
  27.                         #100
  28.                         clrb =1;
  29.                         #100
  30.                         din =4'b0010;
  31.                         #100
  32.                         din =4'b0011;
  33.                         #100
  34.                         din =4'b0011;                       
  35.          #100
  36.                         clrb =0;
  37.                         #35
  38.                         din =4'b0101;                       
  39.          #100
  40.          $stop;
  41.             
  42.                 end
  43.                                                                     
  44. endmodule


 楼主| gaochy1126 发表于 2023-5-29 14:58 | 显示全部楼层
功能仿真结果图:

时序仿真结果图:

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1148

主题

11651

帖子

26

粉丝
快速回复 在线客服 返回列表 返回顶部