要點(diǎn)
FPGA能滿足目前的視頻處理系統(tǒng)的需要。
在視頻處理應(yīng)用領(lǐng)域,必須格外重視測(cè)試臺(tái)設(shè)計(jì)。
應(yīng)使驗(yàn)證環(huán)境盡可能接近真實(shí)世界,這將使電路板級(jí)的集成變得容易,并減少重制需要。
參與消費(fèi)電子細(xì)分市場(chǎng),會(huì)帶來(lái)許多優(yōu)勢(shì)。盡管如此,該細(xì)分市場(chǎng)的設(shè)計(jì)團(tuán)隊(duì)仍將面臨急劇收縮的上市時(shí)間窗口。因此,基于FPGA的設(shè)計(jì)已經(jīng)演變成為許多系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)者的首選。同時(shí),人們對(duì)消費(fèi)品中的多媒體功能的需求日益增多,這使得DSP和流傳輸接口成為許多嵌入式產(chǎn)品中必備的部件。幾家FPGA廠商開(kāi)發(fā)了帶有DSP核心與流傳輸接口的FPGA,它們?cè)诩夹g(shù)和復(fù)雜度上均足以應(yīng)對(duì)最近這些設(shè)計(jì)要求。
但是,如果FPGA通過(guò)接口與DSP核心連接,并且高速視頻數(shù)據(jù)是通過(guò)它來(lái)傳輸,那么它根本不是簡(jiǎn)單的系統(tǒng)。這種更高的設(shè)計(jì)復(fù)雜度導(dǎo)致了額外的驗(yàn)證難題,并且如果您在設(shè)計(jì)階段晚期發(fā)現(xiàn)一處重大錯(cuò)誤,那么這還會(huì)導(dǎo)致高成本的系統(tǒng)板重制。為了消除這一隱患,您必須仔細(xì)考慮自己采用的驗(yàn)證方法,以便降低重制風(fēng)險(xiǎn)。
對(duì)基于FPGA的設(shè)計(jì)進(jìn)行驗(yàn)證,其最大優(yōu)勢(shì)在于,系統(tǒng)在最低級(jí)別擁有預(yù)先定義的體系結(jié)構(gòu),因此您在設(shè)計(jì)伊始就知道測(cè)試必要場(chǎng)景的范圍。因此,驗(yàn)證團(tuán)隊(duì)可在FPGA基礎(chǔ)上構(gòu)建一個(gè)模仿實(shí)際系統(tǒng)體系結(jié)構(gòu)的驗(yàn)證環(huán)境。
除了驗(yàn)證外設(shè)之外,您還必須驗(yàn)證FPGA內(nèi)部的各種設(shè)計(jì)元件,比如數(shù)字時(shí)鐘管理器(DCM)和塊RAM,您在自己的設(shè)計(jì)方案中會(huì)用到它們。但是這需要您驗(yàn)證許多部件。因此測(cè)試完成時(shí)間會(huì)極大地影響產(chǎn)品開(kāi)發(fā)總體時(shí)間。有鑒于此,驗(yàn)證環(huán)境必須具有很高的時(shí)間效率。如果您在對(duì)FPGA設(shè)計(jì)元件和外圍器件有充分了解的前提下開(kāi)發(fā)出恰當(dāng)?shù)尿?yàn)證環(huán)境,那么該環(huán)境的初期設(shè)計(jì)可使您編寫(xiě)出準(zhǔn)確的測(cè)試案例,并確認(rèn)電路板設(shè)計(jì)。
基元的正確使用
FPGA廠商們提供DCM、塊RAM等經(jīng)過(guò)良好驗(yàn)證的FPGA基元。但是,要想在FPGA設(shè)計(jì)中正確使用這些基元,您就必須遵循特定的指導(dǎo)方針。務(wù)必在設(shè)計(jì)方案變成芯片之前發(fā)現(xiàn)所有不正確的使用。例如,輸入時(shí)鐘上的允許時(shí)鐘抖動(dòng)就是這樣一條DCM約束。在某個(gè)測(cè)試案例中,DCM在低頻模式時(shí),對(duì)周期抖動(dòng)的約束為±300ps。按照設(shè)計(jì)規(guī)格,DCM的輸入時(shí)鐘可以是16.384、22.5792或24.576MHz。但是在設(shè)計(jì)驗(yàn)證期間,當(dāng)實(shí)驗(yàn)人員把輸入時(shí)鐘從一個(gè)頻率切換到另一個(gè)頻率時(shí),DCM解鎖了,這是因?yàn)轭l率的切換違反了輸入時(shí)鐘抖動(dòng)約束。因此,修改后的設(shè)計(jì)方案實(shí)現(xiàn)了一種機(jī)制,在改變輸入時(shí)鐘頻率的同時(shí)使DCM復(fù)位。如果您在前端驗(yàn)證期間未能發(fā)現(xiàn)此類(lèi)錯(cuò)誤,那么在電路板設(shè)計(jì)確認(rèn)期間,很有可能需要一周或更長(zhǎng)時(shí)間來(lái)查明錯(cuò)誤。
隨著技術(shù)的進(jìn)步,F(xiàn)PGA目前已把塊RAM包含在內(nèi),后者可以是單端口或雙端口存儲(chǔ)器。如果是雙端口RAM,那么塊RAM允許兩個(gè)端口同時(shí)訪問(wèn)同一個(gè)存儲(chǔ)單元。但是,如果設(shè)計(jì)者以不恰當(dāng)?shù)姆绞絹?lái)實(shí)現(xiàn)RAM控制器,那么在同一個(gè)有效的寫(xiě)周期當(dāng)中,兩個(gè)存儲(chǔ)器端口也許會(huì)試圖向相同的RAM位置寫(xiě)入不同數(shù)據(jù)。驗(yàn)證團(tuán)隊(duì)必須為此類(lèi)場(chǎng)景準(zhǔn)備單獨(dú)的測(cè)試。因此,F(xiàn)PGA設(shè)計(jì)者和FPGA驗(yàn)證工程師都必須意識(shí)到FPGA內(nèi)部元件的要求或約束。
輸入信號(hào)的變化
在現(xiàn)實(shí)世界,F(xiàn)PGA的輸入信號(hào)具有路由路徑延遲和質(zhì)量退化現(xiàn)象。FPGA驗(yàn)證計(jì)劃應(yīng)該考慮輸入激勵(lì)信號(hào)生成過(guò)程中的時(shí)序和信號(hào)完整性的這類(lèi)變化。例如,一種很好的做法就是了解輸入信號(hào)偏離理想條件的漂移程度,這樣您就能驗(yàn)證FPGA設(shè)計(jì)在漂移期間將順利發(fā)揮作用。當(dāng)接口同步,并且某個(gè)外部器件在驅(qū)動(dòng)時(shí)鐘時(shí),這項(xiàng)要求就會(huì)變得至關(guān)重要。根據(jù)路由路徑延遲、發(fā)射器件的時(shí)鐘至輸出延遲、接收器件的輸入設(shè)置時(shí)間的不同情況,數(shù)據(jù)、控制和時(shí)鐘可能會(huì)具有各自不同的延遲。在高頻工作期間,這一約束也許會(huì)給FPGA留下很窄的采樣窗口,供它記錄輸入數(shù)據(jù)。在這種情況下,在向FPGA設(shè)計(jì)提供激勵(lì)時(shí),您就應(yīng)該考慮這類(lèi)實(shí)時(shí)延遲。
在現(xiàn)實(shí)世界,輸入時(shí)鐘伴隨著抖動(dòng)和漂移變化。雖然你可用DCM來(lái)處理這些變化,但DCM在輸入時(shí)鐘變化公差方面有自己的限制。驗(yàn)證工程師必須知道在真實(shí)系統(tǒng)中可能出現(xiàn)的時(shí)鐘變化,并且在驗(yàn)證環(huán)境中生成輸入時(shí)鐘時(shí),包含相同的變化。采用這類(lèi)做法可幫助發(fā)現(xiàn)FPGA設(shè)計(jì)方案的局限性,并在早期開(kāi)發(fā)階段實(shí)施糾正行動(dòng)。
外設(shè)的集成
流媒體的迅速成長(zhǎng)要求各系統(tǒng)以更快的速度工作。對(duì)于頻率較高的系統(tǒng),您在集成FPGA及其外設(shè)器件時(shí)務(wù)必小心。這些外設(shè)器件在輸入設(shè)置和保持時(shí)間方面具有時(shí)序約束。驗(yàn)證工程師必須知道所有外設(shè)器件的時(shí)序約束。如果添加示波器來(lái)驗(yàn)證具有不同時(shí)序約束的FPGA設(shè)計(jì)方案,就會(huì)迫使設(shè)計(jì)者遵循恰當(dāng)?shù)脑O(shè)計(jì)指導(dǎo)方針,來(lái)使FPGA設(shè)計(jì)與系統(tǒng)兼容。
FPGA可以實(shí)現(xiàn)UART、I2C、SPI、GPIO等等標(biāo)準(zhǔn)接口。這些標(biāo)準(zhǔn)應(yīng)該指定這些端口的驗(yàn)證策略。在驗(yàn)證這類(lèi)設(shè)計(jì)方案時(shí),您還必須考慮那些使用定制接口的外設(shè)器件的時(shí)序約束。例如,F(xiàn)PGA的GPIO接口可與板上多路復(fù)用器連接。FPGA負(fù)責(zé)驅(qū)動(dòng)多路復(fù)用器的選擇輸入,然后記錄它的輸出。一旦選擇輸入發(fā)生變化,多路復(fù)用器在其輸入端就需要穩(wěn)定時(shí)間。如果實(shí)現(xiàn)在生成驗(yàn)證模型響應(yīng)過(guò)程中發(fā)生的這種延遲,就可確保FPGA僅在多路復(fù)用器的輸出穩(wěn)定后記錄它的輸出。
使各團(tuán)隊(duì)同步工作
使受測(cè)FPGA設(shè)計(jì)方案感覺(jué)像是實(shí)時(shí)應(yīng)用軟件流,這是一種很好的做法。當(dāng)應(yīng)用軟件施加自己的某些限制時(shí),看似在驗(yàn)證測(cè)試臺(tái)上工作的FPGA設(shè)計(jì)方案也許無(wú)法正常運(yùn)行。不妨設(shè)想某種用于高清視頻記錄的FPGA設(shè)計(jì)方案。FPGA必須記錄原始視頻數(shù)據(jù),并填充內(nèi)部FIFO緩沖器。DSP通過(guò)外部存儲(chǔ)器接口與FPGA連接,讀取FPGAFIFO緩沖器的內(nèi)容以便記錄視頻數(shù)據(jù)。利用來(lái)自真實(shí)應(yīng)用軟件流的時(shí)序信息,驗(yàn)證工程師就能估計(jì)DSP在連續(xù)兩次FIFO緩沖器讀操作之間可能耗費(fèi)的最長(zhǎng)時(shí)間。工程師然后可以實(shí)現(xiàn)某個(gè)考慮了DSP上述限制的測(cè)試案例。如果FIFO緩沖器容量太小,無(wú)法緩沖連續(xù)兩次FIFO緩沖器讀操作之間的最長(zhǎng)間隔期間到達(dá)的所有數(shù)據(jù),那么測(cè)試就會(huì)記錄一次錯(cuò)誤。
視頻信號(hào)處理領(lǐng)域的問(wèn)題與數(shù)據(jù)相關(guān)。因此應(yīng)在電路板設(shè)計(jì)確認(rèn)期間使用不同類(lèi)型的視頻圖形,這可能很重要。該方法有助于確保任何視頻流應(yīng)用的準(zhǔn)確視頻處理。隨著開(kāi)源領(lǐng)域的進(jìn)步,驗(yàn)證工程師可隨時(shí)找到合適的開(kāi)源軟件,來(lái)生成原始數(shù)據(jù)格式的此類(lèi)測(cè)試圖形。驗(yàn)證工程師可利用軟件或直接記錄來(lái)自某系統(tǒng)的圖形,由此生成原始數(shù)據(jù)文件等視頻圖形。選用這類(lèi)方法后,驗(yàn)證工程師就能在實(shí)時(shí)測(cè)試場(chǎng)景下發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,并在前端驗(yàn)證期間糾正它們,而不必等到客戶碰巧應(yīng)用了某個(gè)視頻圖形使系統(tǒng)失靈后。
利用軟件或記錄直接來(lái)自某系統(tǒng)的圖形驗(yàn)證工程師就能在實(shí)時(shí)測(cè)試場(chǎng)景下發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤
在設(shè)計(jì)階段伊始,驗(yàn)證團(tuán)隊(duì)和軟件團(tuán)隊(duì)在測(cè)試計(jì)劃中就應(yīng)該擁有一套共同的測(cè)試場(chǎng)景。這套共同的測(cè)試案例將確保電路板設(shè)計(jì)確認(rèn)期間不存在漏洞。另外,設(shè)計(jì)者在設(shè)計(jì)階段初期還能發(fā)現(xiàn)或糾正任何實(shí)現(xiàn)錯(cuò)誤或集成錯(cuò)誤。
FPGA設(shè)計(jì)方案十分復(fù)雜,這就要求設(shè)計(jì)者在設(shè)計(jì)階段盡早發(fā)現(xiàn)問(wèn)題,避免重制。在減少電路板設(shè)計(jì)確認(rèn)期間出現(xiàn)的錯(cuò)誤數(shù)量方面,驗(yàn)證的作用變得很重要。驗(yàn)證工程師應(yīng)仔細(xì)考慮系統(tǒng)體系結(jié)構(gòu),并應(yīng)具備外設(shè)硬件方面的工作知識(shí),這將使他們能寫(xiě)出更接近實(shí)時(shí)應(yīng)用的測(cè)試場(chǎng)景。這些萬(wàn)法會(huì)使驗(yàn)證工作變得很有效,最終使電路板設(shè)計(jì)確認(rèn)工作變得很容易。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603463 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305299 -
視頻處理
+關(guān)注
關(guān)注
2文章
98瀏覽量
18817
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論