【正文】
8)=S3。 將總線的對應(yīng)位進行連接S6(19 DOWNTO 16)=S1。end ADVOCATES。 S5 : in STD_LOGIC_VECTOR (3 downto 0)。 S3 : in STD_LOGIC_VECTOR (3 downto 0)。 S1 : in STD_LOGIC_VECTOR (3 downto 0)。use 。use 。end Behavioral。 END IF。039。architecture Behavioral of LATCH1 isbegin PROCESS(CLK,DIN) IS BEGIN IF CLK39。 QOU : out STD_LOGIC_VECTOR)。entity LATCH1 is Port ( CLK : in STD_LOGIC。use 。上述文件編寫完成后保存編譯生成圖形文件符號如圖:再編寫一位鎖存器,源程序代碼如下:library IEEE。 END PROCESS。 THEN 當(dāng)時鐘信號下降沿時,實現(xiàn)鎖存 QOU=DIN。EVENT AND CLK=39。end LATCH4。 DIN : in STD_LOGIC_VECTOR (3 downto 0)。use 。use 。鎖存器使用下降沿鎖存,即當(dāng)計數(shù)器的使能信號變?yōu)闊o效的一瞬間我們令鎖存器將數(shù)據(jù)鎖存。 仿真結(jié)果如圖: 如仿真結(jié)果我們可以看出,該模塊運行正常,計數(shù)穩(wěn)定,結(jié)果十分理想。 END PROCESS。139。 wait for 100 ns。 tb : PROCESS BEGIN CLK=39。 SIGNAL CO : std_logic。139。039。039。 END COMPONENT。 CQ : OUT std_logic_vector(3 downto 0)。 CLR : IN std_logic。ENTITY TBCNT10_vhd ISEND TBCNT10_vhd。USE 。文件編寫完成后保存編譯生成圖形文件符號,如上圖: 創(chuàng)建圖形文件t6并按照下圖進行連接,保存后編譯生成圖形文件符號如圖: 仿真文件代碼如下:LIBRARY ieee。 進位信號,最高位的僅為信號作為計數(shù)的溢出信號 CQ=CQI。 and cqi = 9 else 39。 when ena = 39。 CO = 39。 END IF。 END IF。 數(shù)據(jù)0~9循環(huán),計滿后重新回到0 ELSE CQI=CQI+39。139。139。 當(dāng)CLR清零信號有效時使輸出為0000,無效時進行下述操作 ELSIF CLK39。139。architecture Behavioral of CNT10 is SIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0):=0000。 CO : out STD_LOGIC)。 ENA : in STD_LOGIC。entity CNT10 is Port ( CLK : in STD_LOGIC。use 。該模塊是使用六個十進制計數(shù)器同步并聯(lián)而成的,首先我們設(shè)計用于并聯(lián)的十進制計數(shù)器,原程序如下:library IEEE。計數(shù)器: 該模塊實現(xiàn)的功能是對輸入信號脈沖的計數(shù),并正確的輸出結(jié)果和溢出。對上面的文件進行仿真,結(jié)果如下:由上圖的仿真結(jié)果可知,控制電路工作正常,輸出信號穩(wěn)定,很理想。 END PROCESS。139。 WAIT FOR 100 NS。 tb : PROCESS BEGIN FREF=39。 SIGNAL CLR : std_logic。039。 END COMPONENT。 GAT : OUT std_logic。ENTITY TBCON_vhd ISEND TBCON_vhd。USE 。源文件編寫完成后保存編譯并生成圖形文件符號如圖:仿真文件代碼如下:LIBRARY ieee。 GAT=G1。 清零信號高電平有效 END IF。 該過程產(chǎn)生清零信號,即當(dāng)使能信號為無效0同時時鐘為0時,即在技術(shù)始終無效半個時鐘時間后,對計數(shù)器清零 ELSE CLR=39。 THEN CLR=39。 AND G1=39。 PROCESS(FREF,G1) IS BEGIN IF FREF=39。 該過程對時鐘信號又一次進行分頻,產(chǎn)生出半個周期時間為1的控制信號,作為計數(shù)使能,保證了時間的準(zhǔn)確性 END IF。139。begin PROCESS(FREF) IS BEGIN IF FREF39。architecture Behavioral of CONTROLS isSIGNAL G1: STD_LOGIC:=39。 CLR : out STD_LOGIC)。entity CONTROLS is Port ( FREF : in STD_LOGIC。use 。具體源程序即分析如下: library IEEE。仿真結(jié)果如圖:有仿真結(jié)果可知閘門選擇器工作正常,能夠準(zhǔn)確輸出我們所需的信號。 END PROCESS。139。139。 wait for 100 ns。FREF=39。 tb : PROCESS BEGIN F1HZ=39。 SIGNAL DP3 : std_logic。 SIGNAL DP1 : std_logic。039。039。039。039。039。139。 END COMPONENT。 DP2 : OUT std_logic。 FREF : OUT std_logic。 F10HZ : IN std_logic。 SE100 : IN std_logic。ARCHITECTURE behavior OF TTB_vhd IS COMPONENT SELE PORT(SE1 : IN std_logic。USE 。USE 。end Behavioral。 END IF。 DP3=39。 DP2=39。 第三檔,輸出為100HZ,dp3有效 DP1=39。139。039。039。 END IF。 DP3=39。 DP2=39。 第二檔,輸出為10HZ,dp2有效 DP1=39。039。139。039。 END IF。 DP3=39。 DP2=39。 當(dāng)閘門控制在第一檔的時候,令輸出端輸出1HZ輸入端的輸入,小數(shù)點控制dp1有效,dp2,dp3無效 DP1=39。039。039。139。end SELE。 DP2 : out STD_LOGIC。 FREF : out STD_LOGIC。 F10HZ : IN STD_LOGIC。 SE100 : in STD_LOGIC。entity SELE is Port ( SE1 : in STD_LOGIC。use 。其原程序和分析如下: library IEEE。對該模塊進行仿真結(jié)果如下:有上圖可知分頻器工作正常,產(chǎn)生的個信號也沒有毛刺,結(jié)果十分理想。 END PROCESS。139。 wait for 10 ps。 tb : PROCESS BEGIN clk=39。 SIGNAL clkout1K : std_logic。 SIGNAL clkout10 : std_logic。