【连载】 FPGA Verilog HDL 系列实例--------寄存器
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