電子科技大學(xué)現(xiàn)代電子綜合實(shí)驗(yàn)頻率計(jì)實(shí)驗(yàn)報告_第1頁
電子科技大學(xué)現(xiàn)代電子綜合實(shí)驗(yàn)頻率計(jì)實(shí)驗(yàn)報告_第2頁
電子科技大學(xué)現(xiàn)代電子綜合實(shí)驗(yàn)頻率計(jì)實(shí)驗(yàn)報告_第3頁
電子科技大學(xué)現(xiàn)代電子綜合實(shí)驗(yàn)頻率計(jì)實(shí)驗(yàn)報告_第4頁
電子科技大學(xué)現(xiàn)代電子綜合實(shí)驗(yàn)頻率計(jì)實(shí)驗(yàn)報告_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實(shí) 驗(yàn) 報 告 學(xué) 生: 學(xué) 院: 專 業(yè): 學(xué) 號: 指 導(dǎo) 老 師:目錄一、實(shí)驗(yàn)名稱:3二、實(shí)驗(yàn)?zāi)康模?三、實(shí)驗(yàn)任務(wù):3四、實(shí)驗(yàn)原理:31.分頻器:4 功能4 實(shí)現(xiàn):42.閘門選擇5 功能5 實(shí)現(xiàn)53.門控電路:6 功能:6 實(shí)現(xiàn)74.計(jì)數(shù)器:8 功能8 實(shí)現(xiàn)85.鎖存器:9 功能9 實(shí)現(xiàn)96.掃面顯示9 功能9 實(shí)現(xiàn)97.top頂層文件10 功能:10 實(shí)現(xiàn):108.管腳的配置:11六、誤差分析:13 1. 原因132.減小誤差13七、實(shí)驗(yàn)結(jié)論:14八、程序附錄:141.分頻器:142.閘門選擇:153.門控電路:164.計(jì)數(shù)器:175.鎖存器:196.掃面顯示:207.top程序:21

2、一、實(shí)驗(yàn)名稱:基于FPGA的數(shù)字頻率計(jì)的設(shè)計(jì)二、實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)VHDL語言并使用它完成頻率計(jì)的設(shè)計(jì),使學(xué)生不斷的加深對VHDL描述語言的掌握,以及不斷總結(jié)由軟件來實(shí)現(xiàn)硬件的特點(diǎn),學(xué)會程序與芯片的對接,為以后的工作和更進(jìn)一步的學(xué)習(xí)學(xué)習(xí)打好基礎(chǔ)。三、實(shí)驗(yàn)任務(wù): 基于FPGA采用硬件描述語言VHDL,在軟件開發(fā)平臺ISE上設(shè)計(jì)出一個數(shù)字頻率計(jì),使用ModelSim仿真軟件對VHDL程序做仿真并下載到芯片完成實(shí)際測量。要求:其頻率測量范圍為10Hz10MHz,測量結(jié)果用6只數(shù)碼管顯示。有三個帶鎖按鍵開關(guān)(任何時候都只能有一個被按下)被用來選擇1S、0.1S和0.01S三個閘門時間中的一個。有兩只LED

3、,一只用來顯示閘門的開與閉,另一只當(dāng)計(jì)數(shù)器溢出時做溢出指示。四、實(shí)驗(yàn)原理:頻率計(jì)的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘(本實(shí)驗(yàn)采用50MHz的石英振蕩器作為基準(zhǔn)時鐘),對比測量其他信號的頻率。通常情況下計(jì)數(shù)每秒內(nèi)待測信號的脈沖個數(shù),此時我們稱閘門時間為1S,閘門時間也可以大于或小于1S。閘門時間越長,得到的頻率值就準(zhǔn)確,但閘門時間越長則每測一次頻率的間隔就越長;閘門時間越短,測得頻率值刷新就越快,但測得的頻率精準(zhǔn)度會受到影響。頻率是指周期性信號在單位時間(一秒)內(nèi)變化的次數(shù)。若在一定時間T內(nèi)計(jì)得這個周期信號變化的次數(shù)為N,則其頻率可表達(dá): f=N/T所以將N和T分別測量出來即可得出

