




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.VHDL語言概述...................................................................................................................................1...2.HDB3碼介紹.......................................................................................................................................2...2.1AMI碼.......................................................................................................................................2...2.2HDB3碼....................................................................................................................................2...2.3HDB3編碼規(guī)則.......................................................................................................................3..3.用VHDL語言設計HDB3編碼器 5..3.1HDB3編碼器實現的基本原理 5.3.2HDB3編碼器的設計過程 6..V 3.2.3單極性變雙極性的實現 8.3.3HDB3編碼仿真調試 9..3.4生成模塊................................................................................................................................1..0.5.課設心得...........................................................................................................................................................................1..1..參考文獻..............................................................................................................錯..誤!未定義書簽。A.............................................................................................................................................................1..2.本科生課程設計成績評定表.............................................................................錯.誤!未定義書簽。11.VHDL語言概述VHDL的全名是very-high-speedintegratedcircuithardwaredescriptionIanguage誕生與1982年。987年底VHDL被IEEE和美國國防部確認為標準硬件描述語言。自IEEE發(fā)布了HDL標準版本后,各EDA公司相繼推出了自己的VHDL實際環(huán)境,或宣布自己的程序可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語現在,VHDL和VERILOG作為IEEE的工業(yè)硬件描述語言,又得到了眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。VHDL主要用于描述數字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。2數字基帶信號的傳輸是數字通信系統(tǒng)的重要組成部分之一。在數字通信中,有些場合可不經過載波調制和解調過程,而對基帶信號進行直接傳輸。為使基帶信號能適合在基帶信道中傳輸,通不同碼型有不同的特點和不同的用途。作為傳輸用的基帶信號歸納起來有如下要求:1希望將原始信息符號編制成適合與傳輸用的碼型;2對所選碼型的電波形,希望它適宜在信道中傳輸。可進行基帶傳輸的碼型較多。2.1AMI碼AMI碼稱為傳號交替反轉碼。其編碼規(guī)則為代碼中的0仍為傳輸碼0,而把代碼中1交替地變化為傳輸碼的10010、、、-10、、、或0-1+1-100+10、、、AMI碼的特點: (1)無直流成分且低頻成分很小,因而在信道傳輸中不易造成信號失真。 (2)編碼電路簡單,便于觀察誤碼狀況。 (3)由于它可能出現長的連0串,因而不利于接受端的定時信號的提取。這種碼型在數字通信中用得很多,HDB3碼是AMI碼的改進型,稱為三階高密度雙極性碼。它克服了AMI碼的長連0傳現象。RZ信弋碼0000011CC00100003AA1U代碼0-10000AMI000000001HDE]試碼B00VHDE]試碼B00V0J1000nrHD旳垃世「Innr圖1NRZ,AMI,HDB3碼型圖分析表現,AMI碼及HDB3碼的功率譜不含有離散譜fS成份(fS=1/TS,等于位同步信號頻率)。在通信的終端需將他們譯碼為NRZ碼才能送給數字終端機或數/模轉換電路。在做譯碼時必須提供位同步信號。工程上,一般將AMI或HDB3碼數字信號進行整流處理,得到占空比為0.5的單極性歸零碼(RZ|T=0.5TS)。由于整流后的AMI,HDB3碼中含2.3HDB3編碼規(guī)則(1)將消息代碼變換成AMI碼;(2)檢查AMI碼中的連0情況,當無4個以上的連0傳時,則保持AMI的形式不變;若出現4個或4個以上連0時,則將1后的第4個0變?yōu)榕c前一非0符號(+1或-1)同極性的符號,用V(3)檢查相鄰V符號間的非0符號的個數是否為偶數,若為偶數,則再將當前的V符號的前一非0符號后的第1個0變?yōu)?B或-B符號,且B的極性與前一非0符號的極性相反,并使后面的非0符號從V符號開始再交替變化。HDB3碼的特點如下:(1)基帶信號無直流成分,且只有很小的低頻成分;(3)不受信源統(tǒng)計特性的影響。4HDB3編碼舉例如下:代碼HDB3碼V.B1010110000+10-10^1-100042HDB3編碼實例00000001+1”153.用VHDL語言設計HDB3編碼器設計要求:掌握HDB3碼的編碼原理,設計通信系統(tǒng)框圖,畫出實現電路原理圖,編寫VHDL語言程序,上機調試、仿真,記錄實驗結果波形,對實驗結果進行分析。3.1HDB3編碼器實現的基本原理從編碼規(guī)則來分析,這個設計的難點之一是如何判決是否應該插“B”,因為這涉及到由現在事件的狀態(tài)決定過去事件狀態(tài)的問題。按照實時信號處理的理論,這是沒辦法實現,可以考慮用寄存器的方法,首先把信碼寄存在寄存器里,同時設置一個計數器計數兩個“V”之間“1”的個數,經過4個碼元時間后,由一個判偶電路來給寄存器發(fā)送是否插“B”的判決信號,從而實現插“B”功能。不過,信號處理的順序不能像編碼規(guī)則那樣:首先把代碼串變換成為AMI碼,完成插“V”、插“B”工作之后,其后的“+1”和“-1”的極性還要依據編碼規(guī)則的規(guī)定變換。這樣做需要大量的寄存器,同時電路結構也變的復雜。若把信號處理的順序變換一下:首先完成插“V”工作,接著執(zhí)行插“B”功能。最后實現單極性變雙極性的信號輸出。這樣做的好處是:輸入進來的信號和插“V”、插“B”功能電路中處理的信號都是單極性信號,且需要的寄存器的數目可以少很多。另外,如何準確識別電路中的“1”、“V”和“B”。因為“V”和“B”符號是人為標識的符號,但在電路中最終的表現形式還是邏輯電平“1”。解決的方法是利用了雙相碼,將其用二進制碼去取代。例如代碼:110010雙相碼101001011001這樣就可以識別電路中的“1”、“V”、“B”。也可以人為地加入一個標識符(其最終目的也是選擇輸出“1”的極性)??刂埔粋€選擇開關,使輸出“1”的極性能按照編碼規(guī)則進行變化。6HDB3編碼器的設計過程性變換■插“穢,■■信碼輛入圖3HDB3編碼設計流程整個HDB3編碼器包含3個功能部分:插“V”、插“B”和單極性碼轉變成雙極性碼。下面將詳細介紹各個部分的設計流程、編寫的源程序模擬仿真的波形圖。3.2.1插“V”模塊的實現 (1)插“V”模塊的建模插“V”模塊的功能實際上就是對消息代碼里的四連0串的檢測即當出現四個連0串的時候,把第四個“0”變換成為符號“V”(即將其置“1”,先不考慮符號問題),而在其他情況下,則保持消息代碼的原樣輸出。插“V”符號的設計思想很簡單:首先判斷輸入的代碼是什么 (用一個條件語句判斷),如果輸入的是“0”碼,則接著判斷這是第幾個“0”碼,則把這一位碼元變換成為“V”碼。在其他條件下,讓原代碼照常輸出。 (2)插”V模塊的程序設計如前考慮,插”V模塊須加入一個變量enjudge用來作為插”V符號的標志。在進程 入”V符號之后的關系如下000010000插V后:10001100011100017圖4插“V”流程圖插“B”模塊的功能是保證附加“V”符號后的序列不破壞“極性交替反轉”造成的無直流特性,即當相鄰“V”符號之間有偶數個非0符號的時候,把后一小段的第1個“0”變換成一個非破壞符號一一“B”符號。插“B”模塊是這個設計遇到的第一個難點,因為他涉及到一個由現在事件的狀態(tài)決定過去狀態(tài)的的問題。其中還有如何確定是“1”,還是“V”的問題。處理難點的思路是:首先把碼元 (經插“V”處理過的)放入一個4位的移位寄存器里,在同步時鐘的作用下,同時進行是否插“B”的判決,等到碼元從寄存器里出來的時候,就可以決定是應該變換成“B”符號,還是照原碼輸出。要進行插“B”判決,首先要知道哪一個是“V”,此時之前的插“V”判斷符號起了作用 (enjudge)。由于標志量與輸出量有延時,此時加了一個記錄“V”位置的計數器,插“V”后開始計數,用以記錄“V”。再有奇偶判斷標志(parity)決定是否插“B”。在進程中利用if語句判斷輸出極性與符號。8data_data_out<=,F01';1ast_sign<=not1ast_siin_____________________________ftclockclock*judge_\-I'andparin-'H)oinrtlllasrsignnot圖5插“B”流程圖323單極性變雙極性的實現根據HDB3的編碼規(guī)則,我們可以知道,“V”的極性是正負交替的,余下的“1”和“B”看成一體且是正負交替的,同時滿足“V”的極性與前面的非零碼極性一致。由此我們可以將其分別進行極性變換來實現。根據編碼規(guī)則,“B”符號的極性與前一非零符號相反,“V”極性符號與前一非零符號一致。因此將“V”單獨拿出來進行極性變換,余下的“1”和“B”看成一體進行正負交替,這樣HDB的編碼。這個部分遇到的難點在于:在MaxplusI軟件仿真過程中,它無法識別“-1”,在它的波形93.3HDB3全“1”碼輸入:NWHUJOWS104Ous150AAZM.Obii254OuaSSOOM4MOIIS450Qua-SMthia呂狗DMfiGOSuaSSB.Iht7M>0u&?NWH—■JwI曲■而K肝加加肝冊汁冊和許卅出山汁訓:十{『汁比1竹価汁血汁佃減7汁加iMoipiJ............................................................................................................廠?:工②小TLTL—■JwI曲■而K肝加加肝冊汁冊和許卅出山汁訓:十{『汁比1竹価汁血汁佃減7汁加iMoipiJ............................................................................................................廠?:工②小TLTL::■::-*dstajMJl.eftn&§3QrsglQ唧Q妙v_wtuipa研Oul.gri□_J.^jc3ge_u□uj.granl_cnl:QED11110曲00da^ajrtclock1的交替即雙極性碼的“+1”不存在插“V”插“B”的判斷,輸出結果為“01”“11”1”的交替,由此可指此部分的程序運行符合要求。全“0”碼輸入:_d^taJIHclockVsLi;D^91MOLIS15GOui20D{lua250Ous300Oua二射Ou,400Ous450Ous5MOus5500u?_d^taJIHclockVsLi.J-----------------------------------------------------------------------------------------------------------------------------------------一---------.J-----------------------------------------------------------------------------------------------------------------------------------------一----------------!---------------/---------------~I--------------------------------1------------------------------------------1900dataJluuuiirwuinj.扁'了麗廠頁一爐師廠而飛們?可創(chuàng)OfQDI3|regO.QWent宙ipfiwityrd='._=u:一judg?_v□□1grantenfQ由于是全“0”碼輸入,奇偶判斷符的結果都是偶,輸出結果為“B00V”,“B”極性與前面的非零符號相反,“V”與對應的“B”符號相同,可驗證程序運行符合要求。輸入碼隨機:一路信碼經過插V補B后的輸出波形仿真圖,輸出相對與輸入延時了5個脈沖周期。竊竊DB輸出為:11011101110111001101000111011100001此時的輸出符合HDB3編碼規(guī)則,可驗證程序整體符合要求,輸出正確。利用MaxplusH本身的功能,將運行正確的VHDL程序保存,并生成模塊,保存頂層文件,得到hdb3_coding1.gcf文件。Ht>B3CODINC....................................data_out[i0....................................…,ik^Lnr,■:IIDFkTia^iCIlDATlA^QUT[1s…,ik^Lnr,■:IIclQek添加波形仿真文件驗證模塊功能:3030CDnsAMDnsSi0&Ons6C>DOnaTODOna£04Ong—GkKknoK:on100Dr?uu.JLILJuWDt]■U11根據波形圖10模塊波形輸出10100001000110100010011011100110111編碼輸出正確,符合HDB3編碼,驗證得模塊文件符合要求,此次課程設計成功1通過一步步有條不紊的分析和思考,更重要的是在設計中,根據實際情況,對設計初期的思想做不斷完善和改進,因為在設計之前的思路,只能說是一個大體的方向,很多時候,實際的操作和設計要細致和復雜的多,或者原來的想法根本就行不通,得從實際設計的角度一步步來完成了這樣通過這次課程設計,讓我學到了很多知識,也獲得很多體會,這是自己將平日學的理論知識應用到實際操作中的一次很好的實踐。才明白:實際操作和設計,并不是像學習理論知識那么簡單,會理論不等于就會應用,很多都是經驗的東西,需要在自己的努力設計中才能慢慢體會到,設計多了,才會經驗中找到設計自如的感覺。就像我,對于VHDL語言,開始也沒有什么太大的感覺,看書的時候,很清楚明白它的設計結構和流程是什么樣的,但是一旦拋開書本,開始自己編程序的時候,不是這里忘了定義,就是那里忘了結構方式;但是,到了現在,在不斷實踐編程中,程序設計流程和一些要注意的地方,我都記得很清楚,能很容易的編寫一段簡單的程序了,也不用看書萬分喜悅!不足之處總是有的,這些就是自己今后需要努力的地方,只要不斷的朝著自己的目標的努力,很快就會有解決的那一天!基于VHDL語言HDB3編碼程序raryieeeuseieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityhdb3_codingisport(data_in:instd_logic;clock:instd_logic;data_out:outstd_logic_vector(1downto0));endhdb3_coding;architecturertlofhdb3_codingissignalreg:std_logic_vector(3downto0);signalparity:std_logic;signaljudge_v:std_logic;signalgrant_cnt:std_logic;signallast_sign:std_logic;1碼個數的奇偶性破壞符開始計算破壞點間的1碼個數signalv_cnt:std_logic_vector(2downto0);--v點位置跟蹤計數器processclock移位寄存器Vifrising_edge(clock)theni
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《環(huán)保小衛(wèi)士》教案
- 《父親的病》讀書筆記感想與感悟
- 印刷機搬遷合同范本
- 東北生豬銷售合同范本
- 出租鋪面合同范本范本
- 《拍皮球》教案模板
- 《少年閏土》評課稿
- 《聲聲慢》教案模板
- 中介無償服務合同范例
- 辦校合同范本
- 人力資源招聘與企業(yè)培訓培訓資料
- 電工學(第8版)(上冊 電工技術) 課件全套 秦曾煌 第1-14章 電路的基本概念與基本定律- 傳感器
- 人員素質測評 第2版 課件 第01章 人員素質測評概論
- 垃圾滲濾液處理站運維及滲濾液處理投標方案(技術標)
- 【深度學習研究國內外文獻綜述4000字(論文)】
- 二十六個英文字母教學課件
- 醫(yī)院上半年運營分析課件
- 別克林蔭大道說明書
- 數學三分鐘演講
- 啟封密閉、排放瓦斯專項辨識
- 盤扣式鋼管腳手架驗收表
評論
0/150
提交評論