新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用VHDL設(shè)計(jì)實(shí)現(xiàn)的有線頂盒信源發(fā)生方案

用VHDL設(shè)計(jì)實(shí)現(xiàn)的有線頂盒信源發(fā)生方案

作者: 時(shí)間:2017-06-06 來源:網(wǎng)絡(luò) 收藏

是隨著可編輯邏輯器件(PLD)的發(fā)展而發(fā)展起來的一種硬件描述語言。它是1980年美國國防部VHSIC(超高速集成電路)計(jì)劃的一部分,并于1986年和1987年分別成為美國國防部和IEEE的工業(yè)標(biāo)準(zhǔn)。作為一種硬件設(shè)計(jì)時(shí)采用的標(biāo)準(zhǔn)語言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和門級三個(gè)不同層次的設(shè)計(jì),這樣設(shè)計(jì)師將在TOP-DOWN設(shè)計(jì)的全過程中均可方便地使用同一種語言。而且,設(shè)計(jì)是一種“概念驅(qū)動(dòng)式”的高層設(shè)計(jì)技術(shù),設(shè)計(jì)人員毋需通過門級原理圖描述電路,而是針對目標(biāo)進(jìn)行功能描述,由于擺脫了電路細(xì)節(jié)的束縛,設(shè)計(jì)人員可以專心于設(shè)計(jì)和構(gòu)思上,因此設(shè)計(jì)工作省時(shí)省力,加快了設(shè)計(jì)周期,并且工藝轉(zhuǎn)換變得輕松。VHDL設(shè)計(jì)技術(shù)對可編程專用集成電路(ASIC)的發(fā)展起著極為重要的作用。

自從微軟提出“維納斯”計(jì)劃后,機(jī)頂盒便成為信息產(chǎn)業(yè)追逐的主要目標(biāo),也是信息家電中的主流產(chǎn)品。各國都在加緊對機(jī)頂盒的開發(fā),我國也提出了相應(yīng)的“女媧”計(jì)劃,全國許多科研單位與生產(chǎn)廠家都在進(jìn)行這方面的研究。由于我國有線電視資源豐富,市場前景很大,因而對有線電視機(jī)頂盒的研究也就格外引人注目。然而,由于我國還未完全開展數(shù)字電視業(yè)務(wù),因而在機(jī)頂盒的調(diào)試過程中,要找到合適的信號源是很不容易的,不得不采用通過計(jì)算機(jī)輸出標(biāo)準(zhǔn)視頻碼流的方式來實(shí)現(xiàn)。可大多數(shù)計(jì)算機(jī)EISA總線并行輸出的數(shù)據(jù)速率都難以滿足實(shí)際工作的需要。雖然EISA總線可以一次輸出16位并行數(shù)據(jù),但這對于一次只能處理8位并行數(shù)據(jù)的器件來說,仍需要一個(gè)轉(zhuǎn)換過程。本文介紹了一種數(shù)據(jù)格式轉(zhuǎn)換的設(shè)計(jì)。該采用VHDL對一塊CPLD芯片進(jìn)行編程,使其實(shí)現(xiàn)從16位并行數(shù)據(jù)到8位并行數(shù)據(jù)的轉(zhuǎn)換,并將EISA口的數(shù)據(jù)輸出速率提高一倍,達(dá)到信源要求。

1、VHDL的特點(diǎn)

VHDL是一種面向設(shè)計(jì)的、多層次、多領(lǐng)域且得一致認(rèn)同的、標(biāo)準(zhǔn)的硬件描述語言。它主要有如下特點(diǎn):

能形式化地抽象表示電路的結(jié)構(gòu)和行為,降低了硬件電路設(shè)計(jì)的難度。

采用自上到下(Top-Down)的設(shè)計(jì)方法,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述;它支持三個(gè)層次的描述:行為描述、RTL方式描述、門級描述(邏輯綜合)。

可進(jìn)行系統(tǒng)的早期仿真以保證設(shè)計(jì)的正確性。

主要設(shè)計(jì)文件是VHDL語言編寫的源程序,便于文檔管理。

硬件描述與實(shí)現(xiàn)工藝無關(guān)。

由于VHDL語言已作為一種IEEE的工業(yè)標(biāo)準(zhǔn),因而其語言標(biāo)準(zhǔn)、規(guī)范、語法比較嚴(yán)格,易于共享和復(fù)用。而且,VHDL設(shè)計(jì)技術(shù)齊全、方法靈活、支持廣泛。目前大多數(shù)EDA工具幾乎在不同程度上都支持VHDL語言。

本文引用地址:http://butianyuan.cn/article/201706/349510.htm

