IC設計工程師是一個從事IC開發,集成電路開發設計的職業。隨著中國IC設計產業漸入佳境,越來越多的工程師加入到這個新興產業中。成為IC設計工程師所需門檻較高,往往需要有良好的數字電路系統及嵌入系統設計經驗,了解ARM體系結構,良好的數字信號處理、音視頻處理,圖像處理及有一定的VLSI基礎。
本文主要介紹的是IC設計工程師在面試中常遇到的問題盤點,具體的有20個跟隨小編來一起看看吧。
一、什么是同步邏輯和異步邏輯?
同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有固定的因果關系。
同步時序邏輯電路的特點:各觸發器的時鐘端全部連接在一起,并接在系統時鐘端,只有當時鐘脈沖到來時,電路的狀態才能改變。改變后的狀態將一直保持到下一個時鐘脈沖的到來,此時無論外部輸入 x 有無變化,狀態表中的每個狀態都是穩定的。
異步時序邏輯電路的特點:電路中除可以使用帶時鐘的觸發器外,還可以使用不帶時鐘的觸發器和延遲元件作為存儲元件,電路中沒有統一的時鐘,電路狀態的改變由外部輸入的變化直接引起。
二、同步電路和異步電路的區別:
同步電路:存儲電路中所有觸發器的時鐘輸入端都接同一個時鐘脈沖源,因而所有觸發器的狀態的變化都與所加的時鐘脈沖信號同步。
異步電路:電路沒有統一的時鐘,有些觸發器的時鐘輸入端與時鐘脈沖源相連,只有這些觸發器的狀態變化與時鐘脈沖同步,而其他的觸發器的狀態變化不與時鐘脈沖同步。
三、為什么觸發器要滿足建立時間和保持時間?
因為觸發器內部數據的形成是需要一定的時間的,如果不滿足建立和保持時間,觸發器將進入亞穩態,進入亞穩態后觸發器的輸出將不穩定,在0和1之間變化,這時需要經過一個恢復時間,其輸出才能穩定,但穩定后的值并不一定是你的輸入值。這就是為什么要用兩級觸發器來同步異步輸入信號。這樣做可以防止由于異步輸入信號對于本級時鐘可能不滿足建立保持時間而使本級觸發器產生的亞穩態傳播到后面邏輯中,導致亞穩態的傳播。
(比較容易理解的方式)換個方式理解:需要建立時間是因為觸發器的D端像一個鎖存器在接受數據,為了穩定的設置前級門的狀態需要一段穩定時間;需要保持時間是因為在時鐘沿到來之后,觸發器要通過反饋來鎖存狀態,從后級門傳到前級門需要時間。
四、什么是亞穩態?為什么兩級觸發器可以防止亞穩態傳播?
這也是一個異步電路同步化的問題。亞穩態是指觸發器無法在某個規定的時間段內到達一個可以確認的狀態。使用兩級觸發器來使異步電路同步化的電路其實叫做“一位同步器”,他只能用來對一位異步信號進行同步。兩級觸發器可防止亞穩態傳播的原理:假設第一級觸發器的輸入不滿足其建立保持時間,它在第一個脈沖沿到來后輸出的數據就為亞穩態,那么在下一個脈沖沿到來之前,其輸出的亞穩態數據在一段恢復時間后必須穩定下來,而且穩定的數據必須滿足第二級觸發器的建立時間,如果都滿足了,在下一個脈沖沿到來時,第二級觸發器將不會出現亞穩態,因為其輸入端的數據滿足其建立保持時間。同步器有效的條件:第一級觸發器進入亞穩態后的恢復時間第二級觸發器的建立時間時鐘周期。
更確切地說,輸入脈沖寬度必須大于同步時鐘周期與第一級觸發器所需的保持時間之和。最保險的脈沖寬度是兩倍同步時鐘周期。所以,這樣的同步電路對于從較慢的時鐘域來的異步信號進入較快的時鐘域比較有效,對于進入一個較慢的時鐘域,則沒有作用。
五、系統最高速度計算(最快時鐘頻率)和流水線設計思想:
同步電路的速度是指同步系統時鐘的速度,同步時鐘愈快,電路處理數據的時間間隔越短,電路在單位時間內處理的數據量就愈大。假設Tco是觸發器的輸入數據被時鐘打入到觸發器到數據到達觸發器輸出端的延時時間(Tco=Tsetpup+Thold);Tdelay是組合邏輯的延時;Tsetup是D觸發器的建立時間。假設數據已被時鐘打入D觸發器,那么數據到達第一個觸發器的Q輸出端需要的延時時間是Tco,經過組合邏輯的延時時間為Tdelay,然后到達第二個觸發器的D端,要希望時鐘能在第二個觸發器再次被穩定地打入觸發器,則時鐘的延遲必須大于Tco+Tdelay+Tsetup,也就是說最小的時鐘周期Tmin =Tco+Tdelay+Tsetup,即最快的時鐘頻率Fmax =1/Tmin。FPGA開發軟件也是通過這種方法來計算系統最高運行速度Fmax。因為Tco和Tsetup是由具體的器件工藝決定的,故設計電路時只能改變組合邏輯的延遲時間Tdelay,所以說縮短觸發器間組合邏輯的延時時間是提高同步電路速度的關鍵所在。由于一般同步電路都大于一級鎖存,而要使電路穩定工作,時鐘周期必須滿足最大延時要求。故只有縮短最長延時路徑,才能提高電路的工作頻率??梢詫⑤^大的組合邏輯分解為較小的N塊,通過適當的方法平均分配組合邏輯,然后在中間插入觸發器,并和原觸發器使用相同的時鐘,就可以避免在兩個觸發器之間出現過大的延時,消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂“流水線”技術的基本設計思想,即原設計速度受限部分用一個時鐘周期實現,采用流水線技術插入觸發器后,可用N個時鐘周期實現,因此系統的工作速度可以加快,吞吐量加大。注意,流水線設計會在原數據通路上加入延時,另外硬件面積也會稍有增加。
六、時序約束的概念和基本策略?
時序約束主要包括周期約束,偏移約束,靜態時序路徑約束三種。通過附加時序約束可以綜合布線工具調整映射和布局布線,使設計達到時序要求。
附加時序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束。附加全局約束時,首先定義設計的所有時鐘,對各時鐘域內的同步元件進行分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。
七、對于多位的異步信號如何進行同步?
對以一位的異步信號可以使用“一位同步器進行同步”(使用兩級觸發器),而對于多位的異步信號,可以采用如下方法:1:可以采用保持寄存器加握手信號的方法(多數據,控制,地址);2:特殊的具體應用電路結構,根據應用的不同而不同;3:異步FIFO。(最常用的緩存單元是DPRAM)
八、IC設計前端到后端的流程和EDA工具?
設計前端也稱邏輯設計,后端設計也稱物理設計,兩者并沒有嚴格的界限,一般涉及到與工藝有關的設計就是后端設計。
2:詳細設計:芯片設計公司(Fabless)根據客戶提出的規格要求,拿出設計解決方案和具體實現架構,劃分模塊功能。目前架構的驗證一般基于systemC語言,對價后模型的仿真可以使用systemC的仿真工具。例如:CoCentric和Visual Elite等。
3:HDL編碼:設計輸入工具:ultra ,visual VHDL等
4:仿真驗證:modelsim
5:邏輯綜合:synplify
6:靜態時序分析:synopsys的Prime Time
7:形式驗證:Synopsys的Formality.
九、什么是線與邏輯要實現它在硬件特性上有什么具體要求
線與邏輯是兩個輸出信號相連可以實現與的功能。在硬件上,要用oc門來實現,由于不用oc門可能使灌電流過大,而燒壞邏輯門。 同時在輸出端口應加一個上拉電阻。oc門就是集電極開路門。od門是漏極開路門。
十、什么是競爭與冒險現象怎樣判斷如何消除
在組合電路中,某一輸入變量經過不同途徑傳輸后,到達電路中某一匯合點的時間有先有后,這種現象稱競爭;由于競爭而使電路輸出發生瞬時錯誤的現象叫做冒險。(也就是由于競爭產生的毛刺叫做冒險)。
判斷方法:代數法(如果布爾式中有相反的信號則可能產生競爭和冒險現象);卡諾圖:有兩個相切的卡諾圈并且相切處沒有被其他卡諾圈包圍,就有可能出現競爭冒險;實驗法:示波器觀測;
解決方法:1:加濾波電容,消除毛刺的影響;2:加選通信號,避開毛刺;3:增加冗余項消除邏輯冒險。
門電路兩個輸入信號同時向相反的邏輯電平跳變稱為競爭;
由于競爭而在電路的輸出端可能產生尖峰脈沖的現象稱為競爭冒險。
如果邏輯函數在一定條件下可以化簡成Y=A+A’或Y=AA’則可以判斷存在競爭冒險現象(只是一個變量變化的情況)。
消除方法,接入濾波電容,引入選通脈沖,增加冗余邏輯
十一、IC設計中同步復位與異步復位的區別?
同步復位在時鐘沿變化時,完成復位動作。異步復位不管時鐘,只要復位信號滿足條件,就完成復位動作。異步復位對復位信號要求比較高,不能有毛刺,如果其與時鐘關系不確定,也可能出現亞穩態。
十二、MOORE與MEELEY狀態機的特征?
Moore 狀態機的輸出僅與當前狀態值有關, 且只在時鐘邊沿到來時才會有狀態變化。
Mealy 狀態機的輸出不僅與當前狀態值有關, 而且與當前輸入值有關。
十三、多時域設計中如何處理信號跨時域?
不同的時鐘域之間信號通信時需要進行同步處理,這樣可以防止新時鐘域中第一級觸發器的亞穩態信號對下級邏輯造成影響。
信號跨時鐘域同步:當單個信號跨時鐘域時,可以采用兩級觸發器來同步;數據或地址總線跨時鐘域時可以采用異步FIFO來實現時鐘同步;第三種方法就是采用握手信號。
十四、說說靜態、動態時序模擬的優缺點?
靜態時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少,不僅可以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計,因此靜態時序分析已經越來越多地被用到數字集成電路設計的驗證中。
動態時序模擬就是通常的仿真,因為不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在動態時序分析中,無法暴露一些路徑上可能存在的時序問題;
十五、給出一個組合邏輯電路,要求分析邏輯功能。
所謂組合邏輯電路的分析,就是找出給定邏輯電路輸出和輸入之間的關系,并指出電路的邏輯功能。
分析過程一般按下列步驟進行:
1:根據給定的邏輯電路,從輸入端開始,逐級推導出輸出端的邏輯函數表達式。
2:根據輸出函數表達式列出真值表;
3:用文字概括處電路的邏輯功能;
十六、描述反饋電路的概念,列舉他們的應用。
反饋,就是在電路系統中,把輸出回路中的電量(電壓或電流)輸入到輸入回路中去。
反饋的類型有:電壓串聯負反饋、電流串聯負反饋、電壓并聯負反饋、電流并聯負反饋。
負反饋的優點:降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改善放大器的線性和非線性失真,有效地擴展放大器的通頻帶,自動調節作用。
電壓負反饋的特點:電路的輸出電壓趨向于維持恒定。
電流負反饋的特點:電路的輸出電流趨向于維持恒定。
十七、有源濾波器和無源濾波器的區別
無源濾波器:這種電路主要有無源元件R、L和C組成
有源濾波器:集成運放和R、C組成,具有不用電感、體積小、重量輕等優點。
集成運放的開環電壓增益和輸入阻抗均很高,輸出電阻小,構成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。
十八、實現三分頻電路,3/2分頻電路等(偶數倍分頻奇數倍分頻)
圖2是3分頻電路,用JK-FF實現3分頻很方便,不需要附加任何邏輯電路就能實現同步計數分頻。但用D-FF實現3分頻時,必須附加譯碼反饋電路,如圖2所示的譯碼復位電路,強制計數狀態返回到初始全零狀態,就是用NOR門電路把Q2,Q1=“11B”的狀態譯碼產生“H”電平復位脈沖,強迫FF1和FF2同時瞬間(在下一時鐘輸入Fi的脈沖到來之前)復零,于是Q2,Q1=“11B”狀態僅瞬間作為“毛刺”存在而不影響分頻的周期,這種“毛刺”僅在Q1中存在,實用中可能會造成錯誤,應當附加時鐘同步電路或阻容低通濾波電路來濾除,或者僅使用Q2作為輸出。D-FF的3分頻,還可以用AND門對Q2,Q1譯碼來實現返回復零。
十九、什么叫做OTP片(OTP(一次性可編程)、掩膜片,兩者的區別何在?
OTP與掩膜 OTP是一次性寫入的單片機。過去認為一個單片機產品的成熟是以投產掩膜型單片機為標志的。由于掩膜需要一定的生產周期,而OTP型單片機價格不斷下降,使得近年來直接使用OTP完成最終產品制造更為流行。它較之掩膜具有生產周期短、風險小的特點。近年來,OTP型單片機需量大幅度上揚,為適應這種需求許多單片機都采用了在系統編程技術(In System Programming)。未編程的OTP芯片可采用裸片Bonding技術或表面貼技術,先焊在印刷板上,然后通過單片機上引出的編程線、串行數據、時鐘線等對單片機編程。解決了批量寫OTP 芯片時容易出現的芯片與寫入器接觸不好的問題。使OTP的裸片得以廣泛使用,降低了產品的成本。編程線與I/O線共用,不增加單片機的額外引腳。而一些生產廠商推出的單片機不再有掩膜型,全部為有ISP功能的OTP。
二十、數字IC后端設計流程
1、數據準備。對于Cadance的 SE而言后端設計所需的數據主要有是Foundry廠提供的標準單元、宏單元和I/O Pad的庫文件,它包括物理庫、時序庫及網表庫,分別以.lef、.tlf和.v的形式給出。前端的芯片設計經過綜合后生成的門級網表,具有時序約束和時鐘定義的腳本文件和由此產生的.gcf約束文件以及定義電源Pad的DEF(Design Exchange Format)文件。(對synopsys 的Astro 而言, 經過綜合后生成的門級網表,時序約束文件 SDC 是一樣的,Pad的定義文件--tdf , .tf 文件 --technology file, Foundry廠提供的標準單元、宏單元和I/O Pad的庫文件就與FRAM, CELL view, LM view 形式給出(Milkway 參考庫 and DB, LIB file)
2、布局規劃。主要是標準單元、I/O Pad和宏單元的布局。I/O Pad預先給出了位置,而宏單元則根據時序要求進行擺放,標準單元則是給出了一定的區域由工具自動擺放。布局規劃后,芯片的大小,Core的面積,Row的形式、電源及地線的Ring和Strip都確定下來了。如果必要在自動放置標準單元和宏單元之后, 你可以先做一次PNA(power network analysis)--IR drop and EM 。
3、Placement -自動放置標準單元。布局規劃后,宏單元、I/O Pad的位置和放置標準單元的區域都已確定,這些信息SE(Silicon Ensemble)會通過DEF文件傳遞給PC(Physical Compiler),PC根據由綜合給出的.DB文件獲得網表和時序約束信息進行自動放置標準單元,同時進行時序檢查和單元放置優化。如果你用的是PC +Astro那你可用write_milkway, read_milkway傳遞數據。
4、時鐘樹生成(CTS Clock tree synthesis)。芯片中的時鐘網絡要驅動電路中所有的時序單元,所以時鐘源端門單元帶載很多,其負載延時很大并且不平衡,需要插入緩沖器減小負載和平衡延時。時鐘網絡及其上的緩沖器構成了時鐘樹。一般要反復幾次才可以做出一個比較理想的時鐘樹。
5、STA靜態時序分析和后仿真。時鐘樹插入后,每個單元的位置都確定下來了,工具可以提出Global Route形式的連線寄生參數,此時對延時參數的提取就比較準確了。SE把.V和.SDF文件傳遞給PrimeTime做靜態時序分析。確認沒有時序違規后,將這來兩個文件傳遞給前端人員做后仿真。對Astro 而言,在detail routing 之后, 用starRC XT 參數提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態時序分析,那將會更準確。
6、ECO(Engineering Change Order)。針對靜態時序分析和后仿真中出現的問題,對電路和單元布局進行小范圍的改動。
7、filler的插入(pad fliier, cell filler)。Filler指的是標準單元庫和I/O Pad庫中定義的與邏輯無關的填充物,用來填充標準單元和標準單元之間,I/O Pad和I/O Pad之間的間隙,它主要是把擴散層連接起來,滿足DRC規則和設計需要。
8、布線(Routing)。Global route-- Track assign --Detail routing—Routing optimization布線是指在滿足工藝規則和布線層數限制、線寬、線間距限制和各線網可靠絕緣的電性能約束的條件下,根據電路的連接關系將各單元和I/O Pad用互連線連接起來,這些是在時序驅動(Timing driven ) 的條件下進行的,保證關鍵時序路徑上的連線長度能夠最小。--Timing report clear
9、Dummy Metal的增加。Foundry廠都有對金屬密度的規定,使其金屬密度不要低于一定的值,以防在芯片制造過程中的刻蝕階段對連線的金屬層過度刻蝕從而降低電路的性能。加入Dummy Metal是為了增加金屬的密度。
10、DRC和LVS。DRC是對芯片版圖中的各層物理圖形進行設計規則檢查(spacing ,width),它也包括天線效應的檢查,以確保芯片正常流片。LVS主要是將版圖和電路網表進行比較,來保證流片出來的版圖電路和實際需要的電路一致。DRC和LVS的檢查--EDA工具Synopsy hercules/ mentor calibre/ CDN Dracula進行的.Astro also include LVS/DRC check commands.
11、Tape out。在所有檢查和驗證都正確無誤的情況下把最后的版圖GDSⅡ文件傳遞給Foundry廠進行掩膜制造
-
IC設計
+關注
關注
38文章
1295瀏覽量
103918
發布評論請先 登錄
相關推薦
評論