




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ic 設(shè)計(jì)流程認(rèn)知實(shí)驗(yàn)指導(dǎo)書 電子科學(xué)與技術(shù)系二oo六年五月2前 言集成電路自誕生以來,經(jīng)歷了小規(guī)模、中規(guī)模、大規(guī)模的發(fā)展過程,目前已進(jìn)入超大規(guī)模(vlsi)和甚大規(guī)模集成電路(ulsi)階段,并正向著更高集成度、超小型化、高性能、高可靠性的方向發(fā)展。vlsi的進(jìn)一步發(fā)展離不開計(jì)算機(jī)輔助設(shè)計(jì)。設(shè)計(jì)vlsi已成為專業(yè)工程師和計(jì)算機(jī)技術(shù)人員應(yīng)具備的日趨重要的技能。vlsi的應(yīng)用將會(huì)越來越廣泛,對(duì)其設(shè)計(jì)的要求將會(huì)越過電子工程的界限,進(jìn)入更廣泛的技術(shù)領(lǐng)域。作為微電子技術(shù)專業(yè)的畢業(yè)生,掌握eda的設(shè)計(jì)思路與設(shè)計(jì)流程是十分必要的,因此,我們專門開設(shè)了ic設(shè)計(jì)流程認(rèn)知課程設(shè)計(jì)。其內(nèi)容是要求同學(xué)利用eda工具
2、軟件完成大規(guī)模集成電路(如4為mcu或其他電路)設(shè)計(jì)的整個(gè)流程。即由集成電路的前端設(shè)計(jì)(verilog 程序設(shè)計(jì)、功能仿真以及邏輯綜合)到版圖設(shè)計(jì)及驗(yàn)證的全過程。本次課設(shè)使用eda工具主要有verilog-xl、vcs、dc以及se。 目 錄第一章 大規(guī)模集成電路設(shè)計(jì)與實(shí)現(xiàn)11.1 vlsi設(shè)計(jì)流程11.2 vlsi設(shè)計(jì)工具11.3 vlsi的設(shè)計(jì)方法21.3.1正向設(shè)計(jì)與逆向設(shè)計(jì)21.3.2非定制與定制的設(shè)計(jì)方法2第二章 四位mcu的verilog語言實(shí)現(xiàn)32.1四位mcu各模塊功能簡(jiǎn)述32.2 verilog描述32.2.1硬件描述語言的輸入4第三章 驗(yàn)證與vcs使用103.1vcs的簡(jiǎn)單
3、使用方法103.1.1什么是vcs103.1.2 vcs的工作方式113.1.3 如何進(jìn)行仿真和驗(yàn)證113.1.4 vcs的運(yùn)行方式113.2 alu綜合前的編譯、仿真步驟與實(shí)現(xiàn)113.2.1 無層次化設(shè)計(jì)仿真113.2.2 層次化設(shè)計(jì)仿真17第四章 綜 合234.1 綜合在集成電路整個(gè)設(shè)計(jì)流程中的地位234.2 電路綜合的特點(diǎn)與要求244.2.1電路綜合的特點(diǎn):244.2.2 電路綜合的要求:254.3 綜合的具體步驟254.3.1無層次化設(shè)計(jì)綜合254.3.2層次化設(shè)計(jì)綜合34第五章 綜合后的編譯、仿真365.1層次化設(shè)計(jì)365.1.1 verilog_xl365.1.2vcs385.2
4、層次化設(shè)計(jì)405.2.1verilog_xl405.2.2 vcs41第六章 布局布線(se)436.1啟動(dòng)se436.2讀入工藝庫(kù)文件 .lef和.ctlf446.3 讀入設(shè)計(jì)文件 .v, .def和.sdf456.4版圖布局初始化476.5放置i/o管腳486.6放置電源環(huán)和電源條496.7放置標(biāo)準(zhǔn)單元516.8 ctgen時(shí)鐘樹的生成526.9填充filler cell526.10 route-global and final route536.11 驗(yàn)證(連接和尺寸)536.12版圖文件、.v文件和時(shí)序輸出(gds ii&sdf)54第七章 布局布線后的編譯仿真557.1 testbe
5、nch557.2文件準(zhǔn)備557.3 start up56第八章設(shè)計(jì)規(guī)則檢查&版圖原理圖一致性比較578.1 what is drc?578.2文件準(zhǔn)備578.3 gdsii文件轉(zhuǎn)換成gds文件588.3.1 start up 啟動(dòng)588.3.2 library view_0 庫(kù)瀏覽588.3.3 make tf library 生成tf庫(kù)598.3.4 library view_1庫(kù)視圖1618.3.5 make design library 生成設(shè)計(jì)庫(kù)618.3.6 library view_2庫(kù)視圖2638.3.7 stream in gdsii638.3.8 library view_3
6、 庫(kù)視圖3658.3.9 layout view 版圖視圖658.3.10 stream out gds668.4 drc678.4.1 process summary678.4.2 drc process view688.5 lvs69參考書目71第一章 大規(guī)模集成電路設(shè)計(jì)與實(shí)現(xiàn)1.1 vlsi設(shè)計(jì)流程自頂向下的設(shè)計(jì)流程: 圖1-1vsli的設(shè)計(jì)包括系統(tǒng)設(shè)計(jì),邏輯設(shè)計(jì),電路設(shè)計(jì)和版圖設(shè)計(jì)。為了保證設(shè)計(jì)的正確性,對(duì)每一個(gè)階段的設(shè)計(jì)結(jié)果都要進(jìn)行計(jì)算機(jī)模擬和驗(yàn)證。對(duì)于復(fù)雜的集成電路設(shè)計(jì),常用自頂向下(top-down)和自底向上(bottom-up)的層次化設(shè)計(jì)方法。 設(shè)計(jì)中反復(fù)出現(xiàn)的基本單元(如
7、反相器,與非門,異或門等)和子電路模塊(如觸發(fā)器,計(jì)數(shù)器,運(yùn)算放大器,振蕩器),往往把它們的符號(hào),版圖及性能固化下來,形成與工藝相應(yīng)的設(shè)計(jì)單元庫(kù)。具體設(shè)計(jì)流程將在后面結(jié)合具體電路進(jìn)行更詳細(xì)的介紹。1.2 vlsi設(shè)計(jì)工具 vlsi設(shè)計(jì)就目前水平,主要依靠由邏輯設(shè)計(jì)、電路設(shè)計(jì)、版圖設(shè)計(jì)和測(cè)試碼生成等諸多功能組合而成的一套軟件設(shè)計(jì)開發(fā)系統(tǒng)來完成,也就是vlsi的eda工具。其中包括了設(shè)計(jì)、模擬、故障診斷、綜合、制造以及測(cè)試等方面,主要分為以下三大類:1 模擬驗(yàn)證工具:幫助設(shè)計(jì)者驗(yàn)證設(shè)計(jì)是否正確,包括邏輯模擬、電路模擬、時(shí)域模擬,設(shè)計(jì)規(guī)則與電學(xué)規(guī)則檢查,版圖與電路圖一致性檢查,版圖參數(shù)提取等。2 設(shè)
8、計(jì)輸入和數(shù)據(jù)庫(kù)管理工具:幫助設(shè)計(jì)者輸入設(shè)計(jì)對(duì)象,設(shè)計(jì)要求和管理設(shè)計(jì)數(shù)據(jù),例如硬件描述與編譯,邏輯圖與版圖的輸入編輯等。3 綜合設(shè)計(jì)工具:幫助設(shè)計(jì)者完成各級(jí)的設(shè)計(jì),例如系統(tǒng)綜合,邏輯綜合,版圖布局布線模塊自動(dòng)生成等。1.3 vlsi的設(shè)計(jì)方法1.3.1正向設(shè)計(jì)與逆向設(shè)計(jì) 集成電路的層次化設(shè)計(jì)法可分為系統(tǒng)級(jí)、邏輯級(jí)、電路級(jí)和版圖級(jí)。正向設(shè)計(jì)法是指以綜合的方法從集成電路的高層次走向低層次,直至完成電路的掩膜版圖設(shè)計(jì)。逆向設(shè)計(jì)法則恰好與之相反,是以分析的方法從低層次到高層次,對(duì)實(shí)際芯片進(jìn)行腐蝕,照相,從得到的版圖對(duì)其進(jìn)行邏輯提取,分析其功能和原理,以期獲得原設(shè)計(jì)思想。逆向設(shè)計(jì)是以逆向剖析為基礎(chǔ),在剖析
9、得到的不同層次上轉(zhuǎn)入正向設(shè)計(jì)。換而言之,對(duì)于一個(gè)實(shí)際芯片作了逆向剖析之后,得到邏輯圖、功能和工作原理,然后即可決定采用例如陣列技術(shù)轉(zhuǎn)入正向設(shè)計(jì),用cad工具進(jìn)行邏輯圖的描述輸入、模擬、測(cè)試碼生成與設(shè)計(jì),生成網(wǎng)表后轉(zhuǎn)入門陣列的自動(dòng)化版圖設(shè)計(jì),在生成掩膜版圖后進(jìn)行電學(xué)規(guī)則、幾何規(guī)則檢查以及電路和版圖的一致性檢查,并進(jìn)行版圖參數(shù)提取。隨后再進(jìn)行后模擬,這樣就完成了一個(gè)完整的逆向設(shè)計(jì)。1.3.2非定制與定制的設(shè)計(jì)方法非定制是對(duì)于那些具有標(biāo)準(zhǔn)功能的電路的,例如與非門、異或門、與或非門、觸發(fā)器、加法器、計(jì)數(shù)器、存儲(chǔ)器等,用戶不必事先向廠家定做,設(shè)計(jì)與生產(chǎn)者也不是針對(duì)某些用戶具體要求而設(shè)計(jì)和制造。這類電路是
10、標(biāo)準(zhǔn)化了的,產(chǎn)量大用途廣,性價(jià)比高,主要是人工設(shè)計(jì)或人機(jī)交互式設(shè)計(jì)。定制設(shè)計(jì)指用戶以某種特定應(yīng)用為主向生產(chǎn)廠家定做,設(shè)計(jì)人員專門為其進(jìn)行設(shè)計(jì)。現(xiàn)今vlsi允許在一塊芯片上集成一個(gè)系統(tǒng)或子系統(tǒng),日益傾向于以某種特定應(yīng)用為主的專門集成電路,例如信號(hào)處理器,控制器,專用的編碼譯碼器等。用戶不必像過去那樣用分立的集成塊或分立期間進(jìn)行試驗(yàn)或設(shè)計(jì),而是希望把需要的電路系統(tǒng)完整的集成在一塊芯片上。用戶需向廠家定制這種電路。定制設(shè)計(jì)又分為全定制設(shè)計(jì)和半定制設(shè)計(jì)兩種,全定制版圖設(shè)計(jì)適合于生產(chǎn)批量大、電路結(jié)構(gòu)的重復(fù)性強(qiáng)、數(shù)字與模擬兼容以及有特殊要求的電路。這種設(shè)計(jì)方法一般是利用人機(jī)交互圖形系統(tǒng),由設(shè)計(jì)人員人工完成
11、各個(gè)器件及互連線的版圖設(shè)計(jì)、輸入和編輯,實(shí)現(xiàn)電路版圖到版圖的轉(zhuǎn)換。全定制設(shè)計(jì)方法的特點(diǎn)在于充分利用設(shè)計(jì)者的經(jīng)驗(yàn)與創(chuàng)造性,盡可能對(duì)每個(gè)器件的電路參數(shù)與版圖參數(shù)進(jìn)行優(yōu)化,力求達(dá)到優(yōu)良的技術(shù)指標(biāo)。這種電路具有最佳的性能(例如速度和功耗等),芯片面積也能做到最小,但是設(shè)計(jì)周期較長(zhǎng),成本高,設(shè)計(jì)效率較低。半定制設(shè)計(jì)是硅微電子系統(tǒng)的主要設(shè)計(jì)技術(shù),主要包括門陣列設(shè)計(jì)技術(shù)、標(biāo)準(zhǔn)單元設(shè)計(jì)技術(shù)、以及pld/fpga設(shè)計(jì)技術(shù)等幾種設(shè)計(jì)方法。其特點(diǎn)是預(yù)先設(shè)計(jì)并加工好一些基本單元電路供用戶選用,按照用戶提出的具體定制要求實(shí)現(xiàn)單元之間的布局布線,以實(shí)現(xiàn)某種功能要求。也就是說,一部分基本的設(shè)計(jì)和生產(chǎn)工作在用戶定做之前已預(yù)先
12、完成,余下的部分工作按用戶的要求來定做。此種方法的設(shè)計(jì)周期短、成本較低,電學(xué)性能良好。本設(shè)計(jì)將采用半定制設(shè)計(jì)中的標(biāo)準(zhǔn)單元法和全定制設(shè)計(jì)相結(jié)合的設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。第二章 四位mcu的verilog語言實(shí)現(xiàn)設(shè)計(jì)人員用硬件描述語言描繪出硬件的結(jié)構(gòu)和硬件的行為,再結(jié)合半導(dǎo)體器件的工藝要求進(jìn)行仿真、綜合,最后生成付諸生產(chǎn)的電路描述或版圖參數(shù)描述的工藝文件。本文以4bitmcu中的alu為例說明設(shè)計(jì)全過程。2.1四位mcu各模塊功能簡(jiǎn)述 本設(shè)計(jì)中的mcu為一功能比較簡(jiǎn)單的微處理器,其操作數(shù)字長(zhǎng)4bit。該處理器主要有數(shù)據(jù)部分與控制部分組成,其中主要包括:(1) 計(jì)數(shù)器pc,該計(jì)數(shù)器產(chǎn)生指令地址碼控制指令存
13、儲(chǔ)器(opmem)輸出相應(yīng)的8位指令代碼。(2) 指令存儲(chǔ)器opmem,該存儲(chǔ)器輸入為pc計(jì)數(shù)器產(chǎn)生的指令地址,經(jīng)過尋址將輸出相應(yīng)地址對(duì)應(yīng)的指令代碼(3) 指令寄存器opreg,寄存器由時(shí)鐘信號(hào)與ir信號(hào)共同控制對(duì)由指令存儲(chǔ)器輸出的指令代碼進(jìn)行緩存。(4) 控制器controler,它以當(dāng)前指令、時(shí)鐘、運(yùn)算結(jié)果、外部電路的控制信號(hào)為輸入,產(chǎn)生相應(yīng)的控制碼,向數(shù)據(jù)通道各部件、存儲(chǔ)器、以及其他外圍單元發(fā)出控制信號(hào),控制數(shù)據(jù)在寄存器、存儲(chǔ)器內(nèi)的讀/寫操作,i/o部件進(jìn)行數(shù)據(jù)交換,控制alu進(jìn)行指定的運(yùn)算。該控制器實(shí)際為一譯碼電路將當(dāng)前執(zhí)行的指令代碼、mcu其他部件的狀態(tài)信號(hào)經(jīng)譯碼產(chǎn)生控制碼,送到數(shù)據(jù)
14、部分和mcu其他部件,使其產(chǎn)生相應(yīng)動(dòng)作。(5) 算術(shù)邏輯單元alu,對(duì)操作數(shù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,產(chǎn)生運(yùn)算結(jié)果和進(jìn)位等標(biāo)志。(6) 內(nèi)部存儲(chǔ)器ram,該隨機(jī)存儲(chǔ)器采用4x4結(jié)構(gòu),由16個(gè)觸發(fā)器組成,在存儲(chǔ)器當(dāng)中存儲(chǔ)了alu單元所需要的操作數(shù)(7) 輸出鎖存器,該鎖存器由en信號(hào)控制產(chǎn)生輸出。除此以外,該mcu還包括各種數(shù)據(jù)選擇器、寄存器、緩沖器等部件。其中,alu、ram、數(shù)據(jù)總線、各寄存器構(gòu)成了數(shù)據(jù)部分;pc計(jì)數(shù)器、指令存儲(chǔ)器、專用指令寄存器、控制器等構(gòu)成了控制部分。下面將以運(yùn)算單元alu為例作詳細(xì)介紹。 alu是整個(gè)微處理器系統(tǒng)的核心部件,它主要負(fù)責(zé)進(jìn)行各種數(shù)學(xué)運(yùn)算以及邏輯運(yùn)算。在標(biāo)準(zhǔn)m
15、cu中alu包括兩操作數(shù)之間的加運(yùn)算、減運(yùn)算、求補(bǔ)、左移/右移即乘法與除法運(yùn)算等數(shù)學(xué)運(yùn)算,還包括可進(jìn)行and、or、not和xor等邏輯運(yùn)算的邏輯電路。2.2 verilog描述本書通過介紹alu兩種設(shè)計(jì)方案:無層次化設(shè)計(jì)、層次化設(shè)計(jì)的實(shí)現(xiàn)來介紹數(shù)字集成電路的設(shè)計(jì)流程。2.2.1硬件描述語言的輸入2.2.1.1真值表2.2.1.2 結(jié)構(gòu)圖1 無層次化設(shè)計(jì)的結(jié)構(gòu)圖圖2-12 層次化設(shè)計(jì)的結(jié)構(gòu)圖圖2-22.2.1.3 無層次化設(shè)計(jì)代碼1 、alu圖2-32 alu_tb圖2-42.2.1.4 層次化設(shè)計(jì)代碼1 decoder圖2-52 fout_bit圖2-63 fout_bit_alu圖2-74
16、 single_bit圖2-85 top圖2-96 alu_tb圖2-10第三章 驗(yàn)證與vcs使用 當(dāng)代碼編寫完之后,如何確定代碼是否正確,代碼能不能符合設(shè)計(jì)要求,能不能完成所需要的功能,這就是驗(yàn)證所要做的工作。驗(yàn)證在設(shè)計(jì)中有很重要的地位,從設(shè)計(jì)流程中可以看到,幾乎設(shè)計(jì)工作每前進(jìn)一步,都要進(jìn)行驗(yàn)證。對(duì)驗(yàn)證的要求,大多數(shù)人認(rèn)為只要編譯通過之后,能實(shí)現(xiàn)功能就可以了,其實(shí)決不僅僅這么簡(jiǎn)單,驗(yàn)證的目的應(yīng)該是盡量多的找到代碼中的錯(cuò)誤,不管是編寫錯(cuò)誤還是功能錯(cuò)誤,找出的錯(cuò)誤越多,驗(yàn)證工作就做的越來越好。既然驗(yàn)證這么重要,如何進(jìn)行驗(yàn)證呢?對(duì)于驗(yàn)證來說,不同等級(jí)的驗(yàn)證,它的方法是不一樣的。什么是驗(yàn)證的等級(jí),從
17、設(shè)計(jì)流程圖3.1可以看到,驗(yàn)證可以大致分為單獨(dú)子模塊驗(yàn)證、功能模塊驗(yàn)證、系統(tǒng)頂級(jí)驗(yàn)證。 單獨(dú)子模塊驗(yàn)證:需要做的工作是驗(yàn)證它的功能和邏輯是否符合設(shè)計(jì)要求 功能模塊驗(yàn)證:需要驗(yàn)證這個(gè)模塊的功能可不可以滿足要求,是否會(huì)有非法數(shù)據(jù)或不該有的輸出,錯(cuò)誤的狀態(tài)等。 系統(tǒng)頂級(jí)驗(yàn)證:更關(guān)注于系統(tǒng)整體的行為方式、模塊間的聯(lián)系和通訊、總線信號(hào)、數(shù)據(jù)流路徑是否滿足設(shè)計(jì)要求,數(shù)據(jù)處理或時(shí)序正確與否等。驗(yàn)證需要一個(gè)支持的平臺(tái),這就是test_bench,在這個(gè)測(cè)試平臺(tái)上,有激勵(lì)信號(hào)產(chǎn)生器、被測(cè)模塊、響應(yīng)分析和監(jiān)測(cè)器。 激勵(lì)與控制:輸入端口設(shè)置,測(cè)試向量,測(cè)試模式設(shè)置。 響應(yīng)分析器和監(jiān)測(cè)器:可以及時(shí)監(jiān)控輸出信號(hào)變化,可
18、以判斷輸出信號(hào)是正確、合法、錯(cuò)誤、非法等。stimulus&controlmonitor&analyzermodule 圖3-1test_bench可以用verilog描述語言搭建,也可以用c語言編寫,如果用c語言編寫,還需要相關(guān)的編譯器并和與verilog的接口。3.1vcs的簡(jiǎn)單使用方法3.1.1什么是vcsvcs的全稱是verilog compile simulator,是synopsys公司的強(qiáng)有力的電路仿真工具,可以進(jìn)行電路的時(shí)序模擬。3.1.2 vcs的工作方式vcs運(yùn)行首先把輸入的verilog源文件編譯,生成可執(zhí)行的模擬文件,也可以生成vcd或者vcd記錄文件,運(yùn)行這個(gè)可執(zhí)行的
19、文件,可以進(jìn)行調(diào)試與分析 ,或者查看生成的vcd或vcd記錄文件,同時(shí)還生成了一些供分析和查看的文件,以便于調(diào)試。3.1.3 如何進(jìn)行仿真和驗(yàn)證仿真測(cè)試一個(gè)模塊的大致步驟如下:(1) 首先需要編寫好模塊的verilog代碼。(2) 搭建test_bench,充分了解被測(cè)模塊的特性,編寫測(cè)試向量,輸入端口的激勵(lì),編寫響應(yīng)分析和監(jiān)測(cè)部分。(3) 運(yùn)行vcs進(jìn)行模擬,查看輸出或者波形。(4) 若發(fā)現(xiàn)錯(cuò)誤,分析錯(cuò)誤類型和原因,修改代碼或者修正測(cè)試方法,直到符合測(cè)試要求。3.1.4 vcs的運(yùn)行方式vcs圖形化方式有兩種模式:interactive模式、post-processing模式。interac
20、tive的工作模式比較適合一個(gè)正在debug的設(shè)計(jì),通過查看仿真結(jié)果,直接對(duì)一個(gè)正在調(diào)試的設(shè)計(jì)進(jìn)行修改,然后rebuild進(jìn)行調(diào)試,而不需要退出vcs環(huán)境;而post-process工作模式比較適合已經(jīng)調(diào)試成熟的設(shè)計(jì),可以保存和讀取vcd波形文件,所以允許多人同時(shí)調(diào)試同一個(gè)設(shè)計(jì),在較大規(guī)模的設(shè)計(jì)中很有用處,可以節(jié)省仿真時(shí)間,因其可以避開重新仿真所花費(fèi)的時(shí)間,只要對(duì)已保存的vcd文件進(jìn)行讀取即可。3.2 alu綜合前的編譯、仿真步驟與實(shí)現(xiàn) 本節(jié)通過對(duì)alu兩種代碼進(jìn)行綜合前的編譯、仿真來介紹仿真工具的使用,這里介紹verilog-xl和vcs兩種工具的使用3.2.1 無層次化設(shè)計(jì)仿真3.2.1.
21、1 verilog_xl1)testbenchtimescale 1ns/1ns/time unit & precisionmodule alu_tb;/list ports to be simulatedreg 2:0 s;reg 3:0 operand_a,operand_b;reg co;reg 7:0 test;wire 3:0 alu_result;/top modulealu u1 (.s(s),.a(operand_a),.b(operand_b),.f(alu_result),.cin(co);/for simulationinitialbegin for ( test = 0
22、; test = 8hfe; test = test+1) begin co = test0; s2:0 = test3:1; operand_a = test3:0; operand_b = test7:4; #10; end $finish;end/ for xlinitialbegin $shm_open(alu.shm); $shm_probe(ac);endendmodule2)文件準(zhǔn)備codes目錄下是你的設(shè)計(jì)文件和測(cè)試文檔runme.f文件:./codes/alu_tb.v ./codes/alu.v 圖3-23)start upserver% verilog -f runme.
23、f +gui&1 13241waveform 圖3-33.2.1.2 vcs1) testbench/time unit & precisiontimescale 1ns/1nsmodule alu_tb;/list ports to be simulatedreg 2:0 s;reg 3:0 operand_a,operand_b;reg co;reg 7:0 test;wire 3:0 alu_result;/top modulealu u1 (.s(s),.a(operand_a),.b(operand_b),.f(alu_result),.cin(co);/ for vcsinitia
24、lbegin ifdef vcd $display(nvcd+ onn); $vcdpluson; endifend/for simulationinitialbegin for ( test = 0; test = 8hfe; test = test+1) begin co = test0; s2:0 = test3:1; operand_a = test3:0; operand_b = test7:4; #10; end $finish;endendmodule2)文件準(zhǔn)備codes目錄下是你的設(shè)計(jì)文件和測(cè)試文檔runme.f文件:./codes/alu_tb.v ./codes/alu.
25、v圖3-43)start up/postprocessing modeserver% vcs f runme.f pp r +vcsd +define+vcdserver% vcs -f runme.f rpp/interactive modeserver% vcs -f runme.f -mupdate -ri4) next steps/postprocessing mode圖3-5/interactive mode圖3-65) waveform/postprocessing mode圖3-7/interactive mode圖3-8圖3-93.2.2 層次化設(shè)計(jì)仿真3.2.2.1veril
26、og_xl1)testbenchtimescale 1 ns / 1 ns/time unit & precisionmodule alu_tb;/list ports to be simulatedreg 2:0 s;reg 3:0 operand_a,operand_b;reg co;reg 11:0 test;wire 3:0 alu_result;/top moduletop u8(.s(s),.operand_a(operand_a),.operand_b(operand_b),.alu_result(alu_result),.co(co);/for simulationinitia
27、lbegin for ( test = 0; test = 12hffe; test = test+1) begin co = test0; s2:0 = test3:1; operand_a = test7:4; operand_b = test11:8; #50; end $finish;end/ for xlinitialbegin $shm_open(alu.shm); $shm_probe(ac);endendmodule2)文件準(zhǔn)備codes目錄下是你的設(shè)計(jì)文件和測(cè)試文檔runme.f文件:./codes/alu_tb.v./codes/decoder.v./codes/four_
28、bit.v./codes/four_bit_alu.v./codes/single_bit.v./codes/top.v圖3-102) start upserver% verilog -f runme.f +gui&3)2.2.1.4 waveform圖3-113.2.2.2vcs1) testbench/time unit & precisiontimescale 1 ns / 1 nsmodule alu_tb;/list ports to be simulatedreg 2:0 s;reg 3:0 operand_a,operand_b;reg co;reg 11:0 test;wire
29、 3:0 alu_result;/top moduletop u8 (.s(s),.operand_a(operand_a),.operand_b(operand_b),.alu_result(alu_result),.co(co);/ for vcsinitialbegin ifdef vcd / enable vcd dumping $display (nvcd+ dumping is turned onn); $vcdpluson; endifend/for simulationinitialbegin for ( test = 0; test read_verilog alu.vdc_
30、shell-t linkdc_shell-t echo $target_librarycsmc06core.dbdc_shell-t echo $link_library* csmc06core.dbdc_shell-t echo $symbol_librarycsmc06core.sdbdc_shell-t echo $search_pathdc_shell-t list_libsdc_shell-t report_lib csmc06core reports/csmc06core.rptdc_shell-t get_designsaludc_shell-t get_portsdc_shel
31、l-t get_netsdc_shell-t all_inputsdc_shell-t all_outputsdc_shell-t get_libsdc_shell-t report_attribute -pin get_pins csmc06core/an02d1/adc_shell-t report_attribute -pin get_pins csmc06core/in01d1/yndc_shell-t quitdc_shell-t exit運(yùn)行命令server% dc_shell-tdc_shell-t source constraints.tcldc_shell-t source
32、run.tcldc_shell-t source write.tcldc_shell-t source reports.tcl3)結(jié)果報(bào)告圖4-64)da&庫(kù)的查看圖4-7圖4-8 read in verilog圖4-9圖4-10點(diǎn)擊模塊:圖4-11點(diǎn)擊圖4-11中模塊:圖4-12read in db圖4-13圖4-144.3.2層次化設(shè)計(jì)綜合 1)文件準(zhǔn)備運(yùn)行命令 同無層次化設(shè)計(jì) 略第五章 綜合后的編譯、仿真后仿真的過程和前仿真一樣,區(qū)別在于是對(duì)門級(jí)網(wǎng)表(需要綜合的人員提供)進(jìn)行仿真,并要加入綜合時(shí)的庫(kù)文件和生成的sdf文件。由于加入了庫(kù)文件,其仿真結(jié)果和前仿真時(shí)對(duì)原代碼的仿真結(jié)果會(huì)不同,主
33、要還是由于時(shí)序問題造成的,所以要調(diào)節(jié)時(shí)鐘,或關(guān)鍵信號(hào),并往內(nèi)部看,找到可能問題所在,然后通知代碼編寫者進(jìn)行適當(dāng)修改。5.1層次化設(shè)計(jì)5.1.1 verilog_xl1 testbench圖5-12文件準(zhǔn)備codes:門級(jí)網(wǎng)表,測(cè)試文檔,sdf和core標(biāo)準(zhǔn)單元的硬件描述語言runme.f文件:./codes/alu_tb.v ./codes/alu_gates.v ./codes/csmc06core_un.v圖5-23 start upserver% verilog -f runme.f +sdf_verbose +gui&4 waveform 圖5-3圖5-45.1.2vcs1 testb
34、ench圖5-52文件準(zhǔn)備codes:門級(jí)網(wǎng)表,測(cè)試文檔,sdf和core標(biāo)準(zhǔn)單元的硬件描述語言runme.f文件:./codes/alu_tb.v ./codes/alu_gates.v ./codes/csmc06core_un.v 圖5-63 start up/postprocessing modeserver% vcs -f runme.f -pp -r +vcsd +define+vcdserver% vcs -f runme.f -rpp4 others圖5-75.2 層次化設(shè)計(jì)5.2.1verilog_xl1)文件準(zhǔn)備codes:門級(jí)網(wǎng)表,測(cè)試文檔,sdf和core標(biāo)準(zhǔn)單元的硬件
35、描述語言runme.f文件:./codes/alu_tb.v ./codes/alu_gates.v ./codes/csmc06core_un.v 圖5-82) start upserver% verilog -f runme.f +sdf_verbose +gui& 3) waveform圖5-95.2.2 vcs1)testbench圖5-102)文件準(zhǔn)備codes:門級(jí)網(wǎng)表,測(cè)試文檔,sdf和core標(biāo)準(zhǔn)單元的硬件描述語言runme.f文件:./codes/alu_tb.v ./codes/alu_gates.v ./codes/csmc06core_un.v 圖5-113) star
36、t up/postprocessing modevcs -f runme.f -pp -r +vcsd +define+vcdparsing design file ./codes/alu_tb.vparsing design file ./codes/alu_gates.vparsing design file ./codes/csmc06core_un.vtop level modules:server% vcs -f runme.f -rpp4) waveform 圖5-12第六章 布局布線(se) silicon ensemble (se)是cadence版圖自動(dòng)布局布線工具,采用時(shí)序
37、驅(qū)動(dòng)的布局布線,自動(dòng)生成時(shí)鐘樹,該軟件能給出精確的時(shí)序信息,有利于版圖后仿真,為大規(guī)模,超大規(guī)模集成電路的布局布線提供了優(yōu)化的解決方案,是目前使用最廣泛的自動(dòng)布局布線工具 使用se布局布線的流程為:圖6-16.1啟動(dòng)se 1)運(yùn)行一下shell文件:source .cshrc_se 2)建立一個(gè)運(yùn)行目錄:mkdir run 3)在run下運(yùn)行:sedsm -m=96 &* 為se運(yùn)行申請(qǐng)最大96m的內(nèi)存* 生成se.jnl文件:包括命令,響應(yīng),信息等* 執(zhí)行se.ini文件中的命令* 顯示出圖形界面 圖6-26.2讀入工藝庫(kù)文件 .lef和.ctlf 1) leflibrary exchang
38、e format*描述庫(kù)單元信息pinsoriginsize*描述block信息2)ctlfcompiled timing library format描述時(shí)序信息 3) 讀入庫(kù)文件的一般流程如下圖: 圖6-34)讀入庫(kù)文件具體步驟a file - import - lef = import lef form 輸入xxx.lef 文件。(如:csmc06.lef )圖6-4 b file - import - timing library = import timing library form 輸入xxx.gcf 文件。(如:csmc06.gcf ) 圖6-56.3 讀入設(shè)計(jì)文件 .v, .
39、def和.sdf 1) vdesign netlist 設(shè)計(jì)的網(wǎng)表文件defdesign exchange format 描述已設(shè)計(jì)好版圖的信息*單元的位置*單元的連線sdfstandard delay format 描述時(shí)延信息,如路徑延遲 2) 讀入設(shè)計(jì)文件的步驟:a. file - import - verilog = import verilog form輸入 .v文件。(包括所有有關(guān)的 .v文件)圖6-6 b. file - import - def = import def form 輸入 xxx.def文件。 圖6-7 c. file - import - sdf = impor
40、t sdf form 輸入 xxx.sdf文件。圖6-86.4版圖布局初始化 floorplan - initial floorplan = initial floorplan form 圖6-91)版圖布局初始化包括:*根據(jù)估計(jì)的面積給出初始版圖*給出rows用于放置標(biāo)準(zhǔn)單元*給出布i/o pad的row2)calculate 得到版圖布局初始化設(shè)計(jì)的可行性結(jié)論3)ok =初始版圖圖6-106.5放置i/o管腳place - io = place io form *random - ok = 隨機(jī)放置i/o管腳, *通過編輯xxx.ioc 文件,人為確定i/o管腳的放置位置和方向。6-11放置i/o管腳完成后: 圖6-126.6放置電源環(huán)和電源條 a. 放置電源環(huán)route - plan power - add rings = pp add rings form設(shè)置電源環(huán)的寬度、層次等參數(shù)。圖6-13放置電源環(huán)后: 圖6-14b放置電源條 route - plan power - add stripes = pp add stripes form設(shè)置電源條的寬度、層次和數(shù)量等參數(shù)。圖6-15放置電源條后:圖6-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國(guó)銀行外匯商業(yè)房抵押貸款合同中國(guó)銀行抵押貸款
- 2025授權(quán)專賣店特許合同范本
- 2025設(shè)備租賃合同欠款爭(zhēng)議解決
- 2025專利使用許可專用合同范本
- 《2025年度企業(yè)雇傭合同》
- 2025年標(biāo)準(zhǔn)管理資金信托合同模板
- 2025企業(yè)臨時(shí)工勞動(dòng)合同樣本示范
- 2025租賃合同格式
- 2025網(wǎng)絡(luò)安全等級(jí)保護(hù)測(cè)評(píng)服務(wù)合同
- 2025合同違約不及時(shí)履行將產(chǎn)生保函責(zé)任
- 電臺(tái)項(xiàng)目可行性研究報(bào)告
- 人教版(2024)七年級(jí)下冊(cè)英語期中質(zhì)量檢測(cè)試卷(含答案)
- 針刺傷預(yù)防與處理(中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn))
- 2024年度《安全教育家長(zhǎng)會(huì)》課件
- 安全生產(chǎn)法律法規(guī)知識(shí)培訓(xùn)課件
- 地鐵安檢專業(yè)知識(shí)培訓(xùn)課件
- 2024年國(guó)家國(guó)防科技工業(yè)局軍工項(xiàng)目審核中心招聘筆試參考題庫(kù)附帶答案詳解
- 南京開通KT820數(shù)控車床說明書
- GB/T 17554.1-2006識(shí)別卡測(cè)試方法第1部分:一般特性測(cè)試
- 送教上門學(xué)生教案(生活適應(yīng)和實(shí)用語數(shù)共17篇)
- 三年級(jí)家長(zhǎng)會(huì)(語文).ppt
評(píng)論
0/150
提交評(píng)論