<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > FPGA研發(fā)之道(10)架構設計漫談(五)數字電路的靈魂-流水線(xiàn)

FPGA研發(fā)之道(10)架構設計漫談(五)數字電路的靈魂-流水線(xiàn)

作者: 時(shí)間:2014-10-27 來(lái)源:網(wǎng)絡(luò ) 收藏

  ,最早為人熟知,起源于十九世紀初的福特汽車(chē)工廠(chǎng),富有遠見(jiàn)的福特,改變了那種人圍著(zhù)汽車(chē)轉、負責各個(gè)環(huán)節的生產(chǎn)模式,轉變成了流動(dòng)的汽車(chē)組裝線(xiàn)和固定操作的人員。于是,工廠(chǎng)的一頭是不斷輸入的橡膠和鋼鐵,工廠(chǎng)的另一頭則是一輛輛正在下線(xiàn)的汽車(chē)。這種改變,不但提升了效率,更是拉開(kāi)了工業(yè)時(shí)代大生產(chǎn)的序幕。

本文引用地址:http://dyxdggzs.com/article/264455.htm

  如今,這種模式常常應用于數字電路的設計之中,與現在流驅動(dòng)的架構不謀而合。舉例來(lái)說(shuō):某設計輸入為A種數據流,而輸出則是B種數據流,其流水架構如下所示:

  

?

  每個(gè)模塊只負責處理其中的一部分,這種處理的好處是,1、簡(jiǎn)化設計,每個(gè)模塊只負責其中的一個(gè)功能,便于功能和模塊劃分。2,時(shí)序優(yōu)化,流水的處理便于進(jìn)行時(shí)序的優(yōu)化,特別是處理復雜的邏輯,可以通過(guò)流水設計,改善關(guān)鍵路徑,提升處理頻率,并能提升處理性能。

  各個(gè)之間的連接方式也可通過(guò)多種方式,如果是處理的是數據塊,流水模塊之間可以通過(guò)FIFO或者RAM進(jìn)行數據暫存的方式進(jìn)行直接連接、也可以通過(guò)寄存器直接透傳。也可通過(guò)某些支持brust傳輸的常用業(yè)界標準總線(xiàn)接口進(jìn)行點(diǎn)對點(diǎn)的互聯(lián),例如AHB,WISHBONE,AVALON-ST等接口,這種設計的優(yōu)點(diǎn)是標準化,便于模塊基于標準接口復用。每個(gè)模塊的接收接口為從接口(SLAVE),而發(fā)送接口為主接口(MASTER)。

  架構流水的好處一目了然,但另一個(gè)問(wèn)題,對于某些設計就需要謹慎處理,那就是時(shí)延。對于進(jìn)入的信息A,如果接入的流水處理的模塊越多,其輸出時(shí)的時(shí)延也越高,因此如對處理時(shí)延要要求的設計就需要在時(shí),謹慎對待添加流水線(xiàn)。時(shí),可以通過(guò)處理各個(gè)單元之間的延時(shí)估計,從而評估系統的時(shí)延,避免最終不能滿(mǎn)足時(shí)延短的需求,返回來(lái)修改架構。

  流水架構在另種設計中則無(wú)能為力,那就是帶反饋的設計,如下圖所示:

  

?

  圖中,需要處理模塊的輸入,需要上一次計算后的結果的值,也就是輸出要反饋回設計的輸入。例如某幀圖像的解壓需要解壓所后的上一幀的值,才能計算得出。此時(shí),流水的處理就不能使用,若強行添加流水,則輸入需等待。

  

?

  如上圖中,如在需反饋的設計中強加流水,則輸入信息Ai需要等待Ai-1處理完畢后,再進(jìn)行輸入,則處理模塊1,就只能等待(空閑)。因此,問(wèn)題出現了,流水線(xiàn)等待實(shí)際上就是其流水處理的的效果沒(méi)有達到,白白浪費了邏輯和設計。

  流水應用在調用式的設計中,可以通過(guò)接口與處理流水并行達到。即寫(xiě)入、處理、讀出等操作可以做到流水式架構,從而增加處理的能力。

  流水是中一種常用的手段,通過(guò)合理劃分流水層次,簡(jiǎn)化設計,優(yōu)化時(shí)序。同時(shí)流水在模塊設計中也是一種常用的手段和技巧。這將在后續重陸續介紹。,流水本身簡(jiǎn)單易懂,而真正能在設計中活用,就需要對所處理的業(yè)務(wù)有著(zhù)深刻的理解。正如那就話(huà),知曉容易,踐行不易,且行且珍惜。

電路相關(guān)文章:電路分析基礎


fpga相關(guān)文章:fpga是什么


數字濾波器相關(guān)文章:數字濾波器原理


關(guān)鍵詞: FPGA 架構設計 流水線(xiàn)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>