FPGA研發(fā)之道(6)架構設計漫談(一)流驅動(dòng)和調用式
勿用諱言,現在國內FPGA開(kāi)發(fā)還處于小作坊的開(kāi)發(fā)階段,一般都是三、四個(gè)人,七八臺機器.小作坊如何也能做出大成果。這是每個(gè)FPGA工程師都要面臨的問(wèn)題。架構設計是面臨的第一關(guān)。經(jīng)常有這樣的項目,需求分析,架構設計匆匆忙忙,號稱(chēng)一兩個(gè)月開(kāi)發(fā)完畢,實(shí)際上維護項目就花了一年半時(shí)間。主要包括幾個(gè)問(wèn)題,一,性能不滿(mǎn)足需求。二,設計頻繁變更。三,系統不穩定,調試問(wèn)題不收斂。
本文引用地址:http://dyxdggzs.com/article/264349.htm磨刀不誤砍柴工,FPGA設計的需求分析是整個(gè)設計第一步。如何將系統的功能需求,轉換成FPGA的設計需求,是FPGA架構設計的首要問(wèn)題。首先, 需要明確劃分軟件和硬件的邊界。軟件主要處理輸入輸出、界面顯示、系統管理、設備維護。而FPGA則負責大數據流的處理。
如果使用幾百元FPGA實(shí)現了一個(gè)十幾元單片機就能完成的功能,就算實(shí)現的非常完美,那么這是一個(gè)什么樣的神設計?任何一個(gè)項目都要考慮成本,研發(fā)成本、物料成本、維護成本等等。FPGA的使用位置必定是其他器件難以企及的優(yōu)勢。
因此對于一個(gè)FPGA架構設計,其首先需要考慮就是性能,如沒(méi)有性能的需求,其他的處理器ARM就可能替代其功能。其次就是接口,用于處理器擴展其沒(méi)有的接口,作為高速接口轉換。最后,需要考慮就是可維護性,FPGA的調試是非常耗時(shí)的,一個(gè)大型的FPGA的編譯時(shí)間在幾小時(shí)甚至更高(通過(guò)嵌入式分析儀抓信號,每天工作8小時(shí),只能分析兩到三次)。而軟件調試只需make,編譯時(shí)間以秒來(lái)記(這個(gè)問(wèn)題可以通過(guò)提升編譯服務(wù)器性能改善而不能消失,本質(zhì)上要考慮可測性設計)。如果不考慮維護性和可測性,調試成本和壓力就非常之大。
通常,FPGA的大部分架構設計可以采用數據流驅動(dòng)的方式來(lái)實(shí)現,例子1,假設一個(gè)實(shí)現視頻解壓縮FPGA的設計,輸入是無(wú)線(xiàn)接口,輸出為顯示屏。那么輸入輸出的接口基本就能確定。以數據流為驅動(dòng)可以粗略劃分,輸入接口->解壓縮模塊->視頻轉換模塊->顯示接口。如需要視頻緩沖,則確定是否需要連接外部存儲器。那就需要確認在什么位置進(jìn)行數據的緩沖。通過(guò)要支持顯示的畫(huà)面的質(zhì)量,就能確認最大碼流,同樣可以計算視頻解壓模塊和轉換模塊的計算能力,從而導出所需的內部總線(xiàn)寬度,系統頻率,以及子模塊個(gè)數等等。例子2,某支持通過(guò)有線(xiàn)電視網(wǎng)上網(wǎng)電視IP網(wǎng)關(guān),同樣也是輸入的普通IP網(wǎng)絡(luò ),輸出為有線(xiàn)調試網(wǎng)的調試解調器。將IP報文等長(cháng)填充后,在固定時(shí)隙內送入有線(xiàn)電視網(wǎng)中,同樣也是基于數據流驅動(dòng)的方式。
數據流驅動(dòng)式架構,可以作為FPGA設計中一個(gè)最重要的架構。通常來(lái)說(shuō)應用于IP領(lǐng)域、存儲領(lǐng)域、數字處理領(lǐng)域等較大型FPGA設計都是數據流驅動(dòng)式架構,主要包括輸入接口單元,主處理單元,輸出接口單元。還可能包括,輔助處理單元、外部存儲單元。這些單元之間一般采用流水式處理,即處理完畢后,數據打包發(fā)完下一級處理。其中輸入輸出可能有多個(gè),此時(shí)還需要架構內部實(shí)現數據的交換。
另一種較為常用的架構方式為調用式架構,即一般FPGA通過(guò)標準接口如PCI、PCI-E,CPCI,PCI-X,EMIF等等。各種接口,FPGA內部實(shí)現某一加速單元,如視頻加速,數據處理,格式轉換等操作。這種結構基本基本圍繞FPGA接口、加速單元展開(kāi),屬于數據的反饋類(lèi)型,即處理完數據又反饋回接口模塊。
其他雖然各型各樣,如SOPC,如各型接口,但本質(zhì)上其都是為上述架構服務(wù)的,或做配置管理替代外部CPU,或在數據流中間傳遞中間參數?;蛟趦炔繉?shí)現CPU+協(xié)處理器的架構,因此說(shuō),無(wú)他變化。
孫子兵法云:“兵無(wú)常勢,水無(wú)常形”。但是對于一種設計技術(shù)來(lái)說(shuō),沒(méi)有一種固定演進(jìn)的架構和設計,那么項目的整個(gè)設計層次總是推到重來(lái),從本質(zhì)上說(shuō),就是一種低水平重復。如果總結規律,提煉共性,才能在提升設計層次,在小作坊中取得大成果。
fpga相關(guān)文章:fpga是什么
汽車(chē)防盜機相關(guān)文章:汽車(chē)防盜機原理 頻譜分析儀相關(guān)文章:頻譜分析儀原理
評論