8位格雷碼編碼器、高速分頻器 課程設(shè)計報告

上傳人:仙*** 文檔編號:29998204 上傳時間:2021-10-08 格式:DOC 頁數(shù):15 大小:290.71KB
收藏 版權(quán)申訴 舉報 下載
8位格雷碼編碼器、高速分頻器 課程設(shè)計報告_第1頁
第1頁 / 共15頁
8位格雷碼編碼器、高速分頻器 課程設(shè)計報告_第2頁
第2頁 / 共15頁
8位格雷碼編碼器、高速分頻器 課程設(shè)計報告_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《8位格雷碼編碼器、高速分頻器 課程設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《8位格雷碼編碼器、高速分頻器 課程設(shè)計報告(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 通達學(xué)院 2012/2013學(xué)年 第二學(xué)期 軟件設(shè)計 實驗報告 模 塊 名 稱 8位格雷碼編碼器、高速分頻器 專 業(yè) 通信工程 學(xué) 生 班 級 100019 學(xué) 生 學(xué) 號 10001927 學(xué) 生 姓 名 楊潤達 指 導(dǎo) 教 師 王奇、孔凡坤、周小燕、梅中輝

2、 設(shè)計題目 基礎(chǔ)題:8位格雷碼編碼器 綜合題:高速分頻器設(shè)計 任務(wù)要求 基礎(chǔ)題:設(shè)計一個8位(bit)二進制碼輸入,輸出8位格雷碼的編碼器(輸入:B7 ---B0并行8位 , 輸出G7---G0并行8位 ,提示:當i<7時:G(i)=B(i+1)xorB(i),G(7)=B(7))。 綜合題:有一個10MHz的時鐘源,為得到4Hz,3Hz,2Hz和1Hz的信號,請設(shè)計一種分頻器。 實驗設(shè)備及軟件 Quartus II 9.0 同組人員學(xué)號及姓名 無 參考文獻 [1]王振紅,VHDL電路設(shè)計與應(yīng)用實踐教程:機械工業(yè)出版社。 [2]徐向民,數(shù)字系統(tǒng)設(shè)計及VHDL實踐:

3、機械工業(yè)出版社。 [3]毛為勇,祁中洋,王蘭,基于FPGA的任意小數(shù)分頻器的設(shè)計:桂林航天工業(yè)高等??茖W(xué)校學(xué)報 8位格雷碼編碼器及高速分頻器設(shè)計 實驗?zāi)康模? 1.全面了解如何應(yīng)用該硬件描述語言進行高速集成電路設(shè)計 2.通過軟件使用、設(shè)計與仿真環(huán)節(jié)使學(xué)生熟悉EDA-VHDL開發(fā)環(huán)境 3.通過對基本題、綜合題的設(shè)計實踐,使學(xué)生掌握硬件系統(tǒng)設(shè)計方法 (自底向上或自頂向下),熟悉VHDL語言三種設(shè)計風格,并且培養(yǎng) 應(yīng)用VHDL語

