【正文】
f LATCH1 isbegin PROCESS(CLK,DIN) IS BEGIN IF CLK39。use 。 S5 : in STD_LOGIC_VECTOR (3 downto 0)。S6(3 DOWNTO 0)=S5。use 。139。039。039。139。entity CTRLS is Port ( CLK : in STD_LOGIC。 計滿則清零,不滿則加一 ELSE CNT=CNT+’1’。use 。039。 QOU(15 DOWNTO 0)=DIN(15 DOWNTO 0)。 QOU(19 DOWNTO 0)=DIN(19 DOWNTO 0)。 QOU(15 DOWNTO 12)=1111。 THEN IF DIN(23 DOWNTO 20)=0000 THEN QOU(23 DOWNTO 20)=1111。 QOU(19 DOWNTO 16)=1111。 QOU(7 DOWNTO 0)=DIN(7 DOWNTO 0)。use 。BEGIN PROCESS(SEL,OVERIN) IS BEGIN CASE SEL IS 對位選信號進行判斷,對應(yīng)每一位分別提取數(shù)據(jù)中的不同位置的數(shù)據(jù)賦給中間信號DATA WHEN 000=DATA=DATAIN(3 DOWNTO 0)。 CASE DATA IS 對中間信號DATA進行譯碼,SEG為數(shù)碼管的數(shù)據(jù)顯示輸出,從而使不同位置上有不同的數(shù)字顯示 WHEN 0000=SEG=1000000。 WHEN 1000=SEG=0000000。 END PROCESS。 SEL : OUT std_logic_vector(2 downto 0))。 WAIT FOR 100 NS。三、設(shè)計實現(xiàn) 頂層文件: ,按照下圖連接各模塊生成的圖形文件符號,完成后保存編譯。NET SEG0 LOC = B14。NET SEL1 LOC = D8。 誤差分析:我將函數(shù)發(fā)生器的頻率調(diào)節(jié)到999,999HZ時,頻率計不顯示,即產(chǎn)生了計數(shù)溢出,然后我進行了進一步的調(diào)節(jié),將函數(shù)發(fā)生器的頻率調(diào)節(jié)到999,單位為KHZ。我覺得我通過本次試驗學(xué)會了很多。四、測試結(jié)果及結(jié)論經(jīng)過了前三步,最后我們將所完成的工程下載到了板子上,連接好函數(shù)發(fā)生器,并設(shè)定好了函數(shù)發(fā)生器的輸出信號電平(5Vpp),就可以進行使用了。NET SEG6 LOC = A11。NET SE10 LOC = N5。結(jié)果如下:有仿真結(jié)果我們可以看出程序運行正常,邏輯上沒有任何問題。 tb : PROCESS BEGIN CLK=39。ENTITY TBCTRLS_vhd ISEND TBCTRLS_vhd。 THEN 判斷溢出,若溢出則令輸出全部不顯示 SEG=1111111。 WHEN 0110=SEG=0000010。 WHEN OTHERS=DATA=0000。END DISPLAY1。代碼編寫完成后保存編譯生成圖形文件符號如上圖:然后我們編寫數(shù)據(jù)顯示輸出文件,代碼如下:library IEEE。 QOU(15 DOWNTO 12)=1111。 END IF。 AND DP2=39。 IF DIN(23 DOWNTO 20)=0000 AND DIN(19 DOWNTO 16)=0000 AND DIN(15 DOWNTO 12)=0000 THEN QOU(23 DOWNTO 20)=1111。039。 IF DIN(23 DOWNTO 20)=0000 AND DIN(19 DOWNTO 16)=0000 THEN QOU(23 DOWNTO 20)=1111。end DSELE。文件編寫完成后保存編譯生成圖形文件符號如圖:再編寫使高位無意義零自動消隱功能的的文件,源程序代碼如下:library IEEE。139。use 。039。039。039。end POINTCON。use 。S6(11 DOWNTO 8)=S3。 S3 : in STD_LOGIC_VECTOR (3 downto 0)。end Behavioral。 QOU : out STD_LOGIC_VECTOR)。 END PROCESS。 DIN : in STD_LOGIC_VECTOR (3 downto 0)。 仿真結(jié)果如圖: 如仿真結(jié)果我們可以看出,該模塊運行正常,計數(shù)穩(wěn)定,結(jié)果十分理想。 tb : PROCESS BEGIN CLK=39。039。ENTITY TBCNT10_vhd ISEND TBCNT10_vhd。 and cqi = 9 else 39。 END IF。 當(dāng)CLR清零信號有效時使輸出為0000,無效時進行下述操作 ELSIF CLK39。 ENA : in STD_LOGIC。計數(shù)器: 該模塊實現(xiàn)的功能是對輸入信號脈沖的計數(shù),并正確的輸出結(jié)果和溢出。 WAIT FOR 100 NS。 END COMPONENT。源文件編寫完成后保存編譯并生成圖形文件符號如圖:仿真文件代碼如下:LIBRARY ieee。 THEN CLR=39。139。entity CONTROLS is Port ( FREF : in STD_LOGIC。 END PROCESS。FREF=39。039。039。 FREF : OUT std_logic。USE 。 DP3=39。039。 DP2=39。039。 當(dāng)閘門控制在第一檔的時候,令輸出端輸出1HZ輸入端的輸入,小數(shù)點控制dp1有效,dp2,dp3無效 DP1=39。end SELE。 SE100 : in STD_LOGIC。對該模塊進行仿真結(jié)果如下:有上圖可知分頻器工作正常,產(chǎn)生的個信號也沒有毛刺,結(jié)果十分理想。 tb : PROCESS BEGIN clk=39。 END COMPONENT。USE 。end process。process(clk)is begin if clk39。event and clk=39。139。 then if t124000000 then 對t1進行計數(shù),當(dāng)t1未計滿后對其進行加1 t1=t1+1。signal t1K:integer range 1 to 24000。 clkout1 : out STD_LOGIC。4)計數(shù)器,用于對輸入的待測信號進行脈沖計數(shù),計數(shù)輸出。比如,時間基準(zhǔn)信號的重復(fù)周期為1S,加到閘門的門控信號作用時間T亦準(zhǔn)確地等于1S,即閘門的開通時間——“閘門時間”為1S。電子技術(shù)綜合試驗實驗報告 班級:測控一班 學(xué)號:2907101002 姓名:李大帥 指導(dǎo)老師:李穎基于FPGA的數(shù)字頻率計設(shè)計報告一、 系統(tǒng)整體設(shè)計設(shè)計要求: 被測輸入信號:方波 測試頻率范圍為:10Hz~100MHz 量程分為三檔:第一檔:閘門時間為1S時, 第二檔:, 第三檔:。閘門開通的時間稱為閘門時間,其長度等于門控信號作用時間T。3)門控電路,產(chǎn)生用于計數(shù)的使能控制信號,清零信號以及鎖存器鎖存信號。entity fenpinqi is Port ( clk : in STD_LOGIC。signal t100:integer range 1 to 240000。139。even