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

2021-10-11 02:36:04 字數 3281 閱讀 6822

1.表示任意兩位無符號十進位制數需要()位二進位制數

【a】6

【b】8

【c】7

【d】5

解析:最大的兩位無符號十進位制數是99,介於26-1和27-1之間,需要用7位二進數表示。

正確答案:c

2.時間尺度定義為`timescale 10ns/100ps,選擇正確答案()

【a】時間精度10ns

【b】時間精度100ps

【c】時間單位100ps

【d】時間精度不確定

解析:`timescale命令的格式:`timescale 《時間單位》/《時間精度》

正確答案:b

3.時序邏輯電路不僅與輸入有關,還與原來的狀態有關()

【a】正確

【b】錯誤

解析:時序邏輯電路任一時刻的輸出訊號不僅取決於當時的輸入訊號,而且還取決於電路原來的狀態(閆石版《數字電子技術基礎》p259)

正確答案:a

4.同步復位需要進行recovery和removal檢查,非同步復位不需要進行()

【a】正確

【b】錯誤

解析:非同步復位訊號隨時會出現,也隨時會消失,可以由使用者決定,具有隨機性。所以復位訊號在恢復時可能會出現不滿足recovery time 和removal time的問題。這時,用非同步復位同步釋放的方法,可以減小亞穩態出現的概率,如下圖(非同步復位同步釋放):

正確答案:b

5.非同步fifo設計中,滿訊號由寫時鐘產生,空訊號由讀時鐘產生()

【a】正確

【b】錯誤

解析:下面這張圖是典型的非同步fifo的架構框圖,從標註處,可以看出滿訊號是在寫時鐘域產生,空訊號是在讀時鐘產生。非同步fifo幾乎涵蓋了clock-domain crossing (cdc)跨時鐘域的全部知識,所以手寫非同步fifo**也是一項基本功能。

正確答案:a

6.以下關於false-path正確的是()

【a】一般非同步電路可以設定為false-path

【b】兩個不同頻率的介面一定可以設定為false path

【c】一般非同步復位可以設定為false path

【d】一般模擬ip和系統的互連介面都可以設定為false path

解析:false-path就是我們進行綜合分析時,不希望綜合工具分析的那些路徑。一般不需要工具時序分析的路徑指的是非同步的路徑,非同步路徑就是指的不同時鐘域的路徑。一般在以下兩種情況下使用

1. 從邏輯上考慮,與電路正常工作不相關的那些路徑,比如測試邏輯,靜態邏輯等

2. 從時序上考慮,我們在綜合時不需要分析的那些路徑,比如跨越非同步時鐘域的路徑

正確答案:a

7.下面是乙個什麼樣的電路?()

always@(posedge clk or negedge rst_n) begin

if(rst_n == 1'b0)

a<=2'b0;

else if(b>2'b0)

a<=b;

end

【a】綜合為latch

【b】帶同步復位的d觸發器

【c】帶非同步復位的d觸發器

【d】組合邏輯

解析:由給出的**我們可以看出觸發條件為時鐘的上公升沿(posedge clk)和復位的下降沿(negedge rst_n)。所以綜合的電路為帶非同步復位的d觸發器;所以c選項正確。

正確答案:c

8.對於訊號定義語句:reg [0:4] always,a;,說法錯誤的是()

【a】不能使用關鍵字定義訊號名

【b】訊號定義為reg型,只能使用在時序電路的賦值中

【c】bit定義順序應該從高到低

【d】每個訊號應該單獨用一行來宣告

解析:verilog中規定不能使用關鍵字定義訊號名,而always為關鍵字,選項a說法正確;reg型別可以組合邏輯中使用,例如always@(*),選項b錯誤;bit定義的順序應該從高到底或者從低到高都是可以的,例如:reg[4:0]或者[0:4],習慣上我們使用第一種,選項c說法正確。編寫**的風格每個訊號應該單獨用一行來宣告(不是必須,但是建議),d選項表達的是建議,所以正確。

正確答案:b

9.下列說法錯誤的是(d)

【a】條件語句,如果無關優先順序,盡量採用case,避免多級else if影響時序

【b】if/else語句配對使用,case語句加default項;組合邏輯中在所有條件下都要對訊號賦值,如果要保持不變則用a=a的方式賦值

【c】兩個向量進行比較操作或加減操作或賦值操作時,兩個向量的位寬要相等,避免隱式擴充套件

【d】可綜合**中,除了for語句中的迴圈變數可以定義為integer型外,所有變數和訊號都只能為wire型或者reg型,不能定義為整型、實數型、無符號型、realtime型和time型

解析:優先順序條件語句會綜合成串聯的選擇邏輯,時序較差,而case可以綜合成並行的選擇邏輯,所以選項a正確。

在時序邏輯下,if/else可以不配對使用,case語句可以沒有default,但是b選項是建議,一般情況下if/else要配對使用,case語句要加default,避免綜合成latch!組合邏輯,如果有條件沒給賦值,會綜合出latch,選項b正確。兩個向量位寬不匹配會隱式拓展高位,如果有運算元定義為wire型別但是作為有符號數使用,隱式拓展會錯誤高位補0,拓展成無符號數,功能出錯,選項c是正確的。d是錯誤的,integer可以被定義成訊號,會綜合出32bit的register。但因為位寬固定,一般不這麼使用。另外在verilog-2001中加入了無符號型和有符號型的reg/wire定義,也屬於可綜合型別。其他型別不可綜合, 選項d是錯誤。

正確答案:d

10.關於非同步設計的危害,下面說法錯誤的是()

【a】訊號的時延隨著每次布局佈線的不同而不同,隨著pvt的改變而改變,因此可靠性很差,而且不容易移植

【b】非同步設計會產生毛刺

【c】非同步設計不能做靜態時序分析(sta)

【d】非同步設計會帶來很大的同步翻轉雜訊

解析:同步翻轉雜訊指的是大量觸發器在同一時刻進行電平切換,會在相鄰管腳引入雜訊,因此,同步設計才會帶來同步翻轉雜訊。所以d錯誤。其餘選項均正確。

正確答案:d

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

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

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

計 11.多bit匯流排訊號可以通過格雷碼轉換進行非同步處理,例如 8bit的資料匯流排進行格雷碼轉換,然後通過雙觸發器法實現非同步處理 a 正確 b 錯誤 解析 注意這題用的詞是 可以 多bit訊號是可以通過轉換成格雷碼然後打拍進行跨時鐘域的,比如非同步fifo的位址跨時鐘域,利用了相鄰的兩個位址...

華為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 ...