VHDL是隨著可編輯邏輯器件(PLD)的發(fā)展而發(fā)展起來的一種硬件描述語言,。它是1980年美國國防部VHSIC(超高速集成電路)計劃的一部分,并于 1986年和1987年分別成為美國國防部和IEEE的工業(yè)標準,。作為一種硬件設計時采用的標準語言,,VHDL具有極強的描述能力,,能支持系統(tǒng)行為級、寄 存器傳輸級和門級三個不同層次的設計,,這樣設計師將在TOP-DOWN設計的全過程中均可方便地使用同一種語言,。而且,VHDL設計是一種“概念驅(qū)動式” 的高層設計技術,,設計人員毋需通過門級原理圖描述電路,,而是針對目標進行功能描述,由于擺脫了電路細節(jié)的束縛,,設計人員可以專心于設計方案和構(gòu)思上,,因此 設計工作省時省力,加快了設計周期,,并且工藝轉(zhuǎn)換變得輕松,。VHDL設計技術對可編程專用集成電路(ASIC)的發(fā)展起著極為重要的作用,。
自 從微軟提出“維納斯”計劃后,機頂盒便成為信息產(chǎn)業(yè)追逐的主要目標,,也是信息家電中的主流產(chǎn)品,。各國都在加緊對機頂盒的開發(fā),我國也提出了相應的“女媧” 計劃,,全國許多科研單位與生產(chǎn)廠家都在進行這方面的研究,。由于我國有線電視資源豐富,市場前景很大,,因而對有線電視機頂盒的研究也就格外引人注目,。然而, 由于我國還未完全開展數(shù)字電視業(yè)務,,因而在機頂盒的調(diào)試過程中,,要找到合適的信號源是很不容易的,不得不采用通過計算機輸出標準視頻碼流的方式來實現(xiàn),???大多數(shù)計算機EISA總線并行輸出的數(shù)據(jù)速率都難以滿足實際工作的需要。雖然EISA總線可以一次輸出16位并行數(shù)據(jù),,但這對于一次只能處理8位并行數(shù)據(jù) 的器件來說,,仍需要一個轉(zhuǎn)換過程。本文介紹了一種數(shù)據(jù)格式轉(zhuǎn)換的設計方案,。該方案采用VHDL對一塊CPLD芯片進行編程,,使其實現(xiàn)從16位并行數(shù)據(jù)到8 位并行數(shù)據(jù)的轉(zhuǎn)換,并將EISA口的數(shù)據(jù)輸出速率提高一倍,,達到信源要求,。
1 VHDL的特點
VHDL是一種面向設計的、多層次,、多領域且得一致認同的,、標準的硬件描述語言。它主要有如下特點:
*能形式化地抽象表示電路的結(jié)構(gòu)和行為,,降低了硬件電路設計的難度,。
*采用自上到下(Top-Down)的設計方法,支持邏輯設計中層次與領域的描述,;它支持三個層次的描述:行為描述,、RTL方式描述、門級描述(邏輯綜合),。
*可進行系統(tǒng)的早期仿真以保證設計的正確性,。
*主要設計文件是VHDL語言編寫的源程序,便于文檔管理,。
*硬件描述與實現(xiàn)工藝無關,。
由于VHDL語言已作為一種IEEE的工業(yè)標準,,因而其語言標準、規(guī)范,、語法比較嚴格,,易于共享和復用。而且,,VHDL設計技術齊全,、方法靈活、支持廣泛,。目前大多數(shù)EDA工具幾乎在不同程度上都支持VHDL語言,。
2 CPLD外部引腳說明
該方案中所用的芯片是Xilinx公司的CPLD 9500系列芯片,其類型為XC95108-7 PC84,。這種芯片共有84個外部引腳,,其中5個引腳接地,6個引腳接電源,,4個引腳用于JTAG,,剩下的引腳為I/O引腳。根據(jù)EISA總線的信號特征和信源的要求,,該芯片所使用的外部引腳為如圖1所示,。
圖1中輸入信號:
DATA_IN 15~0 輸入的數(shù)據(jù)信號
ADDRESS 15~0 輸入的地址信號
RESET 復位信號
AEN 地址允許信號
CLK 輸入時鐘信號
IOW I/O寫信號
輸出信號:
IO_CS 16位I/O片選信號
DATA_OUT 7~0 輸出的數(shù)據(jù)信號
DEN 輸出數(shù)據(jù)使能信號
DCLK 輸出數(shù)據(jù)時鐘信號
3 系統(tǒng)整體設計
系 統(tǒng)啟動后,主機向I/O口發(fā)出地址信號,。AEN為低電平時,,系統(tǒng)進行地址譯碼。譯碼成功后,,產(chǎn)生一使能信號ENABLE打開數(shù)據(jù)暫存單元,。數(shù)據(jù)到來后,數(shù) 據(jù)暫存單元將總線上的16位并行數(shù)據(jù)鎖存在暫存器中,,同時產(chǎn)生一允許信號PERMIT,,允許進行數(shù)據(jù)格式轉(zhuǎn)換,。接下來系統(tǒng)根據(jù)當前所處的狀態(tài)進行選擇輸 出,,完成格式的轉(zhuǎn)換,并產(chǎn)生相應的輸出數(shù)據(jù)使能信號DEN和輸出數(shù)據(jù)時鐘信號DCLK,。整個過程結(jié)束后,,將各信號復位,開始新的轉(zhuǎn)換周期,。因此,,整個系統(tǒng) 應包括五個邏輯部分:地址譯碼、數(shù)據(jù)暫存,、狀態(tài)控制,、復位控制,、轉(zhuǎn)換輸出。
3.1 系統(tǒng)的整體框圖
系統(tǒng)的整體框圖如圖2所示,。
3.2 系統(tǒng)的工作時序
轉(zhuǎn)換過程的時序如圖3所示,。
4 VHDL語言描述
4.1 各單元模塊的描述
*地址譯碼單元
計 算機與I/O設備間的正確通信是通過對I/O空間的尋址操作來完成的。每個I/O端口都分配了一個地址,。在該方案中,,將端口的地址設定為0280H,采用 完全譯碼的方式,。同時為了避免DMA操作控制總線,,設計時讓aen亦參與譯碼,并由時鐘信號進行觸發(fā)控制,。譯碼成功后,,產(chǎn)生一使能信號enable(高電 平有效),同時將io_cs信號拉低,。
*數(shù)據(jù)暫存單元
enable信號無效時,,數(shù)據(jù)暫存單元為高阻狀態(tài)。該信號和寫信號iow(低電平有效)都變?yōu)橛行Ш?,在接下來的一個時鐘的下降沿(確保采樣時數(shù)據(jù)有效),,將總線上的數(shù)據(jù)讀入數(shù)據(jù)暫存單元,并產(chǎn)生一允許信號permit,,允許系統(tǒng)進行格式轉(zhuǎn)換,。
•狀態(tài)控制單元
這是系統(tǒng)的控制部分。系統(tǒng)狀態(tài)的控制是由系統(tǒng)的控制信號simbol,、sign在時鐘信號的驅(qū)動下實現(xiàn)的,。系統(tǒng)每完成一次8位數(shù)據(jù)的輸出,在同一時鐘的下降沿,,狀態(tài)發(fā)生改變,,產(chǎn)生另外一控制信號varb(低電平有效)。復位后,,系統(tǒng)又回到初始狀態(tài),。狀態(tài)變化過程如下:
*轉(zhuǎn)換輸出單元
轉(zhuǎn) 換輸出單元是系統(tǒng)的核心,它包括三個部分:數(shù)據(jù)格式的轉(zhuǎn)換,、數(shù)據(jù)使能信號DEN的輸出,、數(shù)據(jù)時鐘信號DCLK的輸出。數(shù)據(jù)的轉(zhuǎn)換輸出是由系統(tǒng)當前所處的狀 態(tài)決定的,。permit信號有效后,,在時鐘的上升沿,轉(zhuǎn)換輸出單元檢測系統(tǒng)狀態(tài):狀態(tài)為first時,輸出高8位,;狀態(tài)為second時,,輸出低8位;狀 態(tài)為third時,,系統(tǒng)復位,,從而完成一次轉(zhuǎn)換,開始下一轉(zhuǎn)換周期,。在轉(zhuǎn)換過程中,,系統(tǒng)同時完成對信號simbol、sign(低電平有效)的控制,。
輸 出數(shù)據(jù)使能信號DEN是根據(jù)MPEG-2標準碼流格式產(chǎn)生的,,用于數(shù)據(jù)信號的同步。在MPEG-2標準中,,碼流是以包的形式傳送的,。每一個數(shù)據(jù)包都有一個 統(tǒng)一的包標識符PID,它的十六進制形式為47H,。從包中的第一個字節(jié)(47H)開始,,DEN變?yōu)橛行Вǜ唠娖剑⒈3值降?88字節(jié),。在接下來的16 個字節(jié)時間里,,DEN保持低電平。
輸出數(shù)據(jù)時鐘信號DCLK用作解復用單元的采樣時鐘,,它是由控制信號sign,、permit以及系統(tǒng)當前所處的狀態(tài)控制產(chǎn)生的。為了保證采樣時數(shù)據(jù)保持有效,,DCLK的輸出比相應的輸出數(shù)據(jù)要延遲半個機器周期,。
*復位控制單元
轉(zhuǎn)換結(jié)束后,需要對系統(tǒng)復位,,保證下一轉(zhuǎn)換的順利進行,。復位信號的產(chǎn)生取決于三個控制量:系統(tǒng)當前狀態(tài)為third、控制信號varb為低電平,、控制信號simbol為高電平,。復位后,輸出端為高阻狀態(tài),,其他信號均為無效值,。系統(tǒng)回到初始狀態(tài),。
4.2 系統(tǒng)的門級描述
整個系統(tǒng)的VHDL描述流程如圖4所示,。
總 之,機頂盒信源發(fā)生方案是機頂盒調(diào)試過程中的一個重要課題。本文提出的解決方案具有簡單,、實用,、易實現(xiàn)的特點,經(jīng)實踐證明是可行的,。同時在硬件實現(xiàn)時采用 了VHDL的設計方法,,也給整個方案提供了很大的靈活性。如果采用傳統(tǒng)的方法來實現(xiàn)該方案,,則首先要選擇通用的邏輯器件,,然后進行電路設計,完成各獨立功 能模塊,,再將各功能模塊連接起來,,完成整個電路的硬件設計,最后才能進行仿真和調(diào)試,,直至整個系統(tǒng)的完成,。這樣一個過程往往需要比較長的時間,而且費時費 力,,特別是對一項大的工程,。而采用VHDL這類高層設計技術,設計人員只需專心于設計方案和構(gòu)思上,,描述,、編譯成功后,經(jīng)過系統(tǒng)綜合,,便可直接進行軟件仿 真和調(diào)試,。整個系統(tǒng)的完成周期大大縮短,而且VHDL與工藝無關,,它不限定模擬工具和設計方法,,從而給設計師一個自由選擇的余地。
隨著電子工藝的日趨提高與完善,,ISP(系統(tǒng)內(nèi)可編程)功能為 PLD提供了更高的靈活性,,使PLD能夠向高密度、大規(guī)模的方向發(fā)展以滿足復雜系統(tǒng)的要求,,從而使可編程ASIC的設計逐步向高層設計轉(zhuǎn)移,。作為一種重要的高層設計技術,VHDL亦成為當代電子設計師們設計數(shù)字硬件時必須掌握的一種方法,。