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