1、畫狀態(tài)機(jī),接受1,2,5分錢的賣報(bào)機(jī),每份報(bào)紙5分錢。
確定輸入輸出,投1分錢A=1,投2分錢B=1,投5分錢C=1,給出報(bào)紙Y=1
- 確定狀態(tài)數(shù)畫出狀態(tài)轉(zhuǎn)移圖,沒有投幣之前的初始狀態(tài)S0,投入了1分硬幣S1,投入了2分硬幣S2,投入了3分硬幣S3,投入了4分硬幣S4。
- 畫卡諾圖或者是利用verilog編碼
2、設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)系統(tǒng),賣soda水的,只能投進(jìn)三種硬幣,要正確的找回錢數(shù)。
(1)畫出fsm(有限狀態(tài)機(jī));(2)用verilog編程,語(yǔ)法要符合fpga設(shè)計(jì)的要求。
3、設(shè)計(jì)一個(gè)自動(dòng)飲料售賣機(jī),飲料10分錢,硬幣有5分和10分兩種,并考慮找零:
(1)畫出fsm(有限狀態(tài)機(jī));
(2)用verilog編程,語(yǔ)法要符合fpga設(shè)計(jì)的要求;
(3)設(shè)計(jì)工程中可使用的工具及設(shè)計(jì)大致過程。
1、輸入A=1表示投5分錢,B=1表示投10分錢,輸出Y=1表示給飲料,Z=1表示找零
2、確定狀態(tài)數(shù),沒投幣之前S0,投入了5分S1
4、畫出可以檢測(cè)10010串的狀態(tài)圖,并verilog實(shí)現(xiàn)之。
1、輸入data,1和0兩種情況,輸出Y=1表示連續(xù)輸入了10010
2、確定狀態(tài)數(shù)沒輸入之前S0,輸入一個(gè)0到了S1,10為S2,010為S3,0010為S4
5、用FSM實(shí)現(xiàn)101101的序列檢測(cè)模塊。
a為輸入端,b為輸出端,如果a連續(xù)輸入為101101則b輸出為1,否則為0。
例如 a:0001100110110110100110
b:0000000000100100000000
請(qǐng)畫出state machine;請(qǐng)用RTL描述其state machine。
確定狀態(tài)數(shù),沒有輸入或輸入0為S0,1為S1,01為S2,101為S3,1101為S4,01101為S5。知道了輸入輸出和狀態(tài)轉(zhuǎn)移的關(guān)系很容易寫出狀態(tài)機(jī)的verilog代碼,一般采用兩段式狀態(tài)機(jī)
6、給出單管DRAM的原理圖
7、什么叫做OTP片(OTP(一次性可編程))、掩膜片,兩者的區(qū)別何在?
OTP與掩膜 OTP是一次性寫入的單片機(jī)。過去認(rèn)為一個(gè)單片機(jī)產(chǎn)品的成熟是以投產(chǎn)掩膜型單片機(jī)為標(biāo)志的。由于掩膜需要一定的生產(chǎn)周期,而OTP型單片機(jī)價(jià)格不斷下降,使得近年來直接使用OTP完成最終產(chǎn)品制造更為流行。它較之掩膜具有生產(chǎn)周期短、風(fēng)險(xiǎn)小的特點(diǎn)。
近年來,OTP型單片機(jī)需量大幅度上揚(yáng),為適應(yīng)這種需求許多單片機(jī)都采用了在系統(tǒng)編程技術(shù)(In System Programming)。未編程的OTP芯片可采用裸片Bonding技術(shù)或表面貼技術(shù),先焊在印刷板上,然后通過單片機(jī)上引出的編程線、串行數(shù)據(jù)、時(shí)鐘線等對(duì)單片機(jī)編程。解決了批量寫OTP 芯片時(shí)容易出現(xiàn)的芯片與寫入器接觸不好的問題。使OTP的裸片得以廣泛使用,降低了產(chǎn)品的成本。編程線與I/O線共用,不增加單片機(jī)的額外引腳。而一些生產(chǎn)廠商推出的單片機(jī)不再有掩膜型,全部為有ISP功能的OTP。
8、你知道的集成電路設(shè)計(jì)的表達(dá)方式有哪幾種?
9、描述你對(duì)集成電路設(shè)計(jì)流程的認(rèn)識(shí)。
制定規(guī)格書-任務(wù)劃分-設(shè)計(jì)輸入-功能仿真-綜合-優(yōu)化-布局布線-時(shí)序仿真時(shí)序分析-芯片流片-芯片測(cè)試驗(yàn)證
10、描述你對(duì)集成電路工藝的認(rèn)識(shí)。
工藝分類:TTL,CMOS兩種比較流行,TTL速度快功耗高,CMOS速度慢功耗低。
集成電路的工藝主要是指CMOS電路的制造工藝,主要分為以下幾個(gè)步驟:襯底準(zhǔn)備-氧化、光刻-擴(kuò)散和離子注入-淀積-刻蝕-平面化。
11、簡(jiǎn)述FPGA等可編程邏輯器件設(shè)計(jì)流程。
通常可將FPGA/CPLD設(shè)計(jì)流程歸納為以下7個(gè)步驟,這與ASIC設(shè)計(jì)有相似之處。
1.設(shè)計(jì)輸入。Verilog或VHDL編寫代碼。
2.前仿真(功能仿真)。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效。(ASCI設(shè)計(jì)中,這一步驟稱為第一次Sign-off)PLD設(shè)計(jì)中,有時(shí)跳過這一步。
3.設(shè)計(jì)編譯(綜合)。設(shè)計(jì)輸入之后就有一個(gè)從高層次系統(tǒng)行為設(shè)計(jì)向門級(jí)邏輯電路設(shè)轉(zhuǎn)化翻譯過程,即把設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識(shí)別的某種數(shù)據(jù)格式(網(wǎng)表)。
4.優(yōu)化。對(duì)于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫(kù)映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。
5.布局布線。
6.后仿真(時(shí)序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序。(ASCI設(shè)計(jì)中,這一步驟稱為第二次Sign—off)。
7.生產(chǎn)。布線和后仿真完成之后,就可以開始ASCI或PLD芯片的投產(chǎn)
12、分別寫出IC設(shè)計(jì)前端到后端的流程和eda工具。
邏輯設(shè)計(jì)--子功能分解--詳細(xì)時(shí)序框圖--分塊邏輯仿真--電路設(shè)計(jì)(RTL級(jí)描述)--功能仿真--綜合(加時(shí)序約束和設(shè)計(jì)庫(kù))--電路網(wǎng)表--網(wǎng)表仿真)-預(yù)布局布線(SDF文件)--網(wǎng)表仿真(帶延時(shí)文件)--靜態(tài)時(shí)序分析--布局布線--參數(shù)提取--SDF文件--后仿真--靜態(tài)時(shí)序分析--測(cè)試向量生成--工藝設(shè)計(jì)與生產(chǎn)--芯片測(cè)試--芯片應(yīng)用。
在驗(yàn)證過程中出現(xiàn)的時(shí)序收斂,功耗,面積問題,應(yīng)返回前端的代碼輸入進(jìn)行重新修改,再仿真,再綜合,再驗(yàn)證,一般都要反復(fù)好幾次才能最后送去foundry廠流片。(設(shè)計(jì)公司是fabless)
數(shù)字IC設(shè)計(jì)流程
1.需求分析(制定規(guī)格書)。分析用戶或市場(chǎng)的需求,并將其翻譯成對(duì)芯片產(chǎn)品的技術(shù)需求。
2.算法設(shè)計(jì)。設(shè)計(jì)和優(yōu)化芯片鐘所使用的算法。這一階段一般使用高級(jí)編程語(yǔ)言(如C/C++),利用算法級(jí)建模和仿真工具(如MATLAB,SPW)進(jìn)行浮點(diǎn)和定點(diǎn)的仿真,進(jìn)而對(duì)算法進(jìn)行評(píng)估和優(yōu)化。
3.構(gòu)架設(shè)計(jì)。根據(jù)設(shè)計(jì)的功能需求和算法分析的結(jié)果,設(shè)計(jì)芯片的構(gòu)架,并對(duì)不同的方案進(jìn)行比較,選擇性能價(jià)格最優(yōu)的方案。這一階段可以使用SystemC語(yǔ)言對(duì)芯片構(gòu)架進(jìn)行模擬和分析。
4.RTL設(shè)計(jì)(代碼輸入)。使用HDL語(yǔ)言完成對(duì)設(shè)計(jì)實(shí)體的RTL級(jí)描述。這一階段使用VHDL和Verilog HDL語(yǔ)言的輸入工具編寫代碼。
5. RTL驗(yàn)證(功能仿真)。使用仿真工具或其他RTL代碼分析工具,驗(yàn)證RTL代碼的質(zhì)量和性能。
6.綜合。從RTL代碼生成描述實(shí)際電路的門級(jí)網(wǎng)表文件。
7.門級(jí)驗(yàn)證(綜合后仿真)。對(duì)綜合產(chǎn)生的門級(jí)網(wǎng)表進(jìn)行驗(yàn)證。這一階段通常會(huì)使用仿真、靜態(tài)時(shí)序分析和形式驗(yàn)證等工具。
8. 布局布線。后端設(shè)計(jì)對(duì)綜合產(chǎn)生的門級(jí)網(wǎng)表進(jìn)行布局規(guī)劃(Floorplanning)、布局(Placement)、布線(Routing),生成生產(chǎn)用的版圖。
9.電路參數(shù)提取確定芯片中互連線的寄生參數(shù),從而獲得門級(jí)的延時(shí)信息。
10.版圖后驗(yàn)證。根據(jù)后端設(shè)計(jì)后取得的新的延時(shí)信息,再次驗(yàn)證設(shè)計(jì)是否能夠?qū)崿F(xiàn)所有的功能和性能指標(biāo)。
11.芯片生產(chǎn)。生產(chǎn)在特定的芯片工藝線上制造出芯片。
12. 芯片測(cè)試。對(duì)制造好的芯片進(jìn)行測(cè)試,檢測(cè)生產(chǎn)中產(chǎn)生的缺陷和問題。
數(shù)字IC后端設(shè)計(jì)流程
1. 數(shù)據(jù)準(zhǔn)備
對(duì)于 Cadance的 SE而言后端設(shè)計(jì)所需的數(shù)據(jù)主要有是Foundry廠提供的標(biāo)準(zhǔn)單元、宏單元和I/O Pad的庫(kù)文件,它包括物理庫(kù)、時(shí)序庫(kù)及網(wǎng)表庫(kù),分別以.lef、.tlf和.v的形式給出。前端的芯片設(shè)計(jì)經(jīng)過綜合后生成的門級(jí)網(wǎng)表,具有時(shí)序約束和時(shí)鐘定義的腳本文件和由此產(chǎn)生的.gcf約束文件以及定義電源Pad的DEF(Design Exchange Format)文件。(對(duì)synopsys 的Astro 而言, 經(jīng)過綜合后生成的門級(jí)網(wǎng)表,時(shí)序約束文件 SDC 是一樣的,Pad的定義文件--tdf , .tf 文件 --technology file, Foundry廠提供的標(biāo)準(zhǔn)單元、宏單元和I/O Pad的庫(kù)文件就與FRAM, CELL view, LM view 形式給出(Milkway 參考庫(kù) and DB, LIB file)
2.布局規(guī)劃
主要是標(biāo)準(zhǔn)單元、I/O Pad和宏單元的布局。I/O Pad預(yù)先給出了位置,而宏單元?jiǎng)t根據(jù)時(shí)序要求進(jìn)行擺放,標(biāo)準(zhǔn)單元?jiǎng)t是給出了一定的區(qū)域由工具自動(dòng)擺放。布局規(guī)劃后,芯片的大小,Core的面積,Row的形式、電源及地線的Ring和Strip都確定下來了。如果必要在自動(dòng)放置標(biāo)準(zhǔn)單元和宏單元之后, 你可以先做一次PNA(power network analysis)--IR drop and EM .
3. Placement -自動(dòng)放置標(biāo)準(zhǔn)單元
布局規(guī)劃后,宏單元、I/O Pad的位置和放置標(biāo)準(zhǔn)單元的區(qū)域都已確定,這些信息SE(Silicon Ensemble)會(huì)通過DEF文件傳遞給PC(Physical Compiler),PC根據(jù)由綜合給出的.DB文件獲得網(wǎng)表和時(shí)序約束信息進(jìn)行自動(dòng)放置標(biāo)準(zhǔn)單元,同時(shí)進(jìn)行時(shí)序檢查和單元放置優(yōu)化。如果你用的是PC +Astro那你可用write_milkway, read_milkway傳遞數(shù)據(jù)。
4. 時(shí)鐘樹生成(CTS Clock tree synthesis)
芯片中的時(shí)鐘網(wǎng)絡(luò)要驅(qū)動(dòng)電路中所有的時(shí)序單元,所以時(shí)鐘源端門單元帶載很多,其負(fù)載延時(shí)很大并且不平衡,需要插入緩沖器減小負(fù)載和平衡延時(shí)。時(shí)鐘網(wǎng)絡(luò)及其上的緩沖器構(gòu)成了時(shí)鐘樹。一般要反復(fù)幾次才可以做出一個(gè)比較理想的時(shí)鐘樹。
5. STA靜態(tài)時(shí)序分析和后仿真
時(shí)鐘樹插入后,每個(gè)單元的位置都確定下來了,工具可以提出Global Route形式的連線寄生參數(shù),此時(shí)對(duì)延時(shí)參數(shù)的提取就比較準(zhǔn)確了。SE把.V和.SDF文件傳遞給PrimeTime做靜態(tài)時(shí)序分析。確認(rèn)沒有時(shí)序違規(guī)后,將這來兩個(gè)文件傳遞給前端人員做后仿真。對(duì)Astro 而言,在detail routing 之后, 用starRC XT參數(shù)提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態(tài)時(shí)序分析,那將會(huì)更準(zhǔn)確。
6. ECO(Engineering Change Order)針對(duì)靜態(tài)時(shí)序分析和后仿真中出現(xiàn)的問題,對(duì)電路和單元布局進(jìn)行小范圍的改動(dòng).
7. filler的插入(pad fliier, cell filler)
Filler指的是標(biāo)準(zhǔn)單元庫(kù)和I/O Pad庫(kù)中定義的與邏輯無關(guān)的填充物,用來填充標(biāo)準(zhǔn)單元和標(biāo)準(zhǔn)單元之間,I/O Pad和I/O Pad之間的間隙,它主要是把擴(kuò)散層連接起來,滿足DRC規(guī)則和設(shè)計(jì)需要。
8.布線(Routing)
Global route-- Track assign --Detail routing—Routing optimization布線是指在滿足工藝規(guī)則和布線層數(shù)限制、線寬、線間距限制和各線網(wǎng)可靠絕緣的電性能約束的條件下,根據(jù)電路的連接關(guān)系將各單元和I/O Pad用互連線連接起來,這些是在時(shí)序驅(qū)動(dòng)(Timing driven ) 的條件下進(jìn)行的,保證關(guān)鍵時(shí)序路徑上的連線長(zhǎng)度能夠最小。--Timing report clear
9. Dummy Metal的增加
Foundry廠都有對(duì)金屬密度的規(guī)定,使其金屬密度不要低于一定的值,以防在芯片制造過程中的刻蝕階段對(duì)連線的金屬層過度刻蝕從而降低電路的性能。加入Dummy Metal是為了增加金屬的密度。
10. DRC和LVS
DRC是對(duì)芯片版圖中的各層物理圖形進(jìn)行設(shè)計(jì)規(guī)則檢查(spacing ,width),它也包括天線效應(yīng)的檢查,以確保芯片正常流片。LVS主要是將版圖和電路網(wǎng)表進(jìn)行比較,來保證流片出來的版圖電路和實(shí)際需要的電路一致。DRC和LVS的檢查--EDA工具Synopsy hercules/ mentor calibre/ CDN Dracula進(jìn)行的.Astro also include LVS/DRC check commands.
11. Tape out
在所有檢查和驗(yàn)證都正確無誤的情況下把最后的版圖GDSⅡ文件傳遞給Foundry廠進(jìn)行掩膜制造
13、從RTL synthesis到tape out之間的設(shè)計(jì)flow,并列出其中各步使用的tool.
綜合-布局布線-時(shí)序仿真-時(shí)序分析
簡(jiǎn)單說來,一顆芯片的誕生可以分成設(shè)計(jì)和制造。當(dāng)設(shè)計(jì)結(jié)束的時(shí)候,設(shè)計(jì)方會(huì)把設(shè)計(jì)數(shù)據(jù)送給制造方。tapeout 是集成電路設(shè)計(jì)中一個(gè)重要的階段性成果,是值得慶祝的。慶祝之后,就是等待,等待制造完的芯片回來做檢測(cè),看是不是符合設(shè)計(jì)要求,是否有什么嚴(yán)重的問題等等。
In electronics,tape-out is the name of the final stage of the design of an integrated circuitsuch as a microprocessor; the point at which the description of a circuit issent for manufacture.
14、是否接觸過自動(dòng)布局布線?請(qǐng)說出一兩種工具軟件。自動(dòng)布局布線需要哪些基本元素?自動(dòng)布局布線其基本流程如下:
1、讀入網(wǎng)表,跟foundry提供的標(biāo)準(zhǔn)單元庫(kù)和Pad庫(kù)以及宏模塊庫(kù)進(jìn)行映射;
2、整體布局,規(guī)定了芯片的大致面積和管腳位置以及宏單元位置等粗略的信息;
3、讀入時(shí)序約束文件,設(shè)置好timing setup菜單,為后面進(jìn)行時(shí)序驅(qū)動(dòng)的布局布線做準(zhǔn)備;
4、詳細(xì)布局,力求使后面布線能順利滿足布線布通率100%的要求和時(shí)序的要求;
5、時(shí)鐘樹綜合,為了降低clock skew而產(chǎn)生由許多buffer單元組成的“時(shí)鐘樹”;
6、布線,先對(duì)電源線和時(shí)鐘信號(hào)布線,然后對(duì)信號(hào)線布線,目標(biāo)是最大程度地滿足時(shí)序;
7、為滿足design rule從而foundry能成功制造出該芯片而做的修補(bǔ)工作,如填充一些dummy等。常用的工具有Synopsys的ASTRO,Cadence的SE,ISE,Quartus II也可實(shí)現(xiàn)布局布線。
15、列舉幾種集成電路典型工藝。工藝上常提到0.25,0.18指的是什么?
典型工藝:氧化,離子注入,光刻,刻蝕,擴(kuò)散,淀積。/0.13,90,65
制造工藝:我們經(jīng)常說的0.18微米、0.13微米制程,就是指制造工藝了。制造工藝直接關(guān)系到cpu的電氣性能。而0.18微米、0.13微米這個(gè)尺度就是指的是cpu核心中線路的寬度。線寬越小,cpu的功耗和發(fā)熱量就越低,并可以工作在更高的頻率上了。所以以前0.18微米的cpu最高的頻率比較低,用0.13微米制造工藝的cpu會(huì)比0.18微米的制造工藝的發(fā)熱量低都是這個(gè)道理了。
16、請(qǐng)描述一下國(guó)內(nèi)的工藝現(xiàn)狀。
17、半導(dǎo)體工藝中,摻雜有哪幾種方式?
根據(jù)摻入的雜質(zhì)不同,雜質(zhì)半導(dǎo)體可以分為N型和P型兩大類。N型半導(dǎo)體中摻入的雜質(zhì)為磷等五價(jià)元素,磷原子在取代原晶體結(jié)構(gòu)中的原子并構(gòu)成共價(jià)鍵時(shí),多余的第五個(gè)價(jià)電子很容易擺脫磷原子核的束縛而成為自由電子,于是半導(dǎo)體中的自由電子數(shù)目大量增加,自由電子成為多數(shù)載流子,空穴則成為少數(shù)載流子。
P型半導(dǎo)體中摻入的雜質(zhì)為硼或其他三價(jià)元素,硼原子在取代原晶體結(jié)構(gòu)中的原子并構(gòu)成共價(jià)鍵時(shí),將因缺少一個(gè)價(jià)電子而形成一個(gè)空穴,于是半導(dǎo)體中的空穴數(shù)目大量增加,空穴成為多數(shù)載流子,而自由電子則成為少數(shù)載流子。
18、描述CMOS電路中閂鎖效應(yīng)產(chǎn)生的過程及最后的結(jié)果?
閂鎖效應(yīng)是CMOS工藝所特有的寄生效應(yīng),嚴(yán)重會(huì)導(dǎo)致電路的失效,甚至燒毀芯片。閂鎖效應(yīng)是由NMOS的有源區(qū)、P襯底、N阱、PMOS的有源區(qū)構(gòu)成的n-p-n-p結(jié)構(gòu)產(chǎn)生的,當(dāng)其中一個(gè)三極管正偏時(shí),就會(huì)構(gòu)成正反饋形成閂鎖。避免閂鎖的方法就是要減小襯底和N阱的寄生電阻,使寄生的三極管不會(huì)處于正偏狀態(tài)。
靜電是一種看不見的破壞力,會(huì)對(duì)電子元器件產(chǎn)生影響。
ESD 和相關(guān)的電壓瞬變都會(huì)引起閂鎖效應(yīng)(latch-up)是半導(dǎo)體器件失效的主要原因之一。如果有一個(gè)強(qiáng)電場(chǎng)施加在器件結(jié)構(gòu)中的氧化物薄膜上,則該氧化物薄膜就會(huì)因介質(zhì)擊穿而損壞。很細(xì)的金屬化跡線會(huì)由于大電流而損壞,并會(huì)由于浪涌電流造成的過熱而形成開路。這就是所謂的“閂鎖效應(yīng)”。在閂鎖情況下,器件在電源與地之間形成短路,造成大電流、EOS(電過載)和器件損壞。
19、解釋latch-up現(xiàn)象和Antenna effect及其預(yù)防措施。
在芯片生產(chǎn)過程中,暴露的金屬線或者多晶硅(polysilicon)等導(dǎo)體,就象是一根根天線,會(huì)收集電荷(如等離子刻蝕產(chǎn)生的帶電粒子)導(dǎo)致電位升高。
天線越長(zhǎng),收集的電荷也就越多,電壓就越高。若這片導(dǎo)體碰巧只接了MOS 的柵,那么高電壓就可能把薄柵氧化層擊穿,使電路失效,這種現(xiàn)象我們稱之為“天線效應(yīng)”。隨著工藝技術(shù)的發(fā)展,柵的尺寸越來越小,金屬的層數(shù)越來越多,發(fā)生天線效應(yīng)的可能性就越大。