【正文】
IC)。 ARCHITECTURE bhv OF DFF6 IS BEGIN PROCESS(CLK,D) BEGIN IF CLK=39。 THEN Q=D。 END PROCESS。 解 3:實(shí)現(xiàn)圖 320(c)RTL 圖的 VHDL 程序 頂層設(shè)計(jì)描述 。 USE 。 Q : OUT STD_LOGIC)。 ARCHITECTURE one OF t3_12_c IS COMPONENT mux21a 調(diào)用 2 選 1 多路選擇器聲明語(yǔ)句 PORT(a,b : IN STD_LOGIC。 y : OUT STD_LOGIC)。 COMPONENT DFF6 調(diào)用電平型 D 觸發(fā)器聲明語(yǔ)句 PORT(CLK: IN STD_LOGIC。 Q:OUT STD_LOGIC)。 SIGNAL DD: STD_LOGIC。 BEGIN u1: mux21a PORT MAP(CLK,D2,D1,DD)。 END ARCHITECTURE one。 LIBRARY IEEE。 ENTITY DFF_PRE_CLR_ENA IS PORT(CLK : IN STD_LOGIC。 Q :OUT STD_LOGIC。 PRE : IN STD_LOGIC。 END。 類似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn) BEGIN PROCESS(CLK,D,Q1,ENA,PRE,CLR) BEGIN IF CLR=39。 THEN Q1=39。 ELSIF PRE=39。 THEN Q1=39。 ELSIF CLK39。139。139。 END IF。139。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END IF。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END PROCESS。 解 2:實(shí)現(xiàn)圖 320(d)RTL 圖的 VHDL 程序 頂層設(shè)計(jì)描述 LIBRARY IEEE。 ENTITY t3_12_d IS PORT(SET,D,CLK,EN,RESET : IN STD_LOGIC。 END ENTITY t3_12_d。 D : IN STD_LOGIC。 ENA : IN STD_LOGIC。 CLR : IN STD_LOGIC)。 SIGNAL SS: STD_LOGIC。 BEGIN SS=SET AND (NOT RESET)。 END ARCHITECTURE one。 USE 。 D : IN STD_LOGIC。 ENA : IN STD_LOGIC。 CLR : IN STD_LOGIC)。 ARCHITECTURE bhv OF DFF_PRE_CLR_ENA IS SIGNAL Q1:STD_LOGIC。139。039。139。139。EVENT AND CLK=39。 AND ENA=39。 THEN Q1=D。 IF EN=39。 THEN Q=Q1。 Q=Q1。 END bhv。 USE 。 Q1,Q : OUT STD_LOGIC)。 ARCHITECTURE one OF t3_12_e IS COMPONENT DFF_PRE_CLR_ENA 調(diào)用 D 觸發(fā)器聲明語(yǔ)句 PORT(CLK : IN STD_LOGIC。 Q :OUT STD_LOGIC。 PRE : IN STD_LOGIC。 END COMPONENT。 定義 1 個(gè)信號(hào)作為內(nèi)部的連接線。 u1: DFF_PRE_CLR_ENA PORT MAP(CLK=CLK,D=D,Q=Q,ENA=EN,PRE=39。,CLR=RST)。 END ARCHITECTURE one。 USE 。 s : IN STD_LOGIC。 END ENTITY mux21a。039。 END ARCHITECTURE one。 USE 。 D : IN STD_LOGIC。 ENA : IN STD_LOGIC。 CLR : IN STD_LOGIC)。 ARCHITECTURE bhv OF DFF_PRE_CLR_ENA IS SIGNAL Q1:STD_LOGIC。139。039。139。139。EVENT AND CLK=39。 AND ENA=39。 THEN Q1=D。 IF EN=39。 THEN Q=Q1。 Q=Q1。 END bhv。 USE 。 Q,DOUT : OUT STD_LOGIC)。 ARCHITECTURE one OF t3_12_f IS COMPONENT DFF_PRE_CLR_ENA 調(diào)用 D 觸發(fā)器聲明語(yǔ)句 PORT(CLK : IN STD_LOGIC。 Q :OUT STD_LOGIC。 PRE : IN STD_LOGIC。 END COMPONENT。 s : IN STD_LOGIC。 END COMPONENT。 定義 1 個(gè)信號(hào)作為內(nèi)部的連接線。039。 DDD=D XOR DD。139。039。039。 u3: DFF_PRE_CLR_ENA PORT MAP(CLK,DD,Q,39。,39。,39。)。 4 習(xí) 題 41 歸納利用 Quartus II進(jìn)行 VHDL文本輸入設(shè)計(jì)的流程 : 從文件輸入一直到 SignalTap II測(cè)試。 P114~P115 43 如何為設(shè)計(jì)中的 SignalTap II 加入獨(dú)立采樣時(shí)鐘 ?試給出完整的程序和對(duì)它的實(shí)測(cè)結(jié)果。 (1)說(shuō)明其中的 Timing Requirementsamp。 (2)說(shuō)明其中的 Compilation Process 的功能和使用方法。Synthesis Setting 的功能和使用方法,以及其中的 Synthesis Netlist Optimization 的功能和使用方法。 46 用 74148( 83 線八進(jìn)位優(yōu)先編碼器)和與非門實(shí)現(xiàn) 8421BCD 優(yōu)先編碼器,用 3(5)片 74139( 2 線 4 線譯碼器)組成一個(gè) 524(416)線 譯碼器。 48 設(shè)計(jì)一個(gè) 7 人表決電路 (用 4 位二進(jìn)制全加器) ,參加表決者 7 人,同意為 1,不同意為 0,同意者過(guò)半則表決通過(guò),綠指示燈亮;表決不通過(guò)則紅指示燈亮。 410 基于原理圖輸入方式, 應(yīng)用 4 位全加器和 74374(8D 觸發(fā)器 )構(gòu)成 4 位二進(jìn)制加法計(jì)數(shù)器。要求在原理圖上標(biāo)明第 1 路到第 12 路輸出的位置。 412 用同步時(shí)序電路對(duì)串行二進(jìn)制輸入進(jìn)行奇偶校驗(yàn),每檢測(cè) 5 位輸入,輸出一個(gè)結(jié)果。 解: 412 用同步時(shí)序電路對(duì)串行二進(jìn)制輸入進(jìn)行奇偶校驗(yàn),每檢測(cè) 5 位輸入,輸出一個(gè)結(jié)果。 LIBRARY IEEE。 USE 。CLK、 RST、 S_in:時(shí)鐘、復(fù)位、串行輸入數(shù)據(jù) P_out: OUT STD_LOGIC_VECTOR(4 DOWNTO 0)。 o_e_out:奇校 驗(yàn)輸出位 END ENTITY odd_even_p_RXD_5。shift_Q:移位寄存器 VARIABLE shift_t : STD_LOGIC_VECTOR(2 DOWNTO 0)。EVENT AND CLK=39。 THEN 檢測(cè)時(shí)鐘上升沿 IF RST = 39。 THEN shift_t:=100。 移位計(jì)數(shù)器清零,為接收下一組數(shù)據(jù)做 準(zhǔn)備。接收數(shù)據(jù)并行輸出 o_e_out=shift_Q(4) XOR shift_Q(3) XOR shift_Q(2) XOR shift_Q(1) XOR shift_Q(0)。 shift_Q(4 DOWNTO 1)。移位計(jì)數(shù) shift_Q:=S_in amp。采樣移位串行輸入 END IF。 END IF。 END ARCHITECTURE one。 5 習(xí) 題 51 什么是固有延 時(shí) ?什么是慣性延時(shí) ?P150~151 52 δ 是什么 ?在 VHDL 中, δ有什么用處 ?P152 53 哪些情況下需要用到程序包 STD_LOGIC_UNSIGNED? 試舉一例。 (第三版 )【例 620】 數(shù)控分頻器的設(shè)計(jì) LIBRARY IEEE。 USE 。 D : IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 END ENTITY DVF。 BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0)。EVENT AND CLK = 39。 THEN IF CNT8 = 11111111 THEN CNT8 := D。139。 否則繼續(xù)作加 1計(jì)數(shù) FULL = 39。 且輸出溢出標(biāo)志信號(hào) FULL為低電平 END IF。 END PROCESS P_REG 。 BEGIN IF FULL39。139。如果溢出標(biāo)志信號(hào) FULL為高電平, D觸發(fā)器輸出取反 IF CNT2 = 39。 THEN FOUT = 39。 ELSE FOUT = 39。 END IF。 END PROCESS P_DIV。 54 說(shuō)明信號(hào)和變量的功能特點(diǎn),以及應(yīng)用上的異同點(diǎn)。 ( 2) 重 載 算符有何用處 ? 用于兩個(gè)不同 類型 的操作數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同種數(shù)據(jù)類型,并進(jìn)行運(yùn)算處理。 56 在 VHDL 設(shè)計(jì)中 ,給時(shí)序電路清零 (復(fù)位 )有兩種力方法,它們是什么 ? 如何實(shí)現(xiàn) ? 解:設(shè) Q 定義成信號(hào), 一種方法: Q=“ 000… 000”; 其中 “ 000… 000” 反映出信號(hào) Q的位寬度。 57 用循環(huán)語(yǔ)句設(shè)計(jì)一個(gè) 7 人投票表決器,及一個(gè) 4 位 4 輸入最大數(shù)值檢測(cè)電路。 LIBRARY IEEE。 USE 。7 位表決輸入 (1:同意, 0:不同意 ) G_4: OUT STD_LOGIC。表決結(jié)果統(tǒng)計(jì)數(shù) END vote_7。 BEGIN Q:=000。139。 END IF。 CNTH=Q。139。039。 END PROCESS。 58 從不完整的條件語(yǔ)句產(chǎn)生時(shí)序模塊的原理看,例 57 和例 510 從表面上看都包含不完整條件語(yǔ)句,試說(shuō)明,為什么它們的綜合結(jié)果都是組合電路。 ) LIBRARY IEEE。 ENTITY mux4 IS PORT(i0,i1,i2,i3,a,b: IN STD_LOGIC。 END mux4。 begin muxval:=0。139。 end if。139。 end if。 when 1=q=i1。 when 3=q=i3。X39。 end case。 END body_mux4。 USE 。 ENTITY CNTC IS PORT( DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 END CNTC。 BEGIN Q:=0000。139。 END IF。 CNTH=Q。 END B