2、CPLD外部引腳說明

該方案中所用的芯片是Xilinx公司的CPLD9500系列芯片,其類型為XC95108-7PC84。這種芯片共有84個(gè)外部引腳,其中5個(gè)引腳接地,6個(gè)引腳接電源,4個(gè)引腳用于JTAG,剩下的引腳為I/O引腳。根據(jù)EISA總線的信號特征和信源的要求,該芯片所使用的外部引腳為如圖1所示。

圖1

圖1中輸入信號:

DATA_IN15~0輸入的數(shù)據(jù)信號

ADDRESS15~0輸入的地址信號

RESET復(fù)位信號

AEN地址允許信號

CLK輸入時(shí)鐘信號

IOWI/O寫信號

輸出信號:

IO_CS16位I/O片選信號

DATA_OUT7~0輸出的數(shù)據(jù)信號

DEN輸出數(shù)據(jù)使能信號

DCLK輸出數(shù)據(jù)時(shí)鐘信號

3、系統(tǒng)整體設(shè)計(jì)

系統(tǒng)啟動(dòng)后,主機(jī)向I/O口發(fā)出地址信號。AEN為低電平時(shí),系統(tǒng)進(jìn)行地址譯碼。譯碼成功后,產(chǎn)生一使能信號ENABLE打開數(shù)據(jù)暫存單元。數(shù)據(jù)到來后,數(shù)據(jù)暫存單元將總線上的16位并行數(shù)據(jù)鎖存在暫存器中,同時(shí)產(chǎn)生一允許信號PERMIT,允許進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。接下來系統(tǒng)根據(jù)當(dāng)前所處的狀態(tài)進(jìn)行選擇輸出,完成格式的轉(zhuǎn)換,并產(chǎn)生相應(yīng)的輸出數(shù)據(jù)使能信號DEN和輸出數(shù)據(jù)時(shí)鐘信號DCLK。整個(gè)過程結(jié)束后,將各信號復(fù)位,開始新的轉(zhuǎn)換周期。因此,整個(gè)系統(tǒng)應(yīng)包括五個(gè)邏輯部分:地址譯碼、數(shù)據(jù)暫存、狀態(tài)控制、復(fù)位控制、轉(zhuǎn)換輸出。

3.1系統(tǒng)的整體框圖

系統(tǒng)的整體框圖如圖2所示。

圖2

3.2系統(tǒng)的工作時(shí)序

轉(zhuǎn)換過程的時(shí)序如圖3所示。

圖3


4、VHDL語言描述

4.1各單元模塊的描述

地址譯碼單元

計(jì)算機(jī)與I/O設(shè)備間的正確通信是通過對I/O空間的尋址操作來完成的。每個(gè)I/O端口都分配了一個(gè)地址。在該方案中,將端口的地址設(shè)定為0280H,采用完全譯碼的方式。同時(shí)為了避免DMA操作控制總線,設(shè)計(jì)時(shí)讓aen亦參與譯碼,并由時(shí)鐘信號進(jìn)行觸發(fā)控制。譯碼成功后,產(chǎn)生一使能信號enable(高電平有效),同時(shí)將io_cs信號拉低。

數(shù)據(jù)暫存單元

enable信號無效時(shí),數(shù)據(jù)暫存單元為高阻狀態(tài)。該信號和寫信號iow(低電平有效)都變?yōu)橛行Ш?,在接下來的一個(gè)時(shí)鐘的下降沿(確保采樣時(shí)數(shù)據(jù)有效),將總線上的數(shù)據(jù)讀入數(shù)據(jù)暫存單元,并產(chǎn)生一允許信號permit,允許系統(tǒng)進(jìn)行格式轉(zhuǎn)換。

狀態(tài)控制單元

這是系統(tǒng)的控制部分。系統(tǒng)狀態(tài)的控制是由系統(tǒng)的控制信號simbol、sign在時(shí)鐘信號的驅(qū)動(dòng)下實(shí)現(xiàn)的。系統(tǒng)每完成一次8位數(shù)據(jù)的輸出,在同一時(shí)鐘的下降沿,狀態(tài)發(fā)生改變,產(chǎn)生另外一控制信號varb(低電平有效)。復(fù)位后,系統(tǒng)又回到初始狀態(tài)。狀態(tài)變化過程如下:

如圖所示



轉(zhuǎn)換輸出單元

