組合與時序邏輯電路設(shè)計演示文檔
《組合與時序邏輯電路設(shè)計演示文檔》由會員分享,可在線閱讀,更多相關(guān)《組合與時序邏輯電路設(shè)計演示文檔(78頁珍藏版)》請在裝配圖網(wǎng)上搜索。
201801,.,第4章 組合與時序邏輯電路設(shè)計,201801,.,主要內(nèi)容,◆ 一、基本組合電路設(shè)計 ◆ 二、基本時序電路設(shè)計,201801,.,1、組合邏輯電路概念: 是由門電路組合而成的具有某種功能的電路,電路中沒有記憶單元,沒有反饋電路,輸入決定輸出。,每個輸出變量是輸入變量的邏輯函數(shù),每個時刻的輸出狀態(tài)僅與當(dāng)時輸入有關(guān),與輸入的原狀態(tài)無關(guān)。,一、 基本組合電路設(shè)計,201801,.,2、組合邏輯電路設(shè)計方法,①傳統(tǒng)邏輯電路設(shè)計方法,②Verilog HDL邏輯電路設(shè)計方法,只需根據(jù)實際的邏輯功能用Verilog HDL語言對其進行描述就可以,然后仿真得到結(jié)果,觀察是否符合實際邏輯功能。,常用三種描述方法是:結(jié)構(gòu)描述法、數(shù)據(jù)流和行為描述方法。,傳統(tǒng)方法通常采用邏輯電路圖輸入方式,由底層到高層進行設(shè)計。缺點是效率低,設(shè)計設(shè)計時間長,容易出錯。前面章節(jié)介紹的各種算數(shù)路徑電路、數(shù)字選擇電路等均是典型組合電路例子,下面通過程序輸入法設(shè)計較復(fù)雜組合邏輯電路。,201801,.,簡單組合電路設(shè)計(可采用結(jié)構(gòu)描述和數(shù)據(jù)流描述),門級結(jié)構(gòu)描述 module gate1(F,A,B,C,D); input A,B,C,D; output F; wire F1,F2;// 中間變量可以省略定義 nand(F1,A,B); //調(diào)用門元件 and(F2,B,C,D); or(F,F1,F2); endmodule,數(shù)據(jù)流描述 module gate2(F,A,B,C,D); input A,B,C,D; output F; assign F=~(A endmodule,201801,.,3、典型組合電路設(shè)計,⑴多位二進制加法器設(shè)計 由于位數(shù)較多采用結(jié)構(gòu)描述和層次調(diào)用相對復(fù)雜,所以直接采用行為描述進行設(shè)計。,例4.1 8位二進制加法器設(shè)計,201801,.,仿真結(jié)果,這種描述設(shè)計比較抽象但簡單,無需了解內(nèi)部是怎樣的邏輯實現(xiàn)方式。,201801,.,⑵BCD編解碼器設(shè)計,BCD碼是一種二進制數(shù)字編碼形式,利用4位二進制單元存儲一位十進制的數(shù)碼,使得二進制與十進制轉(zhuǎn)換得以快速進行。BCD碼有多種編碼方式,現(xiàn)采用8421碼編碼。,如圖in0~in9代表對應(yīng)0~9共10個數(shù)字輸入端,輸入高電平為有效輸入,out0~out3對應(yīng)輸出的BCD碼。,201801,.,BCD編碼器真值表,201801,.,由BCD碼真值表可得其輸入與輸出的邏輯關(guān)系為:,out0=in8+in9 out1=in4+in5+in6+in7 out2=in2+in3+in6+in7 out3=in1+in3+in5+in7+in9,可以根據(jù)上述輸入與輸出的邏輯關(guān)系采用結(jié)構(gòu)描述和數(shù)據(jù)流描述實現(xiàn)該BCD編碼器邏輯電路功能。,201801,.,module BCD_Enc(in,out); input[9:0] in; output[3:0] out; reg[3:0]out; always @(in) //always過程語句 begin case(in) 10‘b00_0000_0001:out=0; 10‘b00_0000_0010:out=1; 10‘b00_0000_0100:out=2; 10‘b00_0000_1000:out=3; 10‘b00_0001_0000:out=4; 10‘b00_0010_0000:out=5; 10‘b00_0100_0000:out=6; 10‘b00_1000_0000:out=7; 10‘b01_0000_0000:out=8; 10‘b10_0000_0000:out=9; endcase end endmodule,BCD碼編碼器程序,例4.2,201801,.,仿真結(jié)果如圖:,可見輸出完全由輸入決定,為組合邏輯電路。,下面的譯碼器設(shè)計電路功能正好與編碼器相反設(shè)計過程,詳細設(shè)計作業(yè)。,201801,.,module bcd_enc(in,out); input[9:0]in; output[3:0]out; assign out=func_enc(in); //函數(shù)調(diào)用 function [3:0] func_enc; //函數(shù)定義 input[9:0] in; case(in) 10'b00_0000_0001:func_enc=0; 10'b00_0000_0010:func_enc=1; 10'b00_0000_0100:func_enc=2; 10'b00_0000_1000:func_enc=3; 10'b00_0001_0000:func_enc=4; 10'b00_0010_0000:func_enc=5; 10'b00_0100_0000:func_enc=6; 10'b00_1000_0000:func_enc=7; 10'b01_0000_0000:func_enc=8; 10'b10_0000_0000:func_enc=9; endcase endfunction endmodule,也可以通過以下函數(shù)調(diào)用方法實現(xiàn):,例4.3,201801,.,⑶BCD加法器設(shè)計,對多位BCD碼做加法與減法運算時,當(dāng)結(jié)果對應(yīng)的BCD值超寬9或低位向前有進位或借位時就要進行+6與-6修正。,【例4.5】 一位BCD碼加法器設(shè)計程序 module add4_bcd(cout,sum,ina,inb,cin); input cin; input[3:0] ina,inb; output[3:0] sum; reg[3:0] sum; output cout; reg cout; reg[4:0] temp; always @(ina,inb,cin) //always過程語句 begin temp9) {cout,sum}<=temp+6; //兩重選擇的IF語句 else {cout,sum}<=temp; end endmodule,201801,.,一位BCD碼加法器仿真結(jié)果,作業(yè):設(shè)計一位BCD碼減法器。,201801,.,⑷ 74LS138譯碼器的Verilog描述,【例4.6】74LS138譯碼器 module ttl74138(a,y,g1,g2a,g2b); input[2:0] a; input g1,g2a,g2b; output reg[7:0] y; always @(*) begin if(g1 end endmodule,201801,.,⑸8線—3線優(yōu)先編碼器74LS148的Verilog描述,【例4.7】 module ttl74148(din,ei,gs,eo,dout); input[7:0] din; input ei; output reg gs,eo; output reg[2:0] dout; always @(ei,din) begin if(ei) begin dout<=3'b111;gs<=1'b1;eo<=1'b1; end else if(din==8'b111111111) begin dout<=3'b111;gs<=1'b1;eo<=1'b0;end else if(!din[7]) begin dout<=3'b000;gs<=1'b0;eo<=1'b1;end else if(!din[6]) begin dout<=3'b001;gs<=1'b0;eo<=1'b1;end else if(!din[5]) begin dout<=3'b010;gs<=1'b0;eo<=1'b1;end else if(!din[4]) begin dout<=3'b011;gs<=1'b0;eo<=1'b1;end else if(!din[3]) begin dout<=3'b100;gs<=1'b0;eo<=1'b1;end else if(!din[2]) begin dout<=3'b101;gs<=1'b0;eo<=1'b1;end else if(!din[1]) begin dout<=3'b110;gs<=1'b0;eo<=1'b1;end else begin dout<=3'b111;gs<=1'b0;eo<=1'b1;end end endmodule,201801,.,【例4.8】 module parity(even_bit,odd_bit,a); input[7:0] a; output even_bit,odd_bit; assign even_bit=^a; //是規(guī)約運算符,異或 //生成偶校驗位 assign odd_bit=~even_bit; //生成奇校驗位 endmodule,⑹奇偶校驗位生成電路,201801,.,⑺通用奇偶校驗發(fā)生器,module parity_gen(bout,ain); input[7:0] ain; output [8:0] bout; assign temp=^ain; assign bout={temp,ain} ; endmodule //1的個數(shù)為偶首位加0,否則加1,【例4.9】,201801,.,二、 Verilog基本時序電路設(shè)計,1、時序電路概述,時序邏輯電路:電路的任意時刻的輸出狀態(tài)不僅取決于該時刻的輸入狀態(tài),還與電路的原狀態(tài)有關(guān)。所以時序電路都有記憶功能。,時序電路狀態(tài)的改變只發(fā)生在時鐘邊緣觸發(fā)的一瞬間,該時刻的輸入決定輸出,其它時間都是由系統(tǒng)當(dāng)前狀態(tài)決定。,201801,.,2、時序電路設(shè)計方法,時序電路一般都是采用過程語句進行硬件描述,采用邊沿或電平觸發(fā)進行控制。常見的時序電路有各種觸發(fā)器、鎖存器、寄存器、移位寄存器、分頻器和計數(shù)器等。下面將對各種時序電路進行Vierlog設(shè)計。,⑴基本觸發(fā)器的Vierlog描述,【例4.10】 一位D觸發(fā)器的Verilog描述 module dff(Q,D,clk); input D,clk; output reg Q; always @(posedge clk) begin Q<=D; end endmodule,①D觸發(fā)器,201801,.,【例4.11】 JK觸發(fā)器 module jkff_rs(clk,j,k,q); input clk,j,k; output reg q; always @(posedge clk) begin case({j,k}) 2'b00:q<=q; 2'b01:q<=1'b0; 2'b10:q<=1'b1; 2'b11:q<=~q; default:q<=1'bx; endcase end endmodule,②JK觸發(fā)器描述,,,,,,,,作業(yè):設(shè)計RS和T觸發(fā)器,并仿真。,201801,.,⑵寄存器和鎖存器的Vierlog設(shè)計 觸發(fā)器是時序邏輯電路中最基本的存儲單元。由于寄存器和鎖存器均由觸發(fā)器組成,并帶有復(fù)位或置位等功能。下面介紹的寄存器和鎖存器均由D觸發(fā)器構(gòu)成。,當(dāng)D和Q定義多位矢量時,可形成多位寄存器。,①寄存器設(shè)計,A:一位簡單寄存器設(shè)計:一個D觸發(fā)器就是一位寄存器,如例4.10程序描述。,不帶復(fù)位端口的簡單寄存器可以由一個在always語句中被賦值的變量描述,并且該always語句的敏感列表中只包含一個邊沿敏感的信號。在描述寄存器的always語句中,應(yīng)該使用非阻塞賦值(Non-blocking assignment)來給變量賦值,以保證生成正確的寄存器電路,并且在仿真中避免產(chǎn)生競爭(Simulation race)。,201801,.,異步寄存器設(shè)計,B:帶異步復(fù)位和使能的一位寄存器設(shè)計:,可見寄存器的復(fù)位和使能都不受時鐘控制,只要滿足條件就可能發(fā)生復(fù)位的過程為異步控制過程。即各輸入控制相對獨立。,例4.12 帶異步復(fù)位和使能的一位寄存器,201801,.,【例4.13】 帶異步清0/異步置1(低電平有效)的一位寄存器 module dff_asyn(q,qn,d,clk,set,reset); input d,clk,set,reset; output reg q,qn; always @(posedge clk , negedge set , negedge reset) begin if(~reset) begin q<=1'b0;qn<=1'b1; end //異步清0,低電平有效 else if(~set) begin q<=1'b1;qn<=1'b0; end //異步置1,低電平有效 else begin q<=d;qn<=~d; end end endmodule,異步寄存器設(shè)計,201801,.,帶異步復(fù)位或置位端口的寄存器可以由一個在always語句中被賦值的變量描述,并且該always語句的敏感列表中包含至少兩個邊沿敏感的信號,但不包含任何電平敏感的信號。此外,該always語句必須包含一個if條件語句,來指定寄存器的第一個異步賦值行為(如異步復(fù)位、置位等等),以及可選的else if嵌套條件語句來指定額外的異步賦值行為。最后一個else語句用于指定同步的寄存器賦值行為。異步賦值語句的輸入信號通常連接到寄存器的復(fù)位或置位端口,而同步賦值語句的輸入信號則連接在寄存器的數(shù)據(jù)輸入端口,即通常所說的D端口。,異步寄存器設(shè)計,201801,.,C:帶同步復(fù)位的一位寄存器設(shè)計:,可見復(fù)位的發(fā)生是由時鐘決定的,也就是說無論復(fù)位和使能都在時鐘統(tǒng)一控制下進行的過程為同步寄存器。,例4.14 帶同步復(fù)位的一位寄存器,同步寄存器設(shè)計,201801,.,【例4.15】 帶同步清0/同步置1(低電平有效)的一位寄存器 module dff_syn(q,qn,d,clk,set,reset); input d,clk,set,reset; output reg q,qn; always @(posedge clk) begin if(~reset) begin q<=1'b0;qn<=1'b1;end //同步清0,低電平有效 else if(~set) begin q<=1'b1;qn<=1'b0;end //同步置1,低電平有效 else begin q<=d; qn<=~d; end end endmodule,同步寄存器設(shè)計,201801,.,②鎖存器設(shè)計,在描述鎖存器時,always語句中所有賦值表達式等號右邊參與賦值的信號必須全部在敏感列表中列出,并且應(yīng)該使用非阻塞賦值(Non-blocking assignment)來給鎖存器變量賦值。該變量在always語句中存在有沒有賦值的情況。,A: 一位簡單鎖存器,注意這里采用觸發(fā)條件是電平觸發(fā)(與寄存器采用的邊緣觸發(fā)不同),并且條件語句是不完備的。,201801,.,B: 含清0控制的鎖存器及其Verilog表述,201801,.,module sel(CLK,D,Q); input CLK,D; output reg Q; always @ (CLK or D) if (CLK) Q <= D; else Q <= 1'b0; endmodule,注意觸發(fā)器與組合邏輯電路區(qū)別,都采用過程語句描述,又都是電平觸發(fā),區(qū)別是觸發(fā)器不用完備的賦值,而組合電路必須將所有可能的賦值都考慮到。,// 變量Q不會生成鎖存器,而是生產(chǎn)組合邏輯,因為在always語句中,q沒有存在不被賦值的情況,即條件判別的所有分支都給Q指定了賦值語句。,201801,.,3、時序電路設(shè)計典型應(yīng)用,⑴移位寄存器設(shè)計 由于存放二進制數(shù)據(jù)、信息的電路稱為寄存器。用移位方式存儲數(shù)據(jù)的寄存器,稱為移位寄存器。可以在移位脈沖作用下將寄存器內(nèi)部的二進制數(shù)據(jù)順序向左或向右移動,實現(xiàn)數(shù)據(jù)的串、并行轉(zhuǎn)換和處理等操作。,①單向移位寄存器工作原理,是將寄存器的數(shù)據(jù)在相鄰位之間單方向移動過程,分為左移移位寄存器和右移移位寄存器。串行輸入數(shù)據(jù)一般是從低位開始輸入。,如下4位移位寄存器,首先初始復(fù)位,4個觸發(fā)器輸出均為0,以后每一個CP上升沿到來,將D=1101數(shù)據(jù)右移一次,4個CP后,串行輸入完畢。,201801,.,右移輸出例表,在CP脈沖作用下,輸入一個脈沖,數(shù)據(jù)就向右移動一位。輸出可以有兩種方式:一種是數(shù)據(jù)從右端Q0依次輸出,稱為串行輸出,這種輸出至少需要8個時鐘脈沖才能完成輸出;另一種是由Q3 、Q2、Q1 、Q0端同時輸出,稱為并行輸出,這種輸出只需4個時鐘脈沖就可同時輸出。所以并行輸出比串行輸出速度快。,201801,.,②雙向移位寄存器工作原理,如上圖,雙向移位寄存器就是數(shù)據(jù)既可以從Q3輸入實現(xiàn)右移操作,相反也可以從Q0輸入實現(xiàn)向左操作的過程。,下圖為4位雙向移位寄存器,通過控制dir實現(xiàn)左移和右移。si為串行輸入口,set為置位端,clk為時鐘輸入端,clr為清零端。,201801,.,可見實現(xiàn)雙向控制的邏輯電路是非常復(fù)雜,位數(shù)越大越復(fù)雜,采用傳統(tǒng)方式設(shè)計就容易出現(xiàn)錯誤。下面采用Verilog硬件描述方法進行設(shè)計。,//移位寄存器shft_reg module shft_reg(data_out,clk,clr,set,dir,si); output[3:0] data_out; input clk,clr,set,dir,si; reg[3:0]data_out; always @(posedge clk)begin if(!clr)data_out<=4’b0000; else if(!set)data_out<=4’b1111; else if(dir)data_out<={si,data_out[3:1]}; else data_out<={data_out[2:0],si}; End endmodule,201801,.,上圖演示的是si給定0時,dir=0左移操作,si給定1時,dir=1右移操作的過程仿真結(jié)果。,通過Verilog語言描述設(shè)計的雙向移位寄存器比傳統(tǒng)設(shè)計相對簡單,這充分體現(xiàn)硬件描述語言的優(yōu)勢。,201801,.,生成的雙向移位寄存器邏輯功能示意圖(RTL),201801,.,⑵計數(shù)器設(shè)計,計數(shù)器能夠累計輸入脈沖個數(shù),包含若干個觸發(fā)器,并按預(yù)定順序改變各觸發(fā)器的狀態(tài),是一種應(yīng)用廣泛的時序電路,按照各個觸發(fā)器狀態(tài)翻轉(zhuǎn)的時間,可分為同步和異步計數(shù)器;按照計數(shù)過程中的數(shù)字的增減規(guī)律,可分為加法、減法和可逆計數(shù)器;按照計數(shù)器循環(huán)長度,可分為二進制和N進制計數(shù)器。,①二進制計數(shù)器設(shè)計,//異步使能二進制計數(shù)器: module count_w(en,clk,reset,out); input clk,reset,en; parameter WIDTH=2; //參數(shù)定義output[WIDTH-1:0] out; reg[WIDTH-1:0] out; always @(posedge clk or negedge reset) if(!reset) out<=0; else if(en) out<=out+1; endmodule,當(dāng)width=2時,為二位二進制加法計數(shù)器。,也稱四進制加法計數(shù)器,201801,.,module jsq_b(en,clk,reset,out); input clk,reset,en; parameter WIDTH=4; //參數(shù)定義 output[WIDTH-1:0] out; reg[WIDTH-1:0] out; always @(posedge clk ) if(reset) out<=0; else if(en) out<=out+1; endmodule,當(dāng)width=4時,為4位同步復(fù)位和使能的二進制加法計數(shù)器,201801,.,當(dāng)width為任意N位二進制值時,則可實現(xiàn)N位二進制加法計數(shù)器。也可以設(shè)為減法計數(shù)器。,N=4時的四位加法計數(shù)器仿真結(jié)果,也可稱為16進制加法計數(shù)器。,如何實現(xiàn)10進制加法計數(shù)器?,右圖可見,只有選擇0000~1001這10個狀態(tài)作為10進制的基本狀態(tài),并構(gòu)成循環(huán)。其它狀態(tài)均是無效狀態(tài),如果不加以限制就是普通的二進制加法計數(shù)器(或稱16進制加法計數(shù)器),201801,.,10進制加法計數(shù)器電路結(jié)構(gòu)圖,201801,.,同步十進制加法計數(shù)器,//clr為清零輸入端,//C為進位輸出端,//為避免進入無效狀態(tài),初始清零,可見這種硬件描述設(shè)計比直接電路設(shè)計相對簡單,凸顯這種設(shè)計的優(yōu)越性。,201801,.,生成的10進制加法計數(shù)器電路RTL,201801,.,二位十進制計數(shù)器設(shè)計,通常采用多位十進制計數(shù)器進行計數(shù),優(yōu)點是輸出便于顯示控制。,201801,.,⑶分頻器設(shè)計,分頻器是數(shù)字系統(tǒng)設(shè)計中的基本電路,也是FPGA設(shè)計中頻繁使用的基本單元之一,盡管目前在大部分設(shè)計中還廣泛使用集成鎖相環(huán)(PLL)來進行時鐘的分頻、倍頻以及相移設(shè)計。但是,對于時鐘要求不太嚴(yán)格的場合,通過自行設(shè)計分頻器進行時鐘分頻的方法仍然非常流行。首先,這種方法可以節(jié)省鎖相環(huán)資源,其次,這種方式只消耗不多的邏輯單元就可以達到對時鐘的操作的目的。,分頻器就是使得單位時間內(nèi)的脈沖次數(shù)減小的電路,亦即降低脈沖頻率。降低1/2倍頻率的為二分頻器,降低1/4倍頻率的為4分頻器,以此類推。,①偶數(shù)倍分頻器設(shè)計,201801,.,由上圖可知每輸入一個脈沖,觸發(fā)器狀態(tài)翻轉(zhuǎn)一次,每翻轉(zhuǎn)兩次,觸發(fā)器的輸出可以得到一個完整的矩形波,即觸發(fā)器翻轉(zhuǎn)兩次所用的前沿脈沖來自原始時鐘信號的兩個周期波形。所以,一個D觸發(fā)器實現(xiàn)了2分頻電路,兩個D觸發(fā)器可實現(xiàn)4分頻器電路,以此增加觸發(fā)器個數(shù)可以得到8、16、32等類型的觸發(fā)器。,偶數(shù)分頻器工作原理:,A:簡單偶數(shù)倍分頻器設(shè)計:,201801,.,2/4分頻器Verilog描述程序:可實現(xiàn)2和4分頻功能,module div_2_4(reset,clk_in,clk2_out,clk4_out); input clk_in,reset; output clk2_out,clk4_out; reg clk2_out,clk4_out; always @(posedge clk_in) //時鐘上升沿觸發(fā) begin if(~reset)begin //同步復(fù)位 clk2_out<=0; clk4_out<=0; end else begin clk2_out<= ~clk2_out ; if(~ clk2_out) clk4_out<= ~clk4_out ; end end endmodule,201801,.,2/4分頻器仿真結(jié)果,如再加入一個觸發(fā)器可以得到什么分頻器結(jié)果?可見這種方法只能得到2、4、8、16、32等偶數(shù)倍分頻器??紤]如何得到其它更多偶數(shù)倍分頻器設(shè)計?如6、10、12、14等分頻器。,2T,4T,一般偶數(shù)倍分頻器可以通過待分頻的時鐘觸發(fā)計數(shù)器計數(shù),當(dāng)計數(shù)器從0計數(shù)到N/2-1時,輸出時鐘進行翻轉(zhuǎn)并給計數(shù)器一個復(fù)位信號,以使下一個時鐘從零開始計數(shù),以此循環(huán),就可以實現(xiàn)任意的偶數(shù)倍分頻。,B:一般任意偶數(shù)分頻器設(shè)計:,201801,.,1/6分頻參考程序,module div_6(reset,clk_in,clk6_out); input clk_in,reset; output clk6_out; reg clk6_out; parameter WIDTH=2; reg [WIDTH:0]temp; always @(posedge clk_in) begin if(~reset)begin clk6_out2) begin clk6_out<= ~clk6_out ; temp<=0; end end end endmodule,201801,.,1/6分頻仿真結(jié)果,,,想一想?如何得到奇數(shù)倍的分頻電路設(shè)計。,作業(yè):設(shè)計1/10分頻器,并給出仿真結(jié)果。,6T,,,201801,.,②奇數(shù)倍分頻器設(shè)計,當(dāng)分頻器系數(shù)N為奇數(shù)時,考慮采用雙計數(shù)器計數(shù),兩個計數(shù)器同時計數(shù),一個對輸入時鐘信號的上升沿計數(shù),另一個則對信號的下降沿計數(shù)。計數(shù)器從0到N-1循環(huán)計數(shù),且計數(shù)器的計數(shù)值小于(N-1)/2時輸出1,計數(shù)值大于或等于(N-1)/2時輸出0。在這樣的控制方式下,分頻后輸出的波形恰好相差1/2時鐘周期,將兩個波形進行或(OR)操作后,即可得到所要的波形(占空比50%)。,201801,.,三分頻器實現(xiàn)原理圖,,,,,,,,,,,,,,,,,T,3T,,,采集上升沿,計數(shù)小于(N-1)/2置1,否則置0,,采集下升沿,計數(shù)小于(N-1)/2置1,否則置0,N=3,從0到N-1重復(fù)計數(shù),將采集的上升和下降沿進行相“或”運算,得到1/3分頻輸出。,201801,.,占空比為50%的三分頻器Verilog描述程序,module fen3(clkin,qout1,qout2,clkout); input clkin; output reg qout1,qout2; output clkout; wire clkout; assign clkout=qout1|qout2; always @(posedge clkin) begin : blk1 reg[1:0] cnt; if(clkin==1'b1)begin if(cnt1) cnt<=0;end end end,always @(negedge clkin) begin : blk2 reg[1:0] cnt; if(clkin==1'b0)begin if(cnt1) cnt<=0;end end end endmodule,201801,.,三分頻器Verilog仿真結(jié)果,,,3T,201801,.,module fen3(clkin,qout1,qout2,clkout); input clkin; output qout1,qout2; output clkout; reg qout1,qout2; wire clkout; assign clkout=qout1|qout2; always @(posedge clkin) begin:blk1 reg [1:0] cnt; if(clkin==1’b1))begin if(cnt==2)begin cnt<=0; qout1<=1’b1; end else begin cnt- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 組合 時序 邏輯 電路設(shè)計 演示 文檔
鏈接地址:http://zhongcaozhi.com.cn/p-372447.html