D触发器Verilog描述
??? 今日偶然看到一些知名企業(yè)的筆試試題,隨便掃描了下,看到有幾道關(guān)于FPGA/CPLD的題目,小小的編程題,用VerilogHDL或VHDL語言編觸發(fā)器,腦袋轉(zhuǎn)了一下,模糊似乎清晰,清晰又像浸入模糊,呵呵。。。上半年,由于Boss項(xiàng)目,學(xué)習(xí)了FPGA,學(xué)的有點(diǎn)急,也斷斷續(xù)續(xù)的,才過幾個(gè)月,似乎知識(shí)已經(jīng)遠(yuǎn)去,打開電腦,速覽以前的資料,記憶又回來了。。。簡(jiǎn)單記錄下這道題,權(quán)當(dāng)回憶。。。
- //基本D觸發(fā)器
module D_EF(Q,D,CLK)
input D,CLK;
output Q;
reg Q;????????????????????????? ?//在always語句中被賦值的信號(hào)要聲明為reg類型 寄存器定義
always @ (posedge CLK) //上升沿,下降沿用negedge表示,^_^ 需要記憶
?????? begin Q <= D; end
endmodule
?
- //帶異步清0、異步置1的D觸發(fā)器
module D_EF(q,qn,d,clk,set,reset)
input d,clk,set,reset;
output q,qn;
reg q,qn;//寄存器定義
always @ (posedge clk or negedge set or negedge reset)
?????? begin
????????????? if(!reset) begin q<=0;qn<=1;end//異步清0,低有效
????????????? else if(!set) begin q<=1;qn<=1;end //異步置1,低有效
????????????? else begin q<=~d;qn<=~d;end
?????? end??
endmodule
?
- //帶同步清0、同步置1的D觸發(fā)器
module D_EF(q,qn,d,clk,set,reset)
input d,clk,set,reset;
output q,qn;
reg q,qn;
always @ (posedge clk)
?????? begin
????????????? if(reset) begin q<=0;qn<=1;end//同步清0,高有效
????????????? else if(set) begin q<=1;qn<=1;end //同步置1,高有效
????????????? else begin q<=~d;qn<=~d;end
?????? end??
endmodule
?
SkySeraph ??? 2010-09-24???? HQU XiaMen China
Email:zgzhaobo@gmail.com? QQ:452728574?
Blog:http://www.cnblogs.com/skyseraph/??
總結(jié)
以上是生活随笔為你收集整理的D触发器Verilog描述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HP Network Team #1:
- 下一篇: 《中国管理安全服务(MSS)市场研究报告