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