王小華,羅曉曙,殷嚴(yán)剛
摘 要:針對IC前端設(shè)計中的關(guān)鍵技術(shù),即將寄存器傳輸級(RTL)描述的手工綜合成門級網(wǎng)表,通過人工參與的方式,運用數(shù)字電路設(shè)計知識將行為級代碼用一些最基本的邏輯門(比如與非門、非門、或非門等)按照對應(yīng)的綜合電路模型得出其相應(yīng)的門級電路。在ASIC設(shè)計過程中運用這種方法,不僅優(yōu)化電路的結(jié)構(gòu),且能保證邏輯功能的正確性,同時可降低傳輸過程中的延遲,提高芯片設(shè)計的可靠性。因此,研究ASCI設(shè)計中的手工綜合具有重要的實用價值。
關(guān)鍵詞:專用集成電路;寄存器傳輸級;門級網(wǎng)表;可靠性;手工綜合
中圖分類號:TN402.22文獻標(biāo)識碼:A
文章編號:1004-373X(2009)20-004-03
Research on Manual Synthesis Based on ASIC Design
WANG Xiaohua,LUO Xiaoshu,YIN Yangang
(College of Physics and Electronic Engineering,Guangxi Normal University,Guilin,541004,China)
Abstract:With the development of ASIC design rapidly,it is key technology of the front-end IC design that the register transfer level description is manually synthesized the register transfer level.Through artificial participation,behave-level code by some of the most basic logic gates(such as nand-door,non-door,nor-door,etc.) gets the corresponding gate-level circuit according to the corresponding synthesized circuit model.Such methods used in ASIC design not only can optimize the circuit structure,but also can guarantee the correct logic function.At the same time,it can reduce the transmission delay and improve the reliability of chip design.Therefore,research on the ASCI design by manual synthesis is of practical value.
Keywords:application specific integrated circuit;register transfer level;register transfer level;reliability;manual synthesis
0 引 言
隨著專用集成電路(Application Specific Integrated Circuit)設(shè)計的迅速發(fā)展,將寄存器傳輸級(RTL)描述的手工綜合成門級網(wǎng)表,是IC前端設(shè)計中的關(guān)鍵技術(shù)[1]。在當(dāng)前IC設(shè)計中,通常在行為級功能驗證后,采用軟件進行自動綜合的方式。這種方式雖然縮短了ASIC設(shè)計的周期,但是利用軟件綜合的門級電路存在很大的冗余,從而影響到整個芯片的版圖面積和延時。如果采用手工綜合,則會得到最簡的電路結(jié)構(gòu)和最少的線路延時。在總體上,手工邏輯綜合可分為時序邏輯綜合和組合邏輯綜合[2]。
在此,以成功開發(fā)的無線發(fā)碼遙控編碼芯片為實例,詳細介紹手工綜合RTL級代碼的理論依據(jù)和實用方法,重點介紹時序邏輯綜合的實現(xiàn)方法,將時序邏輯綜合的實現(xiàn)方法歸納出各種描述的一般特征,將用戶多種多樣的描述歸整為五種形式,避免了綜合過程中的盲目性,使得整個綜合過程有據(jù)可依,從而提高綜合的效率和準(zhǔn)確性[3],并對手工綜合進行深入的研究。
1 組合邏輯綜合
組合邏輯綜合的功能是對組合邏輯函數(shù)的描述形式進行一系列轉(zhuǎn)換和優(yōu)化,求取實現(xiàn)該邏輯函數(shù)性能最佳的組合邏輯結(jié)構(gòu)形式,并生成與邏輯功能描述相等價的優(yōu)化的邏輯級結(jié)構(gòu)描述。由于行為級描述或寄存器傳輸級描述經(jīng)轉(zhuǎn)換后所得到的邏輯級的邏輯函數(shù)表示通常都是非優(yōu)化的表示,因此就需要使用邏輯優(yōu)化工具對其進行綜合和優(yōu)化。
組合邏輯綜合的目標(biāo)通常有:其一是為了在滿足延遲的約束下將面積最小化;其二是為了提高電路的可測試性[4]。
組合邏輯電路設(shè)計是數(shù)字電路設(shè)計的基礎(chǔ)。相對時序邏輯電路而言其綜合過程要簡單,可參考上面的手工綜合步驟,在這里設(shè)計了兩個電路對ASIC的手工綜合進行具體研究。
1.1 單增量加法器(4位)
所謂單增量加法器,就是在二進制計算中,行使代碼換算的任務(wù),即二進制計算中若輸出有N值存在,接下來的數(shù)值就是N+1,為了把輸出值從N變?yōu)镹+1就必須做一個電路。若其Verilog HDL描述語言為:
counter_disp<=counter_disp+4'd1;
則綜合步驟為:
(1)列出真值表(略);
(2) 從真值表可以得出其邏輯表達式為:
sum[0]=NOT disp[0]sum[1]= disp[0] XOR disp[1]
sum[2]= disp[2] XOR (disp[0] AND disp[1])
sum[3]= disp[3] XOR (disp[0] ANDdisp[1]AND disp[2])
(3) 綜合后的電路圖如圖1所示。
圖1 單增量加法器手工綜合后電路
1.2 數(shù)值比較器(4位)
完成A
對應(yīng)的描述語言為:
if(counter disp (1) 列出真值表(見表1)。其中“X”表示任意值。 (2) 從真值表寫出比較結(jié)果的邏輯表達式,再通過化簡得到最簡表達式為: A_small_B =A3n?B3+(B2⊙B2)A2n?B2+(A3⊙B3)(A2⊙B2)A1n?B1+(A3⊙B3)(A2⊙B2)(A1⊙B1)?A0n?B0 (3) 畫出綜合后的電路圖(見圖2)。 表1 真值表 輸入輸出 A3B3A2B2A1B1A0B0A A3>B3XXX0 A3 A3=B3A2>B2XX0 A3=B3A2 A3=B3A2=B2A1>B1X0 A3=B3A2=B2A1 A3=B3A2=B2A1=B1A0>B00 A3=B3A2=B2A1=B1A0 A3=B3A2=B2A1=B1A0=B00
圖2 數(shù)值比較器手工綜合后電路
2 時序邏輯綜合
時序邏輯綜合的主要研究集中于同步時序電路的設(shè)計綜合。異步時序電路由于其設(shè)計和控制過程的復(fù)雜性,自動綜合十分困難。同步時序電路邏輯綜合研究的內(nèi)容主要有:同步時序電路的綜合方法(即有限狀態(tài)機的綜合)、時序的優(yōu)化以及時鐘系統(tǒng)的設(shè)計優(yōu)化等。
有限狀態(tài)機綜合的主要任務(wù)是根據(jù)給定的邏輯功能,選取觸發(fā)器和鎖存器等時序元件,尋求優(yōu)化的時序狀態(tài)激勵函數(shù)。同步時序電路綜合的目標(biāo)是獲得芯片面積優(yōu)化的高性能電路結(jié)構(gòu)形式,其中包括時序重構(gòu)和時序邏輯優(yōu)化等方面。時序優(yōu)化與時鐘系統(tǒng)的優(yōu)化通過分析時序電路的數(shù)據(jù)傳輸行為,設(shè)置合理的參數(shù),提高系統(tǒng)的效率,消除時序錯誤,解決時序沖突[6]。優(yōu)化電路,得到最終的門級電路網(wǎng)表。
在進行了格式判別,確定采用何種時序元件后,就可以從相應(yīng)的目標(biāo)庫中提取相應(yīng)的元件,組織成符合最終輸出形式的網(wǎng)表格式。在提取元件時應(yīng)當(dāng)根據(jù)用戶的輸入描述取得最優(yōu)化的結(jié)果,當(dāng)然,這種優(yōu)化問題也可以在得到最終的數(shù)據(jù)通道之后進行。對于同步/異步復(fù)位及上升/下降沿觸發(fā)的問題,在一般的目標(biāo)庫中,都有各種不同類型的時序邏輯電路元件,同步/異步復(fù)位元件為其中之一[7]。同步/異步復(fù)位觸發(fā)器的綜合與其他元件的綜合有所不同,綜合時考慮的不僅是某一條賦值語句,而是將用戶的描述作為一個整體來考慮。在提取賦值語句時,同時分析相互有關(guān)聯(lián)的語句以及這些語句的相關(guān)條件,根據(jù)上下文語義得出最終的結(jié)論。
下面針對上述理論用一實例來說明:在采用上面的綜合步驟預(yù)處理和綜合實現(xiàn)算法后,得到輸出信號outA的賦值情況如下:
條件X1成立時outA≤0;條件X2成立時outA≤0;條件Y1成立時outA≤1;條件Y2成立時outA≤in1;其他條件下outA保持。
其處理過程如下:
(1) 將所有使輸出信號為0的條件標(biāo)識為A1,A2等A類(A1=X1,A2=X2);
(2) 將所有使輸出信號為1的條件標(biāo)識為B1,B2等B類(B1=Y1);
(3) 將所有使輸出信號為某個輸入信號或中間信號值的條件標(biāo)識為C1,C2等C類(C1=Y2);
(4) 寫出其邏輯表達式:
outA=(A1+A2+in1_not C1)(B1+in1?C1+outA)
=(X1+X2+in1_not Y2)(Y1+in1?Y2+outA)
(5) 將目標(biāo)信號的邏輯表達式進行畫簡(這里設(shè)定已為最簡式);
(6) 畫出對應(yīng)的邏輯電路圖(見圖3):(其中in1_not表示為in1的非,其余類同。)
圖3 綜合后電路
具有數(shù)據(jù)通道的有限狀態(tài)機是描述數(shù)字系統(tǒng)的最常用的模型。有限狀態(tài)機分為兩個部分:數(shù)據(jù)通道部分和控制部件部分。數(shù)據(jù)通道部分包括數(shù)據(jù)的處理部件、存儲部件、傳輸部件及其互連[8]。控制部分主要完成數(shù)據(jù)通道的時序控制,以及根據(jù)當(dāng)前狀態(tài)、外部控制輸入和數(shù)據(jù)通道內(nèi)部狀態(tài)產(chǎn)生外部控制輸出和數(shù)據(jù)通道控制信號等。邏輯綜合接受算法級行為描述,通過將其編譯轉(zhuǎn)換成為內(nèi)部表示形式,然后經(jīng)過操作調(diào)度和硬件資源分配等處理過程,最終產(chǎn)生表示數(shù)據(jù)通道的寄存器傳輸級網(wǎng)表,并根據(jù)調(diào)度的需要提取控制信息產(chǎn)生控制部件的行為描述(即有限狀態(tài)機的描述,一般為狀態(tài)轉(zhuǎn)換表/圖)[9]??刂屏骶C合對行為描述的有限狀態(tài)機進行分解、化簡、分配等處理,選取時序元件,導(dǎo)出狀態(tài)轉(zhuǎn)換函數(shù)和控制輸出函數(shù)。
下面以一個實例來介紹控制部分的邏輯綜合過程和方法。
按照前面的步驟,分析Verilog HDL代碼,已得出該控制流部分的狀態(tài)轉(zhuǎn)換圖(見圖4),在這里只列出用符號代替的狀態(tài)轉(zhuǎn)移條件,未寫出各輸出端信號。
圖4 狀態(tài)轉(zhuǎn)移圖
這是LED驅(qū)動控制芯片核心模塊(顯示和鍵掃控制模塊)的狀態(tài)轉(zhuǎn)換圖,下面以DISPLAY狀態(tài)為目標(biāo)求其狀態(tài)轉(zhuǎn)移電路圖,如圖5所示。
圖5 狀態(tài)DISPLAY 綜合后電路
(1) 根據(jù)狀態(tài)轉(zhuǎn)移圖列出與DISPLAY狀態(tài)相關(guān)的狀態(tài)轉(zhuǎn)換條件:
當(dāng)A=1,DISPLAY=1 D=1時,DISPLAY=1;
當(dāng)B=1,DISPLAY=0 C=1時,DISPLAY=0
(2) 推斷出DISPLAY狀態(tài)保持的條件,設(shè)為E:
E=(B && DISPLAY) ||(C&& DISPLAY)+H=
BC&& DISPLAY+H=BC&& DISPLAY
(3) 化簡并得出DISPLAY的邏輯表達式:
DISPLAY≤A+D+E (4) 畫出其邏輯電路圖(狀態(tài)機采用獨熱碼編碼方式)。
3 結(jié) 語
在此歸納出一套手工邏輯綜合的方法和綜合步驟,該方法適用于中小規(guī)模和超大規(guī)模中的核心電路部分的電路綜合。同時手工綜合后的效果與自動綜合軟件相比,其電路可靠且使用的門電路規(guī)模減少,功耗降低,延時達到最小。
參考文獻
[1]蔡彭慈,周強.超大規(guī)模集成電路設(shè)計導(dǎo)論[M].北京:清華大學(xué)出版社,2005.
[2]劉麗華,辛德祿,李本俊.專用集成電路設(shè)計方法[M].北京:北京郵電大學(xué)出版社,2001.
[3]汪慶寶,宿昌厚.超大規(guī)模規(guī)模集成電路設(shè)計技術(shù)從電路到芯片[M].北京:電子工業(yè)出版社,1996.
[4]Martin,Kenneth W.Digital Integrated Circuit Design[M].Beijing:Pub.House of Electronics Industry,2002.
[5]Christopher Saint,Judy Saint.IC Layout Basic[M].北京:清華大學(xué)出版社,2003.
[6]Michael John Sebastian Smith.Application-specific Integrated Circuits[M].北京:清華大學(xué)出版社,2006.
[7]R Jccob Baker,Harry W Li,David E Boyce.CMOS Circuit Design,Layoutand Simulation[M].北京:機械工業(yè)出版社,2005.
[8]Christopher Saint,Judy Saint.IC Mask Design[M].北京:清華大學(xué)出版社,2006.
[9]Mehmet A Cirit.Characterizing a VLSI Standard Cell Library[A].Custerm Integrated Circuits Conference[C].IEEE,1991.