【正文】
EN CQI = CQI + 1。EVENT AND CLK = 39。BEGINP_REG: PROCESS(CLK, RST, ENA) BEGIN IF RST = 39。 OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。USE 。四位十進(jìn)制頻率計四位鎖存器測頻控制電路四位計數(shù)器十進(jìn)制加法計數(shù)器 設(shè)計一個四位十進(jìn)制頻率計,首先需要一個測頻控制電路來產(chǎn)生一個脈寬為1S的輸入信號脈沖計數(shù)允許的信號;然后需要一個4位計數(shù)器進(jìn)行計數(shù),由于我們設(shè)計的是四位的十進(jìn)制的頻率計,所以還需要用4個十進(jìn)制的加法計數(shù)器來構(gòu)成所需要的計數(shù)器;在技計數(shù)完成之后還需要一個鎖存器將計數(shù)值進(jìn)行鎖存,從而使顯示的數(shù)值穩(wěn)定。當(dāng)CNT_EN高電平時允許計數(shù);低電平時停止計數(shù),并保持其所計的脈沖數(shù)。關(guān)鍵詞:EDA技術(shù)、頻率、四位十進(jìn)制、仿真、鎖存顯示 正文(1)設(shè)計4位十進(jìn)制頻率計,學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法;(2)用VHDL硬件描述語言進(jìn)行模塊電路的設(shè)計;(3)掌握較為復(fù)雜的原理圖層次化設(shè)計,熟悉詳細(xì)的設(shè)計流程。讀數(shù)小時,頻率計處于前量程狀態(tài),下次測量,量程自動減小一檔。通過單位時間(1秒)內(nèi)頻率的計數(shù)來實現(xiàn)頻率的設(shè)計。此次設(shè)計主要用四位十進(jìn)制計數(shù)器,所以頻率計數(shù)范圍為1~9999Hz。然后鎖存防止閃爍顯示,最后由譯碼掃描顯示電路輸出到數(shù)碼管進(jìn)行顯示輸出。 根據(jù)頻率的定義和頻率測量的基本原理,測定信號的頻率必須有一個脈寬為1S的輸入信號脈沖計數(shù)允許的信號;1S計數(shù)結(jié)束后,計數(shù)值被鎖入鎖存器,計數(shù)器清零,為下一測評計數(shù)周期做好準(zhǔn)備。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上升沿將計數(shù)器在前一秒鐘的計數(shù)值鎖進(jìn)鎖存器REG4D中,并由外部的十進(jìn)制7段譯碼器譯出,顯示計數(shù)值。(1)輸入完整的VHDL語言描述,具體描述如下。ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC。 COUT : OUT STD_LOGIC )。139。139。 END IF。 進(jìn)位輸出 COUT=CQI(0) AND CQI(1) AND CQI(2) AND CQI(3)。 圖2 四位計數(shù)器仿真波形分析:對照波形進(jìn)行分析,結(jié)果正確說明設(shè)計無誤。USE 。ARCHITECTURE behav OF TESTCTL IS SIGNAL DIV2CLK : STD_LOGIC。 THEN DIV2CLK = NOT DIV2CLK。039。139。 END PROCESS。(1)輸入完整的VHDL語言描述,具體描述如下。 DIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。EVENT AND LOAD=39。 END PROCESS。頂層文件程序中設(shè)置一系列的信號,將五個部分的程序輸入輸出信號相對應(yīng)的連接起來,并與整個系統(tǒng)的封裝引腳相對應(yīng)。USE 。 使能端 OUTY:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。定義變量CQIbeginif (RST = 39。)。) then 在時鐘信號FX的上升沿 if ENA=39。039。COUT=39。039。使能端置0輸出為0 END IF。END behav。在實驗的進(jìn)行中也出現(xiàn)了很多問題,比如說編譯出現(xiàn)了很多錯誤,經(jīng)過我仔細(xì)的排查和修改后,最終使得編譯完全正確了,這讓我有一點(diǎn)成就感,同時也使我對此充滿了興趣,做得就更加認(rèn)真了,努力把很多沒弄懂的問題都想清楚了,做完本次設(shè)計實驗后真的收獲頗豐。entity plj isport(fb,clk,rst:in std_logic。end plj。ponent fp isport(fb1:in std_logic。 k1,k2,k3,k4:in std_logic。po