本站小編為你精心準備了計數(shù)器電路設(shè)計論文參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1電路設(shè)計
前導(dǎo)0計數(shù)器電路實現(xiàn)的功能:從數(shù)據(jù)的高位往低位計算連續(xù)0的個數(shù),若出現(xiàn)1,則停止計數(shù).
1.1設(shè)計理論本文設(shè)計一個108位前導(dǎo)0計數(shù)器電路,采用2位分組的并行計數(shù)算法,電路設(shè)計原理如下:如圖2所示,前導(dǎo)0計數(shù)電路將數(shù)據(jù)位寬平分為高半位和低半位兩個部分,然后分別對兩部分前導(dǎo)0個數(shù)進行計算,在下一級計數(shù)邏輯對上面兩個計數(shù)器結(jié)果進行匯總.當n=2時,相當于4位前導(dǎo)0計數(shù)電路;當n>2時,相當于2n位前導(dǎo)0計數(shù)電路.
1.24位前導(dǎo)0電路設(shè)計如圖3所示,Count[1:0]可以表示Data[3:0]不全為0時前導(dǎo)0個數(shù);當Data[3:0]全為0時,前導(dǎo)0的個數(shù)為4,Count[1:0]最多也只能表示3,因此需要Z信號作為Count的拓展位[4].當Data[3:0]全為0時,前導(dǎo)0個數(shù)是4,拓展位Z=1,count[1:0]=2′b00,Z與Count[1:0]組成3位二進制計數(shù)值,為3′b100,正好可以表示Data[3:0]全為0時前導(dǎo)0的個數(shù)4.
1.38位前導(dǎo)0電路設(shè)計8位前導(dǎo)0電路是在兩個4位前導(dǎo)0得出的計數(shù)結(jié)果后再做一次選擇,對前面兩個4位前導(dǎo)0的計數(shù)結(jié)果進行匯總.8位前導(dǎo)0的電路結(jié)構(gòu)如圖4所示.圖4中,左上方電路計算高4位前導(dǎo)0個數(shù),右上方電路計算低4位前導(dǎo)0個數(shù).當高4位全為0時,則需將高4位前導(dǎo)0個數(shù)與低4位前導(dǎo)0個數(shù)相加;當高4位不全為0,則只需輸出高4位前導(dǎo)0個數(shù)即可.當Data[7:0]不全為0,Count[2:0]即可表示前導(dǎo)0的個數(shù);當Data[7:0]全為0,則Count[2:0]=3’b0,Z=1,構(gòu)成二進制1000可以表示成8個0.從8位前導(dǎo)0電路結(jié)構(gòu),再結(jié)合4位前導(dǎo)0電路結(jié)構(gòu),由此找出前導(dǎo)0電路設(shè)計規(guī)律,為108位前導(dǎo)0電路設(shè)計提供結(jié)構(gòu)的拓展.將8位前導(dǎo)0電路結(jié)構(gòu)進行模塊層次化,如圖5所示.圖5所示,淺灰色模塊(四端口模塊)是1個NR2D和1個INVD,深灰色模塊(三端口模塊)是1個AN2D,上一級的白色模塊是3個MUX2D,下一級白色模塊(五端口模塊)是5個MUX2D.在大位寬前導(dǎo)0電路設(shè)計中,每向下增加一級模塊,模塊的個數(shù)就會增加一倍,白色模塊的MUX2D就會增加2個,淺灰色和深灰色模塊的邏輯單元不變.
1.4108前導(dǎo)0電路設(shè)計將64位、32位和12位這三個前導(dǎo)0電路進行拼接,組成的108位前導(dǎo)0電路結(jié)構(gòu)如圖6所示.如圖6所示,從上到下分別是第一級模塊、第二級模塊、第三級模塊、第四級模塊、第五級模塊、第六級模塊、第七級模塊.各個模塊的內(nèi)部邏輯電路如圖7所示,其中白色模塊n(n≥2)是指模塊的級數(shù)。
2電路優(yōu)化
2.1Z信號樹邏輯優(yōu)化圖6中深灰色模塊(三端口模塊)是Z信號樹邏輯模塊,Z信號樹經(jīng)過優(yōu)化之后如圖8所示.
2.2Count樹邏輯優(yōu)化圖6中白色模塊(五端口模塊)構(gòu)成Count樹,Count樹由MUX2D邏輯單元構(gòu)成.由于MUX2D標準單元存在傳輸管,導(dǎo)致標準單元延時大,以及單元驅(qū)動能力弱的情況[5].因此需要將傳輸管邏輯單元優(yōu)化成速度快、穩(wěn)定性好的CMOS互補邏輯單元。將MUX2D傳輸管邏輯單元通過邏輯換算,使之成為互補的CMOS邏輯單元,可以有效提高Count樹的計算速度和穩(wěn)定性.根據(jù)Count樹中白色模塊(五端口模塊)所處的模塊級數(shù),分奇偶兩種情況分別進行邏輯換算和重組,優(yōu)化之后的邏輯結(jié)構(gòu)如圖9所示.從圖9發(fā)現(xiàn),優(yōu)化后的邏輯電路中有反相器存在,并且隨著模塊級數(shù)增加,反相器個數(shù)也在增加.因此有必要將反相器提取出來,以一個大尺寸的反相器來代替這些分散的反相器,這樣既可以滿足驅(qū)動的需要,也可以用來減少面積.于是進一步優(yōu)化之后的電路結(jié)構(gòu)如圖10所示.
2.3單元尺寸優(yōu)化在同一級有關(guān)聯(lián)的相鄰兩個模塊,由于扇出不同造成負載不一樣,因而不同模塊內(nèi)部單元尺寸的調(diào)整順序也不一樣.108位前導(dǎo)0電路邏輯單元尺寸調(diào)整的順序如圖11所示.從圖11可以看出,首先優(yōu)化第1條路徑的尺寸,按照阿拉伯數(shù)字依次增大的順序,依次進行不同路徑的模塊單元尺寸調(diào)整,最后優(yōu)化第13條路徑.每條路徑都是順著箭頭的方向,對各個模塊依次進行單元尺寸的調(diào)整.
3性能比較
在108位前導(dǎo)0電路設(shè)計完成過后,提取電路設(shè)計的網(wǎng)表進行PT分析,通過PT分析獲得到時序和面積結(jié)果.然后分別與傳統(tǒng)前導(dǎo)0計數(shù)器的RTL級代碼[6]進行DC綜合的結(jié)果,以及8位分組的RTL級代碼進行DC綜合的結(jié)果進行比較,如表1所示.通過比較發(fā)現(xiàn),傳統(tǒng)前導(dǎo)0的RTL級代碼進行DC綜合的時序和面積都太大,相對而言8位分組前導(dǎo)0的RTL級代碼進行DC綜合的時序卻要比它要好得多,這也是當前一直使用8位分組前導(dǎo)0的RTL級代碼的原因.然而本文設(shè)計的2位分組的108位前導(dǎo)0電路,進行PT分析的時序比8位分組DC綜合的時序少了19%,但面積卻比8位分組的差了20%.由于計數(shù)器的運算速度對浮點加法的運算是至關(guān)重要的,在面積相差不大的情況下這個電路設(shè)計仍然是非常成功的.
4結(jié)束語
本文通過采用二位分組并行計數(shù)算法,實現(xiàn)108位前導(dǎo)0電路設(shè)計與優(yōu)化,并與當前性能最優(yōu)的8位分組RTL級代碼進行性能比較,通過比較發(fā)現(xiàn)采用2位并行分組計數(shù)的前導(dǎo)0電路的運算速度比8位分組RTL級代碼DC綜合的時序快了19%.由于前導(dǎo)0計數(shù)器電路處在浮點加法運算的關(guān)鍵路徑上,因此108位前導(dǎo)0計數(shù)器在時序上取得的良好結(jié)果,對提高浮點加法的運算具有非常重要的意義.
作者:李勇秦海陽李振濤單位:國防科學(xué)技術(shù)大學(xué)計算機學(xué)院