加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 01選擇題
    • 02簡答題
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

這些數(shù)字IC驗(yàn)證面試題,你都刷過嗎?

04/24 07:26
5682
閱讀需 13 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

芯片驗(yàn)證為什么那么重要?

IC行業(yè)是智力密集、技術(shù)密集型的行業(yè),更是高投入、高風(fēng)險(xiǎn)的行業(yè),做一款芯片僅僅是開模的費(fèi)用就是百萬起。

為了保證芯片功能的正確性和完整性,就需要驗(yàn)證工程師給設(shè)計(jì)或者實(shí)現(xiàn)過程提供迭代的關(guān)鍵意見。

驗(yàn)證在芯片設(shè)計(jì)環(huán)節(jié)乃至全產(chǎn)業(yè)鏈中的位置都是舉足輕重的。

驗(yàn)證崗位兼?zhèn)?a class="article-link" target="_blank" href="/tag/%E7%A1%AC%E4%BB%B6/">硬件和軟件技能點(diǎn),對于學(xué)歷專業(yè)相對比較友好,入行之后的進(jìn)步空間和學(xué)習(xí)上限仍然很充足。

但是最近芯易君卻發(fā)現(xiàn)了一個(gè)大問題!

不少同學(xué)學(xué)了幾個(gè)月,知識(shí)點(diǎn)掌握了、工具會(huì)用了、項(xiàng)目做過了、代碼也能寫,但是卻根本不會(huì)面試!

面試官隨機(jī)提出的問題,只能含含糊糊答出一部分,根本經(jīng)不起深問和推敲。

正值“彎道超車”的好時(shí)機(jī)!大家不妨先刷一波高頻、經(jīng)典的面試題。

IC修真院為大家送上干貨!特此整理20數(shù)字IC驗(yàn)證常見面試/筆試題目,并附上參考答案。

01選擇題

1. 下列關(guān)于代碼覆蓋率描述錯(cuò)誤的是?

A.代碼覆蓋率包括語句覆蓋率

B.代碼覆蓋率包括條件覆蓋率

C.代碼覆蓋率包括功能覆蓋率

D.代碼覆蓋率到達(dá)百分百說明代碼bug已消除

2. 關(guān)于亞穩(wěn)態(tài)的描述錯(cuò)誤的是?

A.多用幾級寄存器打拍可以消除亞穩(wěn)態(tài)。

B.亞穩(wěn)態(tài)是極不穩(wěn)定的,理論上來講處在亞穩(wěn)態(tài)的時(shí)間可以無限長。

C.亞穩(wěn)態(tài)穩(wěn)定到0或者1,是隨機(jī)的,與輸入沒有必然的關(guān)系。

D.如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的建文時(shí)間Tsu和保持時(shí)間Th,可能產(chǎn)生亞穩(wěn)態(tài)。

3. Verilog語言中,下面哪些語句不可被綜合?

A.#delay語句

B.initial語句

C.always語句

D.用generate語句

4. 下列關(guān)于verilog的描述正確的是?

A.Y=a+b; 屬于阻塞賦值語句,執(zhí)行該語句時(shí),先計(jì)算 a+b的值,然后更新 y值,在此過程中,不能運(yùn)行其他語句

B.Generate, for, function語句可綜合

