華為2019數字晶元崗筆試解析二(單選第二部分)

2021-10-11 09:21:20 字數 3149 閱讀 4606

11.多bit匯流排訊號可以通過格雷碼轉換進行非同步處理,例如:8bit的資料匯流排進行格雷碼轉換,然後通過雙觸發器法實現非同步處理()

【a】正確

【b】錯誤

解析;注意這題用的詞是「可以」!多bit訊號是可以通過轉換成格雷碼然後打拍進行跨時鐘域的,比如非同步fifo的位址跨時鐘域,利用了相鄰的兩個位址二進位製碼轉化成格雷碼後,只有1bit不同。在傳輸連續的二進位製碼時,轉化成格雷碼巧妙地將多bit的翻轉轉化成了1bit的翻轉,然後問題變成了單bit的跨時鐘域問題,利用雙觸發器就可以實現非同步處理。

正確答案:a

12.systemverilog中,下面哪種陣列在使用前需要先執行new操作()

【a】壓縮陣列

【b】聯合陣列

【c】動態陣列

【d】多維陣列

解析:動態陣列在最開始時是空的,使用前,必須呼叫new操作符來分配空間,同時在方括號中傳遞陣列寬度。

正確答案:c

13.電路設計中,只要採用sta就可以保證電路設計的準確性,不需要再進行動態時序分析了()

【a】正確

【b】錯誤

解析:現在大部分的同步電路設計流程都是rtl驗證+formality形式驗證+sta靜態時序分析。通過rtl驗證保證功能完備,通過formality保證rtl和網表一致性。因為有了formality保證網表和rtl的一致性,因此如果rtl驗證完備,一般情況下就可以保證網表功能驗證完備。然後通過對網表進行靜態時序分析(sta)來保證沒有時序風險。動態時序分析(後仿)主要是跑一些典型場景,保證在典型場景下不會有時序問題,增強設計信心,對於同步電路,只要sta階段檢查仔細,問題一般不大。但是設計中難免會有一小部分非同步電路無法進行靜態時序分析,因此必須需要通過後仿來進行排查。

此題解析來自於:

正確答案:b

14.對於initial語句,說法錯誤的是()

【a】在**過程中只執行一次

【b】這是一種過程結構語句

【c】在模擬的0時刻開始執行

【d】可用於給實際電路賦初值

解析;initial語句不能綜合,所以不可以給實際電路賦初值。常用於**測試模組中對於激勵向量的描述。

正確答案:d

15.線型訊號必須顯式定義()

【a】正確

【b】錯誤

解析:verilog程式模組中輸入、輸出訊號型別預設自動定義為wire型,可以不用顯式定義。

正確答案:b

16.以下名稱不屬於verilog關鍵字的是()

【a】genvar

【b】endcase

【c】cmos

【d】cnt

解析:關鍵字genvar用於宣告生成變數;case、endcase描述多分支語句;verilog還可以在低抽象級別對電路進行描述,並提供了多種電晶體級(也稱開關級)元件型別,包括n型金屬氧化物半導體場效電晶體(關鍵字為nmos)、p型金屬氧化物半導體場效電晶體(關鍵字為pmos)、互補式金屬氧化物半導體(關鍵字為cmos)、帶阻抗的互補式金屬氧化物半導體(關鍵字為rcmos)、電源單元(關鍵字為supply1)、接地單元(關鍵字為supply0)等。cnt不是verilog的關鍵字。

正確答案:d

17.當功能覆蓋率達到100%,可以說明()

【a】功能覆蓋率對應的dut響應是正確的

【b】某些令人關注的情況已經得到測試覆蓋

【c】dut的功能點已經100%覆蓋

【d】意味著驗證的完整性

解析:功能覆蓋率是通過cover語句來收集電路中訊號的翻轉情況,保證在大規模隨機回歸的情況下令人關注的訊號是否翻轉到期望的值。一些特定訊號翻轉到期望的值表示一種場景的出現,比如fifo的滿訊號從0到1表示fifo滿的場景被覆蓋到。因此b是正確的。

a是錯誤的,因為被覆蓋到不意味著電路的響應是正確的,只是被測試到。

c是錯誤的。功能覆蓋的cover語句是驗證人員根據自己的測試點提取來寫的,並不一定是所有的功能點,只能說驗證人員關注的功能點被覆蓋。

d是錯誤的,功能點都不能保證是100%,更不用說驗證完整了。驗證完整這句話不是隨便可以說的,即便是真的做足了各種驗證工作,都要對可能的疏忽保持敬畏之心。晶元的流片成功並不容易。

此題解析來自於:

正確答案:b

18.下面表示式正確的是()

【a】a = 4'df;

【b】c = 3'd8;

【c】b = 5'h1;

【d】d = 3'b2;

解析;非常基礎的題。《位寬》』《進製》《數字》;二進位製用b或b表示,十進位製用d或d表示,十六進製製用h或h表示,八進位製用o或o表示。

正確答案:c

19.rtl**是測試點的乙個重要**()

【a】正確

【b】錯誤

解析:黑盒測試直接通過對產品功能定義的解讀,完成端到端測試,通過輸入匯出預期輸出,無需了解中間的rtl**。白盒測試則是通過對rtl**的解讀,分解出**實現過程中可能出的問題,但是黑盒測試又不容易測試出來的點,利用斷言進行檢測。因此rtl**是白盒測試點的乙個重要**。灰盒測試則介於黑盒和白盒之間,通過定向用例測試一些rtl內部實現的細節,觀察其輸出正確性,輔以斷言檢測。

此題解析來自於:

正確答案:a

20.時序電路中,既可以使用阻塞賦值,也可以使用非阻塞賦值()

【a】正確

【b】錯誤

解析:原則:1、時序電路建模時,用非阻塞賦值;2、鎖存器電路建模時,用非阻塞賦值;3、用always塊寫組合邏輯時,採用阻塞賦值;4、在同乙個always塊中同時建立時序和組合邏輯電路時,用非阻塞賦值;5、在同乙個always塊中不要同時使用非阻塞賦值和阻塞賦值;6、不要在多個always塊中為同乙個變數賦值;7、用$strobe系統任務來顯示用非阻塞賦值的變數值;8、在賦值時不要使用#0延遲。

遵循以上原則,有助於正確的編寫可綜合硬體,並且可以消除90%-100%在**時可能產生的冒險競爭現象。

參考:夏宇聞版《verilog數字系統設計教程》p164

正確答案:b

華為2019數字晶元崗筆試解析(多選部分)

計 不定項選擇 1.關於狀態機編碼,如下描述中正確的是 a 狀態編碼用parameter定義 b 狀態機必須有default態 c 用組合邏輯和時序邏輯分離的風格描述fsm d 用case語句描述狀態的轉移 解析 狀態機一般需要定義default態,但是對於case狀態完全的狀態機,可以不用defa...

華為2019數字晶元崗筆試解析二(單選第一部分)

1.表示任意兩位無符號十進位制數需要 位二進位制數 a 6 b 8 c 7 d 5 解析 最大的兩位無符號十進位制數是99,介於26 1和27 1之間,需要用7位二進數表示。正確答案 c 2.時間尺度定義為 timescale 10ns 100ps,選擇正確答案 a 時間精度10ns b 時間精度1...

華為2019校招筆試

示例2 示例 常用的邏輯運算有and 表示為 or 表示為 not 表示為 他們的邏輯是 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0其中,他們的優先關係為 not and or 例如 a b c 實際是 a b c a b c d ...