4、言解決實際問題的能力。 實驗設(shè)備:PC機 實驗課題: 一、8位格雷碼編碼器 1、主要功能 設(shè)計一個8位(bit)二進制碼輸入,輸出8位格雷碼的編碼器(輸入:B7 ---B0并行8位,輸出G7---G0并行8位,提示:當i<7時:G(i)=B(i+1)xorB(i),G(7)=B(7)。 2、設(shè)計原理 根據(jù)組合邏輯電路的分析方法,先列出其真值表再通過卡諾圖化簡,可以很快 的找出格雷碼與二進制碼之間的邏輯關(guān)系。其轉(zhuǎn)換規(guī)律為:高位同,從高到低看異 同,異出‘1’,同出‘0’。也就是將二進制碼轉(zhuǎn)換成格雷碼時,高位是完全相同的,下一位格雷碼是‘1’還是‘0’,完全是相

5、鄰兩位二進制碼的“異”還是“同” 來決定。下面舉一個簡單的例子加以說明。    假如要把二進制碼10110110轉(zhuǎn)換成格雷碼,則可以通過下面的方法來完成,方法如圖1-1。 圖1-1 3、 功能仿真 說明:B7~B0為輸入信號,二進制碼為:10110110 G7~G0為輸出信號,格雷碼為:11101101 4、 實驗代碼: 見附錄一 二、高速分頻器設(shè)計 1、主要功能 設(shè)計一個分頻器,對10Mhz的時鐘源進行分頻,以得到4Hz,3Hz,2Hz,1

6、Hz的時鐘。 2、設(shè)計原理 整體思路 因為10Mhz時鐘源速度很快,直接分頻成1Hz級別的時鐘的話分頻系數(shù)太大,雖然思路簡單,但是在實現(xiàn)時會造成quartus的寄存器資源消耗殆盡,導(dǎo)致編譯失敗。 所以我先通過10分頻和100000分頻將10Mhz時鐘源分頻為10Hz的時鐘源,然后對10Hz的時鐘源分別進行2.5分頻,3.3分頻,5分頻,10分頻。從而得到4Hz,3Hz,2Hz,1Hz的時鐘源。 原理框圖如圖2-1所示。 圖 2-1 2.5分頻模塊原理 設(shè)計一個模3的計數(shù)器,再設(shè)計一個扣除脈沖電路,加在模3計數(shù)器輸出之后,

7、每來兩個脈沖就扣除一個脈沖(實際上是使被扣除的脈沖變成很窄的脈沖,可由異或門實現(xiàn)),就可以得到分頻系數(shù)為2.5的小數(shù)分頻器。 設(shè)需要設(shè)計一個分頻系數(shù)為N-0.5的分頻器,其電路可由一個模N計數(shù)器、一個二分頻器和一個異或門組成,如圖2-2所示。在實現(xiàn)時,模N計數(shù)器可設(shè)計成帶預(yù)置的計數(shù)器,這樣就可以實現(xiàn)任意分頻系數(shù)為N-0.5的分頻器。 電路原理圖如圖2-2所示。 圖 2-2 3.3分頻模塊設(shè)計[3] 設(shè)置一個計數(shù)器,令其初始值為0;在時鐘源clk的每一個上升沿,計數(shù)器加上Q,若計數(shù)器里面的值小于P,則發(fā)出刪除一個脈沖的信號,將del

8、ete置為低電平;若其值大于P,則將計數(shù)器的值減去P,并且將delete置為高電平,不發(fā)出刪除脈沖的信號。本實驗中要將一個10Hz的時鐘源分頻為3Hz的時鐘信號,則Q=3,P=10。 電路原理圖如圖2-3所示。 圖 2-3 5分頻模塊設(shè)計 定義兩個計數(shù)器,分別對輸入時鐘的上升沿和下降沿進行計數(shù),然后把這兩個計數(shù)值輸入一個組合邏輯,用其控制輸出時鐘的電平。 這是因為計數(shù)值為奇數(shù),占空比為50%,前半個和后半個周期所包含的不是整數(shù)個clkin的周期。5分頻,前半個周期包含2.5個clkin周期,后半個周期包含2.5個clkin周期。

9、 10分頻模塊設(shè)計 定義一個計數(shù)器對輸入時鐘進行計數(shù),在計數(shù)的前一半時間里,輸出高電平,在計數(shù)的后一半時間里,輸出低電平,這樣輸出的信號就是占空比為50%的偶數(shù)分頻信號。10分頻,計數(shù)值為0~4輸出高電平,計數(shù)值為5~9輸出低電平。 3、功能仿真 由于題目所給的10Mhz時鐘信號頻率過大,如果直接對它進行分頻的話將難以看到完整的結(jié)果,但如果將仿真時間調(diào)長,則仿真速度過慢,所以在仿真中,我將第一次分頻的分頻系數(shù)調(diào)低,然后選擇適當?shù)妮斎霑r鐘頻率,以驗證2.5分頻,3.3分頻,5分頻,10分頻的正確性。 仿真結(jié)果如圖2-4所示。

10、圖 2-4 4、 實驗代碼 見附錄二 設(shè)計總結(jié) 本實驗主要是運用VHDL語言實現(xiàn)格雷碼編碼器和高速分頻器的設(shè)計,相對于其他的來說,本實驗比較簡單,但在實際做的時候還是遇到不少的問題。 ?在編譯時出現(xiàn)了許多錯誤,經(jīng)過反復(fù)修改編譯,再修改再編譯最終排除了所有的錯誤。 ?在仿真時一開始看不到完整的結(jié)果,通過調(diào)節(jié)分頻系數(shù)以及輸入時鐘頻率的等手段仿真成功,驗證了2.5分頻,3.3分頻,5分頻,10分頻的正確性。 收獲和體會 在老師布置好題目后,我仔細進行設(shè)計,通過查閱各參考書,最終把實驗做出來了,達到了老師對本實驗的要求。在這次設(shè)計中我收獲頗豐,首先最直接的收獲就

11、是我鞏固了這節(jié)課所學(xué)的知識,把它運用到實踐中去,并且學(xué)到了許多在課本中所沒有的知識,通過查閱相關(guān)知識,進一步加深對EDA的了解。其次,我們不管做什么都不能粗心,如我們在輸入程序是,把字母打錯了時,保存文件時命名與程序中的名稱不一樣時,都會導(dǎo)致編譯錯誤,在此過程中雖然浪費了不少時間,但這也讓我注意到在實際做設(shè)計時應(yīng)該注意的問題,意識到自己的不足,對學(xué)過的知識了解不夠深刻,掌握的不足夠。 總的來說,這次設(shè)計還算成功,也讓我明白了要把理論知識與實踐結(jié)合起來,從實踐中強化自己的理論,才能更好提高自己的實際動手能力和獨立思考能力。如果在設(shè)計過程中遇到問題時,我們要有耐心并細心的查找錯誤,這也是學(xué)習(xí)的過

