barrel shifer的設計思路

2021-10-24 07:24:41 字數 594 閱讀 3972

設計電路時,經常會遇到從乙個大位寬資料m中選擇連續的資料n,此時對每bit都使用mx顯然浪費了資源,而barrel_shifter是一種不錯的選擇。

設計思路(以example2為例):

step1:根據輸入輸出資料位寬確定最大移位值,7-2=5bit。

step2:將最大移位值依次減去1、2、4、……2^n(n=0,1,2...),直到為非正數,減數的個數即為barrel_shifer的層數。這裡5-1-2-4=-2,需要設計3層mx。

step3:3層mx,第1層移位4bit,第2層移位2bit,第3層移位1bit。

step4:第3層mx個數等於輸出資料位寬,第2層mx個數在第3層基礎上加1,第1層mx個數在第二層基礎上加2。

1、如果減去2^n後為負數,那麼有一部分mx就可以省略,資料為直通連線。

2、如果barrel_shifer的移位顆粒比1bit大,比如為16bit,那麼減法時從16bit開始,這裡反映在電路上就有可能省略最後幾層的mx。

設計模式的設計原則

單一職責原則 srp 單一職責適用於 介面,類,方法 開放封閉原則 ocp 乙個軟體實體應當對外擴充套件開放,對修改關閉 關鍵 什麼叫做鉤子方法?是對於抽象方法或者介面中定義的方法的乙個空實現 在實際的運用中,例如有乙個介面,這個介面裡面有7個方法,而你只想用其中的乙個方法,那麼這時,你可以寫乙個抽...

設計的萌芽階段 設計的萌芽階段 設計概念的產生

就業指導 設計的萌芽階段 設計概念的產生 在設計概念的產生過程中,勞動起著決定性的作用。勞動創造了人,而人類為了自身的生存就必須與自然界做鬥爭。人類最初只會用天然的石塊或棍棒作為工具,以後漸漸學會了揀選石塊 打製石器,作為敲 砸 刮 割的工具。這種石器便是人類最早的產品。由於人類能從事有意識 有目的...

設計模式 設計模式的學習 物件導向的設計原則

為什麼要有設計模式?設計模式的根本目的是減少專案變化所造成的影響,這一點要牢牢記住 工廠模式是把專案當中的變化點抽取封裝出來.至於哪些是變化點,哪些該抽象需要開發者自行觀察和 就要話說 設計模式 可復用物件導向軟體的基礎 這本書了,標題的重點應該是後面,可復用,物件導向,設計模式這個詞有點太高階。容...