那裡給出了所有例題及解答。我在這裡就是對例題裡自己了解還不夠深入的問題做乙個整理,並給出我的解答,或者對原文進行一些摘抄。
1.什麼是流水線冒險?
這裡的流水線冒險特指mcu中的流水線可能出現的冒險,包括:資源衝突、資料依賴、控制依賴。
更具體的解釋,請看我的這篇部落格的摘要下面的幾個章節。這裡僅給出每種冒險的解決方案。
2.形式驗證和功能驗證的區別?
注意形式驗證是通過專門的形式驗證工具來實現的,它可以在設計早期進行(rtl階段),且不需要激勵訊號。
3.hvt, lvt, svt 各有什麼特點?
lvt:低閾值 這種庫的漏電流較大,但是開啟快,延遲較小。
svt:標準閾值 居於兩者中間。
hvt:高閾值 這種庫的漏電流小,但是開啟慢,延遲較大。
關鍵路徑上用少量 lvt 加 svt ,普通path上用 svt 和 hvt,timing 特別松的 path 上多用 hvt。
最主要考慮的還是 timing 和 power 的 tradeoff。如果 timing 很松的話 ,hvt是最好的選擇。
4.什麼是關鍵路徑?如何減小?
關鍵路徑,即組合邏輯中延時最長的時序路徑。
減小方法:
(1)優化組合邏輯**;
(2)綜合時選擇延時小的單元;
(3)綜合時使用set_max_delay等優化指令;
5.什麼是 false - path?
false - path 就是在時序分析時不希望分析的路徑,一般設定以下的路徑為 false - path:
6.儲存器的分類及優缺點?
參見這篇文章。
7.cmos的功耗組成是什麼樣的?
功耗組成:動態功耗和靜態功耗組成;
(1)動態功耗:開關功耗和短路功耗;
(2)靜態功耗:主要是漏電流引起的功耗。
8.如果實現的電路的頻率較高,一般使用 lvt cell 庫來綜合。
這個說法是錯的。
現代的 ic 設計中通常採用多閾值技術,即在不同的區域使用不同閾值的管子。上文中也提到了,通常在關鍵路徑中使用少量的 lvt 和 svt。一般不會全部使用某種庫進行綜合。
9.使用2選1 mux 實現 d 鎖存器。
10.面積換速度(速度優化)
講到面積換速度,乙個我在本科時碰到的例子很能直接體現這個思想(雖然很傻):
乙個8位的加法器,使用3個4位加法器進行實現,第乙個加法器接收資料的前4位和 cin,後兩個加法器相互平行,接收資料的後4位,並分別假定 cin 為 0/1。第乙個加法器輸出的 cout 經過乙個二選一 mux,最後決定具體使用後兩個加法器中的哪乙個進行輸出,這樣就可以幾乎節省乙個加法器的延遲。
11.速度換面積(面積優化)
12.時序約束有哪幾種路徑?
13.附加約束的作用?
14.動 / 靜態時序分析的優缺點?
看這篇文章。
除了上面的這些問題外,還可能碰到要求用與非 / 或非門實現某個特定邏輯的情況,這時候就無腦摩根定律,一般來說沒什麼難度。
當然,由於這篇文章的主要目的是查漏補缺,所以總結肯定是不夠全面的,剩下的題請大家去看**中的原文。另外,在筆試和面試時可能還有一些程式設計題,我的建議就是多練,多寫,有些模組只有自己實現一遍才能發現難點在**,**又容易出現邏輯錯誤。
校招基礎 IC工藝
1 最能描述積體電路工藝技術水平的技術指標是 b a 晶元直徑 b 特徵尺寸 c 晶元面積 d 封裝 2 相同工藝條件下,下列哪種邏輯的組合邏輯延遲最長 a a 2輸入異或門 b 2輸入與非門 c 2輸入或門 d 1輸入反相器 3 對於90nm製程晶元,合法的電壓,環境溫度範圍內,以下哪種情況內部訊...
聯發科 IC校招筆試題目
模板程式 加法器 module addr a,b,cin,count,sum input 2 0 a input 2 0 b input cin output count output 2 0 sum assign a b cin endmodule module 模組開始定義 input 輸入埠定...
JAVA基礎例題整理
計算圓球的體積 scanner input new scanner system.in system.out.println 請輸入圓球的半徑 r input.nextfloat v float float 4 3 r r r 3.14 system.out.println 圓球半徑 r n球的體積...