九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

組合與時(shí)序邏輯電路設(shè)計(jì)演示文檔

  • 資源ID:372447       資源大?。?span id="24d9guoke414" class="font-tahoma">2.27MB        全文頁(yè)數(shù):78頁(yè)
  • 資源格式: PPT        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

組合與時(shí)序邏輯電路設(shè)計(jì)演示文檔

201801,.,第4章 組合與時(shí)序邏輯電路設(shè)計(jì),201801,.,主要內(nèi)容, 一、基本組合電路設(shè)計(jì) 二、基本時(shí)序電路設(shè)計(jì),201801,.,1、組合邏輯電路概念:是由門電路組合而成的具有某種功能的電路,電路中沒有記憶單元,沒有反饋電路,輸入決定輸出。,每個(gè)輸出變量是輸入變量的邏輯函數(shù),每個(gè)時(shí)刻的輸出狀態(tài)僅與當(dāng)時(shí)輸入有關(guān),與輸入的原狀態(tài)無關(guān)。,一、 基本組合電路設(shè)計(jì),201801,.,2、組合邏輯電路設(shè)計(jì)方法,傳統(tǒng)邏輯電路設(shè)計(jì)方法,Verilog HDL邏輯電路設(shè)計(jì)方法,只需根據(jù)實(shí)際的邏輯功能用Verilog HDL語言對(duì)其進(jìn)行描述就可以,然后仿真得到結(jié)果,觀察是否符合實(shí)際邏輯功能。,常用三種描述方法是:結(jié)構(gòu)描述法、數(shù)據(jù)流和行為描述方法。,傳統(tǒng)方法通常采用邏輯電路圖輸入方式,由底層到高層進(jìn)行設(shè)計(jì)。缺點(diǎn)是效率低,設(shè)計(jì)設(shè)計(jì)時(shí)間長(zhǎng),容易出錯(cuò)。前面章節(jié)介紹的各種算數(shù)路徑電路、數(shù)字選擇電路等均是典型組合電路例子,下面通過程序輸入法設(shè)計(jì)較復(fù)雜組合邏輯電路。,201801,.,簡(jiǎn)單組合電路設(shè)計(jì)(可采用結(jié)構(gòu)描述和數(shù)據(jù)流描述),門級(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=(Aendmodule,201801,.,3、典型組合電路設(shè)計(jì),多位二進(jìn)制加法器設(shè)計(jì)由于位數(shù)較多采用結(jié)構(gòu)描述和層次調(diào)用相對(duì)復(fù)雜,所以直接采用行為描述進(jìn)行設(shè)計(jì)。,例4.1 8位二進(jìn)制加法器設(shè)計(jì),201801,.,仿真結(jié)果,這種描述設(shè)計(jì)比較抽象但簡(jiǎn)單,無需了解內(nèi)部是怎樣的邏輯實(shí)現(xiàn)方式。,201801,.,BCD編解碼器設(shè)計(jì),BCD碼是一種二進(jìn)制數(shù)字編碼形式,利用4位二進(jìn)制單元存儲(chǔ)一位十進(jìn)制的數(shù)碼,使得二進(jìn)制與十進(jìn)制轉(zhuǎn)換得以快速進(jìn)行。BCD碼有多種編碼方式,現(xiàn)采用8421碼編碼。,如圖in0in9代表對(duì)應(yīng)09共10個(gè)數(shù)字輸入端,輸入高電平為有效輸入,out0out3對(duì)應(yīng)輸出的BCD碼。,201801,.,BCD編碼器真值表,201801,.,由BCD碼真值表可得其輸入與輸出的邏輯關(guān)系為:,out0=in8+in9out1=in4+in5+in6+in7out2=in2+in3+in6+in7out3=in1+in3+in5+in7+in9,可以根據(jù)上述輸入與輸出的邏輯關(guān)系采用結(jié)構(gòu)描述和數(shù)據(jù)流描述實(shí)現(xiàn)該BCD編碼器邏輯電路功能。,201801,.,module BCD_Enc(in,out);input9:0 in;output3:0 out; reg3:0out; always (in) /always過程語句 begin case(in) 10b00_0000_0001:out=0; 10b00_0000_0010:out=1; 10b00_0000_0100:out=2; 10b00_0000_1000:out=3; 10b00_0001_0000:out=4; 10b00_0010_0000:out=5; 10b00_0100_0000:out=6; 10b00_1000_0000:out=7; 10b01_0000_0000:out=8; 10b10_0000_0000:out=9; endcase endendmodule,BCD碼編碼器程序,例4.2,201801,.,仿真結(jié)果如圖:,可見輸出完全由輸入決定,為組合邏輯電路。,下面的譯碼器設(shè)計(jì)電路功能正好與編碼器相反設(shè)計(jì)過程,詳細(xì)設(shè)計(jì)作業(yè)。,201801,.,module bcd_enc(in,out); input9:0in; output3:0out; assign out=func_enc(in); /函數(shù)調(diào)用 function 3:0 func_enc; /函數(shù)定義 input9: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;endcaseendfunctionendmodule,也可以通過以下函數(shù)調(diào)用方法實(shí)現(xiàn):,例4.3,201801,.,BCD加法器設(shè)計(jì),對(duì)多位BCD碼做加法與減法運(yùn)算時(shí),當(dāng)結(jié)果對(duì)應(yīng)的BCD值超寬9或低位向前有進(jìn)位或借位時(shí)就要進(jìn)行+6與-6修正。,【例4.5】 一位BCD碼加法器設(shè)計(jì)程序module add4_bcd(cout,sum,ina,inb,cin);input cin; input3:0 ina,inb;output3:0 sum; reg3:0 sum; output cout; reg cout; reg4:0 temp;always (ina,inb,cin) /always過程語句 begin temp9) cout,sum<=temp+6; /兩重選擇的IF語句 else cout,sum<=temp; endendmodule,201801,.,一位BCD碼加法器仿真結(jié)果,作業(yè):設(shè)計(jì)一位BCD碼減法器。,201801,., 74LS138譯碼器的Verilog描述,【例4.6】74LS138譯碼器module ttl74138(a,y,g1,g2a,g2b);input2:0 a; input g1,g2a,g2b; output reg7:0 y;always (*) begin if(g1 endendmodule,201801,.,8線3線優(yōu)先編碼器74LS148的Verilog描述,【例4.7】module ttl74148(din,ei,gs,eo,dout);input7:0 din; input ei; output reg gs,eo; output reg2:0 dout;always (ei,din) begin if(ei) begin dout<=3'b111;gs<=1'b1;eo<=1'b1; endelse if(din=8'b111111111) begin dout<=3'b111;gs<=1'b1;eo<=1'b0;endelse if(!din7) begin dout<=3'b000;gs<=1'b0;eo<=1'b1;endelse if(!din6) begin dout<=3'b001;gs<=1'b0;eo<=1'b1;endelse if(!din5) begin dout<=3'b010;gs<=1'b0;eo<=1'b1;endelse if(!din4) begin dout<=3'b011;gs<=1'b0;eo<=1'b1;endelse if(!din3) begin dout<=3'b100;gs<=1'b0;eo<=1'b1;endelse if(!din2) begin dout<=3'b101;gs<=1'b0;eo<=1'b1;endelse if(!din1) begin dout<=3'b110;gs<=1'b0;eo<=1'b1;endelse begin dout<=3'b111;gs<=1'b0;eo<=1'b1;end endendmodule,201801,.,【例4.8】 module parity(even_bit,odd_bit,a);input7:0 a; output even_bit,odd_bit;assign even_bit=a; /是規(guī)約運(yùn)算符,異或 /生成偶校驗(yàn)位assign odd_bit=even_bit; /生成奇校驗(yàn)位endmodule,奇偶校驗(yàn)位生成電路,201801,.,通用奇偶校驗(yàn)發(fā)生器,module parity_gen(bout,ain);input7:0 ain; output 8:0 bout;assign temp=ain;assign bout=temp,ain ;endmodule /1的個(gè)數(shù)為偶首位加0,否則加1,【例4.9】,201801,.,二、 Verilog基本時(shí)序電路設(shè)計(jì),1、時(shí)序電路概述,時(shí)序邏輯電路:電路的任意時(shí)刻的輸出狀態(tài)不僅取決于該時(shí)刻的輸入狀態(tài),還與電路的原狀態(tài)有關(guān)。所以時(shí)序電路都有記憶功能。,時(shí)序電路狀態(tài)的改變只發(fā)生在時(shí)鐘邊緣觸發(fā)的一瞬間,該時(shí)刻的輸入決定輸出,其它時(shí)間都是由系統(tǒng)當(dāng)前狀態(tài)決定。,201801,.,2、時(shí)序電路設(shè)計(jì)方法,時(shí)序電路一般都是采用過程語句進(jìn)行硬件描述,采用邊沿或電平觸發(fā)進(jìn)行控制。常見的時(shí)序電路有各種觸發(fā)器、鎖存器、寄存器、移位寄存器、分頻器和計(jì)數(shù)器等。下面將對(duì)各種時(shí)序電路進(jìn)行Vierlog設(shè)計(jì)。,基本觸發(fā)器的Vierlog描述,【例4.10】 一位D觸發(fā)器的Verilog描述module dff(Q,D,clk);input D,clk; output reg Q;always (posedge clk)begin Q<=D;endendmodule,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;endcaseendendmodule,JK觸發(fā)器描述,作業(yè):設(shè)計(jì)RS和T觸發(fā)器,并仿真。,201801,.,寄存器和鎖存器的Vierlog設(shè)計(jì) 觸發(fā)器是時(shí)序邏輯電路中最基本的存儲(chǔ)單元。由于寄存器和鎖存器均由觸發(fā)器組成,并帶有復(fù)位或置位等功能。下面介紹的寄存器和鎖存器均由D觸發(fā)器構(gòu)成。,當(dāng)D和Q定義多位矢量時(shí),可形成多位寄存器。,寄存器設(shè)計(jì),A:一位簡(jiǎn)單寄存器設(shè)計(jì):一個(gè)D觸發(fā)器就是一位寄存器,如例4.10程序描述。,不帶復(fù)位端口的簡(jiǎn)單寄存器可以由一個(gè)在always語句中被賦值的變量描述,并且該always語句的敏感列表中只包含一個(gè)邊沿敏感的信號(hào)。在描述寄存器的always語句中,應(yīng)該使用非阻塞賦值(Non-blocking assignment)來給變量賦值,以保證生成正確的寄存器電路,并且在仿真中避免產(chǎn)生競(jìng)爭(zhēng)(Simulation race)。,201801,.,異步寄存器設(shè)計(jì),B:帶異步復(fù)位和使能的一位寄存器設(shè)計(jì):,可見寄存器的復(fù)位和使能都不受時(shí)鐘控制,只要滿足條件就可能發(fā)生復(fù)位的過程為異步控制過程。即各輸入控制相對(duì)獨(dú)立。,例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) beginif(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 endendmodule,異步寄存器設(shè)計(jì),201801,.,帶異步復(fù)位或置位端口的寄存器可以由一個(gè)在always語句中被賦值的變量描述,并且該always語句的敏感列表中包含至少兩個(gè)邊沿敏感的信號(hào),但不包含任何電平敏感的信號(hào)。此外,該always語句必須包含一個(gè)if條件語句,來指定寄存器的第一個(gè)異步賦值行為(如異步復(fù)位、置位等等),以及可選的else if嵌套條件語句來指定額外的異步賦值行為。最后一個(gè)else語句用于指定同步的寄存器賦值行為。異步賦值語句的輸入信號(hào)通常連接到寄存器的復(fù)位或置位端口,而同步賦值語句的輸入信號(hào)則連接在寄存器的數(shù)據(jù)輸入端口,即通常所說的D端口。,異步寄存器設(shè)計(jì),201801,.,C:帶同步復(fù)位的一位寄存器設(shè)計(jì):,可見復(fù)位的發(fā)生是由時(shí)鐘決定的,也就是說無論復(fù)位和使能都在時(shí)鐘統(tǒng)一控制下進(jìn)行的過程為同步寄存器。,例4.14 帶同步復(fù)位的一位寄存器,同步寄存器設(shè)計(jì),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 endendmodule,同步寄存器設(shè)計(jì),201801,.,鎖存器設(shè)計(jì),在描述鎖存器時(shí),always語句中所有賦值表達(dá)式等號(hào)右邊參與賦值的信號(hào)必須全部在敏感列表中列出,并且應(yīng)該使用非阻塞賦值(Non-blocking assignment)來給鎖存器變量賦值。該變量在always語句中存在有沒有賦值的情況。,A: 一位簡(jiǎn)單鎖存器,注意這里采用觸發(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不會(huì)生成鎖存器,而是生產(chǎn)組合邏輯,因?yàn)樵赼lways語句中,q沒有存在不被賦值的情況,即條件判別的所有分支都給Q指定了賦值語句。,201801,.,3、時(shí)序電路設(shè)計(jì)典型應(yīng)用,移位寄存器設(shè)計(jì) 由于存放二進(jìn)制數(shù)據(jù)、信息的電路稱為寄存器。用移位方式存儲(chǔ)數(shù)據(jù)的寄存器,稱為移位寄存器??梢栽谝莆幻}沖作用下將寄存器內(nèi)部的二進(jìn)制數(shù)據(jù)順序向左或向右移動(dòng),實(shí)現(xiàn)數(shù)據(jù)的串、并行轉(zhuǎn)換和處理等操作。,單向移位寄存器工作原理,是將寄存器的數(shù)據(jù)在相鄰位之間單方向移動(dòng)過程,分為左移移位寄存器和右移移位寄存器。串行輸入數(shù)據(jù)一般是從低位開始輸入。,如下4位移位寄存器,首先初始復(fù)位,4個(gè)觸發(fā)器輸出均為0,以后每一個(gè)CP上升沿到來,將D=1101數(shù)據(jù)右移一次,4個(gè)CP后,串行輸入完畢。,201801,.,右移輸出例表,在CP脈沖作用下,輸入一個(gè)脈沖,數(shù)據(jù)就向右移動(dòng)一位。輸出可以有兩種方式:一種是數(shù)據(jù)從右端Q0依次輸出,稱為串行輸出,這種輸出至少需要8個(gè)時(shí)鐘脈沖才能完成輸出;另一種是由Q3 、Q2、Q1 、Q0端同時(shí)輸出,稱為并行輸出,這種輸出只需4個(gè)時(shí)鐘脈沖就可同時(shí)輸出。所以并行輸出比串行輸出速度快。,201801,.,雙向移位寄存器工作原理,如上圖,雙向移位寄存器就是數(shù)據(jù)既可以從Q3輸入實(shí)現(xiàn)右移操作,相反也可以從Q0輸入實(shí)現(xiàn)向左操作的過程。,下圖為4位雙向移位寄存器,通過控制dir實(shí)現(xiàn)左移和右移。si為串行輸入口,set為置位端,clk為時(shí)鐘輸入端,clr為清零端。,201801,.,可見實(shí)現(xiàn)雙向控制的邏輯電路是非常復(fù)雜,位數(shù)越大越復(fù)雜,采用傳統(tǒng)方式設(shè)計(jì)就容易出現(xiàn)錯(cuò)誤。下面采用Verilog硬件描述方法進(jìn)行設(shè)計(jì)。,/移位寄存器shft_regmodule shft_reg(data_out,clk,clr,set,dir,si);output3:0 data_out;input clk,clr,set,dir,si;reg3:0data_out;always (posedge clk)beginif(!clr)data_out<=4b0000;else if(!set)data_out<=4b1111;else if(dir)data_out<=si,data_out3:1;else data_out<=data_out2:0,si;Endendmodule,201801,.,上圖演示的是si給定0時(shí),dir=0左移操作,si給定1時(shí),dir=1右移操作的過程仿真結(jié)果。,通過Verilog語言描述設(shè)計(jì)的雙向移位寄存器比傳統(tǒng)設(shè)計(jì)相對(duì)簡(jiǎn)單,這充分體現(xiàn)硬件描述語言的優(yōu)勢(shì)。,201801,.,生成的雙向移位寄存器邏輯功能示意圖(RTL),201801,.,計(jì)數(shù)器設(shè)計(jì),計(jì)數(shù)器能夠累計(jì)輸入脈沖個(gè)數(shù),包含若干個(gè)觸發(fā)器,并按預(yù)定順序改變各觸發(fā)器的狀態(tài),是一種應(yīng)用廣泛的時(shí)序電路,按照各個(gè)觸發(fā)器狀態(tài)翻轉(zhuǎn)的時(shí)間,可分為同步和異步計(jì)數(shù)器;按照計(jì)數(shù)過程中的數(shù)字的增減規(guī)律,可分為加法、減法和可逆計(jì)數(shù)器;按照計(jì)數(shù)器循環(huán)長(zhǎng)度,可分為二進(jìn)制和N進(jìn)制計(jì)數(shù)器。,二進(jìn)制計(jì)數(shù)器設(shè)計(jì),/異步使能二進(jìn)制計(jì)數(shù)器:module count_w(en,clk,reset,out);input clk,reset,en;parameter WIDTH=2; /參數(shù)定義outputWIDTH-1:0 out; regWIDTH-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í),為二位二進(jìn)制加法計(jì)數(shù)器。,也稱四進(jìn)制加法計(jì)數(shù)器,201801,.,module jsq_b(en,clk,reset,out);input clk,reset,en;parameter WIDTH=4; /參數(shù)定義outputWIDTH-1:0 out; regWIDTH-1:0 out;always (posedge clk )if(reset) out<=0;else if(en) out<=out+1;endmodule,當(dāng)width=4時(shí),為4位同步復(fù)位和使能的二進(jìn)制加法計(jì)數(shù)器,201801,.,當(dāng)width為任意N位二進(jìn)制值時(shí),則可實(shí)現(xiàn)N位二進(jìn)制加法計(jì)數(shù)器。也可以設(shè)為減法計(jì)數(shù)器。,N=4時(shí)的四位加法計(jì)數(shù)器仿真結(jié)果,也可稱為16進(jìn)制加法計(jì)數(shù)器。,如何實(shí)現(xiàn)10進(jìn)制加法計(jì)數(shù)器?,右圖可見,只有選擇00001001這10個(gè)狀態(tài)作為10進(jìn)制的基本狀態(tài),并構(gòu)成循環(huán)。其它狀態(tài)均是無效狀態(tài),如果不加以限制就是普通的二進(jìn)制加法計(jì)數(shù)器(或稱16進(jìn)制加法計(jì)數(shù)器),201801,.,10進(jìn)制加法計(jì)數(shù)器電路結(jié)構(gòu)圖,201801,.,同步十進(jìn)制加法計(jì)數(shù)器,/clr為清零輸入端,/C為進(jìn)位輸出端,/為避免進(jìn)入無效狀態(tài),初始清零,可見這種硬件描述設(shè)計(jì)比直接電路設(shè)計(jì)相對(duì)簡(jiǎn)單,凸顯這種設(shè)計(jì)的優(yōu)越性。,201801,.,生成的10進(jìn)制加法計(jì)數(shù)器電路RTL,201801,.,二位十進(jìn)制計(jì)數(shù)器設(shè)計(jì),通常采用多位十進(jìn)制計(jì)數(shù)器進(jìn)行計(jì)數(shù),優(yōu)點(diǎn)是輸出便于顯示控制。,201801,.,分頻器設(shè)計(jì),分頻器是數(shù)字系統(tǒng)設(shè)計(jì)中的基本電路,也是FPGA設(shè)計(jì)中頻繁使用的基本單元之一,盡管目前在大部分設(shè)計(jì)中還廣泛使用集成鎖相環(huán)(PLL)來進(jìn)行時(shí)鐘的分頻、倍頻以及相移設(shè)計(jì)。但是,對(duì)于時(shí)鐘要求不太嚴(yán)格的場(chǎng)合,通過自行設(shè)計(jì)分頻器進(jìn)行時(shí)鐘分頻的方法仍然非常流行。首先,這種方法可以節(jié)省鎖相環(huán)資源,其次,這種方式只消耗不多的邏輯單元就可以達(dá)到對(duì)時(shí)鐘的操作的目的。,分頻器就是使得單位時(shí)間內(nèi)的脈沖次數(shù)減小的電路,亦即降低脈沖頻率。降低1/2倍頻率的為二分頻器,降低1/4倍頻率的為4分頻器,以此類推。,偶數(shù)倍分頻器設(shè)計(jì),201801,.,由上圖可知每輸入一個(gè)脈沖,觸發(fā)器狀態(tài)翻轉(zhuǎn)一次,每翻轉(zhuǎn)兩次,觸發(fā)器的輸出可以得到一個(gè)完整的矩形波,即觸發(fā)器翻轉(zhuǎn)兩次所用的前沿脈沖來自原始時(shí)鐘信號(hào)的兩個(gè)周期波形。所以,一個(gè)D觸發(fā)器實(shí)現(xiàn)了2分頻電路,兩個(gè)D觸發(fā)器可實(shí)現(xiàn)4分頻器電路,以此增加觸發(fā)器個(gè)數(shù)可以得到8、16、32等類型的觸發(fā)器。,偶數(shù)分頻器工作原理:,A:簡(jiǎn)單偶數(shù)倍分頻器設(shè)計(jì):,201801,.,2/4分頻器Verilog描述程序:可實(shí)現(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) /時(shí)鐘上升沿觸發(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 endendmodule,201801,.,2/4分頻器仿真結(jié)果,如再加入一個(gè)觸發(fā)器可以得到什么分頻器結(jié)果?可見這種方法只能得到2、4、8、16、32等偶數(shù)倍分頻器??紤]如何得到其它更多偶數(shù)倍分頻器設(shè)計(jì)?如6、10、12、14等分頻器。,2T,4T,一般偶數(shù)倍分頻器可以通過待分頻的時(shí)鐘觸發(fā)計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)器從0計(jì)數(shù)到N/2-1時(shí),輸出時(shí)鐘進(jìn)行翻轉(zhuǎn)并給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),以使下一個(gè)時(shí)鐘從零開始計(jì)數(shù),以此循環(huán),就可以實(shí)現(xiàn)任意的偶數(shù)倍分頻。,B:一般任意偶數(shù)分頻器設(shè)計(jì):,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:0temp; always (posedge clk_in) begin if(reset)begin clk6_out2) begin clk6_out<= clk6_out ; temp<=0; end end endendmodule,201801,.,1/6分頻仿真結(jié)果,想一想?如何得到奇數(shù)倍的分頻電路設(shè)計(jì)。,作業(yè):設(shè)計(jì)1/10分頻器,并給出仿真結(jié)果。,6T,201801,.,奇數(shù)倍分頻器設(shè)計(jì),當(dāng)分頻器系數(shù)N為奇數(shù)時(shí),考慮采用雙計(jì)數(shù)器計(jì)數(shù),兩個(gè)計(jì)數(shù)器同時(shí)計(jì)數(shù),一個(gè)對(duì)輸入時(shí)鐘信號(hào)的上升沿計(jì)數(shù),另一個(gè)則對(duì)信號(hào)的下降沿計(jì)數(shù)。計(jì)數(shù)器從0到N-1循環(huán)計(jì)數(shù),且計(jì)數(shù)器的計(jì)數(shù)值小于(N-1)/2時(shí)輸出1,計(jì)數(shù)值大于或等于(N-1)/2時(shí)輸出0。在這樣的控制方式下,分頻后輸出的波形恰好相差1/2時(shí)鐘周期,將兩個(gè)波形進(jìn)行或(OR)操作后,即可得到所要的波形(占空比50%)。,201801,.,三分頻器實(shí)現(xiàn)原理圖,T,3T,采集上升沿,計(jì)數(shù)小于(N-1)/2置1,否則置0,采集下升沿,計(jì)數(shù)小于(N-1)/2置1,否則置0,N=3,從0到N-1重復(fù)計(jì)數(shù),將采集的上升和下降沿進(jìn)行相“或”運(yùn)算,得到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 reg1:0 cnt; if(clkin=1'b1)begin if(cnt1) cnt<=0;end end end,always (negedge clkin) begin : blk2 reg1: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=1b1)begin if(cnt=2)begin cnt<=0; qout1<=1b1; end else begin cnt<cnt+1; qout1<=1b0; end endend,always (negedge clkin) begin:blk2 reg 1:0 cnt; if(clkin=1b1)begin if(cnt=2)begin cnt<=0; qout2<=1b1; end else begin cnt<cnt+1; qout2<=1b0; end endendendmodule,占空比為50%的三分頻器Verilog描述參考程序,201801,.,結(jié)束,201801,.,【例7.30】 電平敏感的1位數(shù)據(jù)鎖存器module latch1(q,d,le);input d,le; output q;assign q=le?d:q; /le為高電平時(shí),將輸入端數(shù)據(jù)鎖存endmodule,201801,.,【例7.31】 帶置位/復(fù)位端的1位數(shù)據(jù)鎖存器module latch2(q,d,le,set,reset);input d,le,set,reset; output q;assign q=reset?0:(set? 1:(le?d:q);endmodule,201801,.,【例7.32】 8位數(shù)據(jù)鎖存器(74LS373)module ttl373(le,oe,q,d);input le,oe; input7:0 d; output reg7:0 q;always * /或?qū)憺閍lways (le,oe,d)begin if(oe endendmodule,201801,.,【例7.33】 數(shù)據(jù)寄存器module reg_w(dout,din,clk,clr);parameter WIDTH=7;input clk,clr; inputWIDTH:0 din;output regWIDTH:0 dout;always (posedge clk, posedge clr)begin if(clr) dout<=0;else dout<=din; endendmodule,201801,.,【例7.35】 可變模加法/減法計(jì)數(shù)器module updown_count(d,clk,clear,load,up_down,qd);input clk,clear,load,up_down;input7:0 d; output7:0 qd; reg7:0 cnt;assign qd=cnt;always (posedge clk)begin if(!clear) cnt<=8'h00; /同步清0,低電平有效else if(load) cnt<=d;/同步預(yù)置else if(up_down) cnt<=cnt+1;/加法計(jì)數(shù)else cnt<=cnt-1;/減法計(jì)數(shù)endendmodule,201801,.,7.9 三態(tài)邏輯設(shè)計(jì),【例7.39】 行為描述的三態(tài)門module tristate1(in,en,out);input in,en; output reg out;always (in or en)begin if(en) out<=in; else out<=1'bz; endendmodule,201801,.,【例7.40】 調(diào)用門元件bufif1描述的三態(tài)門module tristate2(in,en,out);input in,en; output out; tri out;bufif1 b1(out,in,en);/注意三態(tài)門端口的排列順序endmodule,201801,.,【例7.41】 數(shù)據(jù)流描述的三態(tài)門module tristate3(out,in,en);input in,en; output out;assign out=en?in:1bz; /若en=1,out=in;/若en=0,out為高阻態(tài)endmodule,201801,.,【例7.42】 三態(tài)雙向驅(qū)動(dòng)器module bidir(y,a,en,b);input a,en; output b; inout y;assign y=en?a:'bz; assign b=y;endmodule,201801,.,【例7.44】 三態(tài)雙向總線緩沖器module ttl245(a,b,oe,dir);input oe,dir; /使能信號(hào)和方向控制inout7:0 a,b; /雙向數(shù)據(jù)線assign a=(oe,dir=2'b00)?b:8'bz;assign b=(oe,dir=2'b01)?a:8'bz;endmodule,201801,.,7.10 RAM存儲(chǔ)器設(shè)計(jì),生成一個(gè)新的宏模塊,201801,.,設(shè)置輸出文件的類型、目錄和名字,201801,.,定制RAM模塊的數(shù)據(jù)寬度和深度,201801,.,指定RAM模塊的初始化數(shù)據(jù)文件,201801,.,【例7.46】 用文本方式調(diào)用RAM存儲(chǔ)器模塊module ram_dy(addr,clk,din,wr,qout); /端口定義input6:0 addr;input clk; input7:0 din;input wr; output7:0 qout;myram u1(address(addr),.clock(clk),.data(din),.wren(wr),.q(qout);/元件例化endmodule,201801,.,7.11 FIFO緩存器設(shè)計(jì),用MegaWizard Plug-in Manager工具定制FIFO模塊,201801,.,定制FIFO模塊的數(shù)據(jù)寬度和深度,201801,.,定制FIFO模塊的端口,201801,.,設(shè)定速度優(yōu)先還是面積優(yōu)先,201801,.,FIFO模塊的功能仿真波形圖(Quartus ),201801,.,習(xí) 題 7,7.1 Verilog支持哪幾種描述方式,各有什么特點(diǎn)?7.2 分別用結(jié)構(gòu)描述和行為描述方式設(shè)計(jì)一個(gè)基本的D觸發(fā)器,在此基礎(chǔ)上,采用結(jié)構(gòu)描述的方式,用8個(gè)D觸發(fā)器構(gòu)成一個(gè)8位移位寄存器。7.3 分別用結(jié)構(gòu)描述和行為描述方式設(shè)計(jì)一個(gè)JK觸發(fā)器,并進(jìn)行綜合。7.4 試編寫同步模5計(jì)數(shù)器程序,有進(jìn)位輸出和異步復(fù)位端。7.5 編寫4位串/并轉(zhuǎn)換程序。7.6 編寫4位并/串轉(zhuǎn)換程序。7.7 編寫4位除法電路程序。,201801,.,7.8 用Verilog編寫一個(gè)將帶符號(hào)二進(jìn)制數(shù)的8位原碼轉(zhuǎn)換成8位補(bǔ)碼的電路,并基于Quartus 軟件進(jìn)行綜合和仿真。7.9 編寫一個(gè)8路彩燈控制程序,要求彩燈有以下3種演示花型。(1)8路彩燈同時(shí)亮滅;(2)從左至右逐個(gè)亮(每次只有1路亮);(3)8路彩燈每次4路燈亮,4路燈滅,且亮滅相間,交替亮滅;在演示過程中,只有當(dāng)一種花型演示完畢才能轉(zhuǎn)向其他演示花型。,習(xí) 題 7,

注意事項(xiàng)

本文(組合與時(shí)序邏輯電路設(shè)計(jì)演示文檔)為本站會(huì)員(文***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!