![FPGA課程設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/b97decb4-992a-412a-84a6-bf04fd86a0a4/b97decb4-992a-412a-84a6-bf04fd86a0a41.gif)
![FPGA課程設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/b97decb4-992a-412a-84a6-bf04fd86a0a4/b97decb4-992a-412a-84a6-bf04fd86a0a42.gif)
![FPGA課程設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/b97decb4-992a-412a-84a6-bf04fd86a0a4/b97decb4-992a-412a-84a6-bf04fd86a0a43.gif)
![FPGA課程設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/b97decb4-992a-412a-84a6-bf04fd86a0a4/b97decb4-992a-412a-84a6-bf04fd86a0a44.gif)
![FPGA課程設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/b97decb4-992a-412a-84a6-bf04fd86a0a4/b97decb4-992a-412a-84a6-bf04fd86a0a45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 西安歐亞學院信息工程學院FPGA系統(tǒng)開發(fā)設計報告2013 / 2014 學年第 二 學期設計題目: 基于VHDL的分頻計設計 專業(yè)班級: 統(tǒng)本電信1201班 姓名學號: 李瑞洋 12620102154071 指導教師: 張秀芳 設計成績: 一、 設計任務及要求:當系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的50MHz的輸入信號,經(jīng)過信號源模塊,先通過100分頻產(chǎn)生1MHZ的時鐘信號,再將1MHZ的時鐘信號分頻產(chǎn)生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時鐘輸入,7812HZ的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號testen和清零信號clr對計數(shù)模塊進行控制,而由其產(chǎn)生
2、的鎖存信號load對鎖存模塊進行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當鎖存信號為高電平時,數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應的能夠在數(shù)碼顯示管上可以顯示的十進制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果。數(shù)字頻率計的原理框圖如圖所示。主要由5個模塊組成,分別是:信號源模塊、控制模塊、計數(shù)模塊、鎖存器模塊和顯示器模塊6二、 基本設計思路 根據(jù)數(shù)字頻率計的系統(tǒng)原理,cnt控制信號發(fā)生器。testctl的計數(shù)使能信號testen能產(chǎn)生一
3、個1 s寬的周期信號,并對頻率計的每一計數(shù)器Cnt10的ENA使能端進行同步控制:當testen高電平時允許計數(shù)、低電平時停止計數(shù)。 reg32b為鎖存器。在信號load的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到reg32b的內(nèi)部,并由reg32b的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會由于周期性的清零信號而不斷閃爍。 Cnt10為十進制計數(shù)器。有一時鐘使能輸入端ENA,用于鎖定計數(shù)值。當高電平時允許計數(shù),低電平時禁止計數(shù)。將八個十進制計數(shù)器Cnt10級聯(lián)起來實現(xiàn)8 位十進制計數(shù)功能2,7 。 disply為七段譯碼顯
4、示驅(qū)動電路,可以將頻率計數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的相對應的阿拉伯數(shù)字,便于讀取測量的結(jié)果。 為了實現(xiàn)系統(tǒng)功能,測頻控制信號發(fā)生器testctl、計數(shù)器Cnt10、鎖存器reg32b存在一個工作時序的問題,設計時需要綜合考慮。 8位數(shù)字頻率計的頂層框圖(endfreq.bdf),設計實現(xiàn)包括信號源模塊(F1MHZ、CNT)、頻率計模塊(FREQ)和顯示模塊(display)三大模塊。下面分別介紹三個模塊的結(jié)構(gòu)和實現(xiàn)方法。 三.單元模塊設計實現(xiàn)及仿真1、 信號源模塊的實現(xiàn)(1) 功能簡介信號源是為了產(chǎn)生1MHz 的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進行分頻的模塊,設
5、計源代碼PIN1MHZ.VHD 對輸入系統(tǒng)時鐘clk(50MHz)進行分頻產(chǎn)生1MHz 信號。(2) 原程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PIN1MHZ_1 IS PORT (clkin : IN STD_LOGIC; clkout : OUT STD_LOGIC); END PIN1MHZ_1; ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN PROCESS(clkin) variable cnttemp : INTEGER RAN
6、GE 0 TO 99; BEGIN IF clkin='1' AND clkin'event THEN IF cnttemp=99 THEN cnttemp:=0; ELSE IF cnttemp<50 THEN clkout<='1' ELSE clkout<='0' END IF; cnttemp:=cnttemp+1; END IF; END IF; END PROCESS; END A;(3) 仿真波形2、 頻率計模塊的實現(xiàn)(1) 功能簡介此程序要求將1MHZ的輸入頻率分別進行21分頻(產(chǎn)生500KHZ的輸出頻f
7、req500k)、23分頻(產(chǎn)生125 KHZ的輸出頻率freq125k)、25 分頻(產(chǎn)生31250HZ的輸出頻freq31250)、27分頻(產(chǎn)生7812HZ的輸出頻率freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)、211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。(2) 原程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt is port(clk : in std_logic; -1MH
8、z 輸入 freq1 : out std_logic; -1Hz 輸出 freq488 : out std_logic; -488Hz 輸出 freq1953 : out std_logic; -1953Hz 輸出 freq7812 : out std_logic; -7812Hz 輸出 freq31250: out std_logic; -31250Hz 輸出 freq125k : out std_logic; -125KHz 輸出 freq500k : out std_logic ); -500KHz 輸出 end cnt; architecture behv of cnt is sign
9、al temp: std_logic_vector(19 downto 0); begin process(clk) begin if clk'event and clk ='1' then if temp="11110100001000111111" then temp<="00000000000000000000" else temp<=temp+1; end if; end if; end process; freq1<=temp(19); freq488<=temp(10);freq1953<
10、=temp(8); freq7812<=temp(6); freq31250<=temp(4); freq125k<=temp(2); freq500k<=temp(0); end behv; (3) 仿真波形3.測頻控制信號產(chǎn)生器(1) 功能簡介控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號??刂菩盘柕臉藴瘦斎霑r鐘為1HZ,每兩個時鐘周期進行一次頻率測量。該模塊產(chǎn)生的3個控制信號,分別為TSTEN,LOAD,CLR_CNT.CLR_CNT信號用于在每次測量開始時,對計數(shù)器進行復位,以清除上次測量的結(jié)果,該復位信號高電平有效,持續(xù)半個時鐘周期的時間。TSTEN為計數(shù)允許信
11、號,在TSTEN信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進行測量,測量時間恰為一個時鐘周期(正好為單位時間1s),在此時間里被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。在每一次測量開始時,都必須重新對計數(shù)器清07。(2) 源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT ( CLK: IN STD_LOGIC; -1 Hz測頻控制時鐘 T
12、STEN: OUT STD_LOGIC; -計數(shù)器時鐘使能 CLR_CNT: OUT STD_LOGIC; -計數(shù)器清零 LOAD: OUT STD_LOGIC); -輸出鎖存信號END TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK :STD_LOGIC;SIGNAL CLR :STD_LOGIC;SIGNAL loadcnt :STD_LOGIC;BEGIN PROCESS ( CLK ) IS BEGIN IF CLK'EVENT AND CLK= '1' -1 HZ時鐘二分頻 THEN DIV2CLK&
13、lt;=NOT DIV2CLK; END IF ; END PROCESS; PROCESS ( CLK,DIV2CLK ) BEGIN IF CLK= '0' AND DIV2CLK = '0' THEN -產(chǎn)生計數(shù)器清零信號 CLR<= '1' ELSE CLR<= '0' ; END IF; if clr='0' and div2clk='0' then loadcnt<='1' else loadcnt<='0' end if; END
14、 PROCESS; LOAD<=not div2clk; TSTEN<=DIV2CLK;CLR_CNT<=CLR;END ARCHITECTURE ART;(3) 仿真波形4.鎖存器(1) 功能簡介鎖存器模塊也是必不可少的,測量模塊測量完成后,在load信號的上升沿時刻將測量值鎖存到寄存器中,然后輸出到顯示模塊。鎖存器是起數(shù)據(jù)保持的作用,它將會把數(shù)據(jù)保存到下次觸發(fā)或復位。主要是主從觸發(fā)器組成的。用于存儲數(shù)據(jù)來進行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時間不變化,直到新的數(shù)據(jù)將其替換。(2) 源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENT
15、ITY REG32B IS PORT(LOAD: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY REG32B;ARCHITECTURE ART OF REG32B IS BEGINPROCESS ( LOAD, DIN ) ISBEGIN IF LOAD 'EVENT AND LOAD= '1' THEN DOUT<=DIN; -鎖存輸入數(shù)據(jù) END IF;END PROCESS;END ART;(3)仿
16、真波形5十進制計數(shù)器(1)功能簡介計數(shù)器模塊是由8個帶有異步清零端,進位信號輸出的模為10的計數(shù)模塊級連而成。通過(freq.vhd)進行元件例化實現(xiàn)。此十進制計數(shù)器的特殊之處是,有一時鐘使能輸入端ENA,用于鎖定計數(shù)器。當高電平計數(shù)允許,低電平時計數(shù)禁止。計數(shù)器模塊用于對輸入信號的脈沖進行計數(shù),該模塊必須有計數(shù)允許、異步清零等端口,以便于控制模塊對其進行控制。(2)源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC; -計數(shù)時鐘信號 CLR:IN STD_LOGIC; -清零信
17、號 ENA:IN STD_LOGIC; -計數(shù)使能信號 CQ :OUT INTEGER RANGE 0 TO 15;-4位計數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC); -計數(shù)進位END CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA) ISBEGIN IF CLR= '1' THEN CQI<= 0; -計數(shù)器異步清零 ELSIF CLK'EVENT AND CLK= '1' THEN IF
18、 ENA= '1' THEN IF CQI=10 THEN cqi<=1; ELSE CQI<=cqi+1;END IF; -等于9,則計數(shù)器清零 END IF; END IF; END PROCESS;PROCESS (CQI) IS BEGIN IF CQI=10 THEN CARRY_OUT<= '1' -進位輸出 ELSE CARRY_OUT<= '0' END IF;END PROCESS; CQ<=CQI;END ART;(3)仿真波形 6.顯示模塊(1) 功能簡介LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進制數(shù)轉(zhuǎn)換為與LED顯示對應的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能,在本設計中設計了一個3位的循環(huán)計數(shù)器,將計數(shù)結(jié)果輸入到譯碼器,譯碼結(jié)果輸出即可依次使能每個LED。例如:要讓8個LED同時工作顯示數(shù)據(jù),就是要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人與企業(yè)借款合同范文
- 個人向企業(yè)借款合同模板一覽
- 個人借款合同債權(quán)轉(zhuǎn)讓合同
- 二手辦公家具買賣合同
- 2025年二手屋交易協(xié)議書格式
- 產(chǎn)業(yè)園區(qū)國有土地使用權(quán)出讓合同(整體出讓)
- 樂隊錄音及后期制作合同
- 2025年標準房產(chǎn)證抵押借款協(xié)議
- 交通意外賠償合同模板
- 個人代理人壽險代理合同書正式版
- 個人安全與社會責任的基本知識概述
- 建筑裝飾工程計量與計價試題一及答案
- 簡易勞務合同電子版
- 明代文學緒論
- 通用稅務自查情況說明報告(7篇)
- 體育賽事的策劃、組織與實施 體育賽事利益相關者
- 分析化學(高職)PPT完整版全套教學課件
- 晚熟的人(莫言諾獎后首部作品)
- m拱頂儲罐設計計算書
- 2023外貿(mào)業(yè)務協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級下冊科學全冊教學課件
評論
0/150
提交評論