【正文】
帶預(yù)置、清零和輸出使能的 D 觸發(fā)器程序 () LIBRARY IEEE。 PRE : IN STD_LOGIC。 USE 。 IF EN=39。139。 ARCHITECTURE bhv OF DFF_PRE_CLR_ENA IS SIGNAL Q1:STD_LOGIC。 USE 。 END COMPONENT。 END ENTITY t3_12_c。 END IF。 USE 。 y : OUT STD_LOGIC)。 END PROCESS。 CASE AB IS 類似于真值表的 case 語(yǔ)句 WHEN 39。 USE 。EVENT AND CLK0=39。 312 分別給出圖 320 所示的六個(gè) RTL 圖的 VHDL 描述,注意其中的 D 觸發(fā)器和鎖存器的表述。 計(jì)數(shù)大于 9,輸出進(jìn)位信號(hào) ELSE COUT = 39。139。 大于 65535,計(jì)數(shù)值清零 END IF。EVENT AND CLK=39。039。 COUT : OUT STD_LOGIC)。 解: 311 給出含有異步清零和計(jì)數(shù)使能的 16 位二進(jìn)制加減可控計(jì)數(shù)器的 VHDL 描述。139。 允許計(jì)數(shù) ,檢測(cè)是否小于 9 ELSE Q:=(OTHERS=39。EVENT AND CLK=39。 計(jì)數(shù)進(jìn)位輸出 END CNT10。 解: 310 用 VHDL 設(shè)計(jì)一個(gè)功能類似 74LS160(異步復(fù)位和同步使能加載、計(jì)數(shù)的十進(jìn)制加法計(jì)數(shù)器 )的計(jì)數(shù)器。139。 P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC。 計(jì)數(shù)范圍 (D=n): n/2 取整 ~0(n=10:4\3\2\1\0 計(jì)數(shù) ) FULL = 39。同時(shí)使溢出標(biāo)志信號(hào) FULL 輸出為高電平 (n=11:10\9\8\7\6\5 計(jì)數(shù) ,前比后半周期多一個(gè)時(shí)鐘 ) ELSIF CNT8 = (39。 BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(15 DOWNTO 0)。 ),16 位加載數(shù)值是多 少 ? 解: 39 16 位數(shù)控分頻器 (可進(jìn)行奇偶數(shù)分頻 ) LIBRARY IEEE。 y=A WHEN S0_3=0111 ELSE B WHEN S0_3=1011 ELSE C WHEN S0_3=1101 ELSE D WHEN S0_3=1110 ELSE 39。 S0,S1,S2,S3 : IN STD_LOGIC。 END ARCHITECTURE s8。 BEGIN u0:f_suber PORT MAP(xin=x0,yin=y0,diff_out=diff0,sub_in=sin,sub_out=a0)。 diff0,diff1,diff2,diff3: OUT STD_LOGIC。 sub_out = c OR b。 END ENTITY f_suber。 END ENTITY h_suber。 OUT1 = NOT Q。 END ENTITY t4_19。 CQ=CQI。 大于 65535,計(jì)數(shù)值清零 END IF。 END IF。 允許計(jì)數(shù) ,檢測(cè)是否小于 65535 ELSE CQI:=(OTHERS = 39。039。 ENTITY ADD_SUB_16 IS PORT (CLK,RST,ADD_EN,SUB_EN: IN STD_LOGIC。 DOUT=Q。 END IF。 THEN Q=DATA。039。 ARCHITECTURE behav OF CNT12 IS SIGNAL Q : STD_LOGIC_VECTOR(3 DOWNTO 0)。 LIBRARY IEEE。 = outy = y。 WHEN OTHERS =NULL 。 END ENTITY mux31。 END PROCESS。定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型 BEGIN s0s1=s1amp。 解 2: 用 CASE 語(yǔ)句 實(shí)現(xiàn) 4 選 1 多路選擇器 mux21 in0 output in1 sel LIBRARY IEEE。s0。 USE 。 輸入端 enable:IN STD_LOGIC。 P58 26 請(qǐng)參閱相關(guān)資料,并回答問(wèn)題:按本章 給出的歸類方式,將基于乘積項(xiàng)的可編程邏輯結(jié)構(gòu)的 PLD 器件歸類為 CPLD;將基 于查 找 表 的 可 編程邏輯結(jié)構(gòu)的 PLD 器什歸類為FPGA,那么, APEX 系列屬于什么類型 PLD 器件 ? MAX II 系列又屬于什么類型的 PLD 器件 ?為什么 ? P54~56 3 習(xí) 題 31 畫出與以下實(shí)體描述對(duì)應(yīng)的原理圖符號(hào)元件 : ENTITY buf3s IS 實(shí)體 1:三態(tài)緩沖器 PORT(input:IN STD_LOGIC。 圖 316 4 選 1 多路選擇器 解 1: 用 IF_THEN 語(yǔ)句 實(shí)現(xiàn) 4 選 1 多路選擇器 LIBRARY IEEE。定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù) BEGIN s0s1=s1amp。 END ARCHITECTURE if_mux41。 ARCHITECTURE case_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0)。 END CASE。 outy:OUT STD_LOGIC)。 = y = a3。139。 解: 十二進(jìn)制計(jì)數(shù)器 VHDL 程序設(shè)計(jì)。 計(jì)數(shù)進(jìn)位輸出 END CNT12。 THEN 檢測(cè)時(shí)鐘上升沿 IF RST=39。039。 END IF。 END IF。 USE 。 THEN CQI:=(OTHERS = 39。THEN 檢測(cè)是否允許計(jì)數(shù) (同步他能 ) IF CQI16FFFF THEN CQI:=CQI+1。039。)。 END IF。 OUT1: OUT STD_LOGIC)。 END PROCESS。 diff,s_out: OUT STD_LOGIC)。 sub_out,diff_out: OUT STD_LOGIC)。 u2: h_suber PORT MAP(x=a, y=sub_in, diff=diff_out,s_out=c)。 y0,y1,y2,y3,y4,y5,y6,y7,sin: IN STD_LOGIC。 定義 1 個(gè)信號(hào)作為內(nèi)部的連接線。 u7:f_suber PORT MAP(xin=x7,yin=y7,diff_out=diff7,sub_in=a6,sub_out=sout)。 ENTITY mux41a IS PORT( A,B,C,D : IN STD_LOGIC。S3。 1Hz(允許誤差177。 ARCHITECTURE one OF DVF16 IS SIGNAL FULL : STD_LOGIC。139。當(dāng) CNT8=n/2 取整時(shí),預(yù)置 CNT8=D/2 取整 1。 END PROCESS P_REG 。 THEN FOUT = 39。 310 用 VHDL 設(shè)計(jì)一個(gè)功能類似 74LS160 的計(jì)數(shù)器。計(jì)數(shù)值輸出 COUT : OUT STD_LOGIC)。 計(jì)數(shù)器異步復(fù)位 ELSIF CLK39。 允許加載 ELSE IF Q9 THEN Q:=Q+1。 IF Q=9 THEN COUT=39。 311 給出含有異步清零和計(jì)數(shù)使能的 16 位二進(jìn)制加減可控計(jì)數(shù)器的 VHDL 描述。 CQ : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)。 THEN CQI:=(OTHERS = 39。 計(jì)數(shù)器異步復(fù)位 ELSIF CLK39。)。 IF SUB_EN=39。139。 END ARCHITECTURE A_S_16。 BEGIN PROCESS(CLK0) BEGIN IF CLK039。 圖 320 RTL 圖( b) 解:實(shí)現(xiàn)圖 320(b)RTL 圖的 VHDL 程序 LIBRARY IEEE。 ABCD=AB XOR CD。 END CASE。 s : IN STD_LOGIC。 電平觸發(fā) D 型觸發(fā)器程序 () LIBRARY IEEE。 THEN Q=D。 Q : OUT STD_LOGIC)。 Q:OUT STD_LOGIC)。 LIBRARY IEEE。 END。 THEN Q1=39。 END IF。 解 2:實(shí)現(xiàn)圖 320(d)RTL 圖的 VHDL 程序 頂層設(shè)計(jì)描述 LIBRARY IEEE。 ENA : IN STD_LOGIC。 END ARCHITECTURE one。 CLR : IN STD_LOGIC)。139。 THEN Q1=D。 END bhv。 Q :OUT STD_LOGIC。 u1: DFF_PRE_CLR_ENA PORT MAP(CLK=CLK,D=D,Q=Q,ENA=EN,PRE=39。 s : IN STD_LOGIC。 USE 。 ARCHITECTURE bhv OF DFF_PRE_CLR_ENA IS SIGNAL Q1:STD_LOGIC。139。 IF EN=39。 USE 。 PRE : IN STD_LOGIC。 定義 1 個(gè)信號(hào)作為內(nèi)部的連接線。039。,39。 (1)說(shuō)明其中的 Timing Requirementsamp。 48 設(shè)計(jì)一個(gè) 7 人表決電路 (用 4 位二進(jìn)制全加器) ,參加表決者 7 人,同意為 1,不同意為 0,同意者過(guò)半則表決通過(guò),綠指示燈亮;表決不通過(guò)則紅指示燈亮。 解: 412 用同步時(shí)序電路對(duì)串行二進(jìn)制輸入進(jìn)行奇偶校驗(yàn),每檢測(cè) 5 位輸入,輸出一個(gè)結(jié)果。 o_e_out:奇校 驗(yàn)輸出位 END ENTITY odd_even_p_RXD_5。 THEN shift_t:=100。移位計(jì)數(shù) shift_Q:=S_in amp。 5 習(xí) 題 51 什么是固有延 時(shí) ?什么是慣性延時(shí) ?P150~151 52 δ 是什么 ?在 VHDL 中, δ有什么用處 ?P152 53 哪些情況下需要用到程序包 STD_LOGIC_UNSIGNED? 試舉一例。 END ENTITY DVF。139。 BEGIN IF FULL39。 ELSE FOUT = 39。 ( 2) 重 載 算符有何用處 ? 用于兩個(gè)不同 類型 的操作數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同種數(shù)據(jù)類型,并進(jìn)行運(yùn)算處理。 USE 。139。039。 ENTITY mux4 IS PORT(i0,i1,i2,i3,a,b: IN STD_LOGIC。 end if。 when 3=q=i3。 USE 。1