




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3. 4-to-1 Multiplexerf.e. 5.135.2.3 Adders and Complement Circuits1、Adders 加法器有全加器和半加器之分,全加法器有全加器和半加器之分,全加器可以用兩個半加器構(gòu)成加器可以用兩個半加器構(gòu)成; n位加法器位加法器可以由可以由n個全加器用串行進位的方法連接個全加器用串行進位的方法連接而成。而成。 二進制運算經(jīng)常要用到求補的操作。二進制運算經(jīng)常要用到求補的操作。 這里用八位二進制求補電路為例。這里用八位二進制求補電路為例。 我們當然可以采用結(jié)構(gòu)描述方式來我們當然可以采用結(jié)構(gòu)描述方式來描述構(gòu)造體,但是這樣對每個門進行描描述構(gòu)造體,但
2、是這樣對每個門進行描述和連接太繁瑣。這里采用述和連接太繁瑣。這里采用RTL描述就描述就顯得更加簡潔、清楚。顯得更加簡潔、清楚。2. Complement Circuit3. Multiplication CircuitLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY mul ISPORT(A,B: IN STD_LOGIC_VECTOR(2 DOWNTO 0); M: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END mul;ARCHITECTURE beha
3、OF mul ISSIGNAL tmp0:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL tmp1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL tmp2:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN PROCESS(A,B) BEGIN IF B(0)=1 THEN tmp0=A; ELSE tmp0=000; END IF; IF B(1)=1 THEN tmp1=A&0; ELSE tmp1=0000; END IF; IF B(2)=1 THEN tmp2=A&00; ELSE tmp2=0000
4、0; END IF; M=tmp0+tmp1+(0&tmp2); END PROCESS;END beha; Ex:設(shè)計一個四位加減法器設(shè)計一個四位加減法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY add_sub ISPORT(sub:IN STD_LOGIC; a,b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); y: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co: OUT STD_LOGIC);END add_sub
5、;ARCHITECTURE rtl OF add_sub ISSIGNAL tmp:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN PROCESS(sub,a,b) BEGIN IF sub=0 THEN tmp=a +b; ELSE tmp=a -b; END IF;END PROCESS; y=tmp(3 DOWNTO 0); co=tmp(4);END rtl;7.1.4 Tristate-gate and Bus Buffer 三態(tài)門和雙向緩沖器是接口電路和三態(tài)門和雙向緩沖器是接口電路和總線驅(qū)動電路經(jīng)常用到的器件。總線驅(qū)動電路經(jīng)常用到的器件。 它們雖然不屬于組合電
6、路,但我們它們雖然不屬于組合電路,但我們也在這里進行介紹。也在這里進行介紹。f.e. 5.17f.e. 5.18f.e. 5.19 這里對一個實體采用了三種構(gòu)造體進行這里對一個實體采用了三種構(gòu)造體進行描述,若要把上述三個例題寫在一起,可以描述,若要把上述三個例題寫在一起,可以用配置來實現(xiàn):用配置來實現(xiàn):ENTITY tri_gate ISEND tri_gate;ARCHITECTURE zas ISEND zas;ARCHITECTURE blk ISEND blk;ARCHITECTURE nas ISEND nas; CONFIGURATION triif OF tri_gate IS
7、FOR zas END FOR; END triif; CONFIGURATION triblk OF tri_gate IS FOR blk END FOR; END triblk; CONFIGURATION tricase OF tri_gate IS FOR nas END FOR; END tricase;3、Unidirectional Bus Buffer 在微機的總線驅(qū)動中經(jīng)常要用單向在微機的總線驅(qū)動中經(jīng)常要用單向總線緩沖器,它通常由多個三態(tài)門組成,總線緩沖器,它通常由多個三態(tài)門組成,用來驅(qū)動地址總線和控制總線。用來驅(qū)動地址總線和控制總線。f.e. 5.20f.e. 5.21f
8、.e. 5.224、Bi-Directional Bus Bufferf.e. 5.235.3 Design for Sequential Circuits Sequential circuits in which the values of the outputs depend on not only on the present values of the inputs but also on the past behavior of the circuit. Such circuits include storage elements that store the values of l
9、ogic signals.5.3.1 Clock Signals and Clear Signals1、Clock Signals 任何時序電路都以時鐘信號為驅(qū)動信任何時序電路都以時鐘信號為驅(qū)動信號,時序電路只是在時鐘信號的邊沿到來時,號,時序電路只是在時鐘信號的邊沿到來時,其狀態(tài)才發(fā)生改變。因此,時鐘信號通常是其狀態(tài)才發(fā)生改變。因此,時鐘信號通常是描述時序電路的程序執(zhí)行的條件。另外,時描述時序電路的程序執(zhí)行的條件。另外,時序電路也總是以時鐘進程形式來進行描述的,序電路也總是以時鐘進程形式來進行描述的,其描述方式一般有兩種:其描述方式一般有兩種:1)進程的敏感信號是時鐘信號)進程的敏感信號是時
10、鐘信號 在這種情況下,時鐘信號應(yīng)作為敏感信在這種情況下,時鐘信號應(yīng)作為敏感信號,顯式的出現(xiàn)在號,顯式的出現(xiàn)在PROCESS語句后跟的括語句后跟的括號中,如號中,如PROCESS(clock_signal)。時鐘信號時鐘信號邊沿的到來,將作為時序電路語句執(zhí)行的條邊沿的到來,將作為時序電路語句執(zhí)行的條件,如下例所示:件,如下例所示: 該進程在時鐘信號發(fā)生變化時被啟動,該進程在時鐘信號發(fā)生變化時被啟動,而在時鐘邊沿的條件得到滿足后才真正執(zhí)行而在時鐘邊沿的條件得到滿足后才真正執(zhí)行時序電路所對應(yīng)的語句。時序電路所對應(yīng)的語句。f.e. 5.242)用進程中的)用進程中的WAIT ON語句等待時鐘語句等待時
11、鐘 在這種情況下,描述時序電路的進程將沒有敏感信號,而是用WAIT ON語句來控制進程的執(zhí)行。也就是說,進程通常停留在WAIT ON語句上,只有在時鐘信號到來,且滿足邊沿條件時,其余的語句才能執(zhí)行。 如下例所示:f.e. 5.25在編寫上述兩個程序時應(yīng)注意:在編寫上述兩個程序時應(yīng)注意: 無論是無論是IF語句還是語句還是WAIT ON語句,在對時鐘語句,在對時鐘邊沿說明時,一定要注明是上升沿還是下降沿,邊沿說明時,一定要注明是上升沿還是下降沿,光說明邊沿是不行的。光說明邊沿是不行的。 當時鐘信號作為進程的敏感信號時,在敏感信當時鐘信號作為進程的敏感信號時,在敏感信號的表中不能出現(xiàn)一個以上的時鐘信
12、號,除時號的表中不能出現(xiàn)一個以上的時鐘信號,除時鐘信號以外,像復位信號等是可以和時鐘信號鐘信號以外,像復位信號等是可以和時鐘信號一起出現(xiàn)在敏感表中的。一起出現(xiàn)在敏感表中的。 WAIT ON語句只能放在進程的最前面或者最語句只能放在進程的最前面或者最后面。后面。3)時鐘邊沿的描述)時鐘邊沿的描述 為了描述時鐘邊沿,一定要指定是上升沿還是下降沿,這一點可以使用時鐘信號的屬性描述來達到。也就是說,時鐘信號的值是從“0”到“1”變化;還是從“1”到“0”變化。由此可以得知是時鐘脈沖信號的上升沿還是下降沿。(a)時鐘脈沖上升沿描述時鐘脈沖上升沿描述(b)時鐘脈沖下降沿描述時鐘脈沖下降沿描述 根據(jù)上面的描
13、述,時鐘信號邊沿檢出條根據(jù)上面的描述,時鐘信號邊沿檢出條件可以統(tǒng)一描述如下:件可以統(tǒng)一描述如下:2、觸發(fā)器的同步和非同步復位、觸發(fā)器的同步和非同步復位 觸發(fā)器的初始狀態(tài)應(yīng)由復位信號來設(shè)置,觸發(fā)器的初始狀態(tài)應(yīng)由復位信號來設(shè)置,復位信號對觸發(fā)器復位的操作不同,使其可復位信號對觸發(fā)器復位的操作不同,使其可以分為同步復位和非同步復位兩種。以分為同步復位和非同步復位兩種。 所謂同步復位,就是當復位信號有效所謂同步復位,就是當復位信號有效且在給定的時鐘邊沿到來時,觸發(fā)器才被復且在給定的時鐘邊沿到來時,觸發(fā)器才被復位;而非同步復位則是,一旦復位信號有效,位;而非同步復位則是,一旦復位信號有效,觸發(fā)器就被復位
14、。觸發(fā)器就被復位。1)Synchronous Clear 在用在用VHDL語言描述時,同步復位一定語言描述時,同步復位一定在以時鐘為敏感信號的進程中定義,且用在以時鐘為敏感信號的進程中定義,且用IF語句來描述必要的復位條件。語句來描述必要的復位條件。 下面兩個例子就是同步復位方式的描述下面兩個例子就是同步復位方式的描述實例:實例:f.e. 5.26f.e. 5.272)Asynchronous Clear 非同步復位即異步復位,在描述時與同步方式不同:首先在進程的敏感信號中,除了時鐘信號以外,還應(yīng)加入復位信號;其次是用IF語句描述復位條件;最后在ELSIF段描述時鐘邊沿的條件,并加上EVENT
15、屬性。f.e. 5.28 添加添加clock_event是為了防止沒有時鐘事是為了防止沒有時鐘事件發(fā)生時的誤操作。譬如,現(xiàn)在時鐘事件發(fā)生時的誤操作。譬如,現(xiàn)在時鐘事件沒有發(fā)生而是發(fā)生了復位事件,這樣件沒有發(fā)生而是發(fā)生了復位事件,這樣該進程就得到了啟動。在此情況下,若該進程就得到了啟動。在此情況下,若復位條件沒有滿足,而時鐘邊沿條件卻復位條件沒有滿足,而時鐘邊沿條件卻是滿足的,那么與時鐘信號有關(guān)的那一是滿足的,那么與時鐘信號有關(guān)的那一段程序(段程序(ELSIF段)就會得到執(zhí)行,從段)就會得到執(zhí)行,從而造成錯誤操作。而造成錯誤操作。5.3.2 Flip-Flops1、Latch1).Gated D
16、 Latchf.e. 529library ieee;use ieee.std_logic_1164.all;entity dff1 isport(d,clk:in std_logic; q:out std_logic);end dff1;architecture rtl of dff1 isbegin process(clk) begin if clk=1 then q=d; end if; end process;end rtl;電平觸發(fā)還是邊沿電平觸發(fā)還是邊沿觸發(fā)?觸發(fā)?若改為若改為 process(clk, d),電平觸發(fā)還是邊沿觸發(fā)?電平觸發(fā)還是邊沿觸發(fā)?f.e. 530librar
17、y ieee;use ieee.std_logic_1164.all;entity dff2 isport(d,clk:in std_logic; q:out std_logic);end dff2;architecture rtl of dff2 isbegin process begin wait until clkevent and clk=1; q=d; end process;end rtl;2)Gated D Latch with Asynchronous Clear 非同步復位的非同步復位的D鎖存器與一般的鎖存器與一般的D鎖存器鎖存器相比多了一個復位輸入端相比多了一個復位輸入端c
18、lr。當當clr=0時,輸出被強制復位。時,輸出被強制復位。f.e.531LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dffr ISPORT(d,clk,clr: IN STD_LOGIC; q: OUT STD_LOGIC);END dffr;ARCHITECTURE rtl OF dffr ISBEGIN PROCESS(clk,clr) BEGIN IF clr=0 THEN q=0; ELSIF clkEVENT and clk=1THEN q=d; END IF; END PROCESS;END rtl;Question:if th
19、is is a D flip-flop with a synchronous clear, how to modify the program?DFF with a synchronous clear:PROCESS(clk) BEGIN IF clkEVENT and clk=1 THEN IF clr=0 THEN q=0; ELSE q=d; END IF; END IF; END PROCESS;Ex: Write the VHDL codes for a DFF with asynchronous clear and preset.Note: preset is priority of clear.2、JK Flip-Flopf.e. 534LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jkff1 ISPORT(clk,clr,pset,j,k: IN STD_LOGIC; qb,q: OUT STD_LOGIC);END jkff1;ARCHITECTURE rtl OF jkff1 ISSIGNAL qs,qbs:STD_LOGIC;BEGIN PROCESS(j,k,clk,clr,pset)BEGINIF pset=0THEN qs=1; qbs=0; ELSIF clr=0 THEN qs=0; qbs=1;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古呼倫貝爾家庭教育協(xié)會招聘考試真題2024
- 2024年三門峽市教育局直屬學校招聘教師考試真題
- 2025年教育政策法規(guī)試題
- 教育技術(shù)引領(lǐng)下的混合式教學環(huán)境構(gòu)建
- 學生學習動力不足的教育心理學解析
- 教育行業(yè)中的數(shù)據(jù)驅(qū)動決策與辦公效率提升
- 利用現(xiàn)代科技-社交媒體提升公眾的骨科健康意識研究
- 家長如何運用教育心理學輔助孩子學習
- 技術(shù)驅(qū)動的醫(yī)療教育培訓創(chuàng)新
- 兒童哮喘的診斷和治療技術(shù)
- 稅務(wù)講座課件
- 2025年暑假實踐作業(yè)模板【課件】
- 國家開放大學《思想道德與法治》社會實踐報告范文二
- 電子信息工程專業(yè)應(yīng)用能力測試卷
- 學校食堂暑假前收尾工作指南
- 休閑車零部件回收再利用創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 滴灌帶生產(chǎn)項目可行性研究報告-D
- 消防系統(tǒng)維護保養(yǎng)方案
- 骨科護理實習生小講課
- 四川省南充市2023-2024學年七年級下學期期末考試道德與法治試卷(含答案)
- 2025至2030中國汽車散熱器行業(yè)市場發(fā)展分析及商業(yè)模式與投融資發(fā)展報告
評論
0/150
提交評論