FPGA研發(fā)之道(10)架構(gòu)設(shè)計(jì)漫談(五)數(shù)字電路的靈魂-流水線
流水線,最早為人熟知,起源于十九世紀(jì)初的福特汽車工廠,富有遠(yuǎn)見的福特,改變了那種人圍著汽車轉(zhuǎn)、負(fù)責(zé)各個環(huán)節(jié)的生產(chǎn)模式,轉(zhuǎn)變成了流動的汽車組裝線和固定操作的人員。于是,工廠的一頭是不斷輸入的橡膠和鋼鐵,工廠的另一頭則是一輛輛正在下線的汽車。這種改變,不但提升了效率,更是拉開了工業(yè)時代大生產(chǎn)的序幕。
本文引用地址:http://m.butianyuan.cn/article/264455.htm如今,這種模式常常應(yīng)用于數(shù)字電路的設(shè)計(jì)之中,與現(xiàn)在流驅(qū)動的FPGA架構(gòu)不謀而合。舉例來說:某設(shè)計(jì)輸入為A種數(shù)據(jù)流,而輸出則是B種數(shù)據(jù)流,其流水架構(gòu)如下所示:
![](http://editerupload.eepw.com.cn/201410/db1c9d1fff080f74c61b2e38cbfe7f0e.gif)
?
每個模塊只負(fù)責(zé)處理其中的一部分,這種處理的好處是,1、簡化設(shè)計(jì),每個模塊只負(fù)責(zé)其中的一個功能,便于功能和模塊劃分。2,時序優(yōu)化,流水的處理便于進(jìn)行時序的優(yōu)化,特別是處理復(fù)雜的邏輯,可以通過流水設(shè)計(jì),改善關(guān)鍵路徑,提升處理頻率,并能提升處理性能。
各個流水線之間的連接方式也可通過多種方式,如果是處理的是數(shù)據(jù)塊,流水模塊之間可以通過FIFO或者RAM進(jìn)行數(shù)據(jù)暫存的方式進(jìn)行直接連接、也可以通過寄存器直接透傳。也可通過某些支持brust傳輸?shù)某S脴I(yè)界標(biāo)準(zhǔn)總線接口進(jìn)行點(diǎn)對點(diǎn)的互聯(lián),例如AHB,WISHBONE,AVALON-ST等接口,這種設(shè)計(jì)的優(yōu)點(diǎn)是標(biāo)準(zhǔn)化,便于模塊基于標(biāo)準(zhǔn)接口復(fù)用。每個模塊的接收接口為從接口(SLAVE),而發(fā)送接口為主接口(MASTER)。
架構(gòu)流水的好處一目了然,但另一個問題,對于某些設(shè)計(jì)就需要謹(jǐn)慎處理,那就是時延。對于進(jìn)入流水線的信息A,如果接入的流水處理的模塊越多,其輸出時的時延也越高,因此如對處理時延要要求的設(shè)計(jì)就需要在架構(gòu)設(shè)計(jì)時,謹(jǐn)慎對待添加流水線。架構(gòu)設(shè)計(jì)時,可以通過處理各個單元之間的延時估計(jì),從而評估系統(tǒng)的時延,避免最終不能滿足時延短的需求,返回來修改架構(gòu)。
流水架構(gòu)在另種設(shè)計(jì)中則無能為力,那就是帶反饋的設(shè)計(jì),如下圖所示:
![](http://editerupload.eepw.com.cn/201410/285a529c47d2456e1bf319e8df570574.jpg)
?
圖中,需要處理模塊的輸入,需要上一次計(jì)算后的結(jié)果的值,也就是輸出要反饋回設(shè)計(jì)的輸入。例如某幀圖像的解壓需要解壓所后的上一幀的值,才能計(jì)算得出。此時,流水的處理就不能使用,若強(qiáng)行添加流水,則輸入需等待。
![](http://editerupload.eepw.com.cn/201410/ef3811bc328583594c2c9be96837104f.jpg)
?
如上圖中,如在需反饋的設(shè)計(jì)中強(qiáng)加流水,則輸入信息Ai需要等待Ai-1處理完畢后,再進(jìn)行輸入,則處理模塊1,就只能等待(空閑)。因此,問題出現(xiàn)了,流水線等待實(shí)際上就是其流水處理的的效果沒有達(dá)到,白白浪費(fèi)了邏輯和設(shè)計(jì)。
流水應(yīng)用在調(diào)用式的設(shè)計(jì)中,可以通過接口與處理流水并行達(dá)到。即寫入、處理、讀出等操作可以做到流水式架構(gòu),從而增加處理的能力。
流水是FPGA架構(gòu)設(shè)計(jì)中一種常用的手段,通過合理劃分流水層次,簡化設(shè)計(jì),優(yōu)化時序。同時流水在模塊設(shè)計(jì)中也是一種常用的手段和技巧。這將在后續(xù)重陸續(xù)介紹。,流水本身簡單易懂,而真正能在設(shè)計(jì)中活用,就需要對FPGA所處理的業(yè)務(wù)有著深刻的理解。正如那就話,知曉容易,踐行不易,且行且珍惜。
電路相關(guān)文章:電路分析基礎(chǔ)
fpga相關(guān)文章:fpga是什么
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論