C.如果A=1‘b1,B=1`b0,F=A&~B|B&~A||B,則F=1’b1

D.如果A=4‘hb,則^A=1’b1

5. 判斷電路是否存在競爭冒險(xiǎn)的方法有哪些呢?

A.代數(shù)法

B.卡諾圖

C.實(shí)驗(yàn)法

D.觀察法

答案與解析:

1.?CD。解析:代碼覆蓋率和功能覆蓋率是獨(dú)立的兩種覆蓋率,代碼覆蓋率100%只能表明代碼經(jīng)過了充分的執(zhí)行,但是代碼中是否有bug以及bug是否會(huì)被發(fā)現(xiàn),取決于驗(yàn)證環(huán)境中的監(jiān)測點(diǎn)是否監(jiān)測了關(guān)鍵信號(hào)以及對這些信號(hào)的判斷是否正確。

2.?A。解析:亞穩(wěn)態(tài)不能被消除,只能降低其對后級電路的影響。

3. A。解析:產(chǎn)生的代碼所有綜合工具都不支持的結(jié)構(gòu) time,defparam,$finish,fork,join,initial,delays,UDP,wait。4.?ABCD。

5. A。

02簡答題

6.?簡述UVM的工廠機(jī)制

Factory機(jī)制也叫工廠機(jī)制,其存在的意義就是為了能夠方便的替換TB中的實(shí)例或者已注冊的類型。一般而言,在搭建完TB后,我們?nèi)绻枰獙B進(jìn)行更改配置或者相關(guān)的類信息,我們可以通過使用factory機(jī)制進(jìn)行覆蓋,達(dá)到替換的效果,從而大大提高TB的可重用性和靈活性。

要使用factory機(jī)制先要進(jìn)行:

將類注冊到factory表中;

創(chuàng)建對象,使用對應(yīng)的語句 (type_id::create);

編寫相應(yīng)的類對基類進(jìn)行覆蓋。

7. OPP(面向?qū)ο螅┑奶匦裕?/strong>

封裝通過將一些數(shù)據(jù)和使用這些數(shù)據(jù)的方法封裝在一個(gè)集合里,成為一個(gè)類。

繼承:允許通過現(xiàn)有類去得到一個(gè)新的類,且其可以共享現(xiàn)有類的屬性和方法。現(xiàn)有類叫做基類,新類叫做派生類或擴(kuò)展類。

多態(tài):得到擴(kuò)展類后,有時(shí)我們會(huì)使用基類句柄去調(diào)用擴(kuò)展類對象,這時(shí)候調(diào)用的方法如何準(zhǔn)確去判斷是想要調(diào)用的方法呢?通過對類中方法進(jìn)行virtual聲明,這樣當(dāng)調(diào)用基類句柄指向擴(kuò)展類時(shí),方法會(huì)根據(jù)對象去識(shí)別,調(diào)用擴(kuò)展類的方法,而不是基類中的。而基類和擴(kuò)展類中方法有著同樣的名字,但能夠準(zhǔn)確調(diào)用,叫做多態(tài)。

8. 阻塞賦值與非阻塞賦值的區(qū)別?

阻塞賦值的操作符號(hào)用等號(hào)(=)表示,當(dāng)前語句的賦值阻塞其他語句的賦值;

非阻塞賦值的操作符號(hào)用小于等于號(hào)(<=)表示,當(dāng)前語句賦值不阻塞其他語句的賦值。

9. 動(dòng)態(tài)數(shù)組和聯(lián)合數(shù)組的區(qū)別?

動(dòng)態(tài)數(shù)組:其內(nèi)存空間在運(yùn)行時(shí)才能夠確定,使用前需要用new[]進(jìn)行空間分配。

關(guān)聯(lián)數(shù)組:其主要針對需要超大空間但又不是全部需要所有數(shù)據(jù)的時(shí)候使用,類似于hash,通過一個(gè)索引值和一個(gè)數(shù)據(jù)組成: bit [63:0] name[bit[63:0]];索引值必須是唯一的。

關(guān)聯(lián)數(shù)組可以用來保存稀疏矩陣的元素。當(dāng)你對一個(gè)非常大的地址空間尋址時(shí),該數(shù)組只為實(shí)際寫入的元素分配空間,這種實(shí)現(xiàn)方法所需要的空間要小得多。

此外,關(guān)聯(lián)數(shù)組有其它靈活的應(yīng)用,在其它軟件語言也有類似的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),被稱為哈希(Hash)或者詞典(Dictionary),可以靈活賦予鍵值(key)和數(shù)值(value)

10. SV中的interface的clock blocking的功能?

Interface是一組接口,用于對信號(hào)進(jìn)行一個(gè)封裝,捆扎起來。如果像 verilog中對各個(gè)信號(hào)進(jìn)行連接,每一層我們都需要對接口信號(hào)進(jìn)行定義,若信號(hào)過多,很容易出現(xiàn)人為錯(cuò)誤,而且后期的可重用性不高。因此使用interface接口進(jìn)行連接,不僅可以簡化代碼,而且提高可重用性,除此之外,interface內(nèi)部提供了其他一些功能,用于測試平臺(tái)與DUT之間的同步和避免競爭。

Clocking block:在interface內(nèi)部我們可以定義clocking塊,可以使得信號(hào)保持同步,對于接口的采樣和驅(qū)動(dòng)有詳細(xì)的設(shè)置操作,從而避免TB與 DUT的接口競爭,減少我們由于信號(hào)競爭導(dǎo)致的錯(cuò)誤。采樣提前,驅(qū)動(dòng)落后,保證信號(hào)不會(huì)出現(xiàn)競爭。

11. 建立時(shí)間和保持時(shí)間違例的解決方法?

建立時(shí)間違例

時(shí)鐘路徑插入緩沖器

更換延遲小的觸發(fā)器;

增加時(shí)鐘周期。

保持時(shí)間違例

優(yōu)化時(shí)鐘,讓時(shí)鐘更早到來;

觸發(fā)器插入緩沖器;

更換延遲大的觸發(fā)器。

12.?亞穩(wěn)態(tài)是什么,怎么消除?

產(chǎn)生原因:數(shù)據(jù)傳輸不滿足觸發(fā)器的建立時(shí)間和保持時(shí)間

發(fā)生場合:主要發(fā)生在異步信號(hào)檢測,跨時(shí)鐘域信號(hào)傳輸以及復(fù)位電路中;

消除辦法:

對異步信號(hào)進(jìn)行同步處理;

采用fifo對跨時(shí)鐘域通信進(jìn)行數(shù)據(jù)緩沖設(shè)計(jì);

對復(fù)位電路采用異步復(fù)位,同步釋放。

13. 怎么編寫測試用例?

主要是編寫sequence,然后在body里面根據(jù)測試功能要求寫相應(yīng)的激勵(lì),然后再通過ref_model和checker判斷功能是否實(shí)現(xiàn)?

14. 如果有很多測試用例,如何讓它們自動(dòng)執(zhí)行?

可以寫腳本讓它們自動(dòng)執(zhí)行,例如makefile...

15.?fifo的異步與同步

異步fifo:讀寫時(shí)鐘不同;

同步fifo:讀寫時(shí)鐘相同。

16.?驗(yàn)證的思想

驗(yàn)證就是在設(shè)計(jì)規(guī)范的要求下,對已知功能目標(biāo)下的DUT進(jìn)行檢查,然而實(shí)際的使用場景是設(shè)計(jì)規(guī)范無法全面覆蓋的,驗(yàn)證工程師只能在有限的資源與時(shí)間下對設(shè)計(jì)代碼進(jìn)行最大限度的檢查以盡可能多地消除流片之后的bug。

17.?代碼覆蓋率、功能覆蓋率和斷言覆蓋率的區(qū)別

代碼覆蓋率——是針對RTL設(shè)計(jì)代碼的運(yùn)行完備度的體現(xiàn),包括行覆蓋率、條件覆蓋率、FSM覆蓋率、跳轉(zhuǎn)覆蓋率、分支覆蓋率,只要仿真就可以收集,可以看DUT的哪部分代碼沒有動(dòng),如果有一部分代碼一直沒動(dòng)看一下是不是case沒有寫到。

功能覆蓋率---與spec比較來發(fā)現(xiàn),design是否行為正確,需要按verification plan來比較進(jìn)度。用來衡量哪些設(shè)計(jì)特征已經(jīng)被測試程序測試過的一個(gè)指標(biāo)

首要的選擇是使用更多的種子來運(yùn)行現(xiàn)有的測試程序;

其次是建立新的約束,只有在確實(shí)需要的時(shí)候才會(huì)求助于定向測試,改進(jìn)功能覆蓋率最簡單的方法是僅僅增加仿真時(shí)間或者嘗試新的隨機(jī)種子。

驗(yàn)證的目的就是確保設(shè)計(jì)在實(shí)際環(huán)境中的行為正確。設(shè)計(jì)規(guī)范里詳細(xì)說明了設(shè)備應(yīng)該如何運(yùn)行,而驗(yàn)證計(jì)劃里則列出了相應(yīng)的功能應(yīng)該如何激勵(lì)、驗(yàn)證和測量

斷言覆蓋率:用于檢查幾個(gè)信號(hào)之間的關(guān)系,常用在查找錯(cuò)誤,主要是檢查時(shí)序上的錯(cuò)誤,測量斷言被觸發(fā)的頻繁程度。

18. sv里面動(dòng)態(tài)數(shù)組、關(guān)聯(lián)數(shù)組、隊(duì)列各自的優(yōu)缺點(diǎn),應(yīng)用場景。

【特點(diǎn)】

動(dòng)態(tài)數(shù)組:可以在仿真時(shí)分配空間或者調(diào)整寬度,這樣仿真中就可以使用最小的存儲(chǔ)空間。

關(guān)聯(lián)數(shù)組:用來保存稀疏矩陣的元素,當(dāng)一個(gè)非常大的地址空間進(jìn)行尋址時(shí),sv只對實(shí)際寫入的元素分配空間,比定寬數(shù)組和動(dòng)態(tài)數(shù)組所占用的空間要小得對。

隊(duì)列:結(jié)合了鏈表和數(shù)組的優(yōu)點(diǎn),可以在隊(duì)列的任意位置增加或者刪除元素,這類操作在性能上比動(dòng)態(tài)數(shù)組小得多,可以通過索引對任意元素進(jìn)行訪問。

【應(yīng)用場景】

動(dòng)態(tài)數(shù)組:隨機(jī)事務(wù)不確定位寬大?。?/p>

關(guān)聯(lián)數(shù)組:需要建立一個(gè)超大容量數(shù)組,用關(guān)聯(lián)數(shù)組來存放稀疏矩陣的元素;

隊(duì)列:增加元素或者刪除元素方便。

19. 數(shù)據(jù)類型怎么轉(zhuǎn)換,靜態(tài)強(qiáng)制類型轉(zhuǎn)換和動(dòng)態(tài)強(qiáng)制轉(zhuǎn)換有什么區(qū)別?

靜態(tài)轉(zhuǎn)換:轉(zhuǎn)換時(shí)指定目標(biāo)類型,并在需要轉(zhuǎn)換的表達(dá)式前加上單引號(hào)即可;

動(dòng)態(tài)轉(zhuǎn)換:使用函數(shù) $cast

區(qū)別:靜態(tài)類型轉(zhuǎn)換操作不對轉(zhuǎn)換值進(jìn)行檢查,具有一定的危險(xiǎn)性;而動(dòng)態(tài)類型轉(zhuǎn)換在運(yùn)行時(shí)將進(jìn)行檢查,如果轉(zhuǎn)換失敗會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級 參考價(jià)格 更多信息
08-50-0106 1 Molex Wire Terminal, ROHS AND REACH COMPLIANT

ECAD模型

下載ECAD模型
$0.05 查看
CL21B104KBCNNNC 1 Samsung Electro-Mechanics Capacitor, Ceramic, Chip, General Purpose, 0.1uF, 50V, ±10%, X7R, 0805 (2012 mm), 0.033"T, -55o ~ +125oC, 7" Reel
$0.1 查看
SS14-E3/61T 1 Vishay Intertechnologies Diode Schottky 40V 1A 2-Pin SMA T/R

ECAD模型

下載ECAD模型
$0.08 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