cadence如何才能添加原理圖元件 總結(jié)數(shù)字電路設(shè)計(jì)的一般方法?
總結(jié)數(shù)字電路設(shè)計(jì)的一般方法?我不知從何而來(lái)西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院微電子學(xué)研究所,現(xiàn)在是微電子學(xué)研究所的研一學(xué)生,專(zhuān)業(yè)方向是數(shù)字集成電路設(shè)計(jì)。在研一上學(xué)期,初步掌握到了數(shù)字集成電路后端偏文科類(lèi)設(shè)計(jì)方法,
總結(jié)數(shù)字電路設(shè)計(jì)的一般方法?
我不知從何而來(lái)西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院微電子學(xué)研究所,現(xiàn)在是微電子學(xué)研究所的研一學(xué)生,專(zhuān)業(yè)方向是數(shù)字集成電路設(shè)計(jì)。在研一上學(xué)期,初步掌握到了數(shù)字集成電路后端偏文科類(lèi)設(shè)計(jì)方法,本篇學(xué)術(shù)素養(yǎng)課程報(bào)告要注意討論在實(shí)現(xiàn)程序后端流程時(shí)的方法、經(jīng)驗(yàn)、和相關(guān)的感悟。
根據(jù)我的觀察,軟件工程師的需求量和硬件工程師的需求量是10:1,也就是說(shuō)硬件工程師需求量遠(yuǎn)小于軟件工程師,硬件工程師中又兩類(lèi)模擬和數(shù)字兩大類(lèi),設(shè)計(jì)模擬集成電路設(shè)計(jì)要注意包括ADC、DAC、PLL等,數(shù)字集成電路設(shè)計(jì)則更占優(yōu)勢(shì)于基于某一特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。
實(shí)際上,發(fā)展中到現(xiàn)階段,數(shù)字集成電路的設(shè)計(jì)方法已經(jīng)在EDA工具的幫助之下極其類(lèi)似于軟件開(kāi)發(fā)了,有名的數(shù)字集成電路開(kāi)發(fā)一般為以下步驟:
1、據(jù)需求,自頂往上電腦設(shè)計(jì)電路模塊,應(yīng)明確該數(shù)字系統(tǒng)需要實(shí)現(xiàn)方法什么功能,再具體細(xì)分到各個(gè)功能模塊。此時(shí)的設(shè)計(jì)圖形式象為模塊框圖,在用visio或其他繪圖軟件實(shí)現(xiàn)。這個(gè)環(huán)節(jié)相對(duì)于松散,但非常,畢竟根據(jù)需求是啊,設(shè)計(jì)大的模塊和指標(biāo)時(shí),必須要結(jié)合實(shí)際情況,要不然到后期會(huì)經(jīng)歷無(wú)窮次返工甚至連無(wú)法都沒(méi)有達(dá)到可以預(yù)定指標(biāo)。好象由德高望重的前輩,老練的工程師并且總體設(shè)計(jì)。
2、定義好各個(gè)模塊之后,這一次應(yīng)該是具體利用各個(gè)模塊的功能。只不過(guò)硬件描述語(yǔ)言的存在,我們可以不很貿(mào)然的是從硬件描述語(yǔ)言來(lái)“寫(xiě)”出模塊的基于方法,在本次實(shí)驗(yàn)中,我可以使用的是VerilogHDL。詳細(xì)代碼的復(fù)雜程度和模塊的復(fù)雜程度有關(guān),我在這回實(shí)驗(yàn)中按結(jié)構(gòu)的是“八位格雷碼計(jì)數(shù)器”電路設(shè)計(jì)。
3、成功“八位格雷碼計(jì)數(shù)器”的Verilog代碼后,必須對(duì)該設(shè)計(jì)接受“前仿真”。說(shuō)白前仿真,比較多是就是為了不驗(yàn)證代碼如何確定具體解釋對(duì)的,如何確定能夠?qū)崿F(xiàn)了所具體規(guī)劃的功能。就像建議使用modelsim軟件參與仿真的,仿真設(shè)計(jì)成功剛剛進(jìn)入下一階段,不成功了則不需要直接返回直接修改代碼。
4、前仿真順利后,早有了功能正確的的Verilog設(shè)計(jì)代碼,此時(shí)這個(gè)可以將代碼下載到FPGA板上參與驗(yàn)正(Quartus,JTAG),驗(yàn)證成功了則證明此設(shè)計(jì)正確確認(rèn)無(wú)誤。是對(duì)某些獨(dú)立顯卡度要求不高且時(shí)間太緊張的數(shù)字電路設(shè)計(jì)項(xiàng)目,可以不就建議使用FPGA來(lái)實(shí)現(xiàn)芯片功能。顯然,F(xiàn)PGA這種通用器件是肯定不能滿(mǎn)足高板載顯卡、更低功耗、專(zhuān)用性高ASIC設(shè)計(jì)需求的,沒(méi)法作用于相對(duì)很簡(jiǎn)單和粗獷的設(shè)計(jì)。
5、接下來(lái)的進(jìn)入到后端流程。正在此時(shí)要有帶的服務(wù)器以及價(jià)格高昂的EDA工具支持。這又是我想知道為什么軟硬件設(shè)計(jì)初學(xué)者相對(duì)比較容易的原因之一,假如一個(gè)也沒(méi)相互過(guò)軟件編程的有志青年立志要做做軟件工程,就像一臺(tái)電腦,一本書(shū)就就夠,最少再買(mǎi)個(gè)正版編譯器(VS,Eclipse,DW等),可是要做硬件電路設(shè)計(jì),一臺(tái)電腦一本書(shū)起碼畫(huà)畫(huà)PCB。能做最核心的部分,需要建議使用功能強(qiáng)大的服務(wù)器和價(jià)格高級(jí)貨的EDA工具,因?yàn)槠胀ǖ氐腜C電腦沉重的負(fù)擔(dān)不起“后端綜合類(lèi)”的工作需求。而且大量linux下的復(fù)雜操作也會(huì)使人望而生畏。
6、打算好后端平臺(tái)后,就是可以將“八位格雷碼計(jì)數(shù)器”放到平臺(tái)里,此時(shí)立即要考慮的問(wèn)題是不使用什么元件庫(kù)以及什么工藝?因?yàn)閯t是一個(gè)與非門(mén),不同元件庫(kù)有有所不同實(shí)現(xiàn)程序細(xì)節(jié),MOS管細(xì)節(jié)可能會(huì)都大相逕庭,另外還要確定工藝,這些工藝的文件充斥于具體廠家(TSMC,CSMS等),這確實(shí)是個(gè)人不能做后端的原因之一——因?yàn)槟愫?jiǎn)直不可能以自己的名義向臺(tái)積電商量商量工藝庫(kù)文件,畢竟才是一個(gè)涉世未深,無(wú)錢(qián)無(wú)術(shù)的初學(xué)者,你是不能自信積極的和人數(shù)上萬(wàn)、資金上億的工藝廠簽合同的。當(dāng)經(jīng)過(guò)精挑細(xì)選篩選后(更多情況下是沒(méi)得選),可以確定你想使用的工藝。在本次實(shí)驗(yàn)中,我不使用的是實(shí)驗(yàn)室學(xué)長(zhǎng)雜交改良過(guò)的元件庫(kù),這些TSMC0.18um工藝,EDA工具為Cadence IC 614。 7、當(dāng)經(jīng)過(guò)一系列配置之后,“八位格雷碼計(jì)數(shù)器”也擁有了另一個(gè)龐大的工程文件,我個(gè)人建議按結(jié)構(gòu)TCL腳本文件通過(guò)配置。然后把就也可以接受RTL級(jí)看專(zhuān)業(yè)。正所謂RTL級(jí)偏文科類(lèi),事實(shí)上是指將Verilog代碼“改寫(xiě)本”為綜合類(lèi)工具(我使用的是Encounter)所能識(shí)別的Verilog代碼。通俗點(diǎn)的講,這個(gè)類(lèi)似于將“文言文”翻譯成為“白話文”,也不同于C語(yǔ)言中的“編譯”,還沒(méi)有高級(jí)語(yǔ)言翻譯為匯編代碼。肯定,理論上可以直接寫(xiě)一段RTL級(jí)代碼,但這就和就寫(xiě)匯編語(yǔ)言完全不一樣,復(fù)雜程度不言自明。
8、RTL級(jí)偏文科類(lèi)成功后,接下來(lái)的事情將RTL Verilog導(dǎo)入Encounter進(jìn)行真正的后端綜合。導(dǎo)入RTL代碼后,還要那就證明標(biāo)準(zhǔn)單元庫(kù)的LEF文件,并定義電源和地的線名。此時(shí)需要一個(gè)MMMCconfig配置,流程繁冗,主要是配置相關(guān)文件和器件狀態(tài)(TT、SS、FF等)。
9、能完成導(dǎo)入配置,接下來(lái)是芯片布局設(shè)計(jì),即Floorplan。Floorplan是需要設(shè)置中一些基礎(chǔ)參數(shù),如芯片的長(zhǎng)寬(面積),扔給管腳的空間,芯片利用率等。長(zhǎng)寬比建議為0.2-5,急切電路利用率0.85,象電路利用率0.90,電路利用率0.95。
10、POWER計(jì)算,得以為根據(jù)布好電源線路,要注意為ring和stripe。例如,某數(shù)字電路芯片功耗為55mW,提高冗余設(shè)計(jì)量到2倍左右,設(shè)計(jì)什么為100mW,按照1.8V供電,電流約為60mA,也就是總電源線為60u,假如每條線10u,則六條電源線,一側(cè)各一條,中間四條。Encounter中有專(zhuān)門(mén)買(mǎi)的布線配置器。布線施工之后,可以先Apply,后再撤消發(fā)熱發(fā)冷接觸。
11、親自布置IO管腳。如果晚幾天沒(méi)有導(dǎo)入IO,可以重新導(dǎo)入(TCL),也是可以讓其按照。
12、Pre-Place,而且Verilog中而不有很多的module,每個(gè)module對(duì)應(yīng)一個(gè)布局模塊,布局時(shí)應(yīng)當(dāng)及時(shí)特別注意一些布局原則。布局時(shí)就像實(shí)際簡(jiǎn)單的移動(dòng)鼠標(biāo)就可以不。“八位格雷碼計(jì)數(shù)器”而且只有一一個(gè)module,所以不是需要古怪的布局。
13、布局是一個(gè)斷的修改和再改進(jìn)的過(guò)程,Pre-Place之后接受Place,之后接受之后Post-Place。Place之后,要并且時(shí)鐘樹(shù)綜合考(CTS),時(shí)鐘樹(shù)綜合考的目的是為了讓每個(gè)信號(hào)都在約束的時(shí)間內(nèi)傳輸?shù)较乱粋€(gè)時(shí)序單元,否則會(huì)對(duì)芯片的主頻產(chǎn)生影響(主頻是在設(shè)計(jì)前就定過(guò)來(lái)的指標(biāo)),后再在Post-CTS對(duì)不符合時(shí)鐘約束的部分接受布線調(diào)整。
14、布局之后接受布線,即Route,對(duì)于普通還網(wǎng)線布線必須通過(guò)SRoute,后再進(jìn)行Post-Place,這些步驟某種程度上全是“點(diǎn)按鈕”和“配參數(shù)”,但后端綜合類(lèi)時(shí)一定得有神智的頭腦,需要明白了為什么不要點(diǎn)這些按鈕,在內(nèi)該配置什么參數(shù)。
15、布局布線當(dāng)經(jīng)過(guò)一次升級(jí)迭代,IO管腳配置好后,可以不Fill全圖,用各層金屬覆蓋未不使用的區(qū)域。單個(gè)“八位格雷碼計(jì)數(shù)器”因?yàn)榻Y(jié)構(gòu)簡(jiǎn)單,芯片未遍布區(qū)域減小。
16、到此,Encounter內(nèi)的后端綜合類(lèi)就能完成了,可以文件導(dǎo)入(export)成GDSII格式的網(wǎng)表,這些是為做DRC,LVS檢查,也需要“Netlist”成schematic(電路原理圖)的格式。
17,將后端綜合類(lèi)的GDSII文件導(dǎo)入到(Streamacross)到Virtuoso里。Virtuoso是另一個(gè)主要用于模擬真實(shí)集成電路設(shè)計(jì)的軟件。將GDSII文件導(dǎo)出該軟件主要有兩個(gè)目的,一是可以不在Virtuoso里做“后仿真”,驗(yàn)證經(jīng)由后端綜合類(lèi)的一系列流程之后,概念芯片是否是能滿(mǎn)足的條件設(shè)計(jì)需求,此時(shí)的仿真就已經(jīng)考慮到了延時(shí),電阻,功耗等不好算存在的問(wèn)題,要是仿真時(shí)再次出現(xiàn)了問(wèn)題,必須通過(guò)返工可以修改,沒(méi)有必要時(shí)要原先f(wàn)pga設(shè)計(jì)。當(dāng)“后仿真”是從后,的要對(duì)該芯片通過(guò)DRC和LVS檢查,DRC是查找是否行最簡(jiǎn)形矩陣所選工藝的要求,只不過(guò)在實(shí)際中情況下,一些理論上的值是不現(xiàn)實(shí)的,比如說(shuō)過(guò)細(xì)的線根本無(wú)法生產(chǎn),柵極間的距離過(guò)短肯定會(huì)導(dǎo)致漏電,導(dǎo)線和各金屬層之間的電容會(huì)影響不大電路功能等。LVS是也很layout和Schematic之間的拓?fù)潢P(guān)系如何確定不一致。二是可以不方便啊以后做數(shù)?;旌闲酒O(shè)計(jì)時(shí)參與調(diào)和設(shè)計(jì),只不過(guò)模擬集成電路的是再在Virtuoso中參與的,兩者最后加強(qiáng)在一起,就可以通過(guò)數(shù)?;旌霞呻娐吩O(shè)計(jì)。
18、進(jìn)行完檢查之后,就可以與工藝需要提供廠家聯(lián)系參與加工了,如TSMC。一般加工不需要跟上企業(yè)的業(yè)務(wù)流程。最少經(jīng)1月左右,芯片加工完成,然后再再次進(jìn)入測(cè)試環(huán)節(jié)。點(diǎn)焊,試驗(yàn),不驗(yàn)證芯片指標(biāo),在內(nèi)提出來(lái)改進(jìn)之處方案。
到了此時(shí),一個(gè)數(shù)字集成電路從概念到實(shí)物的整個(gè)流程就能完成了,每邁一步都值得你去愛(ài)研究什么和慢慢回味,從二四譯碼器到急切的CPU,其流程是基本上一樣的的。在研一上一個(gè)學(xué)期的學(xué)習(xí),我也都差不多掌握到了這個(gè)流程。以后會(huì)越來(lái)越很努力的在本專(zhuān)業(yè)方向繼續(xù)前進(jìn),培養(yǎng)和訓(xùn)練核心競(jìng)爭(zhēng)力。
cadence線總是左右搖擺?
1.做一個(gè)線條的元件.2.將該元件的中心點(diǎn)拖弄到元件的一端...這步十分重要.3.將該元件放在場(chǎng)景中去,系統(tǒng)設(shè)置好初始幀的位置與中止幀的位置(也就是旋轉(zhuǎn)的是有的角度),可以使用運(yùn)動(dòng),即可完成你的單擺場(chǎng)景制做了.也可以不用它來(lái)演示Ω表的指針擺動(dòng)效果。