版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Goodisgood,butbettercarriesit.
精益求精,善益求善。Goodisgood,butbettercarriesit.
精益求精,善益求善。光纖通信系統(tǒng)5B6B碼編碼的設計與仿真光纖通信系統(tǒng)5B6B碼編碼的設計與仿真光纖通信系統(tǒng)5B6B碼編碼的設計與仿真第一章緒論1.1引言被普遍使用的數(shù)字光纖通信系統(tǒng)中的一種路線碼型就是5B6B碼[1]。在光纖中的傳輸線,信號通過5B6B碼和串并轉換數(shù)據(jù)后,形成一個連續(xù)的長度小于5的Bit0或Bit1串行編碼序列,0和1的數(shù)據(jù)轉換的高密度,而且有一個有利于接收電路、時鐘恢復電路的設計的直流平衡特性[2]。5B6B碼是一種nBmB分組碼,這是一個二進制線路編碼,即把一個二進制5位信源碼型轉為6位二進制線路碼型,64個線路碼型是基于“0”和“1”的數(shù)量來分成兩種碼型:即非均勻碼和均勻碼。均勻碼是指“0”和“1”的數(shù)量是一樣的,反之,則為非均勻碼。非均勻碼又分為正負兩個模式,當“0”碼個數(shù)少于“1”碼個數(shù)時是為正模式,“0”碼個數(shù)大于“1”碼時為負模式[3]。因為線路碼和信源碼的個數(shù)不等,因此從5碼轉換為6碼時,有多種編碼方案。本文只選用其中一種編碼方案。1.2QuartusII軟件介紹因為只有通過系統(tǒng)軟件的操作和硬件實物平臺才能成功實現(xiàn)5B6B的編碼設計與仿真,所以在設計前,首先要了解使用QuartusII和FPGA相應的使用方法。下面做簡單的說明。圖SEQ圖\*ARABIC1QuartusII運行背景QuartusII不僅支持AHDL設計輸入的形式,同時支持電路原理圖,VHDL、VerilogHDL,模擬器和合成器,嵌入其中。QuartusII在PLD開發(fā)軟件集成中為了完成PLD的設計過程,可以從設計輸入完成的硬件配置。除了完成使用QuartusTcl腳本、QuartusII的設計過程之外,還可以使用設計完美的圖形用戶界面,并支持使用Unix、XP或Linux等操作系統(tǒng)[4]。接口速度快,運行統(tǒng)一,功能設置,簡單易用。為了用戶能夠充足的使用成熟的完備模塊,囊括了LPM/Mega功能庫,并且降低了設計過程中的復雜程度,同時,它還支持Altera公司的IP內(nèi)核,設計速度加快了等等。其他的EDA工具能夠讓用戶使用EQuartusII,認識在設計過程當中的每個過程,支持全面的可編程邏輯器件開發(fā)軟件。支持電路原理圖,VHDL語言,AHDLDA和vrilogHDL。此外,QuartusII開發(fā)的工具能夠輕松實現(xiàn)各種DSP應用,將DSPBuilder與MATLAB/Simulink結合。SOPC的開發(fā)可在可編程系統(tǒng)芯片上實現(xiàn),包括已設置的可編程邏輯設計系統(tǒng)和嵌入式軟件開發(fā)形成一個全面的開發(fā)平臺[5]。PLD設計軟件擁有Altera公司的優(yōu)秀的易用性,之前的MAXPLUSII得到了普遍的應用。MAXPLUSII現(xiàn)在已經(jīng)不更新了,不僅因為QuartusII充實了不斷變化的圖形界面的設備的類型,還包括許多QuartusII軟件,例如,設計的RTLViewer查看器和編輯器芯片的援助,增強SignalTapIIAltera的圖形界面,MAXPLUSII繼承和SOPC的硬件復制設計和集成流程??删幊踢壿嬙O計環(huán)境有一個直觀的界面和其強大的設計能力,因此受到廣大系統(tǒng)開發(fā)者的應用[6]。Altera的第4代開發(fā)平臺有QuartusII軟件。該平臺支持的工作組環(huán)境設計要求,包括基于互聯(lián)網(wǎng)的協(xié)同設計支持。提高LogicLock的設計效力,添加FASTFIT編譯器選項,高級編輯網(wǎng)絡性能,并提高調(diào)試效果。Max7000/Max3000是開發(fā)的第4代產(chǎn)品,它提供了一個完備的功能和高效的設計適合于給定的設計要求[7]。QuartusⅡ給出了一個便利的輸入功能,和迅疾的編譯器和編程設備直接訪問的能力。支持超過一百萬門的邏輯門數(shù)的發(fā)展,提供了一個無縫接口,用于第三方工具。在QuartusⅡ支持的設備有:StratixⅡ,StratixGX,Stratix,水星,MAX3000A,MAX7000B,MAX7000S,MAX7000AE,MAXⅡ,F(xiàn)LEX6000,F(xiàn)LEX10K,F(xiàn)LEX10KA,F(xiàn)LEX10KE,旋風,旋風Ⅱ等。QuartusⅡ編程包是整個體系的中樞,為了給出強力的問題解決實力,設計人員能夠添加特定的限制,提升整個芯片的利用效率。在整個設計過程中的每個環(huán)節(jié),該軟件可以使QuartusⅡ集中于設計,而不是使用軟件本身。同時,自動定位誤差,充滿了錯誤和警告信息,使設計更簡單和容易。此外,QuartusⅡ結合SOPCBuilder開發(fā)SOPC系統(tǒng)(可編程片上系統(tǒng)),是一種非常有前途的EDA軟件。QuartusⅡ4.1軟件光盤能在代理獲得,可以在internetitAltera上下載,安裝,并得到授權文件,其具體步驟可以參照MAX+PLUSⅡ的操作。1.3VHDL語言1.3.1背景簡介VHDL是被開發(fā)于1982年的的特高速電路集成硬件描述語言,它最初是由美國國防部開發(fā),為了提高設計的可靠性,小范圍內(nèi)使用的用以減少設計語言發(fā)展周期的硬件語言。1987年底,VHDL是已經(jīng)確認的標準硬件描述語言[8]。IEEE-1076后不同的公司都推行了各自的開發(fā)環(huán)境以適用于VHDL的使用,或表示能夠和VHDL的設計相連。1993年,宣布對VHDL語言就行修訂,VHDL語言擴大了抽象和描述性的動力系統(tǒng)的更高層次的審查內(nèi)容,即IEEE標準的1076-1993版本。簡而言之,VHDL是電路設計語言中的一種。中國被翻譯成VHDL描述超高速集成電路硬件描述語言,主要用于數(shù)字電路的設計。大多數(shù)中國人使用的是FPGA、CPLD和EPLD。顯然,相對較強的一些單位的強度,它也可用于ASIC設計[9]。VHDL語言大部分應用于數(shù)字系統(tǒng)的布局、活動、效用和接口的描述。程序結構工程設計的VHDL,或叫做實體設計(可以為一個功能元器件,電路模塊或一個完整的系統(tǒng)體系)的特性被分為外部(可見器件)和內(nèi)部(不可見的器件)的兩個功能,即包括實體里面的功用和算法實現(xiàn)的功用部分。設計實體確定外部接口后,在其內(nèi)部設計成功之后,其他模塊可以直接使用此實體。這個概念是分為內(nèi)部和外部實體設計的VHDL開發(fā)和設計的基礎部分。1.3.2VHDL主要特點1.健壯,靈活的設計VHDL語言擁有較強的結構,因此能夠表現(xiàn)出源代碼的清晰和精煉的描述,從而達成繁雜的控制邏輯。多層次的描繪方式使之具備多層次的設計特征,最后可直接產(chǎn)生電路級的描述。與其他硬件描述語言相比,VHDL具備有它們所沒有的電路設計特征,即:同步、異步和隨機。VHDL語言也支持其他方面的設計,包括自下而上和自上而下的設計;同時支持模塊化設計和分層設計支持。2.支持廣泛,容易改變因為VHDL已經(jīng)成為標準的IEEE標準硬件描述語言,支持基本上所有的EDA工具,所以這為之后的推行以及VHDL的普遍使用墊定了基礎。在硬件的設計過程中,源代碼基本上都是由VHDL來撰寫的,又由于它的可讀性和結構化,很容易改變設計。3.強大的硬件功能說明VHDL的設計具備多個分級的描述能力,除了能夠作為電路的系統(tǒng)級描述,而且能夠用來描述門級電路。既可以作為一個行為描述,轉讓或寄存器描述方案,也可用于混合級描述。此外,VHDL不僅支持慣性的延遲和輸送系統(tǒng)的延遲,也有創(chuàng)造電路硬件描述精確模型的能力。由于VHDL支持數(shù)據(jù)類型的預定義和自定義兩種形式,讓硬件描述帶來了更大的自由空間,可以很容易地建立高層次的系統(tǒng)模型。4.設備-自主設計,自主的過程當使用VHDL設計時,不需要考慮完成設備的設計,可以專注于優(yōu)化設計。所描述的設計告終,能夠運用各種不一樣的元器件結構完成它的功能。5.可移植性強VHDL是標準的硬件描述語言,設計的描述可以通過各種工具來支持,從而有可能對移植設計進行描述。6.輕松共享和重用基于VHDL的設計方法,可以重新創(chuàng)建所有可用的模塊。這些模塊可以預先設計或在最后歸檔模塊設計中使用,這些模塊將被存儲在庫中,它可以在未來的計劃中重復使用,可以使設計結果在設計師之間交流,減少硬件電路設計。1.3.3VHDL主要優(yōu)勢1.VHDL比其他硬件描述語言有更多的描述能力,使之確定成為了設計描述語言的最佳硬件。描述結構的行為能力很強,避免特定的設備,系統(tǒng)的描述和大型電子邏輯系統(tǒng)有關的設計。2.VHDL擁有大量的仿真程序和庫函數(shù),能夠讓設計任意大的系統(tǒng)最早的時候就可以發(fā)掘系統(tǒng)的設計特點,準備仿真設計的可能性。3.行為報表說明,采用VHDL語言編程技巧和結構,決定了支持大規(guī)模分解的開發(fā)和重用現(xiàn)有的設計。系統(tǒng)擴展,以滿足市場的高效需求、快速實現(xiàn)設計一定要有多人一起完成,更有甚者需要許多個開發(fā)組并行工作來實現(xiàn)。4.VHDL描述設計的相對獨立性,設計師不用了解硬件的結構,也不需要知道項目管理的最終目的是實現(xiàn)什么目標設備,在此基礎上進行獨立的設計。第二章FPGA系統(tǒng)開發(fā)過程因為FPGA設計和5B6B編解碼系統(tǒng)原理是相似的,所以下面對FPGA開發(fā)系統(tǒng)的過程作一些簡要介紹。2.1電路設計在系統(tǒng)的設計中,第一個進行演示程序,前期的系統(tǒng)設計和FPGA芯片的選擇。根據(jù)任務要求,如指標和系統(tǒng)的復雜性,各種資源,運行速度和芯片本身的成本與取舍等方面,選擇合適的設計和正確類型的設備。正常情況下設計采用自頂向下這種方法,先將系統(tǒng)劃為幾個基本的單位,之后的每個基本單位又劃為基本單位的下一級,不停如此,直到能夠立即運用的EDA庫為止。2.2設計輸入輸入設計是將用于電路設計的系統(tǒng)或以開發(fā)所需的軟件的形式展示出來,并輸入到EDA工具的過程。經(jīng)常使用的方式有HDL、原理流程圖等。示意圖是描述的最直接的方式,可編程芯片開發(fā)更廣泛的適用于早期應用,將各個器件從元器件庫中調(diào)出來,繪制原理圖。這種方法雖然簡單,易于仿真,但是實現(xiàn)效率極低,難以維護和重用,不利于模塊結構。但它的主要缺點是不便于攜帶,升級后的芯片,所有原理圖需要做一些改變。目前,實際的HDL是目前廣泛使用的開發(fā)語言,利用文字描述設計,可分為一般HDL和行為HDL。在大型項目中,主要使用HDL,其主要的語言是VerilogHDL與VHDL。這兩種語言是電氣和電子工程師標準的美國協(xié)會(IEEE)制定的標準,其常見的突出特點是:獨立于語言和芯片技術,這將有助于自頂向下設計,便于共享模塊和移植,移植性良好,描述和模擬具有較強的邏輯思維能力,以及輸入數(shù)據(jù)效率很高[10]。2.3功能仿真功能仿真,也稱為前仿真,在用戶邏輯電路的變異之前進行的電路邏輯功能設計驗證,這個時候仿真沒有延遲信息,只要預先進行功能測試。模擬之前,構建波形文件和測試向量(即將信號輸入組成一個序列),模擬的結果將產(chǎn)生一個報告文件和輸出信號波形,他們可以觀察到每個節(jié)點的信號變化。若覺察到有問題,就回到邏輯設計改正[11]。2.4綜合優(yōu)化綜合優(yōu)化是使高層次的抽象描述成為一個較低的水平的描述。整合優(yōu)化是根據(jù)目標的一致性的要求生產(chǎn),從而使設計水平為FPGA布局布線軟件實平面化。目前,集成的優(yōu)化(合成),是將輸入的邏輯與門,非門,或門,觸發(fā)器,內(nèi)存和其他基本的原始元素設計網(wǎng)表的邏輯單元相連接,而不是真正的門電路。真正具體的門級電路應使用FPGA供應商提供的布線功能,產(chǎn)生的一個全面的準則,該準則是根據(jù)歸納后的門級網(wǎng)表生成的。為了轉換成該網(wǎng)表,HDL代碼務必要滿足給定的合成器的特定要求。因為它是一個成熟的技術集成的門級和RTL級的HDL程序結構,所有的設備都支持合成到這個程度的整合。2.5綜合后仿真經(jīng)過全面的仿真,以檢查是否和原始設計的綜合結果相一致。在模擬過程中,將標準延遲文件完整的反標記進綜合仿真模型里,可以大概估算門延遲造成的硬性。然而,這一步不能估計線延遲,根據(jù)目前的狀況,與現(xiàn)實情況仍有很大的差異,不是很精準的。合成工具目前相對比較成熟,所以整體設計能夠舍去此步,不過若發(fā)現(xiàn)不符合電路布局設計的意向,就應該回來確認模擬問題。2.6實現(xiàn)與布局布線專用芯片F(xiàn)PGA布局的創(chuàng)作是綜合性應用邏輯網(wǎng)表的一個最重要的過程。合理布局配置的邏輯網(wǎng)表的硬件原語和基本的硬件單元結構配置到固有的硬件芯片內(nèi),并且經(jīng)常需要進行最快速度速度和最佳區(qū)域之間的選擇?;谙嚓P布線的拓撲結構,運用合理的精確的芯片連接到各個組件的內(nèi)部。目前,F(xiàn)PGA的結構是非常復雜的,尤其是當有限制,需要使用定時驅動布局引擎布線的時候。布局布線后,該軟件工具能夠自主產(chǎn)生業(yè)務報表,給出相關部分的設計信息。因為只有FPGA芯片制造商了解芯片結構,所以芯片設計工具開發(fā)人員必須選擇開發(fā)商提供的工具。
第三章5B6B編碼設計步驟3.15B6B編碼通俗來說,5B6B編碼就是要如何把一個5B碼轉換成為一個6B碼。5B6B編碼實現(xiàn)方式主要有兩種:使用MATLAB或者FPGA。這里選擇的是FPGA。3.1.15B6B編碼原理mBnB是將為二進制輸入的源代碼流分組,每m個二進制碼為一組,表示為mB,稱為碼字,然后轉換成n個二進制代碼,表示為nB,并且在同一個時隙間輸出[12]。實際上就是將mB碼變成nB碼,形成所謂的mBnB,其中m和n正常情況下都為大于零的數(shù),且N>M,通常選定N=M+1。mBnB結構的形成方法是:將二進制代碼里的每m個編碼流碼元分成一組,并且根據(jù)給定的編碼規(guī)則和在相同的時隙內(nèi),找到一個相應的n位代碼組來替代原來的m位碼組。大部分mBnB代碼都可以使用兩種編碼方式,是用來取代數(shù)字和d比較大的數(shù)組[13]。MBnB代碼又稱為分組碼:這是非常有用的類多余的二進制代碼,這是輸入比特流(MB)的來源是一組碼字,然后在時間變量相同的長度內(nèi)變?yōu)閚位(n>m),最后為這些新的數(shù)據(jù)流傳輸,以零或非零的形式。改造后,碼傳輸速率提高,線路碼比原來的二進制碼速率增加了(通常會增加N/M倍)。mBnB類,一般有有1B2B,2B3B,4B5B,5B6B等類型,用的最多的而是5B6B碼[14]?,F(xiàn)在用5B6B代碼示例來看看它的編碼情況:5B6B碼,五位二進制碼共有2的5次方=32個字或代碼,而六位共有2的6次方=64的二進制碼字或代碼。為了選出64種編碼中最適合的編碼方案去替代5B碼中的32個碼字,有許多編碼方案,分別對應不同的表5B6B編碼。在實踐中,引入了一個參數(shù)應用于6B碼:不平等的參數(shù)d,d=“1”碼數(shù)—“0”碼數(shù),將d=0的6B碼(如001101,100110)稱為均等碼,這類碼字有20種不同的,能夠分別表示20個不同的5B碼。將d=+2稱為正不均等的代碼(例如111010,101101等),以及d=-2為負不均等碼(例001101,010010等),它們各自是12種,為了讓“0”碼和“1”碼出現(xiàn)的可能性相差不大,所述碼字可被相互交換地使用,來表示對應的碼圖5B碼額外的12碼字。所以,“6B”碼中連續(xù)相同的最大數(shù)目為6。時間信息豐富,而且“0”和“1”顯示的概率相等,各占50%,所以可視為沒有直流漂移。其他未使用的6碼可以視為禁碼,如果出現(xiàn)這些碼字,則意味著編碼有錯誤,從而實現(xiàn)了不間斷誤碼監(jiān)測的功能[15]。該5B6B模型有各種編碼方式,根據(jù)CCITT標準和建議,對5b6b表進行使用,其中D=0的數(shù)字碼組20個和D=±2的碼組分別取12個。因此在5B6B碼流中相同數(shù)量碼的代碼和少于5,數(shù)字碼和差不大于3,甚至更小。3.1.25B6B碼表設計由以上總結出5B6B碼表的設計規(guī)則為:Ⅰ.“0”碼出現(xiàn)的概率可能性等于“1”碼Ⅱ.減少最大連續(xù)相同數(shù)的個數(shù)Ⅲ.選擇d值最小的碼組為了實現(xiàn)設計目標,引入了兩種模式。模式1是正的,模式2是負的;模式1和2交替。如下的設計代碼表:
表SEQ表\*ARABIC15B6B碼表序號輸入二元碼組(5bit)輸出二元碼組(6bit)
5B6B—1
(00)
5B6B—2
(01)模式1模式2模式1模式200000000011100011101011110100010000101110001110010011101100020001011000111000101101110010030001110100110100100011100011140010001101001101010101101010050010101001101001100101100101160011010110010110000110100110170011111100100011000111000111080100010011010011011001100110090100101010101010101001101001110010100101111010000101010101011101011100111011000010110010110120110010101101010001100101100113011010111101000010110100110101401110101110010001011100011100150111111010011010010110101001016100000010110010110111011000101710001011101100010100011100011181001001101110010010010110010119100111101010010101001101001102010100110110001001101001101001211010111101000010110101010101022101101010101010101011001011002310111011001011001110101001010241100010110101001011000111000125110010011010011011100101100102611010110010110010110100110100271101101011001011011100100011028111001001011001011110001110002911101100011100011101110010001301111000111000111011011000100131111111110001110001110100001013.25B6B編碼模塊設計3.2.1編碼器的工作原理5B6B編碼電路模型,包括時鐘控制模塊、串行/并行轉換電路,存儲器模塊,并行/串行轉換模塊等組成,如圖2所示:串/并轉換模塊串/并轉換模塊存儲器模塊并/串轉換模塊串行6B碼組輸出并行5B碼組并行6B碼組串行5B碼組輸入時鐘控制模塊本地時鐘輸入圖SEQ圖\*ARABIC2系統(tǒng)總體設計圖編碼器電路的原理是一個本地振蕩器產(chǎn)生一個標準時鐘,由變頻器電路產(chǎn)生的時鐘用于編解碼電路工作的輸出電路的時鐘,它們之間的關系是緩沖電路接收5位輸入碼存儲為一個編碼器,這個編碼器電路中,根據(jù)5b6b碼表輸出6位代碼。再將這6位碼在時鐘脈沖的驅動下再進行并行/串行轉換來輸出。3.2.2編碼電路模塊劃分在實際設計中,應當與當前的實際情況和VHDL語言相結合,編碼電路可分成以下模塊。它們是:串行、并行轉換模塊,編碼模塊,并行串行轉換模塊,序列產(chǎn)生模塊和其他的有關模塊。下面描述了設計概念中的4個模塊,后一些模塊將會給出程序。1.時鐘控制模塊主要是實現(xiàn)一個時鐘分頻的功能,為了后面的串并轉換模塊,緩存電路以及并串轉換模塊提供一個時鐘。2.串并轉換模塊主要是將輸入的串行碼流進行并行轉換然后輸出的功能。對于6B碼而言,在查找表之前必須先轉換成并行6B比特流,然后并行6B碼聚集起來,再查找表。就5B碼而言,就是被轉換成并行數(shù)據(jù)流的5bits碼。3.存儲器模塊主要負責將5B的碼組轉換為6B的碼組,即實現(xiàn)編碼功能。4.并串轉換模塊其功能與串并轉換模塊功能大體相同,即是將并行碼流轉換成串行碼輸出。3.3系統(tǒng)各個模塊的設計3.3.1時鐘控制模塊的設計本模塊主要是實現(xiàn)一個時鐘分頻的功能,為了后面的串并轉換模塊,緩存電路以及并串轉換模塊提供一個時鐘,其實質(zhì)為計數(shù)器,本設計需要用到一個六分頻的為并串轉換模塊提供時鐘,通過Quartus封裝后的圖形如圖3所示:圖圖SEQ圖\*ARABIC3時鐘控制模塊3.3.2串并轉換模塊的設計本模塊主要是實現(xiàn)串行數(shù)據(jù)輸入轉換為并行數(shù)據(jù)輸出,輸入的為5位的串行的數(shù)據(jù),輸出為5位并行的數(shù)據(jù),通過Quartus封裝后的圖形如圖4所示:圖圖SEQ圖\*ARABIC4串并轉換模塊3.3.3緩存電路的設計本模塊主要實現(xiàn)5B數(shù)據(jù)轉換為6B數(shù)據(jù)的一個功能,其實質(zhì)是就是一個PROM,通過程序把5B6B碼表存儲起來,然后如果輸入一個5B的數(shù)據(jù),通過查表后輸出一個對應的6B數(shù)據(jù),從而實現(xiàn)5B轉6B的功能,通過Quartus封裝后的圖形如圖5所示:圖SEQ圖\*ARABIC5緩存電路3.3.4并串轉換模塊的設計本模塊主要是實現(xiàn)并行數(shù)據(jù)輸入轉換為串行數(shù)據(jù)輸出,輸入的為6位的并行的數(shù)據(jù),輸出為6位串行的數(shù)據(jù),通過Quartus封裝后的圖形如圖6所示:圖SEQ圖\*ARABIC6并串轉換模塊3.3.5系統(tǒng)的頂層設計完整電路模塊采用自頂向下的設計方法,在頂層模塊中調(diào)用各個子模塊來完成系統(tǒng)控制功能。具體頂層設計電路如下:圖SEQ圖\*ARABIC7完整電路頂層圖3.4系統(tǒng)各個模塊的仿真3.4.1分頻器的仿真通過前面的設計,設置好相應的輸入和輸出后六分頻器的仿真波形如圖8所示:圖SEQ圖\*ARABIC8分頻器的仿真圖中clk為系統(tǒng)時鐘輸入,clk6為6分頻后的時鐘輸出,通過對比可以看出,仿真波形是正確的。3.4.2串并轉換模塊的仿真通過前面的設計,設置好相應的輸入和輸出后串并轉換模塊的仿真波形如圖9所示:圖SEQ圖\*ARABIC9串并轉換模塊的仿真圖中clk為系統(tǒng)時鐘輸入,shift_in為串行的5B碼組輸入,A為并行的5B碼組輸出,這里我們選用任意的一個碼組10110,從仿真結果中可以看出,在第五個時鐘周期結束后并行輸出的碼組為10110,驗證了仿真的正確性。3.4.3存儲器模塊的仿真通過前面的設計,設置好相應的輸入和輸出后存儲器模塊的仿真波形如圖10所示:圖SEQ圖\*ARABIC10緩存電路的仿真圖中clk為系統(tǒng)時鐘輸入;F為模式選擇位,0表示選擇模式1,1表示選擇模式2,;Y為并行的5B碼組輸入,Q為并行的6B碼組輸出。通過對比Y和Q的碼組可以發(fā)現(xiàn),當輸入00000時輸出000111,當輸入00001時輸出011100,當輸入00010時輸出110001,當輸入00011時輸出110001……,只不過延遲了一個時鐘周期。與5B6B編碼表中進行對比可以證明仿真結果是正確的。3.4.4并串轉換模塊的仿真通過前面的設計,設置好相應的輸入和輸出后并串轉換模塊的仿真波形如圖11所示:圖SEQ圖\*ARABIC11并串轉換模塊的仿真圖中clk0表示系統(tǒng)時鐘6分頻后的時鐘輸入,clk1為系統(tǒng)時鐘輸入,Q為并行的6B碼組輸入,shift_out為串行的6B碼組輸入,這里我們選用任意一個碼組100100測試,shift_out在一個clk0周期后輸出的串行碼為100100,說明了仿真是正確的。3.4.5完整電路仿真根據(jù)頂層模塊的設計,仿真結果如圖12所示:圖SEQ圖\*ARABIC12完整電路仿真波形圖中clk為系統(tǒng)時鐘輸入,clk6為6分頻器分頻后的輸出,M為模式選擇位,A為并行5B碼組輸入,Q為并行6B碼組輸出,shift_in為串行的5B碼組輸出,shift_out為串行的6B碼組輸出,這里選用任意一個碼組01011作為串行碼組輸入,可以看到在一個clk6周期后串行輸出的6B碼組為100111,通過編碼表對比可以知道,設計與仿真都是正確的,故整個系統(tǒng)完全實現(xiàn)了所要求的功能。
第四章總結本文簡單介紹了一種方法實現(xiàn)5B6B的編碼,并使用VHDL硬件語言實現(xiàn)了5B6B編碼數(shù)字化設計,完成了編碼器最基本的功能,在這個基礎上,未來的目標就是降低監(jiān)測同步信號誤碼率,使這個設計更加完美。第一次采用FPGA來對5B6B編碼,所有的Verilog編程中,所有的設計QUARTUS2功能仿真和時序驗證已經(jīng)通過仿真。畢業(yè)設計選擇這一個題目是因為有同學在課程設計中曾做這個題目,可以相互探討。開始可以選擇Matlab或者VHDL語言來進行設計,我們選擇了用VHDL來做,使用自上而下的硬件描述語言的設計方法來實現(xiàn)。
參考文獻[1]李勇權,劉永強,何云狀,樊建明.一種基于FPGA的5B6B編譯碼的實現(xiàn)[J].微計算機信息,2007,(14)[2]張少鋒,楊章順,戴琦,齊恒,冉立新.\o"光纖數(shù)字通信系統(tǒng)5B6B編譯碼的FPGA實現(xiàn)"光纖數(shù)字通信系統(tǒng)5B6B編譯碼的FPGA實現(xiàn)[J].光通信技術,2004,(12)[3]劉增基,周洋溢,胡遼林,周綺麗.光纖通信(第二版)[M].西安:西安電子科技大學出版社,2008.12[4]劉紹漢,劉新民,林杜生.VHDL芯片設計[M].北京:清華大學出版社,2004.[5]段吉海,等.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設計[M].北京:電子工業(yè)出版社,2004.[6]江國強.EDA技術與應用[M].北京:電子工業(yè)出版社,2004.[7]季雄,等.基于VerilogHDL的UART設計[J]微計算機信息.2006,6-2;230-232.[8]孫嬌燕.碼編解碼方案的分析與改進,光通信技術,1994,18(4):282~286[9]夏宇聞.復雜數(shù)字電路與系統(tǒng)的VerilogHDL設計技術.北京:北京航空航天大學出版社,1998,9[10]楊祥林.光纖通信系統(tǒng)[M].北京:國防工業(yè)出版社,2000.1.[11]王新梅,等.糾錯碼原理與方法[M].西安:西安電子科技大學出版社,2001[12]南利平,李光華,張晨燕,王亞飛.通信原理簡明教程:第二版[M].北京:清華大學出版社,2007.8.[13]樊昌信,詹道庸,徐炳祥,等.通信原理[M].北京:國防工業(yè)出版社,2001[14]DorotaHuizinga,AdamKolawa.AutomatedDefectPrevention:BestPracticesinSoftwareManagement[M].Wiley-Blackwell,2007.[15]AdamKolawa.TheNextLeapinProductivity:WhatTopManagersReallyNeedtoKnowaboutInformationTechnology[M].Wiley,2009.
致謝四年的時間轉眼就過去了,在這四年里我成長了很多,也從周圍的朋友身上了解到了很多這一輩子都不會忘記的事。在這即將畢業(yè)離校之際,我很感謝在這段時間里同學們和老師們的幫助,很感謝大家!通過此次做畢業(yè)論文,我覺得我對自己的實踐動手能力提高了很多。畢竟在之前的學習生活中,理論往往是大于實踐的,我們花更多的時間在課堂以及書本的學習上,但很少花時間去自己親手去實現(xiàn)一個功能。所以,通過這兩個月來的使用,我已經(jīng)很好掌握了QuartusII軟件的使用方法,并對5B6B碼有了一個很明確的了解。在這個過程中,我遇到了很多的問題,但是我通過上網(wǎng)查詢以及和同學相互交流,一一解決了這些難題。從中有知道了,有些東西不親自動手去做,是永遠都學不會的。在這里,我想我應該感謝我的老師張倩老師。在張倩老師的指導下,我很有條理的完成了各個時間段應該完成的工作,不至于在最后截止日期前手忙腳亂。并且,在這期間張倩老師也給了我很多學術上的指導,使我受益匪淺。最終,我很感謝張老師在畢業(yè)論文的寫作中給我的幫助!姜曉菀2014年6月于合肥學院
附錄:圖表目錄TOC\h\z\c"圖"圖1QuartusII運行背景 1圖2系統(tǒng)總體設計圖 10圖3時鐘控制模塊 11圖4串并轉換模塊 11圖5緩存電路 12圖6并串轉換模塊 12圖7完整電路頂層圖 12圖8分頻器的仿真 13圖9串并轉換模塊的仿真 13圖10緩存電路的仿真 14圖11并串轉換模塊的仿真 14圖12完整電路仿真波形 15TOC\h\z\c"表"表15B6B碼表 9程序代碼(一)六分頻器模塊:序列發(fā)生器的輸入時鐘脈沖六分頻從而可以實現(xiàn)每輸入6BIT的并行信號就將其轉換給變量。具體程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCNT6isport(clk:instd_logic;clk6:outstd_logic);end;architectureexamofCNT6issignalq:std_logic_vector(2downto0);signaltemp:std_logic;beginprocess(clk)beginifclk'eventandclk='1'thenifq="101"thenq<="000";temp<='1';elseq<=q+1;temp<='0';endif;endif;endprocess;clk6<=temp;endexam;(二)五位串并轉換模塊:5位串變并用循環(huán)移位實現(xiàn)Clk0來一次有效,Y接收串行的數(shù)據(jù)就向右移一位當五分頻的信號clk5有效時把Y輸出。編碼部分五串變五并程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitySER2PAR5to5is port(clk:instd_logic; shift_in:instd_logic; A:outstd_logic_vector(4downto0)); end;architectureoneofSER2PAR5to5is signalq:std_logic_vector(4downto0);begin p1:process(clk) begin ifclk'eventandclk='1' thenq<=q(3downto0)&shift_in; endif; endprocessp1;A<=q;endone;(三)存儲器模塊:根據(jù)上面的碼表確定5位碼對應的6位碼利用類似查表的方法把輸入的五位數(shù)據(jù)當作rom中的地址然后輸出對應的6位碼。編碼部分程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPROM5_6ISPORT(Y:INSTD_LOGIC_VECTOR(4DOWNTO0); clk,F:INSTD_LOGIC; Q:OUTSTD_LOGIC_VECTOR(5DOWNTO0));END;ARCHITECTUREONEOFPROM5_6ISSIGNALREG:STD_LOGIC_VECTOR(5DOWNTO0);BEGINP1:PROCESS(Y,F)BEGINifF='0'then--模式一部分caseYis when"00000"=>REG<="000111"; when"00001"=>REG<="011100"; when"00010"=>REG<="110001"; when"00011"=>REG<="101001";--buxing when"00100"=>REG<="011010"; when"00101"=>REG<="010011"; when"00110"=>REG<="101100"; when"00111"=>REG<="111001"; when"01000"=>REG<="100110"; when"01001"=>REG<="010101"; when"01010"=>REG<="010111"; when"01011"=>REG<="100111"; when"01100"=>REG<="101011"; when"01101"=>REG<="011110"; when"01110"=>REG<="101110"; when"01111"=>REG<="110100"; when"10000"=>REG<="001011"; when"10001"=>REG<="011101"; when"10010"=>REG<="011011"; when"10011"=>REG<="110101"; when"10100"=>REG<="110110"; when"10101"=>REG<="111010"; when"10110"=>REG<="101010"; when"10111"=>REG<="011001"; when"11000"=>REG<="101101"; when"11001"=>REG<="001101"; when"11010"=>REG<="110010"; when"11011"=>REG<="010110"; when"11100"=>REG<="100101"; when"11101"=>REG<="100011"; when"11110"=>REG<="001110"; when"11111"=>REG<="111000"; WHENOTHERS=>REG<=NULL;endcase; endif;ifF='1'then--模式二部分caseYis when"00000"=>REG<="000111"; when"00001"=>REG<="011100"; when"00010"=>REG<="110001"; when"00011"=>REG<="101001"; when"00100"=>REG<="011010"; when"00101"=>REG<="010011"; when
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版內(nèi)墻涂料產(chǎn)品生命周期評價與環(huán)保風險評估合同4篇
- 二零二五年度民商法擔保合同環(huán)保責任條款3篇
- 2025年鉆井工程地質(zhì)災害預防合同3篇
- 二零二五年度太陽能熱水器熱水系統(tǒng)節(jié)能改造技術咨詢合同
- 二零二五年度炊事員勞動合同(含競業(yè)禁止)3篇
- 二零二五年度互聯(lián)網(wǎng)醫(yī)院信息化建設合同4篇
- 2025版特色農(nóng)家樂項目投資租賃合同范本4篇
- 二零二五年度房地產(chǎn)經(jīng)紀服務合同:房地產(chǎn)公司與經(jīng)紀公司合作3篇
- 二零二五版美容美發(fā)行業(yè)安全責任與保險合同4篇
- 二零二五年度新能源技術博士引進與項目合作合同4篇
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 建筑勞務專業(yè)分包合同范本(2025年)
- 企業(yè)融資報告特斯拉成功案例分享
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
- 《阻燃材料與技術》課件 第8講 阻燃木質(zhì)材料
- 低空經(jīng)濟的社會接受度與倫理問題分析
- GB/T 4732.1-2024壓力容器分析設計第1部分:通用要求
- 河北省保定市競秀區(qū)2023-2024學年七年級下學期期末生物學試題(解析版)
- 2024年江蘇省勞動合同條例
- 六編元代文學
評論
0/150
提交評論