用VHDL設計實(shí)現的有線(xiàn)頂盒信源發(fā)生方案
VHDL是隨著(zhù)可編輯邏輯器件(PLD)的發(fā)展而發(fā)展起來(lái)的一種硬件描述語(yǔ)言。它是1980年美國國防部VHSIC(超高速集成電路)計劃的一部分,并于1986年和1987年分別成為美國國防部和IEEE的工業(yè)標準。作為一種硬件設計時(shí)采用的標準語(yǔ)言,VHDL具有極強的描述能力,能支持系統行為級、寄存器傳輸級和門(mén)級三個(gè)不同層次的設計,這樣設計師將在TOP-DOWN設計的全過(guò)程中均可方便地使用同一種語(yǔ)言。而且,VHDL設計是一種“概念驅動(dòng)式”的高層設計技術(shù),設計人員毋需通過(guò)門(mén)級原理圖描述電路,而是針對目標進(jìn)行功能描述,由于擺脫了電路細節的束縛,設計人員可以專(zhuān)心于設計方案和構思上,因此設計工作省時(shí)省力,加快了設計周期,并且工藝轉換變得輕松。VHDL設計技術(shù)對可編程專(zhuān)用集成電路(ASIC)的發(fā)展起著(zhù)極為重要的作用。
自從微軟提出“維納斯”計劃后,機頂盒便成為信息產(chǎn)業(yè)追逐的主要目標,也是信息家電中的主流產(chǎn)品。各國都在加緊對機頂盒的開(kāi)發(fā),我國也提出了相應的“女?huà)z”計劃,全國許多科研單位與生產(chǎn)廠(chǎng)家都在進(jìn)行這方面的研究。由于我國有線(xiàn)電視資源豐富,市場(chǎng)前景很大,因而對有線(xiàn)電視機頂盒的研究也就格外引人注目。然而,由于我國還未完全開(kāi)展數字電視業(yè)務(wù),因而在機頂盒的調試過(guò)程中,要找到合適的信號源是很不容易的,不得不采用通過(guò)計算機輸出標準視頻碼流的方式來(lái)實(shí)現??纱蠖鄶涤嬎銠CEISA總線(xiàn)并行輸出的數據速率都難以滿(mǎn)足實(shí)際工作的需要。雖然EISA總線(xiàn)可以一次輸出16位并行數據,但這對于一次只能處理8位并行數據的器件來(lái)說(shuō),仍需要一個(gè)轉換過(guò)程。本文介紹了一種數據格式轉換的設計方案。該方案采用VHDL對一塊CPLD芯片進(jìn)行編程,使其實(shí)現從16位并行數據到8位并行數據的轉換,并將EISA口的數據輸出速率提高一倍,達到信源要求。
1、VHDL的特點(diǎn)
VHDL是一種面向設計的、多層次、多領(lǐng)域且得一致認同的、標準的硬件描述語(yǔ)言。它主要有如下特點(diǎn):
能形式化地抽象表示電路的結構和行為,降低了硬件電路設計的難度。
采用自上到下(Top-Down)的設計方法,支持邏輯設計中層次與領(lǐng)域的描述;它支持三個(gè)層次的描述:行為描述、RTL方式描述、門(mén)級描述(邏輯綜合)。
可進(jìn)行系統的早期仿真以保證設計的正確性。
主要設計文件是VHDL語(yǔ)言編寫(xiě)的源程序,便于文檔管理。
硬件描述與實(shí)現工藝無(wú)關(guān)。
由于VHDL語(yǔ)言已作為一種IEEE的工業(yè)標準,因而其語(yǔ)言標準、規范、語(yǔ)法比較嚴格,易于共享和復用。而且,VHDL設計技術(shù)齊全、方法靈活、支持廣泛。目前大多數EDA工具幾乎在不同程度上都支持VHDL語(yǔ)言。
該方案中所用的芯片是Xilinx公司的CPLD9500系列芯片,其類(lèi)型為XC95108-7PC84。這種芯片共有84個(gè)外部引腳,其中5個(gè)引腳接地,6個(gè)引腳接電源,4個(gè)引腳用于JTAG,剩下的引腳為I/O引腳。根據EISA總線(xiàn)的信號特征和信源的要求,該芯片所使用的外部引腳為如圖1所示。

圖1
圖1中輸入信號:
DATA_IN15~0輸入的數據信號
ADDRESS15~0輸入的地址信號
RESET復位信號
AEN地址允許信號
CLK輸入時(shí)鐘信號
IOWI/O寫(xiě)信號
輸出信號:
IO_CS16位I/O片選信號
DATA_OUT7~0輸出的數據信號
DEN輸出數據使能信號
DCLK輸出數據時(shí)鐘信號
3、系統整體設計
系統啟動(dòng)后,主機向I/O口發(fā)出地址信號。AEN為低電平時(shí),系統進(jìn)行地址譯碼。譯碼成功后,產(chǎn)生一使能信號ENABLE打開(kāi)數據暫存單元。數據到來(lái)后,數據暫存單元將總線(xiàn)上的16位并行數據鎖存在暫存器中,同時(shí)產(chǎn)生一允許信號PERMIT,允許進(jìn)行數據格式轉換。接下來(lái)系統根據當前所處的狀態(tài)進(jìn)行選擇輸出,完成格式的轉換,并產(chǎn)生相應的輸出數據使能信號DEN和輸出數據時(shí)鐘信號DCLK。整個(gè)過(guò)程結束后,將各信號復位,開(kāi)始新的轉換周期。因此,整個(gè)系統應包括五個(gè)邏輯部分:地址譯碼、數據暫存、狀態(tài)控制、復位控制、轉換輸出。
3.1系統的整體框圖
系統的整體框圖如圖2所示。

