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