現(xiàn)代邏輯設(shè)計中,時序邏輯設(shè)計是核心,而寄存器又是時序邏輯的基礎(chǔ),下面將介紹幾種常見的寄存器的Verilog設(shè)計代碼供初學(xué)者進行學(xué)習(xí)理解。
1、簡單寄存器
基本寄存器
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)先級高)
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)注
1626文章
21665瀏覽量
601828 -
寄存器
+關(guān)注
關(guān)注
31文章
5317瀏覽量
120006 -
Verilog
+關(guān)注
關(guān)注
28文章
1343瀏覽量
109985 -
時序邏輯
+關(guān)注
關(guān)注
0文章
39瀏覽量
9146 -
異步復(fù)位
+關(guān)注
關(guān)注
0文章
47瀏覽量
13300
發(fā)布評論請先 登錄
相關(guān)推薦
評論