【正文】
c3=not c3。 process(clk)is begin if clk39。 t10=1。event and clk=39。 end if。139。signal c3:std_logic。signal t100:integer range 1 to 240000。clkout1K : out STD_LOGIC)。entity fenpinqi is Port ( clk : in STD_LOGIC。二、 單元電路設計 分頻器:該電路將產生四個不同頻率的信號輸出,因為電路板上給出了一個48MHZ的晶振,所以我們只需要對48MHZ的信號進行適當分頻即可得到我們所需的四個不同頻率的信號輸出,我們設計一個輸入為48MHZ,有四個輸出端分別為1HZ,10HZ和100HZ,1KHZ的分頻器,原程序如下: library IEEE。3)門控電路,產生用于計數(shù)的使能控制信號,清零信號以及鎖存器鎖存信號。不難設想,若將閘門時間設為T=,則計數(shù)值為10000,這時,顯示器的小數(shù)點只要根據(jù)閘門時間T的改變也隨之自動往右移動一位(自動定位),那么。閘門開通的時間稱為閘門時間,其長度等于門控信號作用時間T。 系統(tǒng)設計原理: 所謂“頻率”,就是周期性信號在單位時間(1秒)內變化的次數(shù)。電子技術綜合試驗實驗報告 班級:測控一班 學號:2907101002 姓名:李大帥 指導老師:李穎基于FPGA的數(shù)字頻率計設計報告一、 系統(tǒng)整體設計設計要求: 被測輸入信號:方波 測試頻率范圍為:10Hz~100MHz 量程分為三檔:第一檔:閘門時間為1S時, 第二檔:, 第三檔:。若在一定的時間間隔T內計數(shù),計得某周期性信號的重復變化次數(shù)為N,則該信號的頻率可表達為:f = N / T .基于這一原理我們可以使用單位時間內對被測信號進行計數(shù)的方法求得對該信號的頻率測量,具體實現(xiàn)過程簡述如下: 首先,將被測信號①(方波)加到閘門的輸入端。比如,時間基準信號的重復周期為1S,加到閘門的門控信號作用時間T亦準確地等于1S,即閘門的開通時間——“閘門時間”為1S。在計數(shù)式數(shù)字頻率計中,通過選擇不同的閘門時間,可以改變頻率計的測量范圍和測量精度。4)計數(shù)器,用于對輸入的待測信號進行脈沖計數(shù),計數(shù)輸出。use 。 clkout1 : out STD_LOGIC。end fenpinqi。signal t1K:integer range 1 to 24000。signal c4:std_logic。 then if t124000000 then 對t1進行計數(shù),當t1未計滿后對其進行加1 t1=t1+1。 end if。139。 end if。event and clk=39。 t100=1。process(clk)is begin if clk39。 elsif t1=24000 then c4=not c4。end process。clkout1K=c4。USE 。 clkout1 : OUT std_logic。 END COMPONENT。 SIGNAL clkout10 : std_logic。 tb : PROCESS BEGIN clk=39。139。對該模塊進行仿真結果如下:有上圖可知分頻器工作正常,產生的個信號也沒有毛刺,結果十分理想。use 。 SE100 : in STD_LOGIC。 FREF : out STD_LOGIC。end SELE。039。 當閘門控制在第一檔的時候,令輸出端輸出1HZ輸入端的輸入,小數(shù)點控制dp1有效,dp2,dp3無效 DP1=39。 DP3=39。039。039。 DP2=39。 END IF。039。 第三檔,輸出為100HZ,dp3有效 DP1=39。 DP3=39。end Behavioral。USE 。 SE100 : IN std_logic。 FREF : OUT std_logic。 END COMPONENT。039。039。039。 SIGNAL DP3 : std_logic。FREF=39。139。 END PROCESS。具體源程序即分析如下: library IEEE。entity CONTROLS is Port ( FREF : in STD_LOGIC。architecture Behavioral of CONTROLS isSIGNAL G1: STD_LOGIC:=39。139。 PROCESS(FREF,G1) IS BEGIN IF FREF=39。 THEN CLR=39。 清零信號高電平有效 END IF。源文件編寫完成后保存編譯并生成圖形文件符號如圖:仿真文件代碼如下:LIBRARY ieee。ENTITY TBCON_vhd ISEND TBCON_vhd。 END COMPONENT。 SIGNAL CLR : std_logic。 WAIT FOR 100 NS。 END PROCESS。計數(shù)器: 該模塊實現(xiàn)的功能是對輸入信號脈沖的計數(shù),并正確的輸出結果和溢出。use 。 ENA : in STD_LOGIC。architecture Behavioral of CNT10 is SIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0):=0000。 當CLR清零信號有效時使輸出為0000,無效時進行下述操作 ELSIF CLK39。139。 END IF。 CO = 39。 and cqi = 9 else 39。文件編寫完成后保存編譯生成圖形文件符號,如上圖: 創(chuàng)建圖形文件t6并按照下圖進行連接,保存后編譯生成圖形文件符號如圖: 仿真文件代碼如下:LIBRARY ieee。ENTITY TBCNT10_vhd ISEND TBCNT10_vhd。 CQ : OUT std_logic_vector(3 downto 0)。039。139。 tb : PROCESS BEGIN CLK=39。139。 仿真結果如圖: 如仿真結果我們可以看出,該模塊運行正常,計數(shù)穩(wěn)定,結果十分理想。use 。 DIN : in STD_LOGIC_VECTOR (3 downto 0)。EVENT AND CLK=39。 END PROCESS。use 。 QOU : out STD_LOGIC_VECTOR)。039。end Behavioral。use 。 S3 : in STD_LOGIC_VECTOR (3 downto 0)。end ADVOCATES。S6(11 DOWNTO 8)=S3。文件編寫完成后保存編譯生成圖形文件符號,如圖:,保存編譯生成圖形文件符號如圖:該模塊的輸入輸出簡單,無需仿真。use 。 SE10 : in STD_LOGIC。end POINTCON。039。039。139。039。039。039。 END PROCESS。use 。end CTRLS。139。 END IF。文件編寫完成后保存編譯生成圖形文件符號如圖:再編寫使高位無意義零自動消隱功能的的文件,源程序代碼如下:library IEEE。entity DSELE is