轉(zhuǎn)換輸出單元是系統(tǒng)的核心,它包括三個(gè)部分:數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)使能信號DEN的輸出、數(shù)據(jù)時(shí)鐘信號DCLK的輸出。數(shù)據(jù)的轉(zhuǎn)換輸出是由系統(tǒng)當(dāng)前所處的狀態(tài)決定的。permit信號有效后,在時(shí)鐘的上升沿,轉(zhuǎn)換輸出單元檢測系統(tǒng)狀態(tài):狀態(tài)為first時(shí),輸出高8位;狀態(tài)為second時(shí),輸出低8位;狀態(tài)為third時(shí),系統(tǒng)復(fù)位,從而完成一次轉(zhuǎn)換,開始下一轉(zhuǎn)換周期。在轉(zhuǎn)換過程中,系統(tǒng)同時(shí)完成對信號simbol、sign(低電平有效)的控制。

輸出數(shù)據(jù)使能信號DEN是根據(jù)MPEG-2標(biāo)準(zhǔn)碼流格式產(chǎn)生的,用于數(shù)據(jù)信號的同步。在MPEG-2標(biāo)準(zhǔn)中,碼流是以包的形式傳送的。每一個(gè)數(shù)據(jù)包都有一個(gè)統(tǒng)一的包標(biāo)識符PID,它的十六進(jìn)制形式為47H。從包中的第一個(gè)字節(jié)(47H)開始,DEN變?yōu)橛行?高電平),并保持到第188字節(jié)。在接下來的16個(gè)字節(jié)時(shí)間里,DEN保持低電平。

輸出數(shù)據(jù)時(shí)鐘信號DCLK用作解復(fù)用單元的采樣時(shí)鐘,它是由控制信號sign、permit以及系統(tǒng)當(dāng)前所處的狀態(tài)控制產(chǎn)生的。為了保證采樣時(shí)數(shù)據(jù)保持有效,DCLK的輸出比相應(yīng)的輸出數(shù)據(jù)要延遲半個(gè)機(jī)器周期。

復(fù)位控制單元

轉(zhuǎn)換結(jié)束后,需要對系統(tǒng)復(fù)位,保證下一轉(zhuǎn)換的順利進(jìn)行。復(fù)位信號的產(chǎn)生取決于三個(gè)控制量:系統(tǒng)當(dāng)前狀態(tài)為third、控制信號varb為低電平、控制信號simbol為高電平。復(fù)位后,輸出端為高阻狀態(tài),其他信號均為無效值。系統(tǒng)回到初始狀態(tài)。

4.2系統(tǒng)的門級描述

整個(gè)系統(tǒng)的VHDL描述流程如圖4所示。

圖4

總之,機(jī)頂盒方案是機(jī)頂盒調(diào)試過程中的一個(gè)重要課題。本文提出的解決方案具有簡單、實(shí)用、易實(shí)現(xiàn)的特點(diǎn),經(jīng)實(shí)踐證明是可行的。同時(shí)在硬件實(shí)現(xiàn)時(shí)采用了VHDL的設(shè)計(jì)方法,也給整個(gè)方案提供了很大的靈活性。如果采用傳統(tǒng)的方法來實(shí)現(xiàn)該方案,則首先要選擇通用的邏輯器件,然后進(jìn)行電路設(shè)計(jì),完成各獨(dú)立功能模塊,再將各功能模塊連接起來,完成整個(gè)電路的硬件設(shè)計(jì),最后才能進(jìn)行仿真和調(diào)試,直至整個(gè)系統(tǒng)的完成。這樣一個(gè)過程往往需要比較長的時(shí)間,而且費(fèi)時(shí)費(fèi)力,特別是對一項(xiàng)大的工程。而采用VHDL這類高層設(shè)計(jì)技術(shù),設(shè)計(jì)人員只需專心于設(shè)計(jì)方案和構(gòu)思上,描述、編譯成功后,經(jīng)過系統(tǒng)綜合,便可直接進(jìn)行軟件仿真和調(diào)試。整個(gè)系統(tǒng)的完成周期大大縮短,而且VHDL與工藝無關(guān),它不限定模擬工具和設(shè)計(jì)方法,從而給設(shè)計(jì)師一個(gè)自由選擇的余地。

隨著電子工藝的日趨提高與完善,ISP(系統(tǒng)內(nèi)可編程)功能為PLD提供了更高的靈活性,使PLD能夠向高密度、大規(guī)模的方向發(fā)展以滿足復(fù)雜系統(tǒng)的要求,從而使可編程ASIC的設(shè)計(jì)逐步向高層設(shè)計(jì)轉(zhuǎn)移。作為一種重要的高層設(shè)計(jì)技術(shù),VHDL亦成為當(dāng)代電子設(shè)計(jì)師們設(shè)計(jì)數(shù)字硬件時(shí)必須掌握的一種方法。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