1樓:豔陽天
首先,你可以利用quartus裡面,tools選單裡的mega wizard功能來產生系統自帶的各類觸發器,應該是各種型別的觸發器都有。下面簡單編寫verilog**,假設是1位t觸發器。module t(rst1,rst0,clk,in,out)input rst,rst0,clk,in;output out;reg out;always @(posedge clk or negedge rst1 or negedge rst0)beginif(rst1)out<=1;else if(rst0)out<=0;elsebegin if(in) out<=in; else out<=out;endendendmodule
verilog中d觸發器的非同步高電平復位是什麼意思
2樓:匿名使用者
復位就是 reset
高電平指的是 if(reset) begin d <= 0; end
非同步指的是 always@(posedge clk, posedge reset)
如果寫成
always@(posedge clk) begin
d <= d_in;
end是沒有復位訊號的d觸發器
always@(posedge clk) begin
if(reset) begin // reset 被 clk 取樣為1時觸發
d <= 0;
end else begin
d <= d_in;
endend
是同步高電平復位的
always@(posedge clk, posedge reset) begin // reset 變為高電平會進入這個always block
// 由這裡的邏輯表達非同步語意
if(reset) begin // 由這裡編寫reset為高電平時刻的復位語意邏輯,注意reset要和posedge一致
d <= 0;
end else begin
d <= d_in;
endend
是非同步高電平復位的
3樓:匿名使用者
非同步高電平復位就是復位訊號只要變高電平就執行復位操作,如果是同步的話就要看復位訊號是否在時鐘有效沿為高電平。
verilog設計一個帶非同步復位、同步置位,時鐘上升沿觸發的d觸發器。怎麼能同時滿足非同步置位、同步復位?
4樓:風雷小草
module dff(
clk,
d,set_n,
rst_n,q);
input clk;
input d;
input set_n;
input rst_n;
output q;
reg q;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
q<= 1'b0;
else if(!set_n)
q<= 1'b1;
else
q<=d;
endendmodule
d觸發器非同步置1端什麼時候有效?
5樓:匿名使用者
答:非同步置1有效sd 和rd 接至基本rs 觸發器的輸入端,它們分別是預置和清零端,低電平有效。當sd=0且rd=1時,不論輸入端d為何種狀態,都會使q=1,q非=0,即觸發器置1;當sd=1且rd=0時,觸發器的狀態為0,sd和rd通常又稱為直接置1和置0端。
我們設它們均已加入了高電平,不影響電路的工作。工作過程如下:
1.cp=0時,與非門g3和g4封鎖,其輸出q3=q4=1,觸發器的狀態不變。同時,由於q3至q5和q4至q6的反饋訊號將這兩個門開啟,因此可接收輸入訊號d,q5=d非,q6=q5非=d。
2.當cp由0變1時觸發器翻轉。這時g3和g4開啟,它們的輸入q3和q4的狀態由g5和g6的輸出狀態決定。
q3=q5非=d,q4=q6非=d非。由基本rs觸發器的邏輯功能可知,q=q3=d。
3.觸發器翻轉後,在cp=1時輸入訊號被封鎖。這是因為g3和g4開啟後,它們的輸出q3和q4的狀態是互補的,即必定有一個是0,若q3為0,則經g3輸出至g5輸入的反饋線將g5封鎖,即封鎖了d通往基本rs 觸發器的路徑;該反饋線起到了使觸發器維持在0狀態和阻止觸發器變為1狀態的作用,故該反饋線稱為置0維持線,置1阻塞線。
q4為0時,將g3和g6封鎖,d端通往基本rs觸發器的路徑也被封鎖。q4輸出端至g6反饋線起到使觸發器維持在1狀態的作用,稱作置1維持線;q4輸出至g3輸入的反饋線起到阻止觸發器置0的作用,稱為置0阻塞線。因此,該觸發器常稱為維持-阻塞觸發器。
總之,該觸發器是在cp正跳沿前接受輸入訊號,正跳沿時觸發翻轉,正跳沿後輸入即被封鎖,三步都是在正跳沿後完成,所以有邊沿觸發器之稱。與主從觸發器相比,同工藝的邊沿觸發器有更強的抗干擾能力和更高的工作速度。
請大家幫個忙,我用verilog 實現一個帶非同步復位端和使能端的上升沿d觸發器 ,編譯不成功,請挑下錯。。
6樓:匿名使用者
always@(en or posedge clk or negedge reset)
不能既用電平觸發又用邊沿觸發的。
7樓:匿名使用者
時序電路里不應該用非阻塞賦值<=嗎?
還有敏感列表不能既有電平敏感事件en還有邊沿觸發的clk和reset。
8樓:匿名使用者
編譯不成功??看起來沒什麼問題,系統提示什麼錯誤了?
簡單的verilog設計同步清零觸發器求助
9樓:噁心的狐狸
module myff
(clk,
in,out,
clear
);input clk,in,clear;
output out;
reg out;
always@(posedge clk)
if(clear)
out <= 1'b0;
else
out <= in;
endmodule
用vhdl程式設計:非同步清零的d觸發器
10樓:壬宵雨
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dff_asy is
port (
clock : in std_logic ;--clock
reset : in std_logic ;--reset
dff_in : in std_logic ;--data in
dff_out : out std_logic --data out
);end dff_asy;
architecture rtl of dff_asy is
signal reg_dff_out : std_logic ; -- internal signals
begin
process (clock,reset) begin
if (reset = '1') then -- asynchronous reset
reg_dff_out <= '0';
elsif (clock'event and clock = '1') then
reg_dff_out <= dff_in ;
end if;
end process;
dff_out <= reg_dff_out ;
end rtl;
下面是同步清零的例子:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dff_syn is
port (
clock : in std_logic ;--clock
reset : in std_logic ;--reset
dff_in : in std_logic ;--data in
dff_out : out std_logic --data out
);end dff_syn;
architecture rtl of dff_syn is
signal reg_dff_out : std_logic ; -- internal signals
begin
process (clock) begin
if (clock'event and clock = '1') then
if (reset) then
reg_dff_out <= '0' ;
else
reg_dff_out <= dff_in ;
end if ;
end if;
end process;
dff_out <= reg_dff_out ;
end rtl;
11樓:風月融
給你個連線看看
12樓:
好容易掙的分啊,直接裝一個軟體ise/quartus,模板裡都有。
用fpga設計一個帶非同步清0,同步置1 的d觸發器 有截圖 25
13樓:何小手
這個不會嘛,最基本的。eda的書上都會有的,建議你找一本eda的書看看
14樓:d海賊王索隆
module ff(clk,rst,set,d,q,nq);
input clk;
input rst;
input set;
input d;
output q;
output nq;
reg q;
reg nq;
always @(posedge clk or negedge rst) begin
if(!rst) begin
q<=0;
nq<=1;
endelse if(set==1'b1) beginq<=1;
nq<=0;
endelse begin
q<=d;
nq<=!d;
endend
endmodule
用Verilog HDL語言的行為描述方法設計電路,寫出
用 verilog hdl 語言的行為描述方法設計電路 肯定知道更多 組合邏輯電路設計 使用verilog hdl設計 分別採用行為描述和結構描述設計一個一位全加器。行為描述 moudle a,b,ci,sum,c input a,b,ci output sum,c assign a b ci en...
有關verilog HDL語言的
你這樣分析這個真值表 1 在q 0,即clr為低有效時,和clk的狀態無關 因為是clk是x 說明clr是非同步低有效,所以有always negedge clr 2 q其他情況有效時,都在clk是上升沿時,加上1 裡面的,最後是 always negedge clr or posedge clk ...
Veriloghdl語言釋義,請大神幫忙解釋,VerilogHDL語言
那是因為你之前肯定學了c語言之類的軟體設計語言,具體的電路如何聯絡起來?首先,思想轉變,邏輯語句都是並行的觸發的,是由暫存器和閘電路組成的你需要先熟悉各個基本的邏輯單元的構成,比如 d觸發器,基本的閘電路,比如 或門,與門,等 嘗試用基本的閘電路來搭建電路,照著你搭建的電路來用veriloghdl語...