圖2
3.2系統的工作時(shí)序
轉換過(guò)程的時(shí)序如圖3所示。

圖3
4.1各單元模塊的描述
地址譯碼單元
計算機與I/O設備間的正確通信是通過(guò)對I/O空間的尋址操作來(lái)完成的。每個(gè)I/O端口都分配了一個(gè)地址。在該方案中,將端口的地址設定為0280H,采用完全譯碼的方式。同時(shí)為了避免DMA操作控制總線(xiàn),設計時(shí)讓aen亦參與譯碼,并由時(shí)鐘信號進(jìn)行觸發(fā)控制。譯碼成功后,產(chǎn)生一使能信號enable(高電平有效),同時(shí)將io_cs信號拉低。
數據暫存單元
enable信號無(wú)效時(shí),數據暫存單元為高阻狀態(tài)。該信號和寫(xiě)信號iow(低電平有效)都變?yōu)橛行Ш?,在接下?lái)的一個(gè)時(shí)鐘的下降沿(確保采樣時(shí)數據有效),將總線(xiàn)上的數據讀入數據暫存單元,并產(chǎn)生一允許信號permit,允許系統進(jìn)行格式轉換。
狀態(tài)控制單元
這是系統的控制部分。系統狀態(tài)的控制是由系統的控制信號simbol、sign在時(shí)鐘信號的驅動(dòng)下實(shí)現的。系統每完成一次8位數據的輸出,在同一時(shí)鐘的下降沿,狀態(tài)發(fā)生改變,產(chǎn)生另外一控制信號varb(低電平有效)。復位后,系統又回到初始狀態(tài)。狀態(tài)變化過(guò)程如下:

如圖所示
轉換輸出單元
轉換輸出單元是系統的核心,它包括三個(gè)部分:數據格式的轉換、數據使能信號DEN的輸出、數據時(shí)鐘信號DCLK的輸出。數據的轉換輸出是由系統當前所處的狀態(tài)決定的。permit信號有效后,在時(shí)鐘的上升沿,轉換輸出單元檢測系統狀態(tài):狀態(tài)為first時(shí),輸出高8位;狀態(tài)為second時(shí),輸出低8位;狀態(tài)為third時(shí),系統復位,從而完成一次轉換,開(kāi)始下一轉換周期。在轉換過(guò)程中,系統同時(shí)完成對信號simbol、sign(低電平有效)的控制。
輸出數據使能信號DEN是根據MPEG-2標準碼流格式產(chǎn)生的,用于數據信號的同步。在MPEG-2標準中,碼流是以包的形式傳送的。每一個(gè)數據包都有一個(gè)統一的包標識符PID,它的十六進(jìn)制形式為47H。從包中的第一個(gè)字節(47H)開(kāi)始,DEN變?yōu)橛行?高電平),并保持到第188字節。在接下來(lái)的16個(gè)字節時(shí)間里,DEN保持低電平。
輸出數據時(shí)鐘信號DCLK用作解復用單元的采樣時(shí)鐘,它是由控制信號sign、permit以及系統當前所處的狀態(tài)控制產(chǎn)生的。為了保證采樣時(shí)數據保持有效,DCLK的輸出比相應的輸出數據要延遲半個(gè)機器周期。
復位控制單元
轉換結束后,需要對系統復位,保證下一轉換的順利進(jìn)行。復位信號的產(chǎn)生取決于三個(gè)控制量:系統當前狀態(tài)為third、控制信號varb為低電平、控制信號simbol為高電平。復位后,輸出端為高阻狀態(tài),其他信號均為無(wú)效值。系統回到初始狀態(tài)。
4.2系統的門(mén)級描述
整個(gè)系統的VHDL描述流程如圖4所示。

圖4
總之,機頂盒信源發(fā)生方案是機頂盒調試過(guò)程中的一個(gè)重要課題。本文提出的解決方案具有簡(jiǎn)單、實(shí)用、易實(shí)現的特點(diǎn),經(jīng)實(shí)踐證明是可行的。同時(shí)在硬件實(shí)現時(shí)采用了VHDL的設計方法,也給整個(gè)方案提供了很大的靈活性。如果采用傳統的方法來(lái)實(shí)現該方案,則首先要選擇通用的邏輯器件,然后進(jìn)行電路設計,完成各獨立功能模塊,再將各功能模塊連接起來(lái),完成整個(gè)電路的硬件設計,最后才能進(jìn)行仿真和調試,直至整個(gè)系統的完成。這樣一個(gè)過(guò)程往往需要比較長(cháng)的時(shí)間,而且費時(shí)費力,特別是對一項大的工程。而采用VHDL這類(lèi)高層設計技術(shù),設計人員只需專(zhuān)心于設計方案和構思上,描述、編譯成功后,經(jīng)過(guò)系統綜合,便可直接進(jìn)行軟件仿真和調試。整個(gè)系統的完成周期大大縮短,而且VHDL與工藝無(wú)關(guān),它不限定模擬工具和設計方法,從而給設計師一個(gè)自由選擇的余地。
隨著(zhù)電子工藝的日趨提高與完善,ISP(系統內可編程)功能為PLD提供了更高的靈活性,使PLD能夠向高密度、大規模的方向發(fā)展以滿(mǎn)足復雜系統的要求,從而使可編程ASIC的設計逐步向高層設計轉移。作為一種重要的高層設計技術(shù),VHDL亦成為當代電子設計師們設計數字硬件時(shí)必須掌握的一種方法。
評論