模块怎么用_IC设计方法:模块划分与overdesign
今天講一個非常簡單的設(shè)計思想,這個東東也是IC設(shè)計方法里的基本矛盾之一:模塊劃分與overdesign。
模塊劃分乃是IC設(shè)計最基本也最經(jīng)典的概念之一。該步驟出現(xiàn)在芯片架構(gòu)設(shè)計之初。多方設(shè)計人員一起討論,決定要做什么功能,各個功能究竟要做到什么程度。然后將整個芯片切分成多個邏輯清晰的子模塊,決定由誰來實現(xiàn)各個子模塊,通常伴隨著一些嘴仗跟討價還價。討論結(jié)束之后,每個人就會大致清楚自己要實現(xiàn)什么功能,然后雙方會寫作接口文檔和自己模塊的功能定義及大致框圖。再接下來,各方進(jìn)一步確定接口的信號名、位寬以及操作時序。最后開始各自獨立研發(fā),coding自己的模塊。
模塊劃分允許多個IC設(shè)計人員同時協(xié)作,不需要考慮接口以外別人會怎么做,而只需要考慮自己的模塊怎么做就行。毫無疑問,提高了工作效率。
但是并不一定會提高設(shè)計質(zhì)量,因為它會帶來overdesign的問題。
什么是overdesign?就是過度設(shè)計,IC設(shè)計人員因為不了解與之對接的模塊是怎么coding的,也不關(guān)心對方是怎么coding的,導(dǎo)致很多情況下,考慮了過多的可能性,而把自己的設(shè)計搞得過于復(fù)雜。明明可以優(yōu)化的地方,沒有做到優(yōu)化;明明不需要的東西,卻增加了上去。
模塊劃分是很經(jīng)典的概念,搞IC設(shè)計的人都知道,教科書也愛講。但是沒有人講overdesign,因為這并不是一個經(jīng)典的概念,也沒有引起該有的重視。
很可惜的是,overdesign是很容易發(fā)生的事情。IC設(shè)計人員傾向于只在乎自己的功能模塊,一旦接口定義完之后,就不會考慮對方會怎么做,只需要對方提供恰當(dāng)?shù)慕涌跁r序,對于對方的內(nèi)部的行為不聞不問。
一個很常見的現(xiàn)象,就是IC設(shè)計人員在寫作自己的模塊的時候,會傾向于用很多buffer,而非實時處理。我先收到對方的內(nèi)容,然后buffer住,這樣我可以有更大的設(shè)計自由度決定何時處理。因為設(shè)計人員對對方模塊沒有精確的預(yù)期,不確定對方模塊能否立即回應(yīng),多久回應(yīng),并且不愿冒風(fēng)險假設(shè)對方模塊會何時回應(yīng),所以更傾向于假設(shè)無論對方何時回應(yīng)我都能夠處理,這樣自己的模塊才更加strong。設(shè)計人員會認(rèn)真考慮很多邊界情況,即便這些邊界情況不會發(fā)生,他也會做到自己的design里面去以防萬一。
這些overdesign現(xiàn)象,主要原因是因為我們不了解對方的內(nèi)部設(shè)計,有些時候又懶得溝通,深挖細(xì)節(jié),所以采用一種保險穩(wěn)妥的設(shè)計方案。有時候會導(dǎo)致,明明雙方可以并行的地方,我們做不到并行,明明不需要的資源,我們無謂的加了上去。有時候?qū)Ψ浇o我們一根內(nèi)部信號就能解決我們的控制難題,我們因為不知道對方有這個信號,所以自己兜兜轉(zhuǎn)轉(zhuǎn)費(fèi)大量精力才搞定。
所以,在設(shè)計架構(gòu)定義完成之后,每個設(shè)計者在對自己的模塊有了深入細(xì)致思考之后,其實還需要一個設(shè)計步驟,雙方需要再次開會,確定設(shè)計中有哪些可以壓縮的地方,有哪些重復(fù)設(shè)計或者過度考慮的地方。這個會議的存在將會對整體架構(gòu)進(jìn)行一次優(yōu)化,達(dá)到更高的設(shè)計水準(zhǔn)。
簡單來說,有兩次會議非常重要。一次是在架構(gòu)定義之初,各方開會決定怎么做模塊劃分,并對各個模塊的功能有一個基本的討論。另一次是各方對自己的模塊進(jìn)行了深入到RTL層的細(xì)致思考之后,再開一次會,確定各方的細(xì)致架構(gòu)合在一起有什么冗余或者低效的地方,進(jìn)行架構(gòu)優(yōu)化。兩次會議,一次為“分”,一次為“合”,才是最合理的設(shè)計流程。
當(dāng)然,很多團(tuán)隊并沒有開第二次會議的習(xí)慣,如果有的話,你會驚訝于overdesgin的現(xiàn)象有多么普遍,也會驚訝于搞設(shè)計的人有多么閉門造車。
歡迎大家關(guān)注我的微信公眾號:半導(dǎo)學(xué)社。
總結(jié)
以上是生活随笔為你收集整理的模块怎么用_IC设计方法:模块划分与overdesign的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOIP2007 count 统计数字
- 下一篇: 2015年数模A题太阳影子定位学习笔记