4、測量頻率。因此需要的模塊有:計(jì)數(shù)器、基準(zhǔn)時鐘、門控電路,由此得出基本原理圖如下所示:工作原理: 把被測信號(以正弦波為例)通過脈沖形成電路轉(zhuǎn)變成脈沖(實(shí)驗(yàn)室直接測量方波,即相當(dāng)于跳過放大整形)其重復(fù)頻率等于被測頻率,,然后將它加到閘門的一個輸入端。閘門出門控信號來控制開、閉時間,只有在閘門開通時間T內(nèi),被計(jì)數(shù)的脈沖才能通過閘門,被送到十進(jìn)制電子計(jì)數(shù)器進(jìn)行計(jì)數(shù)。 考慮到測量范圍和顯示要求,需要對上面原理圖做完善,需要添加:分頻器、數(shù)據(jù)鎖存器、掃描顯示的控制子系統(tǒng)(包括顯示譯碼和掃描控制)、兩只LED指示閘門通斷和計(jì)數(shù)器溢出,由此得出如下完善之后原理圖:五、實(shí)驗(yàn)步驟: 先對各個模塊進(jìn)行設(shè)計(jì)仿真,保

5、證每個模塊的正常運(yùn)行,最后將各個模塊進(jìn)行匯總連接,編寫top頂層文件,最后對top文件進(jìn)行仿真測試,測試好之后下載到芯片進(jìn)行實(shí)際測量。1.分頻器:1 功能:對石英振蕩器產(chǎn)生的信號進(jìn)行分頻,得到10Hz、100Hz和1KHz三個基準(zhǔn)頻率,提供標(biāo)準(zhǔn)閘門時間控制信號以精確控制計(jì)數(shù)器的開閉;同時將1KHz的信號作為掃描顯示譯碼模塊的時鐘,以產(chǎn)生掃描選擇信號。2 實(shí)現(xiàn):分頻器的功能是由于閘門時間只有1S,0.1S,0.01S三檔,且在數(shù)碼管顯示時采用動態(tài)掃描的方法,需要產(chǎn)生1kHz的掃描信號,由于本設(shè)計(jì)將下載到開發(fā)板上,其提供的標(biāo)準(zhǔn)時間是48MHz,所以要對系統(tǒng)的48MHz時鐘信號進(jìn)行分頻,以產(chǎn)生符合要

6、求的各頻率信號:先由系統(tǒng)時鐘50MHz分頻出1kHz作為數(shù)碼管顯示的動態(tài)掃描信號,同時產(chǎn)生0.01S的計(jì)數(shù)閘門信號脈沖,再由1kHz分頻出100Hz產(chǎn)生0.1S的計(jì)數(shù)閘門信號脈沖,由100Hz分頻出10Hz產(chǎn)生1S的計(jì)數(shù)閘門信號脈沖。由此寫出分頻器的VHDL程序(見程序附錄1),仿真模塊如圖所示:到此完成了對分頻器模塊的設(shè)計(jì)和仿真。2.閘門選擇:1 功能:實(shí)現(xiàn)對輸入的幾個閘門信號的手動選擇,將選擇的閘門信號有fref輸出到下一個模塊,同時輸出小數(shù)點(diǎn)的控制信號dp1。2 實(shí)現(xiàn):采用數(shù)字電路里所學(xué)的多路復(fù)用器原理,s(2:0)為選擇端,f1,f10,f100為被選時基信號輸入端,通過選擇端s來控制

