今日偶然看到一些知名企業的筆試試題,隨便掃瞄了下,看到有幾道關於fpga/cpld的題目,小小的程式設計題,用veriloghdl或vhdl語言編觸發器,腦袋轉了一下,模糊似乎清晰,清晰又像浸入模糊,呵呵。。。上半年,由於boss專案,學習了fpga,學的有點急,也斷斷續續的,才過幾個月,似乎知識已經遠去,開啟電腦,速覽以前的資料,記憶又回來了。。。簡單記錄下這道題,權當回憶。。。
module d_ef(q,d,clk)
input d,clk;
output q;
reg q; //在always語句中被賦值的訊號要宣告為reg型別 暫存器定義
always @ (posedge clk) //上公升沿,下降沿用negedge表示,^_^ 需要記憶
begin q <= d; end
endmodule
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
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
Verilog描述 同步非同步復位D觸發器
對於d觸發器dff的同步非同步,我是吃過虧的,所以一定要理解清晰,同步和非同步的概念。本篇主要例舉出同步,非同步,復位,置位d觸發器的verilog描述。關鍵在於使用訊號preset的下降沿事件,作為always的觸發,這樣,無論時鐘clk處於何種狀態,都會對輸出q進行置位操作,美其名曰 非同步置位...
verilog描述鎖存器和觸發器
1。門口d鎖存器 module d latch clk,d,q input clk,d output reg q always clk,d 注 這裡的敏感訊號為clk和d,因為d也引起q的變化。當clk為高點評時,d的變化也引起輸出q的變化。if clk 1 q d endmodule 2.d觸發器...
1 verilog語言編寫D觸發器
2.1.1本節目錄 1 本節目錄 2 fpga簡介 3 verilog簡介 4 verilog語言編寫d觸發器 5 本節結束。fpga field programmable gate array 是在pal gal等可程式設計器件的基礎上進一步發展的產物。它是作為專用積體電路 asic 領域中的一種...