摘 要:HDB3碼是一種線路傳輸碼,使用相當廣泛,其傳輸碼型是基帶傳輸系統(tǒng)中經(jīng)常采用的。HDB3碼具有無直流分量和低頻分量小,干擾能力較好和方便提取時鐘抗等優(yōu)點。本文闡述了HDB3碼編碼電路的基本原理,在QuartusⅡ軟件平臺上,對于設計HDB3碼編碼電路利用復雜可編程邏輯器件,并進行了編碼和波形仿真。
關鍵詞:編碼器;CPLD(復雜可編程邏輯器件);QuartusⅡ;VHDL語言;三階高密度雙極性碼(HDB3碼)
中圖分類號:TN791
HDB3碼傳輸波形,便于在光通信系統(tǒng)中定時信息的提取和檢錯。在數(shù)字通信系統(tǒng)中,采用單極性不歸零碼表示的數(shù)字基帶信號通常是數(shù)字信源的輸出,這種信號不僅含有極其豐富的直流分量,而且還含有低頻成份。數(shù)字通信的逐步發(fā)展,伴隨著HDB3碼的出現(xiàn),HDB3碼就克服了直流分量和低頻成分這一問題。本設計主要介紹的是一個基于超高速硬件描述語言VHDL對計算機電路中編碼器和譯碼器進行編程實現(xiàn)。
開發(fā)軟件QuartusⅡ中編寫硬件描述語言VHDL源程序是基于CPLD的,用于AMI/ HDB3編碼的實現(xiàn),編譯后生成編程文件,再通過特制的下載軟件由JTAG口和下載數(shù)據(jù)線將編程文件下載到CPLD芯片中。
1 CPLD設計流程
CPLD是一種數(shù)字集成電路,用戶可以根據(jù)各自的需求而自行設計的邏輯功能。集成開發(fā)軟件平臺的借助,并且利用原理圖、硬件描述語言等方法,生成對應的目標文件,然后再通過下載電纜將其代碼傳送到目標的芯片中。
(1)對于該項目文件名的輸入;(2)對于其源文件內(nèi)容的輸入;(3)關于CPLD型號的指定;(4)對于管腳、下載方法和邏輯綜合方法的設置;(5)對源文進行檢查與保存;(6)根據(jù)設計程序的實現(xiàn)功能對于芯片中管腳的指定;(7)根據(jù)編輯出來的源文件進行的編譯和保存;(8)根據(jù)設計程序的實現(xiàn)功能源文件生成波形文件;(9)對于生成的波形文件對其進行波形仿真;(10)根據(jù)仿真出來的波形,對于配置進行下載。
2 QuartusⅡ的設計輸入及流程
有多種方法可以設計QuartusⅡ軟件的輸入,主要的輸入方法有輸入原理圖方式、設計文本輸入方式、設計層次輸入方式、設計波形輸入方式以及設計底層輸入方式等等。另外還利用EDA設計輸入工具的工業(yè)標準生成設計文件,QuartusⅡ該軟件把以上的這些設計輸入方式整理為一個設計的體系,并且能夠實現(xiàn)信息在各個應用程序之間自由的轉換。因此,設計者可以根據(jù)自己所需的實際情況進行靈活選擇和使用。
2.1 輸入原理圖和編輯符號
利用各種原理圖庫進行設計輸入可以通過QuartusⅡ的圖形編輯器來實現(xiàn)。這種輸入方式是最為直接的:用圖形編輯器這種方式輸入時,對于效率的提高,需要采用從上到下的邏輯分塊,并且把大規(guī)模的電路分割成若干小模塊的方法,一般情況下,假如對于采用的系統(tǒng)十分了解,而且采用的系統(tǒng)速率非常高或者是在大系統(tǒng)中,對于要求較高的時間特性部分,應該采用以上這種方法,另外一種情況,對于效率較低得到原理圖輸入,但仿真容易實現(xiàn),并且便于觀察信號和編輯器的電路調符號,這種情況下可采用對原理圖庫中的各個元器件符號以及用戶所需實現(xiàn)功能的元件符號設計進行修改,這樣可以更好的滿足圖形編輯器的需求。
2.2 語言輸入的硬件描述
對于設計輸入的硬件描述語言可以使用VHDL、Verilog或AHDL等語言進行編輯,這樣就可以通過QuartusⅡ的文本編輯器進行編輯。QuartusⅡ Compiler這個軟件綜合了這些語言表達的邏輯運行,并且將其運行程序映射到各個器件中。對于語言描述的采用優(yōu)點是效率非常高,仿真結果也非常容易,觀察信號也及其方便,在較小的輸入庫設計之間非常方便進行轉換,但是對于語言的輸入必須依賴于綜合器,總之,必須有較好的綜合器才能優(yōu)化語言綜合成的電路,對于規(guī)范比較大量的、語言便于描述的、易于綜合的、傳輸速率比較低的電路可以采用這種語言輸入的方法。
2.3 波形的輸入
建立并編輯波形設計的文件以及輸入仿真向量和功能測試向量,可以通過QuartusⅡ軟件輸入波形的波形編輯器來實現(xiàn)。邏輯分析儀是波形編輯器的另一種功能,設計者可以通過邏輯分析儀來查看仿真結果。
時序函數(shù)和重復函數(shù)最適合于波形設計輸入。根據(jù)用戶定義的輸入/輸出波形自動生成邏輯關系是Compiler采用先進的波形綜合算法。
設計者可以對波形編輯功能進行波形的剪切、拷貝、重復、粘貼與伸展,進而可以用于內(nèi)部節(jié)點、觸發(fā)器以及狀態(tài)機建立來設計文件,首先把波形組合成組,然后再顯示出二進制、八進制、十進制或者十六進制的數(shù)值,最后把一組波形重疊到另一組波形上,通過這兩組波形對兩組仿真結果進行比較。
2.4 底層的編輯
為了方便進行人工的分配元器件引腳和邏輯單元,可以通過QuartusⅡ軟件的平面布置編緝囂(Floorplan Editor)來實現(xiàn),在設計方案中使用的各種器件的圖形非常容易進行邏輯布局,并且對于高層的器件視圖以及詳細的器件視圖都可以提供使用。設計者把分配引腳和邏輯單元的工作可以放在對設計編譯之前進行,編譯后再進行觀察、分析和修改結果。
設計人員可以利用平面布置編輯器來觀察器件中所有已經(jīng)分配的和還末分配的邏輯。任何節(jié)點或者各個引腳都可以被放置到新的位置,接著把邏輯分配給專用的引腳和專用的邏輯單元,同時也可分配給器件中更加恰當?shù)膮^(qū)域。
2.5 網(wǎng)表的輸入
為了方便和其它第三方EDA工具相連接可通過QuartusⅡ軟件來實現(xiàn)。采用網(wǎng)表輸入的方法輸入,可以直接移植其它軟件系統(tǒng)上設計的電路,從而不需要重新輸入。EDIF格式、VHDL格式及Verliog格式等格式都是QuartusⅡ軟件可以接受的。在采用網(wǎng)表輸入時,必須注意系統(tǒng)中所采用庫的對應關系,所有庫的單元都必須是一一對應的關系,這樣才可以成功進行網(wǎng)表的輸入。在Altera軟件庫中自己重新生成一個新庫并與原有設計的庫相對應是經(jīng)常采用的方法,這種方法的采用可對現(xiàn)有的設計資源充分利用,但是這種電路對于仿真時信號的觀測不方便,同時也給仿真帶來一定的難度。
2.6 層次設計的輸入
對于多種不同格式建立的設計文件是任何一個設計輸入都可能包含得。QuartusⅡ軟件在設計方案中支持多級層次,設計者可以利用這種靈活性來選擇最適合于設計中各個部分的設計輸入方法。顯示方案的層次結構,允許穿越層次以及自動打開各個設計文件的編輯程序,都可以通過QuartusⅡ軟件層次顯示程序來實現(xiàn)。
按照總體設計方案原則,開發(fā)板核心板和擴展板是可以分開的形式設計,即以子母板的形式。其特點如下:(1)A1tera公司的QuartusⅡ軟件是系統(tǒng)使用的軟件平臺,QuartusⅡ軟件支持VHDL語言、原理圖、波形等格式的文件,并對這些文件的任意混合設計均支持。(2)更加方便更換不同類型的擴展板或核心板,避免了傳統(tǒng)實驗箱更換FPGA器件受制約,同時也避免了對于要更換擴展部分,則必須更換整個實驗箱的弊病。(3)強大的系統(tǒng)功能,使用靈活方便,擴展性非常強。根據(jù)對擴展模塊的不同組合,可同時完成最基本的實驗以及自行設計的大型系統(tǒng)實驗。(4)經(jīng)過最后測試,開發(fā)板能滿足總體設計方案原則的各種需求。
參考文獻:
[1]王福昌,熊兆飛,黃本雄.通信原理[M].北京:清華大學出版社,2006.
[2]曹志剛,錢亞生.現(xiàn)代通信原理[M].北京:清華大學出版社,1992.
[3]王福昌,魯昆生.鎖相技術[M].武漢:華中科技大學出版社,1997.
作者簡介:楊啟慧(1987.05-),女,河南開封人,教師,助教,研究方向:網(wǎng)絡通信。
作者單位:鄭州電力職業(yè)技術學院,鄭州 451450