7、哪一個時基型號被選擇輸出:當(dāng)s(2:0)為100時,f1的輸入時基信號被選中,被賦值給輸出端口fref輸出,此時dp1(2)有效,其余的無效,點(diǎn)亮對應(yīng)連接的小數(shù)點(diǎn);當(dāng)s(2:0)為010時,f10時基信號被選中,被賦值給輸出端口fref輸出,此時dp1(1)有效,其余的無效,點(diǎn)亮對應(yīng)連接的小數(shù)點(diǎn);最后當(dāng)s(2:0)為001時,f100時基信號被選中,被賦值給輸出端口fref輸出,此時dp1(0)有效,其余的無效,點(diǎn)亮對應(yīng))連接的小數(shù)點(diǎn)。由此寫出閘門選擇的VHDL程序(見程序附錄2),仿真模塊如圖所示:到此完成了對閘門選擇模塊的設(shè)計(jì)和仿真。3.門控電路:1 功能:控制整個頻率計(jì)各模塊進(jìn)行時序工作

8、的控制裝置,它對輸入的標(biāo)準(zhǔn)時鐘信號進(jìn)行變換,產(chǎn)生我們所需要的三個信號閘門信號gate,鎖存信號latch以及清零信號reset。2 實(shí)現(xiàn):測量過程中,產(chǎn)生的上個閘門信號有著先后順序。根據(jù)我們的測量需要,可以得出三個信號的先后為:gate、latch、reset。同時為了規(guī)避冒險,我們需要將三個信號的上升沿錯開,由此采用圖1所示原理進(jìn)行編寫VHDL程序(見程序附錄3);同時對模塊進(jìn)行仿真,仿真模塊如圖所示:到此完成了對門控電路模塊的設(shè)計(jì)和仿真。4.計(jì)數(shù)器:1 功能:在門控電路的gate的控制下對輸入的信號進(jìn)行計(jì)數(shù),即完成f=N/T公式中的N的測量。2 實(shí)現(xiàn):采用數(shù)字電路所學(xué)的十進(jìn)制計(jì)數(shù)器,并對計(jì)

9、數(shù)器采用級聯(lián)的方法擴(kuò)展為6位十進(jìn)制計(jì)數(shù)器。由此編寫其VHDL程序(見程序附錄4),同時對模塊進(jìn)行仿真,仿真模塊如圖所示:到此完成了對計(jì)數(shù)器模塊的設(shè)計(jì)和仿真。5.鎖存器:1 功能:對計(jì)數(shù)器送來的六位計(jì)數(shù)結(jié)果和溢出信號ove_out進(jìn)行鎖存,保證顯示數(shù)碼管的數(shù)字不會跳動,方便讀取數(shù)據(jù)。2 實(shí)現(xiàn):采用數(shù)字電路所學(xué)的D鎖存器的思想,編寫能夠同時對六位技術(shù)界和溢出信號進(jìn)行鎖存的VHDL程序(見程序附錄5),編寫好之后進(jìn)行仿真測試,仿真模塊如圖所示:到此完成了對鎖存器模塊的設(shè)計(jì)和仿真。6.掃面顯示:1 功能:對鎖存器送來的數(shù)據(jù)進(jìn)行動態(tài)掃描(即位選)、將六位計(jì)數(shù)結(jié)果分別翻譯成七段數(shù)碼管所能識別的數(shù)據(jù)(即段選

10、)。2 實(shí)現(xiàn):通過用一個頻率1KHz的信號來掃描一個多路選擇器,實(shí)現(xiàn)對六位已經(jīng)鎖存的計(jì)數(shù)結(jié)果的掃描輸出,由于1KHz相對了人眼的暫留效應(yīng)已經(jīng)很高了,所以顯示結(jié)果不會讓人感覺到閃爍。這樣就可以用一個譯碼器來實(shí)現(xiàn)對六個4位二進(jìn)制數(shù)的譯碼。譯碼結(jié)果再連接到一個多路選擇器的輸入端,同樣由1KHz的信號來同步掃描選通。實(shí)現(xiàn)最終結(jié)果的數(shù)字顯示。六位十進(jìn)制數(shù)的BCD碼經(jīng)7段譯碼輸出,顯示十進(jìn)制數(shù)。并根據(jù)檔位信號確定小數(shù)點(diǎn)顯示的位置以實(shí)現(xiàn)檔位的顯示,最后的輸出全部通過下載前的固定引腳連接到LED顯示管上。由此編寫VHDL程序(見程序附錄6),編寫好之后進(jìn)行仿真測試,仿真模塊如圖所示: 到此完成了所有模塊的設(shè)計(jì)

