版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 摘要Ⅰ</b></p><p> AbstractⅡ</p><p><b> 引言1</b></p><p><b> 1 緒論2</b></p>&l
2、t;p> 1.1 現(xiàn)代數(shù)字系統(tǒng)設(shè)計的發(fā)展概述2</p><p> 1.2 EDA技術(shù)簡介2</p><p> 1.2.1 概述2</p><p> 1.2.2 EDA技術(shù)基本特征3</p><p> 1.2.3 EDA技術(shù)的開發(fā)工具3</p><p> 1.3 可編程邏輯器件簡介
3、4</p><p> 1.3.1 可編程邏輯器件的分類4</p><p> 1.3.2 可編程邏輯器件的特點5</p><p> 2 開發(fā)工具簡介6</p><p> 2.1 VHDL語言6</p><p> 2.1.1 VHDL語言簡介6</p><p> 2
4、.1.2 VHDL語言特點6</p><p> 2.2 Max+PlusⅡ簡介7</p><p> 2.2.1 Max+plusⅡ基本特點7</p><p> 2.2.2 Max+plusⅡ使用簡介8</p><p> 3 HDB3碼簡介9</p><p> 3.1 基帶傳輸?shù)某S么a型
5、9</p><p> 3.1.1 傳輸碼性的選擇原則9</p><p> 3.1.2 AMI碼10</p><p> 3.1.3 HDB3碼10</p><p> 3.2 HDB3碼的編/譯碼規(guī)則10</p><p> 3.2.1 HDB3碼的編碼規(guī)則10</p><p
6、> 3.2.2 HDB3碼的譯碼規(guī)則12</p><p> 4 HDB3編/譯碼器的VHDL建模12</p><p> 4.1 HDB3編碼器的VHDL建模12</p><p> 4.1.1 插“V”模塊的建模13</p><p> 4.1.2 插“B”模塊的建模13</p><p>
7、; 4.1.3 單/雙極性轉(zhuǎn)換模塊的建模14</p><p> 4.2 HDB3譯碼器的VHDL建模15</p><p> 5 仿真與實現(xiàn)16</p><p> 5.1 HDB3編碼器的仿真與實現(xiàn)16</p><p> 5.1.1 插“V”模塊的流程與仿真16</p><p> 5.1.
8、2 插“B”模塊的流程與仿真18</p><p> 5.1.3 單/雙極性轉(zhuǎn)換模塊的流程與仿真20</p><p> 5.1.4 HDB3編碼器整體仿真22</p><p> 5.2 HDB3譯碼器的仿真與實現(xiàn)22</p><p><b> 結(jié)論25</b></p><p&g
9、t;<b> 致謝26</b></p><p><b> 參考文獻27</b></p><p><b> 附錄28</b></p><p><b> 程序清單28</b></p><p><b> 摘要</b><
10、;/p><p> 數(shù)字基帶信號的傳輸是數(shù)字通信系統(tǒng)的重要組成部分。在數(shù)字通信中,有些場合可不經(jīng)過載波調(diào)制和解調(diào)過程,而對基帶信號進行直接傳輸。為使基帶信號能在基帶信道中傳輸,必須選擇合適的碼型,HDB3碼因具有無直流成分,低頻成分少,連0的個數(shù)最多不超過三個,功能強大,有糾錯能力,具有時鐘恢復(fù)等性能優(yōu)勢而成為CCITT協(xié)會推薦使用的基帶傳輸碼型之一。本文是在Max+PlusⅡ開發(fā)環(huán)境中,采用VHDL語言對數(shù)據(jù)傳輸系
11、統(tǒng)中的HDB3編碼器和譯碼器進行了設(shè)計及仿真。根據(jù)編碼規(guī)則可將編碼器分為三個部分,其中包括:插“V”模塊、插“B”模塊和單/雙極性變換模塊。根據(jù)譯碼規(guī)則,譯碼器只含有一個模塊。最后,對每個模塊進行仿真,實現(xiàn)相應(yīng)功能后再進行整體編譯碼器的仿真。經(jīng)驗證仿真結(jié)果正確。</p><p> 關(guān)鍵字:HDB3碼;VHDL;編/譯碼器;Max+PlusⅡ</p><p><b> Abst
12、ract</b></p><p> Digital baseband signal transmission is an important digital communication system components. In digital communications, some occasions may, after modulation and demodulation process,
13、 and on the base-band signals transmitted directly. Must choose the right pattern for the baseband signal in the baseband channel transmission, HDB3 code and its non-DC components, and even less low-frequency components
14、of 0 up to more than three the number, and it is strong to examine the ability by mistake, have a</p><p> Keywords HDB3;VHDL;Encoder/Decoder;Max+PlusⅡ</p><p><b> 引言</b></p>
15、<p> 傳輸數(shù)字信號的通信系統(tǒng)稱為數(shù)字通信系統(tǒng)。數(shù)字通信系統(tǒng)以其抗干擾能力強,無噪聲積累,傳輸差錯可控,便于計算處理、變換、存儲,易于加密,易于小型化、集成化等優(yōu)勢,成為當(dāng)代通信領(lǐng)域的主流技術(shù)。將基帶數(shù)字序列信號經(jīng)過適當(dāng)?shù)拇a型變換后直接送入信道傳輸,稱為基帶數(shù)字序列信號傳輸,簡稱基帶傳輸。</p><p> 數(shù)字基帶傳輸碼型選擇原則:</p><p> 直流或低頻信號衰
16、減快,信號傳輸一定距離后嚴重畸變,所以不應(yīng)含有直流或低頻頻率分量。</p><p> 高頻分量越大,對鄰近信道產(chǎn)生的干擾就越嚴重,所以高頻分量進行少。</p><p> 為方便從接收到的基帶信號中提取同步信息,應(yīng)包含定時頻率分量。</p><p> 便于增加冗余碼,使碼型帶有規(guī)律性。</p><p> 碼型變換過程中與信源的統(tǒng)計特性無
17、關(guān),即對信源消息類型無任何限制并具有透明性</p><p> 根據(jù)上述碼型選擇原則,HDB3碼因具有無直流分量,低頻成分少,連0的個數(shù)不超過三個,對定時信號的恢復(fù)十分有利,具有內(nèi)在的檢錯能力等優(yōu)點,成為廣泛使用的基帶傳輸碼型之一。在本論文中,就是使用VHDL語言實現(xiàn)HDB3碼的編碼器和譯碼器的功能。</p><p><b> 1 緒論</b></p>
18、<p> 1.1 現(xiàn)代數(shù)字系統(tǒng)設(shè)計的發(fā)展概述</p><p> 傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法是利用真值表、卡諾圖、狀態(tài)方程組、狀態(tài)轉(zhuǎn)換表、狀態(tài)轉(zhuǎn)換圖等描述工具建立系統(tǒng)模型來進行設(shè)計的,整個過程均由人工完成。因此這種方法花費大、效率低、制作周期長。而對與一個復(fù)雜的數(shù)字系統(tǒng)(含有幾萬、十幾萬甚至幾百萬個邏輯門),如果用這種傳統(tǒng)的數(shù)字電路設(shè)計的方法求解,往往是非常困難甚至有時是根本無法進行的。</p
19、><p> 20世紀末,數(shù)字系統(tǒng)的設(shè)計方法有了飛速的發(fā)展,在科技迅猛發(fā)展的推動下,現(xiàn)代電子產(chǎn)品已經(jīng)漸漸滲透到了社會的各個領(lǐng)域,推動了全球信息化得進程。同時也使得電子產(chǎn)品更新?lián)Q代的頻率越來越快。電子器件經(jīng)歷了小規(guī)模集成電路、中規(guī)模集成電路、大規(guī)模集成電路和一些領(lǐng)域應(yīng)用的超大規(guī)模集成電路的發(fā)展。并且其從簡單可編程器件到高密度可編程器件,設(shè)計方法也發(fā)生了巨大的轉(zhuǎn)變,即由原來的手工設(shè)計到早期CAD技術(shù),再到目前應(yīng)用及其廣泛
20、的電子自動化技術(shù)(EDA)。為了提高系統(tǒng)的可靠性與通用性,微處理器和專用集成電路(ASIC)也逐漸取代了通用全硬件(LSI)電路,可編程邏輯器件(PLD)被廣泛地應(yīng)用在ASIC的制作中。</p><p> 在可編程集成電路的開發(fā)過程中,EDA技術(shù)的出現(xiàn)帶來了電子系統(tǒng)設(shè)計的革命性變化,傳統(tǒng)的設(shè)計方法逐漸已被基于EDA技術(shù)的設(shè)計所取代。</p><p> 1.2 EDA技術(shù)簡介</
21、p><p><b> 1.2.1 概述</b></p><p> EDA(Electronic Design Automation)是電子設(shè)計領(lǐng)域的一場革命,它源于計算機輔助設(shè)計(CAD,Computer Aided Design)、計算機輔助制造(CAM,Computer Aided Made)、計算機輔助測試(CAT,Computer Aided Test)和計
22、算機輔助工程(CAE,Computer Aided Engineering)。利用EDA工具,電子工程師從概念、算法、協(xié)議開始設(shè)計電子系統(tǒng),從電路設(shè)計、性能分析直到IC版圖或PCB版圖生成的全過程均可在計算機上自動完成。</p><p> 與早期的CAD軟件相比(即借助計算機來完成數(shù)據(jù)處理、模擬、設(shè)計驗證的部分工作,但是許多工作仍舊需要人工完成),EDA自動化程度更高(即電子系統(tǒng)的整個設(shè)計過程或大部分設(shè)計均由計
23、算機完成),功能更完善,運行速度更快,而且操作界面友好,有良好的數(shù)據(jù)開軟件和互換性,即不同廠商的EDA軟件可以兼容。因此,EDA技術(shù)很快在世界各大公司、企業(yè)和科研單位得到了廣泛的應(yīng)用,并以成為衡量一個國家電子技術(shù)發(fā)展水平的重要標志。</p><p> EDA的技術(shù)范疇?wèi)?yīng)包括電子工程師進行產(chǎn)品開發(fā)的全過程以及電子產(chǎn)品生產(chǎn)的全過程中期望由計算機提供的各種輔助工作。從一個角度看,EDA技術(shù)科粗略分為系統(tǒng)級、電路級和物
24、理實現(xiàn)級三個層次的輔助設(shè)計過程;從另一個及角度來看,EDA技術(shù)應(yīng)包括電子電路設(shè)計的各個領(lǐng)域,即從低頻電路到高頻電路,從線性電路到非線性電路,從模擬電路到數(shù)字電路,從分立電路到集成電路的全過程。</p><p> 1.2.2 EDA技術(shù)基本特征</p><p> EDA代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向,一般來講,EDA技術(shù)的特點主要包括:硬件采用工作站或者高級計算機;軟件采用EDA
25、工具;設(shè)計的方法采用自頂向下的設(shè)計方法,對整個系統(tǒng)進行方案設(shè)計和功能劃分;EDA工具軟件結(jié)構(gòu)采用開放性和標準化的框架,能夠?qū)崿F(xiàn)資源共享。其中EDA工具的功能包括:原理圖輸入、硬件描述語言輸入、波形輸入、仿真設(shè)計、可測試設(shè)計、邏輯綜合、時序分析等方面。而所謂的自頂而下也就是設(shè)計從高層開始,由硬件描述語言完成系統(tǒng)行為級設(shè)計,利用先進的開發(fā)工具自動完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局布線、仿真及特定目標的適配編譯和編程下載,這被稱為數(shù)字
26、邏輯電路的高層次設(shè)計。</p><p> 目前,大多數(shù)高檔 EDA 軟件都支持 VHDL 和 Verilog 混合設(shè)計,因而在工程應(yīng)用中有些電路模塊可以用 VHDL 設(shè)計,其它的電路模塊則可以用 Verilog 設(shè)計,各取所長,已成為目前EDA應(yīng)用技術(shù)發(fā)展的一個重要趨勢。下章將簡要介紹VHDL語言。</p><p> 1.2.3 EDA技術(shù)的開發(fā)工具</p><p
27、> 目前,EDA技術(shù)的開發(fā)工具包括編輯器、仿真器、檢查/分析和優(yōu)化/綜合工具等,下面做一些簡單介紹。</p><p><b> a. 編輯器</b></p><p> 編輯器的主要功能是用來設(shè)計輸入進行圖形或者文本的等方面的編輯操作,它一般包括有圖形編輯器、波形編輯器和文本編輯器。其中文本編輯器可以在系統(tǒng)級上用來編輯電子系統(tǒng)的自然描述語言,而在其它層次上主
28、要用于編輯硬件描述語言文本。本文采用的就是文本編輯器。</p><p><b> b. 仿真器</b></p><p> 顧名思義,仿真器就是用來設(shè)計仿真操作的一種工具,其主要功能就是驗證設(shè)計的正確性。通常,仿真器是評價EDA工具的一項重要指標之一。</p><p> c. 檢查/分析工具</p><p> 檢查
29、/分析工具用來對具體的設(shè)計進行編譯、檢查及分析,對設(shè)計中出現(xiàn)的錯誤和可能出現(xiàn)的結(jié)果進行分析。經(jīng)分析過后的可以產(chǎn)生各種相關(guān)的文件,便于設(shè)計者分析結(jié)果。</p><p> d. 優(yōu)化/綜合工具</p><p> 檢查/分析工具用來完成優(yōu)化和邏輯綜合功能,目的是提高設(shè)計系統(tǒng)的性能、資源優(yōu)化及使具體電路能夠方便實現(xiàn)。</p><p> 1.2.4 EDA技術(shù)的發(fā)展趨
30、勢</p><p> 進入21世紀,全定制和定制專用集成電路正成為新的發(fā)展熱點,專用集成電路的設(shè)計與應(yīng)用必須依靠專門的EDA工具,因此EDA技術(shù)在功能仿真、時序分析、集成電路自動測試、高速印刷電路板設(shè)計及操作平臺的擴展等方面都面臨著新的巨大的挑戰(zhàn)。EDA技術(shù)目前正處于高速發(fā)展階段,每年都有新的EDA工具問世,我國EDA技術(shù)的應(yīng)用水平長期落后于發(fā)達國家,因此,廣大電子工程人員應(yīng)該盡早掌握這一先進技術(shù),這不僅是提高
31、設(shè)計效率的需要,更是我國電子工業(yè)在世界市場上生存、競爭與發(fā)展的需要。</p><p> 1.3 可編程邏輯器件簡介</p><p> 1.3.1 可編程邏輯器件的分類</p><p> 今天,數(shù)字電子系統(tǒng)的設(shè)計方法及設(shè)計手段都發(fā)生了根本性變化,正由分立數(shù)字電路向可編程邏輯器件(PLD,Programmable Logic Device)及專用集成電路(AS
32、IC,Application Specific Integrated Circuit)轉(zhuǎn)變。</p><p> 廣義上講,可編程邏輯器件是指一切通過軟件手段更改、配置器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計功能的數(shù)字集成電路。目前常用的可編程邏輯器件主要有:</p><p> a. 簡單的邏輯陣列(PAL/GAL),屬于早期可編程邏輯器件的發(fā)展形勢,特點是大多基于E²CMOS
33、工藝,機構(gòu)較為簡單,可編程邏輯單元多為與、或陣列,可編程邏輯單元密度較低,僅能適用于某些簡單的數(shù)字邏輯電路;</p><p> b. 復(fù)雜可編程邏輯器件(CPLD),可以實現(xiàn)的邏輯功能比PAL、GAL有了大幅度的提升,一般可完成設(shè)計中比較復(fù)雜、較高速度的邏輯功能,如接口轉(zhuǎn)換、總線控制等;</p><p> c. 現(xiàn)場可編程邏輯陣列(FPGA),是在CPLD的基礎(chǔ)上發(fā)展起來的新型高性能可
34、編程邏輯器件,一般采用SRAM工藝。FPGA的集成度很高,其器件密度從數(shù)萬系統(tǒng)門道數(shù)千萬系統(tǒng)門不等,可以完成極其復(fù)雜的時序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計領(lǐng)域。</p><p> 1.3.2 可編程邏輯器件的特點</p><p> PLD的特點是在進行系統(tǒng)設(shè)計時體現(xiàn)出來的,使用PLD設(shè)計數(shù)字系統(tǒng)會帶來許多好處,歸結(jié)起來主要有:</p><
35、;p> a. 集成度高,一片PLD可代替幾片、幾十片甚至幾百片中小規(guī)模的數(shù)字集成電路芯片。在實現(xiàn)數(shù)字系統(tǒng)時使用的芯片數(shù)量明顯減少,占用印刷線路板面積小,整個系統(tǒng)的硬件規(guī)模明顯減小;</p><p> b. 可靠性好,因為使用PLD減少了實現(xiàn)系統(tǒng)所需要的芯片數(shù)目,使得在印刷線路板上的引線以及焊接點數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高;</p><p> c. 工作速度快,使用
36、PLD后實現(xiàn)系統(tǒng)所需要的電路級數(shù)少,因而整個系統(tǒng)的工作速度會得到提高;</p><p> d. 提高系統(tǒng)的靈活性,由于PLD器件引腳比較靈活,又有可擦除可編程能力,因此在系統(tǒng)的研制階段,當(dāng)由于設(shè)計錯誤或任務(wù)的變更而需要修改設(shè)計時,只需要修改原設(shè)計文件再對PLD芯片重新編程即可,而不需要修改電路布局,更換或增減器件,更不需要重新加工印刷線路板,這就大大提高了系統(tǒng)的靈活性;</p><p>
37、 e. 縮短設(shè)計周期,使用PLD時,印刷線路板電路布局布線簡單;性能靈活,使用它修改設(shè)計方便;開發(fā)工具先進,自動化程度高。因此可以顯著的縮短系統(tǒng)的設(shè)計周期;</p><p> f. 增加系統(tǒng)的保密性能,很多PLD都具有加密功能,在系統(tǒng)使用PLD期間可有效防止產(chǎn)品被他人非法仿制;</p><p> g. 降低成本,使用PLD修改設(shè)計方便,使設(shè)計周期縮短,進而使系統(tǒng)的研制開發(fā)費用降低;使
38、用PLD使得印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費用降低;使用PLD能使系統(tǒng)的可靠性提高,維修工作量減少,進而使系統(tǒng)的維修服務(wù)費用降低??傊褂肞LD進行系統(tǒng)設(shè)計能顯著的節(jié)約成本。</p><p><b> 2 開發(fā)工具簡介</b></p><p> 2.1 VHDL語言</p><p> 2.1.1 VHDL語言簡介&
39、lt;/p><p> 集成電路設(shè)計規(guī)模及復(fù)雜度不斷增大,用傳統(tǒng)原理圖方法進行系統(tǒng)級芯片設(shè)計已不能滿足設(shè)計要求,而硬件描述語言(HDL,Hardware Description Language)在進行大規(guī)模數(shù)字系統(tǒng)設(shè)計時具有諸多優(yōu)勢,因此利用硬件描述語言進行系統(tǒng)行為級設(shè)計已成為FPGA與ASIC設(shè)計的主流。目前最流行、最具代表性的硬件描述語言是美國國防部(DOD)開發(fā)的VHDL(Very-High-Speed In
40、tegrated Circuit Hardware Description Language)和GDA(Gateway Design Automation)公司開發(fā)的Verilog HDL。</p><p> VHDL即超高速集成電路硬件描述語言。是美國國防部1983年創(chuàng)建的硬件描述語言,經(jīng)改進后作為IEEE標準,成為通用的硬件描述語言。</p><p> 2.1.2 VHDL語言特
41、點</p><p> VHDL作為IEEE標準,語法嚴格,已得到眾多EDA公司支持,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點:</p><p><b> a. 功能強大</b></p><p> VHDL 語言具有強大的語言結(jié)構(gòu),只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電
42、路。它還具有多層次的電路設(shè)計描述功能。同時,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn),這是其他硬件描述語言所不能比擬的。</p><p><b> b. 設(shè)計方式多樣</b></p><p> VHDL 語言設(shè)計方法靈活多樣,既支持自頂向下的設(shè)計方式,也支持自底向上的設(shè)計方法;既支持模塊化設(shè)計方法,也支持層次化設(shè)計方法。</p>
43、<p> c. 硬件描述能力強</p><p> VHDL 語言具有多層次的電路設(shè)計描述功能,可以描述系統(tǒng)級電路,門級電路;描述方式既可以采用行為描述、寄存器傳輸描述、結(jié)構(gòu)描述或者三者的混合方式。VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。VHDL具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度
44、。</p><p><b> d. 移植能力強</b></p><p> 對于同一個硬件電路的 VHDL 語言描述,可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。</p><p> e. 設(shè)計描述與器件無關(guān)</p><p> 設(shè)計人員采用 V
45、HDL 語言描述硬件電路時,并不需要先去考慮選擇進行設(shè)計的器件。當(dāng)硬件電路的設(shè)計描述完成以后,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。</p><p> f. 易于共享和復(fù)用</p><p> VHDL 語言采用基于庫的設(shè)計方法。在設(shè)計過程中,可以先建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設(shè)計不可能是從門級電路開始進行設(shè)計,而是采用一些預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模
46、塊的累加,將這些模塊存放在庫中,就可以在以后的設(shè)計中進行復(fù)用。</p><p> 由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言,因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享,從而減小硬件電路設(shè)計的工作量,縮短開發(fā)周期。</p><p> VHDL主要用于兩個領(lǐng)域,即可編程邏輯器件和專用集成電路。一個寫好的VHDL程序可以下載到可編程邏輯器件中實現(xiàn)電
47、路功能,也可以提交到工廠用于專用集成電路芯片的流片。</p><p> VHDL描述語言層次較高,不易控制底層電路,因而對 VHDL 綜合器的綜合性能要求較高,但是當(dāng)設(shè)計者積累一定經(jīng)驗后會發(fā)現(xiàn),每種綜合器一般將一定描述風(fēng)格的語言綜合成確定的電路,只要熟悉基本單元電路的描述風(fēng)格,綜合后的電路還是易于控制的。</p><p> 2.2 Max+PlusⅡ簡介</p><
48、;p> 2.2.1 Max+plusⅡ基本特點</p><p> Max+plusⅡ是Altera公司提供的PLD集成開發(fā)環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。Max+plusⅡ界面友好,使用便捷,被譽為業(yè)界最易用易學(xué)的EDA軟件。在Max+plusⅡ上可以完成設(shè)計輸入、元件適配、時序仿真和功能仿真、編程下載整個流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,是設(shè)計者能方便地進行設(shè)計輸入、
49、快速處理和器件編程。</p><p> Max+plusⅡ開發(fā)環(huán)境具有如下特點:</p><p> a. 界面開放,Max+plusⅡ支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic等公司提供的第三方EDA工具接口;</p><p> b. 與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,Max+plusⅡ系統(tǒng)的核
50、心Complier支持Altera公司的FLEX 10K、FLEX 8000、FLEX 6000、MAX 9000、MAX 7000、MAX 5000、ACEX 1K和Classic可編程邏輯器件,提供了與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境;</p><p> c. 集成化完全,Max+plusⅡ的設(shè)計、處理、與校驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試、縮短開發(fā)周期;</p><p
51、> d. 設(shè)計庫豐富,Max+plusⅡ提供豐富的庫單元供設(shè)計者調(diào)用;</p><p> e. 模塊化工具,設(shè)計者可以從各種設(shè)計輸入、處理和校驗選項中進行選擇,從而使開發(fā)環(huán)境用戶化;</p><p> f. 支持硬件描述語言(HDL),Max+plusⅡ支持各種HDL設(shè)計輸入選項,其中就包括VHDL和Verilog HDL;</p><p> g. 開
52、放核(OpenCore)特征,Max+plusⅡ軟件具有開放核的特征,允許設(shè)計人員添加自己認為有價值的函數(shù)。</p><p> 2.2.2 Max+plusⅡ使用簡介</p><p> a. VHDL代碼輸入</p><p> (1) 啟動Max+plusⅡ;</p><p> (2) 打開文本編輯器(Max+plusⅡ\Text
53、Editor),或打開一個現(xiàn)有的文件(File\Open);</p><p> (3) 在顯示的窗口中輸入VHDL代碼,以擴展名.vhd保存,注意文件名要與實體名保持一致;</p><p><b> b. 編譯</b></p><p> (1) 針對當(dāng)前建立的工程:File\Project\Set Project to Current F
54、ile;</p><p> (2) 選擇菜單命令Max+plusⅡ\Compiler,將彈出編譯窗口,點擊Start;</p><p><b> c. 仿真</b></p><p> (1) 打開波形編輯器(Max+plusⅡ\Waveform Editor);</p><p> (2) 單擊右鍵,選擇Enter
55、 Nodes form SNF,出現(xiàn)對話框,單擊 “=>” ,然后點OK。所有的VHDL代碼實體中出現(xiàn)的的信號都會列在波形窗口中,輸入信號的默認值是 “0”,輸出信號的默認值為 “X”;</p><p> (3) 選擇File\End Time,設(shè)定波形長度</p><p> (4) 單擊Max+plusⅡ\Simulator,出現(xiàn)對話框,其中的Start Time是仿真的起始時
56、間,End Time是仿真的終止時間,點擊Start開始仿真</p><p> 以上只是最簡單的使用步驟,器件還有很多的參數(shù)需要修改,并且因為本文使用的只是單純的文本輸入,不涉及到選擇器件、選擇全局邏輯綜合方式、選擇器件引腳等操作。以上不做介紹。</p><p> 3 HDB3碼簡介</p><p> 3.1 基帶傳輸?shù)某S么a型</p>&l
57、t;p> 3.1.1 傳輸碼性的選擇原則</p><p> 在實際的基帶傳輸系統(tǒng)中,并不是所有的基帶波形都適合在信道中傳輸。例如,含有豐富直流分量和低頻分量的單極性基帶波形就不適宜在低頻傳輸特性差的信道中傳輸,因為這有可能造成信號的嚴重畸變。又如,當(dāng)消息碼中包含長連“0”或“1”時,非歸零波形呈現(xiàn)出連續(xù)的固定電平,以致于無法提取定時信息。單極性歸零碼在傳送長連“0”時,也存在同樣的問題。因此對傳輸使用
58、的基帶信號主要有一下兩個要求:</p><p> a. 對碼型要求,原始消息代碼必須編成適合于傳輸用的碼型;</p><p> b. 對所選碼型電波形的要求,電波形應(yīng)適合于基帶系統(tǒng)的傳輸。</p><p> 在選擇碼型時,一般應(yīng)考慮一下原則:</p><p> a. 不含直流分量,且低頻分量盡量少;</p><p&
59、gt; b. 應(yīng)含有豐富的定時信息,以便從接受碼中提取定時信息;</p><p> c. 功率譜主瓣寬度窄,以節(jié)省傳輸頻帶;</p><p> d. 不受信源統(tǒng)計特性的影響;</p><p> e. 具有內(nèi)在的糾錯能力,即碼型具有一定的規(guī)律性,以便利用這一規(guī)律宏觀檢測;</p><p> f. 編譯碼簡單,以降低通信延時時和成本。&
60、lt;/p><p> 滿足或者部分滿足上述6點特性的碼型很多,下面介紹常用的AMI碼和HDB3碼。</p><p> 3.1.2 AMI碼</p><p> AMI(Alternative Mark Inversion)碼全稱為傳號交替反轉(zhuǎn)碼,其編碼規(guī)則是消息碼中的“0”保持不變,而“1”交替地變化為“+1”和“-1”。舉例如表3-1所示:</p>
61、<p> 表3-1 AMI碼編碼舉例</p><p> AMI碼的優(yōu)點是,無直流分量,且高頻、低頻分量少,能量集中在頻率為1/2碼速處;編碼電路簡單,且可利用傳號極性交替這一規(guī)律觀察誤碼情況;如果為AMI-RZ波形,接收后只要全波整流,就可以變?yōu)閱螛O性RZ波形,能夠提取定時信號。</p><p> AMI碼的缺點是,當(dāng)信源碼出現(xiàn)長連“0”時,信號的電平長時間不跳變,造成
62、提取定時信號困難。解決這一問題的有效方法就是使用HDB3碼。</p><p> 3.1.3 HDB3碼</p><p> HDB3碼(High Density Bipolar of order 3code,三階高密度雙極性碼)是串行數(shù)據(jù)傳輸?shù)囊环N重要編碼方式,也是數(shù)字通信系統(tǒng)中重要組成部分之一。和最常用的NRZ碼(Non Return Zero,非歸零碼)相比,HDB3碼具有很多優(yōu)點
63、,例如:消除了NRZ碼的直流成分,具有時鐘恢復(fù)和更好的抗干擾性能,這使它更適合于長距離信道傳輸。和AMI碼相比,將連“0”的個數(shù)限制在三個以內(nèi),使得接受時能保證定時信息的提取。同時,HDB3碼具有較強的檢錯能力,當(dāng)數(shù)據(jù)序列用HDB3碼傳輸時,若傳輸過程中出現(xiàn)單個誤碼,其極性交替變化規(guī)律將受到破壞,因而在接收端根據(jù)HDB3碼這一獨特規(guī)律特性,可檢出錯誤并糾正錯誤,因而HDB3碼作為數(shù)據(jù)傳輸?shù)囊环N碼型,應(yīng)用廣泛。</p>&l
64、t;p> 3.2 HDB3碼的編/譯碼規(guī)則</p><p> 3.2.1 HDB3碼的編碼規(guī)則</p><p> 從消息代碼到HDB3碼的編碼規(guī)則是:</p><p> a. 先將消息代碼變換成AMI碼。</p><p> b. 檢查AMI碼中的0情況,如果出現(xiàn)4個以下連“0”的情況,則保持AMI碼的形式不變。</p
65、><p> c. 當(dāng)代碼序列中出現(xiàn)4個或4個以上的連“0”碼時,則將連“0”段按4個“0”分節(jié),即“0000”為一節(jié),并使第4個“0”碼變?yōu)椤癡”,且“V”脈沖的極性與前一個“1”脈沖的極性相同,稱V為破壞碼,“000V”為破壞節(jié)。</p><p> d. 當(dāng)所得序列中2個相鄰破壞碼“V”之間“1”脈沖的個數(shù)為偶數(shù),需將第二個破壞節(jié)中的第一個“0”碼變?yōu)椤癇”。這時破壞節(jié)就變?yōu)椤癇00V”
66、形式。“B”脈沖的極性與其前一個非“0”脈沖的極性相反,而與其后的“V”脈沖極性相同。</p><p> HDB3編碼舉例及波形圖如表3-2,圖3-3所示:</p><p> 表3-2 HDB3編碼舉例</p><p> 圖3-3 HDB3編碼示意圖</p><p> HDB3碼的優(yōu)點是:基帶信號無直流成分,且只有很小的低頻成分;
67、連“0”個數(shù)最多只有3個,利于定時信息的提取;不受信源統(tǒng)計特性的影響。</p><p> 3.2.2 HDB3碼的譯碼規(guī)則</p><p> HDB3碼的編碼規(guī)則雖然比較復(fù)雜,但是譯碼卻比較簡單。從上述編碼規(guī)則可以看出,每一個破壞脈沖“V”總是與前一非“0”脈沖同極性(包括B)。也就是說,從接收到得消息碼中可以很容易的找到破壞點“V”,于是也就斷定“V”符號及其前面的三個符號必是連“
68、0”符號,從而恢復(fù)4個連“0”碼,再將所有“-1”變成“+1”后便可的到源消息碼。</p><p> 4 HDB3編/譯碼器的VHDL建模</p><p> 4.1 HDB3編碼器的VHDL建模</p><p> 在實際設(shè)計中,若按照前面編碼規(guī)則需要先把代碼轉(zhuǎn)換成AMI碼,再進行插“V”和“B”的操作,最后還要依據(jù)編碼規(guī)則變換“1”的極性。這樣做需要大量的
69、寄存器,同時電路結(jié)構(gòu)也變得十分復(fù)雜。以我現(xiàn)在所掌握的知識無法實現(xiàn)本次設(shè)計。</p><p> 在實際的設(shè)計中,首先完成插“V”工作,然后完成插“B”功能,最后完成單極性變雙極性的信號輸出。這樣做的好處是:輸入進來的信號和插“V”、插“B”功能電路中處理的信號都是單極性信號,且需要的寄存器的數(shù)目可以少很多。</p><p> 具體來講,可以考慮使用寄存器的方法,首先把消息碼寄存在寄存器中
70、,同時設(shè)置一個計數(shù)器計算兩個“V”之間“1”的個數(shù),經(jīng)過4個碼元的時間后,再由一個判偶電路來給寄存器發(fā)送是否插入“B”的判決信號,從而實現(xiàn)插“B”功能。因為在電路中“V”和“B”最終的表現(xiàn)形式還是邏輯電平“1”,要準確識別電路中的“1”、“V”和“B”解決的方法是利用了雙相碼,將其用二進制碼去取代。模型框圖如圖4-1所示:</p><p> 圖4-1 HDB3編碼模型</p><p>
71、 雙向碼的編碼規(guī)則是:對每個二進制代碼分別利用兩個具有不同相位的二進制碼去取代。舉例如表4-2所示:</p><p> 表4-2 NRZ碼與雙向碼的關(guān)系</p><p> 這樣就可以識別電路中的“1”、“V”和“B”。也可以人為地加入一個標識符(其最終目的也是選擇輸出“1”的極性)??刂埔粋€選擇開關(guān),使輸出“1”的極性能按照編碼規(guī)則進行變化。</p><p>
72、 4.1.1 插“V”模塊的建模</p><p> 要實現(xiàn)插“V”模塊的功能,需要對消息代碼里的四連 “0”串進行檢測。當(dāng)出現(xiàn)個 “0000”串的時候,把第四個“0”變換成為符號“V”(“V”可以是邏輯“1”——高電平),非四連“0”情況下,則保持消息代碼按原樣輸出。為了減少后面工作的麻煩,在進行插“V”功能設(shè)計時,用“11”標識“V”,用“01”標識“1”,用“00”標識“0”。輸入代碼與插入“V”符號之
73、后的關(guān)系如表4-3所示。</p><p> 表4-3 插入“V”符號</p><p> 插“V”模塊的設(shè)計思想是:在進程中,首先通過一個條件語句判斷輸入的代碼是什么(“0”碼或“1”碼),如果輸入的是“0”碼,則接著判斷這是第幾個“0”碼,如果是第四個“0”碼,則把這一位“0”碼變成 “V”碼。否則,保持消息代碼按原樣輸出。</p><p> 4.1.2 插
74、“B”模塊的建模</p><p> 插“B”符號模塊的功能實現(xiàn)是一個難點,主要難點是這部分內(nèi)容涉及到由現(xiàn)在事件的狀態(tài)決定過去時間狀態(tài)的問題。目前,這種問題按照實時信號處理的理論,暫時還未有實現(xiàn)的辦法。把以前的時間狀態(tài)的數(shù)據(jù)進行再一次處理,這個中做法在通信領(lǐng)域比較常用,一般來講,可以先將需要輸入的數(shù)據(jù),存放在寄存器中,等處理完成以后,再進行輸出或者一邊進行處理一邊進行邊輸出。</p><p&g
75、t; 具體實現(xiàn)是先引入兩個四位的移位寄存器D,將信源消息碼存放在寄存器中,與此同時,設(shè)置一個計數(shù)器(即同步時鐘),在計數(shù)器的作用下計算兩個“V”碼元之間“1”的奇偶性,判斷是否需要進行插入“B”碼元的工作(需要一個具有判偶功能的電路來向寄存器發(fā)送判決信號)。寄存器接受數(shù)據(jù)的過程如圖4-4所示:</p><p> 例如輸入的數(shù)據(jù)當(dāng)10001時</p><p> 圖4-4 寄存器接受數(shù)據(jù)
76、的過程</p><p> 移位寄存器先存放輸入信號的前4個狀態(tài)的碼元,同時判偶器判斷“1”碼元個數(shù)的奇偶性,當(dāng)一有信號輸入,就進行判斷,當(dāng)輸入碼元為“1”時,計數(shù)器就加上1;當(dāng)輸入碼元為“0”時,計數(shù)器不計數(shù),保持不變;而當(dāng)輸入碼元為“V”時,就會需要計數(shù)器判斷“1”個數(shù)的奇偶性,偶數(shù)個就輸出“B”。每輸出一個數(shù),寄存器就向右移動一位。</p><p> 在插“V”模塊的VHDL程序中
77、,V用“11”代替,1用“01”取代,從而顯示出了雙相碼的優(yōu)點,很好地解決了“V”和“1”的差別問題。根據(jù)這種設(shè)計方法,將輸入的NRZ碼序列進行插“V”和插“B”步驟后的代碼關(guān)系如表4-5所示:</p><p> 表4-5 插入“V”“B”符號</p><p> 4.1.3 單/雙極性轉(zhuǎn)換模塊的建模</p><p> 單/雙極性轉(zhuǎn)換模塊的難點在于:當(dāng)VHDL
78、程序在Max+PlusⅡ環(huán)境中進行仿真時,Max+PlusⅡ軟件無法識別“-1”,波形仿真時只有“0”和“1”兩種電平狀態(tài)。所以我們可以定義雙向碼“00”、“01”和“11”分別表示三種電平狀態(tài),如表4-6所示:</p><p> 表4-6 雙向碼表示電平狀態(tài)的關(guān)系</p><p> 由HDB3碼的編碼規(guī)則可以看出:“V”的極性與其之前的非0碼的極性相同,并且“V”的極性是正負交替的
79、。而“B”的極性和其之前的非0碼的極性相反,并且可以將除“V”之外的“1”和“B”看成一體,它們的極性是正負交替的。因此,可以將“V”單獨的進行極性變換,而“1”和“B”作為一個整體進行極性變換。由于前面已經(jīng)用雙向碼分別對“0”、“1”、“V”和“B”進行了標識,因此可以很好的區(qū)別它們以便進行極性交替變換的操作。</p><p> 4.2 HDB3譯碼器的VHDL建模</p><p>
80、 HDB3碼譯碼規(guī)則:</p><p> a. “V”的極性與其前的非0碼極性相同,因此可以很容易的找出“V”碼。當(dāng)未編譯代碼中有3連“0”且其前后兩個非零脈沖極性相同,則將最后一個非0碼轉(zhuǎn)換為“0”,否則不做改變;當(dāng)代碼中有2連 “0”且其前后兩個非0碼的極性相同,則將這兩個非0碼都轉(zhuǎn)換為“0”,否則不做改變。</p><p> b. 再將所有的-1變換成+1后,就可以得到原消息代
81、碼 </p><p> 在實際編寫VHDL代碼時,參照上述譯碼規(guī)則進行編寫。</p><p><b> 5 仿真與實現(xiàn)</b></p><p> 5.1 HDB3編碼器的仿真與實現(xiàn)</p><p> 5.1.1 插“V”模塊的流程與仿真</p><p> 根據(jù)插“V”模塊的設(shè)計思想,若
82、輸入一段NRZ序列,輸入序列與插“V”符號之間的關(guān)系為圖5-1所示:</p><p> 圖5-1 插“V”模塊流程圖</p><p> 根據(jù)上述流程圖,使用VHDL語言實現(xiàn)該功能的過程如下:先判斷輸入的代碼是否為“0”,若不為“0”,輸出“1”(即“01”),反之通過計數(shù)器count0計算連“0”的個數(shù),當(dāng)連“0”個數(shù)小于3時,輸出“0”(即“00”),而當(dāng)連“0”個數(shù)大于3時,在第4
83、個“0”的位置插入“V”(即“11”)。</p><p> VHDL程序?qū)崿F(xiàn)插“V”模塊的主要程序如下:</p><p> if reset= '0' then count0<=0;</p><p> code_out<="00"; --0碼</p><p> elsif ( clk=
84、 '1' and clk'event) then --檢測上升沿</p><p> if code_in='0' then</p><p> count0<= count0+1;</p><p> if count0=3 then --4連0</p><p> code_
85、out<="11"; --V碼</p><p> 具體的程序?qū)崿F(xiàn)如附錄的插“V”模塊的源代碼所示,圖5-2所示為插“V”模塊仿真波形。</p><p> 圖5-2 插“V”模塊仿真波形</p><p> 仿真波形圖中,reset為計數(shù)器清零信號,clk為時鐘信號,code_in為輸入的NRZ源碼信號,code_out為進行插“
86、V”符號之后的輸出信號。</p><p> 根據(jù)插“V”模塊的建模思想,插入“V”之后,用“00”標識“0”,“01”標識“1”,“11”標識“V”。 在仿真時,我所設(shè)置的輸入信號分別有8連0、5連0、4連0和3連0情況,結(jié)合插“V”符號的規(guī)則及其仿真波形得出以下結(jié)論:</p><p> NRZ碼: 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0
87、1 0 0</p><p> 理論值: 01 00 00 00 11 00 00 00 11 01 01 00 00 00 11 00 01 00 00 00 11 01 00 00</p><p> 仿真結(jié)果:01 00 00 00 11 00 00 00 11 01 01 00 00 00 11 00 01 00 00 00 11 01 00 00</p><
88、p> 結(jié)果分析:由上面的結(jié)論可以看出,插“V”模塊的仿真結(jié)果與理論值相同,結(jié)果正確,通過仿真波形可以很明顯的看出輸出信號(code_out)相對輸入信號(code_in)延遲了半個時鐘周期。</p><p> 5.1.2 插“B”模塊的流程與仿真</p><p> 根據(jù)插“B”模塊的設(shè)計思想,需要完成的是插“B”符號的功能,實現(xiàn)該功能具體流程圖如圖5-3所示:</p&g
89、t;<p> 圖5-3 插“B”符號流程圖</p><p> 根據(jù)上述流程圖,使用VHDL語言實現(xiàn)該功能的過程如下:設(shè)置兩組4位移位寄存器D1和D0,任意一個碼元由D1和D0表示(即D1&D0),在插入“B”符號之前,D1和D0有三種組合形式,D1=“1”&D0=“1”、 D1=“1”&D0=“1” 、D1=“1”&D0=“1”,通過不同的組合判斷flag_v和
90、even的值,最終完成插“B”符號的功能。其中flag_v標識兩個“V”的之間,當(dāng)flag_v=0時,出現(xiàn)兩個“V”,否則,flag_v=1;even標識兩個“V”之間“1”符號個數(shù)的奇偶性,當(dāng)even=0時,為偶數(shù),even=1時為奇數(shù)。flag_v是檢測D(0),even是檢測D(3)。</p><p> VHDL程序?qū)崿F(xiàn)插“B”模塊的主要程序如下:</p><p> if res
91、et='0' then</p><p> flag_v<=0;</p><p><b> even<=0;</b></p><p> elsif(clk='1' and clk'event) then --檢測上升沿</p><p> if (D1(3)
92、='1' and D0(3)='1')then</p><p> flag_v<=1; --檢測有V碼輸入</p><p> else flag_v<=0;</p><p><b> end if;</b></p><p> if(D1(0)='0
93、39; and D0(0)='1')then</p><p> even<=even+1; --檢測下一個V到來之前1的個數(shù)</p><p> elsif (D1(0)='1' and D0(0)='1')then</p><p> even<=0; --下一個V到來清零</
94、p><p><b> end if;</b></p><p> 具體的VHDL程序如附錄的插“B”模塊的代碼所示,圖5-4所示為插“B”模塊仿真波形:</p><p> 圖5-4 插“B”模塊仿真波形</p><p> 仿真波形圖中,reset為計數(shù)器清零信號,clk為時鐘信號,code_in為輸入的信號,是上一步插
95、“V”模塊的輸出信號,code_out為進行插“B”符號之后的輸出信號。D1和D0為4位移位寄存器。結(jié)合插“B”符號的規(guī)則及上圖的仿真波形得出以下結(jié)論:</p><p> Code_in:01 00 00 00 11 00 00 00 11 01 01 00 00 00 11 00 01 00 00 00 11 01 00 00</p><p> 理論值: 01 00 00 00
96、11 10 00 00 11 01 01 10 00 00 11 00 01 00 00 00 11 01 00 00</p><p> 仿真結(jié)果: 01 00 00 00 11 10 00 00 11 01 01 10 00 00 11 00 01 00 00 00 11 01 00 00</p><p> 結(jié)果分析:由上面的結(jié)論可以看出,插“B”模塊的仿真結(jié)果與理論值相同,結(jié)果正確
97、,通過仿真波形可以很明顯的看出輸出信號(code_out)相對輸入信號(code_in)延遲了5個時鐘周期。</p><p> 5.1.3 單/雙極性轉(zhuǎn)換模塊的流程與仿真</p><p> 根據(jù)單/雙極性轉(zhuǎn)換模塊的設(shè)計思想,實現(xiàn)單/雙極性轉(zhuǎn)換功能的流程圖如圖5-5所示:</p><p> 圖5-5 單/雙極性轉(zhuǎn)換流程圖</p><p>
98、 根據(jù)上述流程圖,使用VHDL語言實現(xiàn)該功能的過程如下:首先定義一個信號even,當(dāng)輸入的碼元為“V”時(即“11”),則even=“1”, 當(dāng)輸入的碼元為“B”(即“10”)或者“1”(即“01”)時,若even=“1”,則有even=“0”,反之even=“1”,輸出的數(shù)據(jù)按照HDB3碼的符號規(guī)則及 “00”、“01”和“11”與 “0”、“+1”和“-1”的對應(yīng)關(guān)系進行標識。其中可以從正數(shù)開始標識,也可以從負數(shù)開始標識。<
99、/p><p> VHDL程序?qū)崿F(xiàn)單/雙極性轉(zhuǎn)換模塊的主要程序如下:</p><p> if code_in="11" then</p><p> if even='1' then</p><p> code_out<="01"; --正電平1</p>&l
100、t;p> else code_out<="11"; --負電平1</p><p><b> end if;</b></p><p> elsif(code_in="01" or code_in="10") then</p><p> if even='
101、;1' then even<='0';</p><p> code_out<="11";</p><p> else even<='1';</p><p> code_out<="01";</p><p><b> end
102、 if;</b></p><p> 具體的程序?qū)崿F(xiàn)如附錄的單/雙極性轉(zhuǎn)換模塊的源代碼所示,圖5-6所示為單/雙極性轉(zhuǎn)換模塊仿真波形。</p><p> 圖5-6 單/雙極性轉(zhuǎn)換模塊仿真波形</p><p> 仿真波形圖中,reset為計數(shù)器清零信號,clk為時鐘信號,code_in為輸入的信號,是上一步插“B”模塊的輸出信號,code_out為進行
103、單/雙極性轉(zhuǎn)換之后的輸出信號。根據(jù)單/雙極性轉(zhuǎn)換的規(guī)則及上圖的仿真波形得出以下結(jié)論:</p><p> Code_in: 01 00 00 00 11 10 00 00 11 01 01 10 00 00 11 00 01 00 00 00 11 01 00 00</p><p> 理論值: 01 00 00 00 01 11 00 00 11 01 11 01 00 00 01
104、 00 11 00 00 00 11 01 00 00</p><p> 仿真結(jié)果: 01 00 00 00 01 11 00 00 11 01 11 01 00 00 01 00 11 00 00 00 11 01 00 00</p><p> 結(jié)果分析:由上面的結(jié)論可以看出,單/雙極性轉(zhuǎn)換模塊的仿真結(jié)果與理論值相同,結(jié)果正確,通過仿真波形可以很明顯的看出輸出信號(code_out)
105、相對輸入信號(code_in)延遲了1個時鐘周期。</p><p> 5.1.4 HDB3編碼器整體仿真</p><p> 圖5-7為編碼器整體的仿真波形,從下圖可以很清楚的看出序列經(jīng)過插“V”模塊,插“B”模塊與單/雙極性轉(zhuǎn)換模塊后的波型變換,由于每一步的輸入是上一步的輸出信號,因此最終經(jīng)過單/雙極性轉(zhuǎn)換模塊后的波形即為編碼后的波形。</p><p> 圖
106、5-7編碼器仿真波形</p><p> 5.2 HDB3譯碼器的仿真與實現(xiàn)</p><p> 根據(jù)譯碼器的設(shè)計思想,實現(xiàn)譯碼器的流程圖如圖5-7所示:</p><p> 圖5-8 譯碼器的流程圖</p><p> 根據(jù)上述流程圖,使用VHDL語言實現(xiàn)該功能的過程如下:首先設(shè)置兩組4位移位寄存器D1和D0,同插“B”模塊一樣,任意一個碼
107、元由D1和D0表示(即D1&D0),然后定義一個信號t,t接收輸入信號,當(dāng)t的值為“01”或者“11(即 “+1”或“-1”)時,判斷是存放在寄存器中的輸入的信號是否有“11”或者“10”出現(xiàn),若有將其置為“0”,若輸入信號中有“01”將其置為“1”,“0”則照原樣輸出。</p><p> VHDL程序?qū)崿F(xiàn)譯碼器的主要程序如下:</p><p> if ((t="11
108、" and D1(3 downto 0)="0001" and D0(3 downto 0)="0001")or</p><p> (t="01" and D1(3 downto 0)="0000" and D0(3 downto 0)="0001"))</p><p><
109、b> --判斷有V輸入</b></p><p> elsif((t="11" and D1(3 downto 1)="001" and D0(3 downto 1)="001")or</p><p> (t="01" and D1(3 downto 1)="000"
110、and D0(3 downto 1)="001"))</p><p><b> --判斷有B輸入</b></p><p> if((D1(0)='1' and D0(0)='1')or(D1(0)='0' and D0(0)='1'))</p><p>
111、--判斷1,且輸出1</p><p> 具體的程序?qū)崿F(xiàn)如附錄的譯碼器的代碼所示,圖5-8所示為單/雙極性轉(zhuǎn)換模塊仿真波形。</p><p> 圖5-9譯碼器仿真波形</p><p> 仿真波形圖中,reset為計數(shù)器清零信號,clk為時鐘信號,code_in為輸入的信號,是上一步單/雙極性轉(zhuǎn)換模塊的輸出信號,code_out為譯碼之后的輸出信號。D1和D0為4
112、位移位寄存器。結(jié)合HDB3碼的譯碼規(guī)則及上圖的仿真波形得出以下結(jié)論:</p><p> Code_in:01 00 00 00 01 11 00 00 11 01 11 01 00 00 01 00 11 00 00 00 11 01 00 00 </p><p> 理論值: 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0</p&
113、gt;<p> 仿真結(jié)果:1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0</p><p> 結(jié)果分析:由上面的結(jié)論可以看出,譯碼器的仿真結(jié)果與理論值相同,結(jié)果正確。</p><p><b> 結(jié)論</b></p><p> 本次設(shè)計是基于VHDL語言的HDB3編/碼器的設(shè)計及
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于FPGA的HDB3編譯碼設(shè)計.pdf
- 基于vhdl語言-3-8譯碼器的設(shè)計
- 基于SOC的HDB3編譯碼和幀同步電路.pdf
- 畢業(yè)論文——基于fpga的hdb3編解碼器設(shè)計
- 畢業(yè)論文——基于fpga的hdb3編解碼器的設(shè)計
- 電子與信息工程畢業(yè)論文光纖通信系統(tǒng)線路接口碼型hdb3碼的編譯碼設(shè)計
- 基于matlab的tcm編譯碼器的設(shè)計與實現(xiàn)畢業(yè)論文
- 基于Verilog語言的RS(255,247)編譯碼器設(shè)計.pdf
- 光纖通信系統(tǒng)線路接口碼型hdb3碼的編譯碼設(shè)計【開題報告】
- 光纖通信系統(tǒng)線路接口碼型hdb3碼的編譯碼設(shè)計【文獻綜述】
- hdb3數(shù)字編碼器畢業(yè)設(shè)計
- 基于SOPC技術(shù)的HDB3編碼器設(shè)計.pdf
- 基于PLD的RS碼編譯碼器設(shè)計.pdf
- 基于HSPA的并行Turbo編譯碼器設(shè)計.pdf
- 基于FPGA的Turbo碼編譯碼器設(shè)計.pdf
- BCH編譯碼器的設(shè)計及驗證.pdf
- 基于VHDL語言的Reed-Solomon編譯碼IP模塊的設(shè)計.pdf
- 可配置卷積編譯碼器的設(shè)計.pdf
- 基于FPGA的Turbo碼編譯碼器研發(fā).pdf
- 基于FPGA的Turbo碼編譯碼器實現(xiàn).pdf
評論
0/150
提交評論