12、程。 附錄一 格雷碼編碼器源代碼 library ieee; use ieee.std_logic_1164.all; entity green is port(B:in std_logic_vector(7 downto 0); G:out std_logic_vector(7 downto 0)); end green; architecture code of green is begin G(7) <= B(7);

13、G(6) <= B(7) XOR B(6); G(5) <= B(6) XOR B(5); G(4) <= B(5) XOR B(4); G(3) <= B(4) XOR B(3); G(2) <= B(3) XOR B(2); G(1) <= B(2) XOR B(1); G(0) <= B(1) XOR B(0); end code; 附錄二 高速分頻器源代碼 library ieee; use ieee.std_lo

14、gic_1164.all; use ieee.std_logic_signed.all; use ieee.std_logic_unsigned.all; entity div2 is generic(N10: integer:=10; N105: integer:=100000; N3: integer:=3; N5: integer:=5; N2: integer:=3; N10: integer:=10); port(cp_10mhz:in std_logic;

15、 delete: buffer std_logic; cp_10hz:out std_logic; cp_4hz:buffer std_logic; cp_3hz:out std_logic; cp_2hz:out std_logic; cp_1hz:out std_logic --tempout:inout std_logic ); end div2;

16、 architecture clk of div2 is signal cp1mhz:std_logic; signal cnt_1mhz: integer range 0 to N10-1; signal cp10hz:std_logic; signal cnt_10hz: integer range 0 to N105-1; signal cnt_1hz: integer range 0 to N10-1; signal cnt_2hz1, cnt_2hz2: integer range 0 to N5-1; signal cnt_3hz: integer :=0; S

17、IGNAL clk_4hz, dix: STD_LOGIC; SIGNAL cnt_4hz: integer range 0 to N5-1; constant P :integer:=10; constant Q :integer:=3; --SIGNAL delete: std_logic; begin clk_4hz <= cp10hz XOR dix; --clk<=cp10hz xor div2; ------------------------------------------ -------------------------------------

18、----- process(cp_10mhz) --計數(shù)----1Mhz begin if(cp_10mhzevent and cp_10mhz=1) then if(cnt_1mhz

19、輸出時鐘脈沖的高、低電平 begin if(cnt_1mhz

20、Hz-------------- begin if(cp1mhzevent and cp1mhz=1) then if(cnt_10hz

21、 if(cnt_10hz

22、) --計數(shù)--------------1Hz-------------- begin if(cp10hzevent and cp10hz=1) then if(cnt_1hz

23、電平 begin if(cnt_1hz

24、---- begin if(cp10hzevent and cp10hz=1) then --shangshengyanjishu if(cnt_2hz1

25、--xiajiangyanjishu if(cnt_2hz2

26、---------------------------------------------- process(clk_4hz)---------------------------4Hz------- begin if(clk_4hzevent and clk_4hz=1) then if(cnt_4hz=0) then cnt_4hz <= N2-1; --置整數(shù)分頻值N cp_4hz <= 1; else

27、cnt_4hz <= cnt_4hz-1; --模N計數(shù)器減法計數(shù) cp_4hz <= 0; end if; end if; end process; process(cp_4hz) begin if(cp_4hzevent and cp_4hz=1) then dix <= not dix; --輸出時鐘二分頻 end if; end process; -------------------------------------------------------

28、 ------------------------------------------------------- process(cp10hz)------------------3hz------------------ begin if(cp10hzevent and cp10hz=1) then cnt_3hz<=cnt_3hz+Q; if(cnt_3hz

29、=1; end if; end if; end process; process(cp10hz,delete) begin cp_3hz<=cp10hz and delete; end process; end clk; 設(shè)計成績評定 評分內(nèi)容 具體要求 總分 評分 上機時間 上機時間是否達到要求的學(xué)時,按照實際情況給與一定的成績。 10分 報告審閱結(jié)果 報告結(jié)構(gòu)嚴謹,文字通順,用語符合技術(shù)規(guī)范,圖表清楚,書寫格式規(guī)范,不與別人雷同。 30分 驗收結(jié)果 原理 原理清楚,能較好地理解課題任務(wù)并提出實施方案。 20分 完成情況 獨立完成規(guī)定設(shè)計任務(wù),論證、分析、設(shè)計、計算、結(jié)構(gòu)、建模、實驗正確合理,有一定的創(chuàng)新。 30分 操作 能熟練操作相關(guān)工具軟件,并利用工具軟件完成設(shè)計任務(wù)。 10分 總成績(五分制) 100分 指導(dǎo)教師評閱意見

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!