11、和仿真,接下來就是對所有模塊的匯總連接,編寫top頂層文件。完成最終的設(shè)計(jì)和仿真。7.top頂層文件1 功能:將所有的模塊的功能進(jìn)行連接,完成頻率計(jì)的設(shè)計(jì)。 2 實(shí)現(xiàn):將每個模塊點(diǎn)擊ISE軟件右下角窗口中的“View HDL Instantiation Template”將生成的文件拷貝到新建的top文件對應(yīng)位置,并對中間的連接線進(jìn)行定義,最后完成top文件的編寫。仿真模塊如圖所示:8.管腳的配置:分配引腳,即實(shí)現(xiàn)設(shè)計(jì)的輸入輸出端口與實(shí)際芯片的輸入輸出端口的對應(yīng)連接。參考老師提供的電路板管腳(見圖1),完成對引腳的分配,得到top_fan.ucf文件(見下圖):9.下載程序: 將電路板連接好之

12、后,點(diǎn)擊“Configure Target Device”,生成top_fan.bit文件,在將bit文件下載到電路板板中,到此完成了所有的設(shè)計(jì)。六、誤差分析: 1. 原因:計(jì)數(shù)N不準(zhǔn),存在±1誤差。通過仔細(xì)分析可知,在測頻時,主門的開啟時刻與計(jì)數(shù)脈沖之間的時間關(guān)系是不相關(guān)的,所以它們在時間軸上的相對位置是隨機(jī)的。這樣,在相同的主門開啟時間內(nèi),計(jì)數(shù)器所計(jì)得的數(shù)卻不一定相同,當(dāng)主門開啟時間T接近甚至等于被測信號周期的整數(shù)倍N倍時,此項(xiàng)誤差為最大,圖4 畫出的就是這種情況: 圖 4 正負(fù)1誤差 若主門開啟時刻為,而第1個計(jì)數(shù)脈沖出現(xiàn)在,圖 4 (a)中示出了>>0的情況(),

13、這時計(jì)數(shù)器計(jì)得N個數(shù)(圖中N=6);現(xiàn)在再來看圖 4 (b)情況,即趨近于0,這就有兩種可能的計(jì)數(shù)結(jié)果:若第1個計(jì)數(shù)脈沖和第7個計(jì)數(shù)脈沖都能通過主門,則可計(jì)得N+1=7個數(shù);也可能這兩個脈沖都沒有能進(jìn)入主門,則只能計(jì)得N-1=5個數(shù)。由此可知,最大的計(jì)數(shù)誤差為個數(shù),即存在±1誤差。2.減小誤差:由上述的分析可知不管計(jì)數(shù)值N多少,其最大誤差總是±1個計(jì)數(shù)單位。當(dāng)T選定后,越低,則由±1誤差產(chǎn)生的測頻誤差越大。一定時,增大閘門時間T,可減小±1誤差對測頻誤差的影響。因此我們在測量頻率的時候盡量選擇合適的閘門可以減小誤差。七、實(shí)驗(yàn)結(jié)論:本次實(shí)驗(yàn)利用VHDL語言

14、完成了基于FPGA的數(shù)字頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)。利用ISE和ModelSim對程序設(shè)計(jì)進(jìn)行了仿真、分析、綜合,并最終下載到FPGA芯片中,完成了整個頻率計(jì)的設(shè)計(jì)。通過此次頻率計(jì)的設(shè)計(jì)試驗(yàn),對頻率計(jì)有了更深的認(rèn)識,尤其是對頻率計(jì)的工作原理以及各功能模塊的實(shí)現(xiàn)有深入了解,同時深入的了解學(xué)習(xí)了VHDL語言,學(xué)會了如何利用ISE和ModelSim對編寫的VHDL程序進(jìn)行聯(lián)合仿真;最后將編寫好的程序下載到芯片中,讓我學(xué)會了如何將程序與芯片進(jìn)行對接,提高了自己的動手能力。八、程序附錄:1.分頻器:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOG

