現(xiàn)代邏輯設(shè)計(jì)中,時(shí)序邏輯設(shè)計(jì)是核心,而寄存器又是時(shí)序邏輯的基礎(chǔ),下面將介紹幾種常見的寄存器的Verilog設(shè)計(jì)代碼供初學(xué)者進(jìn)行學(xué)習(xí)理解。
1、簡(jiǎn)單寄存器
基本寄存器
module dff(clk, din, dout)
input clk;
input din;
output dout;
reg dout;
always @ (posedge clk)begin
dout <= din;
end
endmodule
2、異步復(fù)位寄存器
異步復(fù)位寄存器
module dff(clk, rst_n, din, dout);
input clk;
input rst_n;
input din;
output dout;
reg dout;
always @ (posedge clk or negedge rst_n)begin
if(! rst_n)dout <= 1'b0;
else dout <= din;
end
endmodule
3、帶異步置位的寄存器
異步置位寄存器
module dff(clk, set, din, dout);
input clk;
input din;
input set;
output dout;
reg dout;
always @ (posedge clk or posedge set)begin
if(set) dout <= 1'b1;
else dout <= din;
end
endmodule
4、既帶異步復(fù)位又帶異步置位的寄存器
異步復(fù)位和置位寄存器
異步復(fù)位和置位寄存器(復(fù)位優(yōu)先級(jí)高)
module dff(clk, rst_n, set, din, dout);
input clk;
input din;
input rst_n;
input set;
output dout;
reg dout;
always @ (posedge clk or negedge rst_n posedge set)begin
if(! rst_n) dout <= 1'b0;
else if(set) dout <= 1'b1;
else dout <= din;
end
endmodule
5、同步使能功能的寄存器
帶同步使能的寄存器
module dff(clk, ena, din, dout);
input clk;
input din;
input ena;
output dout;
reg dout;
always @ (posedge clk) begin
if(ena) dout <= din;
end
endmodule
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21744瀏覽量
603662 -
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120448 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110124 -
時(shí)序邏輯
+關(guān)注
關(guān)注
0文章
39瀏覽量
9163 -
異步復(fù)位
+關(guān)注
關(guān)注
0文章
47瀏覽量
13318
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論