【正文】
復(fù)位操作,產(chǎn)生11位待輸出序列 ELSE D(10 DOWNTO 1)=D(9 DOWNTO。139。139。 11位循環(huán)移位寄存器 BEGIN PROCESS(CLK,CLR) BEGIN IF CLK39。序列輸出位 END S_generator。 ENTITY S_generator IS PORT(CLK,CLR: IN STD_LOGIC。 LIBRARY IEEE。 511 用VHDL輸入方式設(shè)計(jì)一個(gè)周期性產(chǎn)生二進(jìn)制序列01001011001的序列發(fā)生器,用移位寄存器或用同步時(shí)序電路實(shí)現(xiàn),并用時(shí)序仿真器驗(yàn)證其功能。 END PROCESS。 輸入數(shù)據(jù)小于等于5,比較輸出0。 else cmp_out=39。139。 比較輸出(1:輸入數(shù)據(jù)5) END g_5_cmp。 ENTITY g_5_cmp IS PORT( d_in : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。解:510 設(shè)計(jì)一個(gè)比較電路,當(dāng)輸入的8421BCD碼大于5時(shí)輸出1,否則輸出0。 END BHV。 END IF。(not org_data(6 DOWNTO 0))+1。 org_data=0,補(bǔ)碼=原碼。039。補(bǔ)碼輸出 END org_patch。 ENTITY org_patch IS PORT( org_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 USE 。解:59 設(shè)計(jì)一個(gè)求補(bǔ)碼的程序,輸入數(shù)據(jù)是一個(gè)有符號(hào)的8位二進(jìn)制數(shù)。 答:根據(jù)變量具有順序立即賦值傳送特性,例57和例510中的不完整條件語(yǔ)句對(duì)變量賦值前對(duì)變量進(jìn)行初始值設(shè)置;每次敏感信號(hào)觸發(fā),對(duì)變量的賦值,總能產(chǎn)生結(jié)果,無(wú)保持狀態(tài)——即輸出是輸入的函數(shù);因此,只能產(chǎn)生組合邏輯電路;不可能產(chǎn)生時(shí)序邏輯電路。 END PROCESS。 END LOOP。) THEN Q:=Q+1。 FOR n IN 0 TO 7 LOOP n是LOOP的循環(huán)變量 IF(DIN(n)=39。 ARCHITECTURE BHV OF CNTC IS BEGIN PROCESS(DIN) VARIABLE Q: STD_LOGIC_VECTOR(3 DOWNTO 0)。 CNTH: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 USE 。【例510】位矢中‘1’碼個(gè)數(shù)統(tǒng)計(jì)電路設(shè)計(jì) LIBRARY IEEE。 end process。 null。 when others=q=39。 when 2=q=i2。 case muxval is when 0=q=i0。) then muxval := muxval+2。 if (b= 39。) then muxval := muxval+1。 if (a= 39。 ARCHITECTURE body_mux4 OF mux4 IS BEGIN process(i0,i1,i2,i3,a,b) variable muxval: integer range 7 DOWNTO 0。 q: OUT STD_LOGIC)。 USE 。【例57】預(yù)設(shè)計(jì)4選1多路器(通過(guò)變量測(cè)選擇條件,將產(chǎn)生正確結(jié)果。 END BHV。 END IF。 ELSE G_4=39。 IF Q=4 THEN G_4=39。 END LOOP。) THEN Q:=Q+1。 FOR n IN 0 TO 6 LOOP n是LOOP的循環(huán)變量 IF(DIN(n)=39。 ARCHITECTURE BHV OF vote_7 IS BEGIN PROCESS(DIN) VARIABLE Q: STD_LOGIC_VECTOR(2 DOWNTO 0)。 超過(guò)半數(shù)指示 CNTH: OUT STD_LOGIC_VECTOR(2 DOWNTO 0))。 ENTITY vote_7 IS PORT( DIN: IN STD_LOGIC_VECTOR(6 DOWNTO 0)。 USE 。解:57 用循環(huán)語(yǔ)句設(shè)計(jì)一個(gè)7人投票表決器,及一個(gè)4位4輸出最大數(shù)值檢測(cè)電路。第二種方法:Q=(OTHERS=‘0’);其中OTHERS=‘0’不需要給出信號(hào)Q的位寬度,即可對(duì)Q清零。 (3)如何調(diào)用重載算符函數(shù)?采用隱式方式調(diào)用,無(wú)需事先聲明。P128~P129 55 什么是重載函數(shù)?重載算符有何用處?如何調(diào)用重載算符函數(shù)?答:(1)什么是重載函數(shù)? 根據(jù)操作對(duì)象變換處理功能。END ARCHITECTURE one。 END IF。039。139。139。 THEN CNT2 := NOT CNT2。EVENT AND FULL = 39。 P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC。 END IF。039。 同時(shí)使溢出標(biāo)志信號(hào)FULL輸出為高電平 ELSE CNT8 := CNT8 + 1。 當(dāng)CNT8計(jì)數(shù)計(jì)滿時(shí),輸入數(shù)據(jù)D被同步預(yù)置給計(jì)數(shù)器CNT8 FULL = 39。139。 BEGIN IF CLK39。ARCHITECTURE one OF DVF ISSIGNAL FULL : STD_LOGIC。 FOUT : OUT STD_LOGIC)。ENTITY DVF IS PORT(CLK : IN STD_LOGIC。USE 。答:無(wú)符號(hào)整數(shù)的STD_LOGIC的數(shù)據(jù)。 413 用7490(十進(jìn)制計(jì)數(shù)器)設(shè)計(jì)模為872的計(jì)數(shù)器,且輸出的個(gè)位、十位、百位都應(yīng)符合8421碼權(quán)重。 END PROCESS。 END IF。 shift_Q(4 DOWNTO 1)。采樣移位串行輸入 ELSE shift_t:=shift_t+1。奇校驗(yàn)輸出 shift_Q:=S_in amp。 P_out=shift_Q。 移位寄存器和計(jì)數(shù)器復(fù)位 ELSE IF shift_t=4 THEN 檢測(cè)到接收5位串行輸入數(shù)據(jù) shift_t:=000。139。139。shift_t:移位計(jì)數(shù)器 BEGIN IF CLK39。 ARCHITECTURE one OF odd_even_p_RXD_5 IS BEGIN PROCESS(CLK,RST) VARIABLE shift_Q : STD_LOGIC_VECTOR(4 DOWNTO 0)。P_out:并行輸出數(shù)據(jù) o_e_out: OUT STD_LOGIC)。 ENTITY odd_even_p_RXD_5 IS PORT(CLK,RST,S_in: IN STD_LOGIC。 USE 。 當(dāng)5位輸入中1的數(shù)目為奇數(shù)時(shí),在最后一位的時(shí)刻輸出1。當(dāng)5位輸入中1的數(shù)目為奇數(shù)時(shí),在最后一位的時(shí)刻輸出1。若改用一片74195(4位通用移位寄存器)代替以上的74163 (可預(yù)置4位二進(jìn)制計(jì)數(shù)器),試完成同樣的設(shè)計(jì)。如果使用74299(8位通用移位寄存器)、74373(8D鎖存器)、D觸發(fā)器和非門(mén)來(lái)完成上述功能,應(yīng)該有怎樣的電路? 411 用一片74163(可預(yù)置4位二進(jìn)制計(jì)數(shù)器)和兩片74138(3線8線譯碼器)構(gòu)成一個(gè)具有12路脈沖輸出的數(shù)據(jù)分配器。 49 基于原理圖輸入方式,用D觸發(fā)器構(gòu)成按循環(huán)碼(000001011111101100000)規(guī)律工作的六進(jìn)制同步計(jì)數(shù)器。 47 用74283(4位二進(jìn)制全加器)加法器和邏輯門(mén)設(shè)計(jì)實(shí)現(xiàn)一位8421BCD碼加法器電路,輸入輸出均是BCD碼,CI為低位的進(jìn)位信號(hào),CO為高位的進(jìn)位信號(hào),輸入為兩個(gè)1位十進(jìn)制數(shù)A,輸出用S表示。 (4)說(shuō)明FitterSettings中的DesignAssistant和Simulator功能,舉例說(shuō)明它們的使用方法。 (3)說(shuō)明Analysisamp。Qptions的功能、他用方法和檢測(cè)途經(jīng)。P115 44 參考QuartusII的Help,詳細(xì)說(shuō)明Assignments菜單中Settings對(duì)話框的功能。P95~P115 42 由圖435和圖436,詳細(xì)說(shuō)明工程設(shè)計(jì)CNT10的硬件工作情況。 END ARCHITECTURE one。039。039。139。)。,39。,39。 u2: DFF_PRE_CLR_ENA PORT MAP(CLK,DDD,DOUT,39。,RST,DD)。 BEGIN u1: mux21a PORT MAP(D,39。 SIGNAL DD,DDD: STD_LOGIC。 y : OUT STD_LOGIC)。 COMPONENT mux21a 調(diào)用D觸發(fā)器聲明語(yǔ)句 PORT(a,b : IN STD_LOGIC。 CLR : IN STD_LOGIC)。 ENA : IN STD_LOGIC。 D : IN STD_LOGIC。 END ENTITY t3_12_f。 ENTITY t3_12_f IS PORT(RST,D,CLK : IN STD_LOGIC。解3:實(shí)現(xiàn)圖320(f) LIBRARY IEEE。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END PROCESS。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END IF。139。 END IF。139。139。 ELSIF CLK39。 THEN Q1=39。 ELSIF PRE=39。 THEN Q1=39。 類(lèi)似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn) BEGIN PROCESS(CLK,D,Q1,ENA,PRE,CLR) BEGIN IF CLR=39。 END。 PRE : IN STD_LOGIC。 Q :OUT STD_LOGIC。 ENTITY DFF_PRE_CLR_ENA IS PORT(CLK : IN STD_LOGIC。解2:實(shí)現(xiàn)圖320(f) 帶預(yù)置、清零和輸出使能的上升沿D觸發(fā)器程序() LIBRARY IEEE。 ELSE b。 ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=39。 y : OUT STD_LOGIC)。 ENTITY mux21a IS PORT(a,b : IN STD_LOGIC。圖320 RTL圖(f)解1:實(shí)現(xiàn)圖320(f) 用WHEN_ELSE實(shí)現(xiàn)2選1多路選擇器程序() LIBRARY IEEE。 Q1=(NOT D_EN) OR RST。039。 BEGIN D_EN=D AND EN。 SIGNAL D_EN: STD_LOGIC。 CLR : IN STD_LOGIC)。 ENA : IN STD_LOGIC。 D : IN STD_LOGIC。 END ENTITY t3_12_e。 ENTITY t3_12_e IS PORT(D,EN,CLK,RST : IN STD_LOGIC。解2:實(shí)現(xiàn)圖320(e) LIBRARY IEEE。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END PROCESS。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END IF。139。 END IF。139。139。 ELSIF CLK39。 THEN Q1=39。 ELSIF PRE=39。 THEN Q1=39。 類(lèi)似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)