15、IC_UNSIGNED.ALL;use IEEE.STD_LOGIC_ARITH.ALL;entity div_f isport (clk : in std_logic;fp_10,fp_100,fp_1k : out std_logic);end div_f;architecture Behavioral of div_f issignal div_10: std_logic_vector(2 downto 0):="000"signal div_100: std_logic_vector(2 downto 0):="000"signal div_1k

16、: std_logic_vector(14 downto 0):="000000000000000"signal clk_10,clk_100,clk_1k: std_logic;beginfen1k: process(clk) beginif rising_edge(clk) thenif div_1k=24999 thendiv_1k<="000000000000000"clk_1k<=not clk_1k;else div_1k<=div_1k+1;end if;end if;end process;fen100: process

17、(clk_1k) beginif rising_edge(clk_1k) thenif div_100=5 thendiv_100<="000"clk_100<=not clk_100;else div_100<=div_100+1;end if;end if;end process;fen10: process(clk_100) beginif rising_edge(clk_100) thenif div_10=5 thendiv_10<="000"clk_10<=not clk_10;else div_10<=d

18、iv_10+1;end if;end if;end process;fp_10<=clk_10;fp_100<=clk_100;fp_1k<=clk_1k;end Behavioral;2.閘門選擇:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;use IEEE.STD_LOGIC_ARITH.ALL;entity sele isport( s: in std_logic_vector(2 downto 0);f1 ,f10 ,f100 : in std_logic;fref

19、: out std_logic;dp1 : out std_logic_vector(2 downto 0);end sele;architecture Behavioral of sele isbeginprocess(s,f1,f10,f100) -xiaoshudianbegincase s iswhen "100" =>fref<=f1;dp1<="011"when "010" =>fref<=f10;dp1<="101"when "001" =>

20、;fref<=f100;dp1<="110"when others =>fref<='0'dp1<="111"end case;end process;end Behavioral;3.門控電路:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;use IEEE.STD_LOGIC_ARITH.ALL;entity control isport( insignal : in STD_LOGIC;gate : out

21、 STD_LOGIC:='0'latch : out STD_LOGIC:='0'reset : out STD_LOGIC:='0');end control;architecture Behavioral of control issignal counter_16 : std_logic_vector(3 downto 0):="0000"Beginprocess(insignal)beginif rising_edge(insignal) then counter_16<=counter_16 + 1;if co

22、unter_16 <10 then gate<='1'else gate<='0'end if;if counter_16=11 thenlatch<='1'else latch<='0'end if;if counter_16=13 then reset<='1'else reset<='0'end if;end if;end process;end Behavioral;4.計(jì)數(shù)器:entity counter_10 isport (ce_signal,

23、 clr, en : in std_logic;over_l : out std_logic;cn1 : out std_logic_vector (3 downto 0);cn2 : out std_logic_vector (3 downto 0);cn3 : out std_logic_vector (3 downto 0);cn4 : out std_logic_vector (3 downto 0);cn5 : out std_logic_vector (3 downto 0);cn6 : out std_logic_vector (3 downto 0);end counter_1

24、0;architecture Behavioral of counter_10 issignal count1:std_logic_vector(3 downto 0):="0000"signal count2:std_logic_vector(3 downto 0):="0000"signal count3:std_logic_vector(3 downto 0):="0000"signal count4:std_logic_vector(3 downto 0):="0000"signal count5:std_

25、logic_vector(3 downto 0):="0000"signal count6:std_logic_vector(3 downto 0):="0000"begincn1<=count1;cn2<=count2;cn3<=count3;cn4<=count4;cn5<=count5;cn6<=count6;process(ce_signal,clr,en) isbeginif clr='1' thencount1<="0000"count2<="000

26、0"count3<="0000"count4<="0000"count5<="0000"count6<="0000"over_l<='0'elsif rising_edge(ce_signal) then if en='1' thenif count1<"1001" thencount1<=count1+1;else count1<="0000"if count2<"10

27、01" thencount2<=count2+1;else count2<="0000"if count3<"1001" thencount3<=count3+1;else count3<="0000"if count4<"1001" thencount4<=count4+1;else count4<="0000"if count5<"1001" thencount5<=count5+1;else coun

28、t5<="0000"if count6<"1001" thencount6<=count6+1;else count6<="0000"over_l<='1'end if;end if;end if;end if;end if;end if;end if;end if;end process;end Behavioral;5.鎖存器:entity suo_cun isPort ( latch_in , over_in : in std_logic; data_in1 : in std_log

29、ic_vector (3 downto 0); data_in2 : in std_logic_vector (3 downto 0); data_in3 : in std_logic_vector (3 downto 0); data_in4 : in std_logic_vector (3 downto 0); data_in5 : in std_logic_vector (3 downto 0); data_in6 : in std_logic_vector (3 downto 0); over_out : out std_logic; data_out1 : out std_logic

30、_vector (3 downto 0); data_out2 : out std_logic_vector (3 downto 0); data_out3 : out std_logic_vector (3 downto 0); data_out4 : out std_logic_vector (3 downto 0); data_out5 : out std_logic_vector (3 downto 0); data_out6 : out std_logic_vector (3 downto 0);end suo_cun;architecture Behavioral of suo_c

31、un isbeginprocess(latch_in)beginif rising_edge(latch_in) thenover_out<=not over_in;data_out1<=data_in1;data_out2<=data_in2;data_out3<=data_in3;data_out4<=data_in4;data_out5<=data_in5;data_out6<=data_in6;end if;end process;end Behavioral;6.掃面顯示:entity shao_miao isPort ( f1k : in

32、STD_LOGIC; dp2: in std_logic_vector(2 downto 0); data1 : in STD_LOGIC_VECTOR (3 downto 0); data2 : in STD_LOGIC_VECTOR (3 downto 0); data3 : in STD_LOGIC_VECTOR (3 downto 0); data4 : in STD_LOGIC_VECTOR (3 downto 0); data5 : in STD_LOGIC_VECTOR (3 downto 0); data6 : in STD_LOGIC_VECTOR (3 downto 0);

33、 xs_out : out STD_LOGIC_VECTOR (5 downto 0); seg : out STD_LOGIC_VECTOR (6 downto 0); end shao_miao;architecture Behavioral of shao_miao issignal sel:std_logic_vector (2 downto 0):="000"signal data:std_logic_vector (3 downto 0);beginprocess(f1k,sel,data1,data2,data3,data4,data5,data6)begin

34、if rising_edge(f1k) then case sel iswhen"000"=>data<=data1;xs_out<="111110"when"001"=>data<=data2;xs_out<="111101"when"010"=>data<=data3;xs_out<="111011"when"011"=>data<=data4;xs_out<="1101

35、11"when"100"=>data<=data5;xs_out<="101111"when"101"=>data<=data6;xs_out<="011111"when others=>data<="1111"xs_out<="111111"end case;end if;end process; dot: process(sel,dp2) begincase sel iswhen "100"

36、;=>dp<=dp2(2);when "011"=>dp<=dp2(1); when "010"=>dp<=dp2(0); when others=> dp<='1'end case;end process;process(data) begincase data is when "0000"=>seg<="0000001" when "0001"=>seg<="1001111" when

37、 "0010"=>seg<="0010010" when "0011"=>seg<="0000110" when "0100"=>seg<="1001100" when "0101"=>seg<="0100100" when "0110"=>seg<="0100000" when "0111"=>seg<=

38、"0001111" when "1000"=>seg<="0000000" when "1001"=>seg<="0000100"when others=>seg<="1111111"end case;end process;end Behavioral;7.top程序:library ieee;use ieee.std_logic_1164.ALL;use ieee.numeric_std.ALL;library UNISIM;use U

39、NISIM.Vcomponents.ALL;entity top_fan is port ( ce_liang : in std_logic; clk : in std_logic; s : in std_logic_vector (2 downto 0); cnte_5 : out std_logic; cnte_6 : out std_logic; dot_out : out std_logic; light_out : out std_logic; over_out : out std_logic; seg : out std_logic_vector (6 downto 0); sel

40、 : out std_logic_vector (5 downto 0);end top_fan;architecture BEHAVIORAL of top_fan is signal cnte_1 : std_logic; signal cnte_2 : std_logic; signal cnte_3 : std_logic; signal cnte_4 : std_logic; signal cnte_7 : std_logic; signal cnte_9 : std_logic_vector (3 downto 0); signal cnte_10 : std_logic_vect

41、or (3 downto 0); signal cnte_11 : std_logic_vector (3 downto 0); signal cnte_12 : std_logic_vector (3 downto 0); signal cnte_13 : std_logic_vector (3 downto 0); signal cnte_14 : std_logic_vector (3 downto 0); signal cnte_15 : std_logic_vector (3 downto 0); signal cnte_16 : std_logic_vector (3 downto

42、 0); signal cnte_17 : std_logic_vector (3 downto 0); signal cnte_18 : std_logic_vector (3 downto 0); signal cnte_19 : std_logic_vector (3 downto 0); signal cnte_20 : std_logic_vector (3 downto 0); signal cnte_5_DUMMY : std_logic; signal cnte_6_DUMMY : std_logic; signal light_out_DUMMY : std_logic; c

43、omponent control port ( insignal : in std_logic; gate : out std_logic; latch : out std_logic; reset : out std_logic); end component; component counter_10 port ( ce_signal : in std_logic; clr : in std_logic; en : in std_logic; over_l : out std_logic; cn1 : out std_logic_vector (3 downto 0); cn2 : out

44、 std_logic_vector (3 downto 0); cn3 : out std_logic_vector (3 downto 0); cn4 : out std_logic_vector (3 downto 0); cn5 : out std_logic_vector (3 downto 0); cn6 : out std_logic_vector (3 downto 0); end component; component div_f port ( clk : in std_logic; fp_10 : out std_logic; fp_100 : out std_logic;

45、 fp_1k : out std_logic); end component; component sele port ( f1 : in std_logic; f10 : in std_logic; f100 : in std_logic; s : in std_logic_vector (2 downto 0); fref : out std_logic; dp1 : out std_logic_vector (2 downto 0); end component; component shao_miao port ( f1k : in std_logic; dp2 : in std_lo

46、gic_vector (2 downto 0); data1 : in std_logic_vector (3 downto 0); data2 : in std_logic_vector (3 downto 0); data3 : in std_logic_vector (3 downto 0); data4 : in std_logic_vector (3 downto 0); data5 : in std_logic_vector (3 downto 0); data6 : in std_logic_vector (3 downto 0); dp : out std_logic; xs_

47、out : out std_logic_vector (5 downto 0); seg : out std_logic_vector (6 downto 0); end component; component suo_cun port ( latch_in : in std_logic; over_in : in std_logic; data_in1 : in std_logic_vector (3 downto 0); data_in2 : in std_logic_vector (3 downto 0); data_in3 : in std_logic_vector (3 downt

48、o 0); data_in4 : in std_logic_vector (3 downto 0); data_in5 : in std_logic_vector (3 downto 0); data_in6 : in std_logic_vector (3 downto 0); over_out : out std_logic; data_out1 : out std_logic_vector (3 downto 0); data_out2 : out std_logic_vector (3 downto 0); data_out3 : out std_logic_vector (3 dow

49、nto 0); data_out4 : out std_logic_vector (3 downto 0); data_out5 : out std_logic_vector (3 downto 0); data_out6 : out std_logic_vector (3 downto 0); end component; begin cnte_5 <= cnte_5_DUMMY; cnte_6 <= cnte_6_DUMMY; light_out <= light_out_DUMMY; Part_1 : control port map (insignal=>cnte_4, gate=>light_out_DUMMY, latch=>cnte_6_DUMMY, reset=>cnte_5_DUMMY); Part_2 : counter_10 port map (ce_signal=>ce_liang, clr=>cnte_5_DUMMY, en=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論