Verilog HDL 之 寄存器
一、原理
寄存器是计算机和其他数字系统中用来存储代码或数据的逻辑部件。它的主要组成部分是触发器。一个触发器能储存一位二进制代码,所以要存储n位二进制代码的寄存器需要n个触发器组成。
寄存器和数据锁存器功能是相同的,不同的区别在于锁存器是电平信号控制,属于电平敏感性,而寄存器一般是由同步时钟信号控制。两者使用场合不一样,主要取决于控制方式及控制信号和数据之间的时序关系:若数据有效滞后于控制信号有效,则只能使用锁存器;若数据提前于控制信号,并要求同步操作,而可以选择寄存器来存放数据。
本实验就是设计一个8 位的数据寄存器,该寄存器可以对8位信号并行输入的数据进行同步寄存。另外,该寄存器还有一个异步清零端,低电平有效。其功能表如表1.1所示。
二、实现
在设计文件中输入Verilog代码
1 `timescale 1 ns / 1 ps 2 module reg8 ( clr ,clk ,DOUT ,D ); 3 input clr ; 4 wire clr ; 5 input clk ; 6 wire clk ; 7 input [7:0] D ; 8 wire [7:0] D ; 9 output [7:0] DOUT ; 10 reg [7:0] DOUT ; 11 12 always @ ( posedge clk or posedge clr) 13 begin 14 if (clr==1) 15 DOUT <= 0; 16 else DOUT <= D ; 17 end 18 endmodule