總結(jié)數(shù)字電路設(shè)計的一般方法?
我來自西北工業(yè)大學(xué)計算機學(xué)院微電子研究所。現(xiàn)在我是微電子學(xué)院一年級的學(xué)生。我的專業(yè)是數(shù)字集成電路設(shè)計。研究生一上學(xué)期,掌握了數(shù)字集成電路后端綜合設(shè)計方法。本學(xué)術(shù)素養(yǎng)課程報告主要探討了實現(xiàn)后端過程中的方法、經(jīng)驗和相關(guān)感悟。
一般來說,軟件工程師和硬件工程師的需求量都是10:1,也就是說硬件工程師的需求量遠遠小于軟件工程師。硬件工程師分為模擬和數(shù)字。模擬集成電路設(shè)計主要包括ADC、DAC、PLL等。,而數(shù)字集成電路設(shè)計更傾向于實現(xiàn)特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。
事實上,在這個階段,數(shù)字集成電路的設(shè)計方法已經(jīng)非常類似于借助EDA工具進行軟件開發(fā)。典型的數(shù)字集成電路開發(fā)一般包括以下步驟:
1.根據(jù)需求,自上而下設(shè)計電路模塊,明確數(shù)字系統(tǒng)需要實現(xiàn)哪些功能,再細分成各個功能模塊。這時候的設(shè)計形式一般是框圖,用visio或者其他繪圖軟件實現(xiàn)。這個環(huán)節(jié)雖然松散,但是很重要,因為在根據(jù)需求設(shè)計大模塊和指標(biāo)的時候,一定要結(jié)合實際情況,否則后期會經(jīng)過無限的返工,甚至達不到預(yù)定的指標(biāo)。一般由德高望重、經(jīng)驗豐富的工程師進行整體設(shè)計。
2.定義好每個模塊之后,接下來就是實現(xiàn)每個模塊的功能。由于硬件描述語言的存在,我們可以很容易地"寫作與寫作通過硬件描述語言的模塊實現(xiàn)方法。在這個實驗中,我使用了VerilogHDL。特定代碼的復(fù)雜性與模塊的復(fù)雜性有關(guān)。在這個實驗中,我采用了"八位格雷碼計數(shù)器"。
3.在完成了"八位格雷碼計數(shù)器",有必要"預(yù)模擬和模擬設(shè)計。所謂預(yù)仿真,主要是驗證代碼描述是否正確,計劃的功能是否真正實現(xiàn)。一般使用modelsim軟件進行仿真。如果模擬成功,將進入下一階段。如果不成功,它將需要返回到修改后的代碼。
4.預(yù)仿真成功后,即可得到功能正確的Verilog設(shè)計代碼。此時可以將代碼下載到FPGA板上進行驗證(JTAGQuartus),證明設(shè)計是正確的。對于一些集成度要求不高,時間非常緊的數(shù)字電路設(shè)計項目,可以直接用FPGA實現(xiàn)芯片功能。顯然,F(xiàn)PGA這種通用器件可以不能滿足ASIC高集成度、低功耗、高專用性的設(shè)計要求,只能用于相對簡單粗糙的設(shè)計。
5.接下來,進入后端流程。這時候就需要專用的服務(wù)器和昂貴的ed。工具支架。這也是硬件設(shè)計入門難的原因之一。如果一個沒有接觸過軟件編程的有志青年立志做軟件工程,一般一臺電腦一本書就夠了,最多買個正版編譯器(VS,Eclipse,DW等。),但是做硬件電路設(shè)計,一臺電腦一本書最多能畫PCB。要做核心部分,我們必須使用強大的服務(wù)器和昂貴的EDA工具,因為普通PC可以無法承擔(dān)的工作需求后端集成"。而且linux下大量復(fù)雜的操作會讓人望而卻步。
6.在后端平臺準(zhǔn)備好之后,您可以將"八位格雷碼計數(shù)器"進了站臺。這時候應(yīng)該馬上考慮什么組件庫和流程?因為同一個與非門,不同的元件庫有不同的實現(xiàn)細節(jié),MOS管的細節(jié)可能差別很大。另外,一定要考慮流程。這些工藝文件來自相關(guān)制造商(TSMC、CSMS等)。),這也是個人能夠不要做后臺——因為你幾乎不可能以自己的名義與TSMC討論工藝庫文件。畢竟,作為一個沒有經(jīng)驗,沒有錢和技能的初學(xué)者,你可以不自信,有幾萬人。仔細篩選后(很多情況下沒得選),確定你要用的流程。在這個實驗中,我使用了我的高級實驗室改進的組件庫和TSMC0.18um技術(shù),EDA工具是CadenceIC614。
7.經(jīng)過一系列的配置后,"八位格雷碼計數(shù)器"已經(jīng)變成了一個巨大的工程文件。我建議使用TCL腳本文件進行配置。然后可以進行RTL級合成。所謂RTL級合成其實指的是"重寫"Verilog代碼轉(zhuǎn)換成可以被合成工具識別的Verilog代碼(我用的是Encounter)。一般來說,這類似于翻譯"古典文學(xué)與藝術(shù)進入"白話文與漢語和"編譯與編輯在C語言中,就是把一種高級語言翻譯成匯編代碼。當(dāng)然,理論上可以直接寫RTL級的代碼,但是和直接寫匯編語言一樣復(fù)雜。
8.RTL級合成完成后,將RTLVerilog導(dǎo)入到Encounter中進行真正的后端合成。導(dǎo)入RTL碼后,還需要解釋標(biāo)準(zhǔn)單元庫的LEF文件,定義電源和地的線名。這時候就需要一個MMMCconfig配置,過程比較復(fù)雜,主要是配置相關(guān)文件和設(shè)備狀態(tài)(TT、ss、FF等。).
9.完成導(dǎo)入配置,然后是芯片版圖設(shè)計,即布圖。Floorplan需要設(shè)置一些基本的參數(shù),比如芯片的長寬(面積),引腳留的空間,芯片利用率等等。長寬比建議0.2-5,復(fù)雜電路利用率0.85,一般電路利用率0.90,簡單電。道路利用率為0.95。
10.電力計算,電力線路排列的依據(jù),主要為環(huán)形和條形。比如數(shù)字電路芯片功耗55mW,冗余增加到2倍左右。設(shè)計為100mW,電源為1.8V,電流約為60mA,即總供電線路為60U,如果每條線路為10u,則有六條供電線路,每側(cè)一條,中間四條。在遭遇中有一個特殊的接線配置器。接線后,可以先申請,再取消重復(fù)嘗試。
11.排列IO引腳。如果沒有提前導(dǎo)入IO,可以重新導(dǎo)入(TCL)或者自行調(diào)整。
12.前置,因為Verilog中往往有很多模塊,每個模塊對應(yīng)一個布局模塊。布局時要注意一些布局原則。布局一般可以通過簡單的拖動來完成。"八位格雷碼計數(shù)器"只有一個模塊,所以它不不需要復(fù)雜的布局。
13.布局是一個不斷修改和改進的過程。放置是在前置后進行,然后是后置。布局之后,需要時鐘樹綜合(CTS)。時鐘樹綜合的目的是使每個信號在約束時間內(nèi)傳輸?shù)较乱粋€順序單元,否則會影響芯片的主頻(主頻是設(shè)計前確定的指標(biāo)),然后在Post-CTS中調(diào)整不滿足時鐘約束的部分的布線。
14.布局后路由,即路由。特殊走線,需要先走線,再后置。這些步驟在某種程度上是"點擊按鈕"和"配置參數(shù),但是后端合成一定要頭腦清醒,知道為什么要點擊這些按鈕,要配置什么參數(shù)。
15.經(jīng)過多次迭代,配置好IO引腳后,就可以填充整張圖片,用各種金屬層覆蓋不用的區(qū)域。單人"八位格雷碼計數(shù)器"由于其結(jié)構(gòu)簡單而具有較大的未覆蓋面積。
16.至此,Encounter中的后端綜合已經(jīng)完成,網(wǎng)表可以導(dǎo)出為GDSII格式,為了檢查DRC和LVS,還需要"網(wǎng)表"轉(zhuǎn)換成示意圖格式。
17.將后端集成的GDSII文件導(dǎo)入Virtuoso。Virtuoso是一款模擬集成電路設(shè)計軟件。將GDSII文件導(dǎo)入該軟件有兩個主要目的。首先,你可以做"后期模擬與設(shè)計在Virtuoso中驗證概念芯片經(jīng)過后端綜合的一系列流程后是否能達到設(shè)計要求。此時仿真已經(jīng)考慮到了延遲、電阻、功耗等實際問題。如果模擬有問題,需要輸入。線路返工修改,如有必要,重新布局布線。在"后期模擬與設(shè)計通過后,芯片應(yīng)由剛果共和國和LVS檢查。DRC是看是否符合所選工藝的要求,因為在實際情況下,有些理論值是不現(xiàn)實的,比如太細的導(dǎo)線無法制作,柵極間距過短可能導(dǎo)致短路,導(dǎo)線與各種金屬層之間的電容會影響電路功能。LVS是比較版圖和原理圖之間的拓撲關(guān)系是否不一致。第二,以后設(shè)計數(shù)模混合芯片時便于混合設(shè)計,因為模擬集成電路直接在Virtuoso中進行,最后可以將兩者結(jié)合起來設(shè)計數(shù)模混合集成電路。
18.檢驗后,您可以聯(lián)系工藝供應(yīng)商進行加工,如TSMC。一般處理需要跟上企業(yè)的業(yè)務(wù)流程。大約一個月后,芯片加工完畢,然后進入測試階段。焊接,測試,驗證芯片指標(biāo),提出改進方案。
至此,一個數(shù)字集成電路從概念到實物的全過程已經(jīng)完成,每一步都值得研究和回味。從24解碼器到復(fù)雜的CPU,過程基本相同。一個學(xué)期后的學(xué)習(xí),我基本掌握了這個流程。未來我們會更加努力,在這個專業(yè)上繼續(xù)前進,培養(yǎng)核心競爭力。
麒麟9700參數(shù)?
麒麟9700還沒有t還沒有出現(xiàn)。你應(yīng)該問麒麟970。
麒麟970采用TSMC10nm工藝,在一個指甲大小的芯片上集成了55億個晶體管,包括8核CPU、12核GPU、雙ISP、1.2Gbps高速LTECat18調(diào)制解調(diào)器和創(chuàng)新的HiAI移動計算架構(gòu)。
與四個Cortex-A73核心相比,麒麟970sAI計算能力具有約25倍性能和50倍能效的優(yōu)勢,可大幅提升手機的能力,在圖像識別,語音交互,智能攝影等,并使手機"更了解你。