【正文】
D : IN STD_LOGIC。 ENTITY t3_12_e IS PORT(D,EN,CLK,RST : IN STD_LOGIC。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END PROCESS。139。139。 ELSIF CLK39。 ELSIF PRE=39。 類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點 BEGIN PROCESS(CLK,D,Q1,ENA,PRE,CLR) BEGIN IF CLR=39。 PRE : IN STD_LOGIC。 ENTITY DFF_PRE_CLR_ENA IS PORT(CLK : IN STD_LOGIC。 u1: DFF_PRE_CLR_ENA PORT MAP(CLK,D,Q,EN,SS,RESET)。 END COMPONENT。 Q :OUT STD_LOGIC。 Q : OUT STD_LOGIC)。 END bhv。 THEN Q=Q1。 THEN Q1=D。EVENT AND CLK=39。139。139。 CLR : IN STD_LOGIC)。 D : IN STD_LOGIC。圖320 RTL圖(d)解1:實現(xiàn)圖320(d) 帶預置、清零和輸出使能的D觸發(fā)器程序()。 定義1個信號作為內(nèi)部的連接線。 D: IN STD_LOGIC。 s : IN STD_LOGIC。 ENTITY t3_12_c IS PORT(D1,D2,CLK : IN STD_LOGIC。 END bhv。139。 D: IN STD_LOGIC。解2:實現(xiàn)圖320(c)。 ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=39。 ENTITY mux21a IS PORT(a,b : IN STD_LOGIC。圖320 RTL圖(c)解1:實現(xiàn)圖320(c) 。 WHEN OTHERS =NULL 。 = Y = A。 CD=C OR D。 Y: OUT STD_LOGIC)。 END ARCHITECTURE sxdl。 THEN 檢測時鐘上升沿 Q = NOT(Q OR CL)。 ARCHITECTURE sxdl OF t3_12_a IS 時序電路sxdl SIGNAL Q : STD_LOGIC。 USE 。 將計數(shù)值向端口輸出 END PROCESS。 END IF。 IF CQI=0 THEN COUT=39。 允許計數(shù),檢測是否小于65535 ELSE CQI:=(OTHERS = 39。 END IF。139。039。 THEN 檢測時鐘上升沿 IF ADD_EN=39。039。計數(shù)器異步復位 ELSIF LOAD = 39。139。 ARCHITECTURE A_S_16 OF ADD_SUB_LOAD_16 IS BEGIN PROCESS(CLK,RST,ADD_EN,SUB_EN,LOAD) VARIABLE CQI: STD_LOGIC_VECTOR(15 DOWNTO 0)。 DATA : IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 LIBRARY IEEE。END behav。039。 END IF。)。 THEN Q:=DATA。 THEN 檢測時鐘上升沿 IF EN=39。)。 BEGIN IF RST=39。 4位預置數(shù) DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。USE 。END ARCHITECTURE one。039。139。EVENT AND FULL = 39。 END IF。 同時使溢出標志信號FULL輸出為高電平 (n=11:4\3\2\1\0計數(shù)) ELSE CNT8 := CNT8 1。 D(15 DOWNTO 1))1。 amp。 計數(shù)范圍(D=n):n1~n/2取整(n=10:9\8\7\6\5計數(shù),前后半周期相同) FULL = 39。EVENT AND CLK = 39。END ENTITY DVF16。USE 。設(shè)輸入頻率fi=4MHz,輸出頻率fo=177。 END ARCHITECTURE one。S2amp。 END ENTITY mux41a。 圖320(c)RTL圖的VHDL程序頂層設(shè)計描述 USE 。選通控制端有四個輸入:S0、SSS3。u6:f_suber PORT MAP(xin=x6,yin=y6,diff_out=diff6,sub_in=a5,sub_out=a6)。u2:f_suber PORT MAP(xin=x2,yin=y2,diff_out=diff2,sub_in=a1,sub_out=a2)。 SIGNAL a0,a1,a2,a3,a4,a5,a6: STD_LOGIC。 END ENTITY suber_8。 ENTITY suber_8 IS PORT(x0,x1,x2,x3,x4,x5,x6,x7: IN STD_LOGIC。 (2)以1位全減器為基本硬件,構(gòu)成串行借位的8位減法器,要求用例化語句來完成此項設(shè)計(減法運算是xysun_in=difft)。 BEGIN u1: h_suber PORT MAP(x=xin,y=yin, diff=a, s_out=b)。 diff,s_out: OUT STD_LOGIC)。 ENTITY f_suber IS PORT(xin,yin,sub_in: IN STD_LOGIC。 s_out = (NOT x) AND y。 ENTITY h_suber IS PORT( x,y: IN STD_LOGIC。 37 給出1位全減器的VHDL描述;最終實現(xiàn)8位全減器。 END IF。 BEGIN PROCESS(CLK0) BEGIN IF CLK039。 ENTITY t4_19 IS PORT (CL,CLK0: IN STD_LOGIC。 END ARCHITECTURE A_S_16。 END IF。139。139。 IF SUB_EN=39。 計數(shù)大于9,輸出進位信號 ELSE COUT = 39。)。139。計數(shù)器異步復位 ELSIF CLK39。139。 COUT: OUT STD_LOGIC)。 USE 。END behav。039。 END PROCESS。 END IF。 允許計數(shù),檢測是否小于9 ELSE Q=(OTHERS=39。 THEN 檢測是否允許計數(shù)或加載(同步使能) IF LOAD=39。039。139。039。計數(shù)值輸出 COUT : OUT STD_LOGIC)。USE 。討論例320與例321的異同點。 END CASE。 WHEN 39。 END PROCESS。139。 BEGINu1: PROCESS(s0,a1,a2,a3) BEGIN CASE s0 IS 類似于真值表的case語句 WHEN 39。 ENTITY mux31 IS PORT(a1,a2,a3,s0,s1: IN STD_LOGIC。 33 圖317所示的是雙2選1多路選擇器構(gòu)成的電路MUXK,對于其中MUX21A,當s=’0’和s=’1’時,分別有y=‘a(chǎn)’和y=’b’。 WHEN OTHERS =NULL 。 s1相并s0,即s1與s0并置操作 PROCESS(s0s1,a,b,c,d) BEGIN CASE s0s1 IS 類似于真值表的case語句 WHEN 00 = y = a。 END ENTITY mux41。 ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC。 END PROCESS。 ELSIF s0s1 = 01 THEN y = b。 ARCHITECTURE if_mux41 OF mux41 IS SIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0)。 s0: IN STD_LOGIC。當s1=’0’,s0=’0’;s1=’0’,s0=’1’;s1=’1’,s0=’0’和s1=’1’,s0=’1’時,分別執(zhí)行y=a、y=b、y=c、y=d。 輸出端 END buf3s 。 P34~36 22 什么是基于乘積項的可編程邏輯結(jié)構(gòu)? P33~34,40 什么是基于查找表的可編程邏輯結(jié)構(gòu)? P40~41 23 FPGA系列器件中的LAB有何作用? P43~45 25 解釋編程與配置這兩個概念。 (P11~13)2 習 題 21 OLMC(輸出邏輯宏單元)有何功能?說明GAL是怎樣實現(xiàn)可編程組合電路與時序電路的。 使能端 output:OUT STD_LOGIC)。mux21in0outputin1sel 32 圖316所示的是4選1多路選擇器,試分別用IF_THEN語句和CASE語句的表達方式寫出此電路的VHDL程序,選擇控制信號s1和s0的數(shù)據(jù)類型為STD_LOGIC_VECTOR。 ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC。 END ENTITY mux41。 s1相并s0,即s1與s0并置操作 PROCESS(s0s1,a,b,c,d) BEGIN IF s0s1 = 00 THEN y = a。 END IF。 USE 。 y: OUT STD_LOGIC)。s0。 WHEN 11 = y = d。 END ARCHITECTURE case_mux41。 USE 。 ARCHITECTURE case_mux31 OF mux31 IS SIGNAL y : STD_LOGIC。 WHEN 39。 END CASE。 = outy = a1。 WHEN OTHERS =NULL 。 34 將例320程序的計數(shù)器改為十二進制計數(shù)器,程序用例321的方式表述,并且將復位RST改為同步清零控制,加載信號LOAD改為異步控制方式。USE 。 4位預置數(shù) DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN REG: PROCESS(CLK,RST,EN,LOAD,Q) BEGIN IF LOAD=39。EVENT AND CLK=39。 THEN Q=(OTHERS =39。139。 允許加載 ELSE IF Q12 THEN Q=Q+1。 大于等于9時,計數(shù)值清零 END IF。 END IF。 計數(shù)大于9,輸出進位信號 ELSE COUT=39。 將計數(shù)值向端口輸出 END PROCESS。 LIBRARY IEEE。 CQ : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) 。 BE