華為海思校園招聘-芯片-數(shù)字 IC 方向 題目分享(共9套,有答案和解析,答案非官方,未仔細校正,僅供參考)——第九套
部分題目分享,完整版獲取(WX:didadidadidida313,加我備注:CSDN huawei數(shù)字芯片題目,謝絕白嫖哈)
文章來源:http://www.zghlxwxcb.cn/news/detail-848421.html
單選
1.以下低功耗措施中,哪種不是降低電路翻轉率的方法?
A.在不進行算術運算的時候,使這些模塊的輸入保持不變,不讓新的操作數(shù)進來
B.采用 Gray 碼或 One‐hot 碼作為狀態(tài)機編碼
C.減少電路中的 glitch
D.重新安排“if‐else”表達試,可將毛刺或快變化信號移至邏輯錐體的前部
2.以下 Verilog 代碼中,a=12,b=10.則 z 的運算結果為:
Input [3:0]a;
Input [3:0] b;
output signed [7:0] z;
wire signed [3:0]c;
assign c= a[3:0]b[3:0];
assign z=c;
A.120
B.‐8
C.8
D.‐120
解析:
補位用符號位補上。c=4’b1000‐‐>z=8’b11111000(最高位為符號位)
考察:有符號數(shù)的位寬轉換
有符號數(shù)的位轉換關鍵在于符號位(首位)
1)有符號數(shù)位寬小到位寬大(4 位轉換為 8 位)
關鍵操作:轉換時,高位補原符號位?。。。▍^(qū)別于無符號數(shù)的高位補零)
例如:將 4 位有符號數(shù) 1100,轉換為 8 位有符號數(shù)。
2)有符號數(shù)位寬大到位寬?。? 位轉換為 4 位)
有符號數(shù)位寬大到位寬小的轉換就很簡單了,直接截取低 n 位即可。
例如:將 8 位有符號數(shù) 1111 1100,轉換為 4 位有符號數(shù)。
因此,對于短位寬賦值給長位寬的情況,需要對高位進行位擴展,具體是擴展 1 還是擴展 0,
記?。和耆罁?jù)右操作數(shù)!,具體如下:
1)右操作數(shù)是無符號數(shù),則無論左操作數(shù)是什么類型,高位都擴展成 0;
2)右操作數(shù)是有符號數(shù),則要看右操作數(shù)的符號位,按照右操作數(shù)的符號位擴展,符號位
是 1 就擴展 1,是 0 就擴展 0;
3)位擴展后的左操作按照是無符號數(shù)還是有符號數(shù)解析成對應的十進制數(shù)值,如果是無符
號數(shù),則直接轉換成十進制數(shù)值,如果是有符號數(shù),則看成 2 的補碼解析成十進制數(shù);
4)從上面 4 種情況看出,有符號數(shù)賦值成無符號數(shù)會出現(xiàn)數(shù)據(jù)錯誤的情況,因此要避免這
種賦值,而其他情況都是可以保證數(shù)據(jù)正確的。
3.constraint c_0{
src dist {0:=30, [1:3]:=90};
請問如上表達式約束,src 數(shù)值為 0 的概率為多大:( )
A. 0.2
B. 0.25
C. 0.1
D. 0.6
解析:
Systemverilog 中權重分布由操作符 dist 實現(xiàn),有兩種形式:“:=”或“:/”。
“:=”表示值的權重是相等的,“:/”表示值的權重是均分的。
權重不用百分比表示,權重和也不一定是 100.
例如:
src dist {0:=40; [1:3]:=60;};
即 src=0 的概率是 40/220,src=1 的概率是 60/220,是 2 的概率是 60/220,是 3 的概率是
60/220.
再例如:
dst dist {0:/40; [1:3]:/60;};
即 dst=0 的概率是 40/100,dst=1 的概率是 20/100,是 2 的概率是 20/100,是 3 的概率是
20/100.
綜上:src dist {0:=30; [1:3]:=90;}; dst=0 的概率是 30/(903+30)=30/300=0.1
4.分析下面的一段程序,正確的打印結果是:
fork
begin
#20
$ display(“A”);
end
begin
#10
$ display(“B”);
end
join_none
#5
$ display(“C”);
A.CBA
B. BCA
C.ABC
D.C
解析:
https://blog.csdn.net/qq_31348733/article/details/100382377
1)join:The parent process blocks until all the processes spawned by this fork complete.
簡單來說:fork…join 內(nèi)的所有語句都是并發(fā)執(zhí)行(對于 begin…end 內(nèi)部是順序執(zhí)行)
2)join_any:The parent process blocks until any one of the processes spawned by this fork
completes.
簡單來說:一旦 fork…join_any 內(nèi)任何一個線程完成,父線程就會繼續(xù)運行
3)join_none:The parent process continues to execute concurrently with all the processes spawned
by the fork. The spawned processes do not start executing until the parent thread executes a
blocking statement or terminates.
簡單來說:子線程和父線程會同時執(zhí)行。
5.下面有關 Cache 的說法哪一個是不正確的?
A. 設置 Cache 的理論基礎,是程序訪問的局部生原理
B. Cache 與主存統(tǒng)一編址,Cache 的地址空間屬于主存的一部分
C. 設置 Cache 的目的,是解決 CPU 和主存之間的速度匹配問題
D. Cache 的功能勻由硬件實現(xiàn),對程序員是透明的
解析:
A:使用 Cache 改善系統(tǒng)性能的依據(jù)是程序的局部性原理 [1]
B:cache 的地址與內(nèi)存地址是兩碼事,不統(tǒng)一編址,也沒有從屬關系
C:Cache 是介于 CPU 和主存之間的小容量存儲器,存取速度比主存快,接近 CPU。它能高
速地向 CPU 提供指令和數(shù)據(jù),提高程序的執(zhí)行速度。Cache 技術是為了解決 CPU 和主存之
間速度不匹配而采用的一項重要技術。
D:Cache 是主存的緩沖存儲器,由高速的 SRAM 組成,所有控制邏輯全部由硬件實現(xiàn),對
程序員而言是透明的。隨著半導體器件集成度的不斷提高,當前有些 CPU 已內(nèi)置 Cache,并
且出現(xiàn)了兩級以上的多級 Cache 系統(tǒng)。
Cache 通常采用相聯(lián)存儲器。Cache 又分為 L1Cache(一級緩存)和 L2Cache(二級緩存),
L1Cache 主要是集成在 CPU 內(nèi)部,而 L2Cache 集成在主板上或是 CPU 上。
6.對于獨立復位的模塊,只需要考慮對后級模塊的影響,無需考慮對前級模塊的影響。
A.正確
B.錯誤
解析:B 考慮到可能會存在反饋電路,因此選擇錯誤。
7.System Verilog 中,下面那種數(shù)組在使用前需要先執(zhí)行 new 操作( )
A. Dynamic arrays
B. Associative arrays
C. packed array
D. 多維數(shù)組
8.System Verilog 中,下面哪種數(shù)組在使用前需要執(zhí)行 new 操作( )
a.壓縮數(shù)組
b.聯(lián)合數(shù)組
c.動態(tài)數(shù)組
d.多維數(shù)組
解析:動態(tài)數(shù)組通過 new ( )函數(shù)預先分配存儲空間。
9.下列哪個不是 Verilog 系統(tǒng)函數(shù)( )
A. $ finish
B. $ head
C. $ time
D. $ write
解析:
r
e
a
d
m
e
m
b
和
readmemb 和
readmemb和readmemh 用來從文件中讀取數(shù)據(jù)到存貯器中。
$finish 的作用是退出仿真器,返回主操作系統(tǒng),也就是結束仿真過程。
$write(p1,p2,…pn);輸出信息,即將參數(shù) p2 到 pn 按參數(shù) p1 給定的格式輸出。
$time 返回一個 64 位的整數(shù)來表示當前的仿真時刻值
10.以下 Verilog 運算符號中,優(yōu)先級最高的是?
A.==
B.“
C.!
D.?:
解析:
11.模塊只收斂做到 0.75V,提壓到 0.85V 可以正常工作
A.正確
B.錯誤
12.異步電路都不需要 STA 進行約束檢查
A.是
B.否
解析:STA 都是針對同步電路的
13.在設計狀態(tài)機時,有兩種常用的編碼方式:one‐hot code、binary code,前者相對于后者
的優(yōu)勢主要體現(xiàn)在
A.實現(xiàn)電路的速度更快
B.實現(xiàn)電路的面積更小
C.編碼方式簡單
D.實現(xiàn)電路的功耗更低
解析:
獨熱碼和二進制碼的優(yōu)缺點比較:
二進制碼、格雷碼使用最少的觸發(fā)器,但是消耗較多的組合邏輯(用于譯碼) ;
獨熱碼則正好相反,因為狀態(tài)比較時僅需要比較一位,從而在一定程度上簡化了譯碼邏輯。
雖然在表示同樣的狀態(tài)時,獨熱碼占用較多的位,也就是消耗較多的觸發(fā)器,但這些額外的
觸發(fā)器占用面積可與譯碼電路省下來的面積相抵消。
在 CPLD 更多的提供組合邏輯,而 FPGA 提供更多的觸發(fā)器資源,所以在 CPLD 中更多的使用
二進制、格雷編碼,在 FPGA 中更多使用獨熱編碼。
另一方面,對于小型設計 gray‐code 和 binary‐code 編碼更有效。對于大型設計,one‐hot 編
碼更高效。
14.對于相同位數(shù)輸入的變量比較器,大于和小于的面積是一樣的
A.對
B.錯誤
解析:需要考慮有無符號位,如果無符號,大小面積相同;有符號是不同
15.有關綜合的說法,以下哪個選項是錯誤的?
A. 相同的 RTL 代碼,每次綜合出來的網(wǎng)表可能是不一樣的
B. 綜合網(wǎng)表可用于 EDA 功能仿真
C. casez 是不可綜合的
D. 時序邏輯 always 語句中,if‐else 如果 else 的分支缺乏,會綜合成 latch
解析:
在組合邏輯中,當缺少嵌套 if‐else 語句中的最后一個 else 子句時,它將推斷一個鎖存器,因
為寄存器必須記住原來的值。
在一個時序邏輯的 always 語句塊中,如果最后的 else 語句丟失,仍然會繼續(xù)推斷出觸發(fā)器。
16.在 Verilog 代碼中,對有符號數(shù)進行比特選擇或拼接,其結果是無符號數(shù)
A.正確
B.錯誤
解析:
(1)對于長位寬賦值給短位寬的情況,無論左操作數(shù)、右操作數(shù)是有符號數(shù)還是無符號數(shù),
都是直接截斷高位,而左操作數(shù)二進制所表示的實際十進制數(shù)據(jù)要看左操作數(shù)是無符號數(shù)還
是有符號數(shù),如果左操作數(shù)是無符號數(shù),直接轉換成十進制即可,如果是有符號數(shù),則看成
2 的補碼解析成十進制數(shù),這也是實際計算機系統(tǒng)中有符號數(shù)的表示方法。
(2)對于短位寬賦值給長位寬的情況,需要對高位進行位擴展,具體是擴展 1 還是擴展 0,
記?。和耆罁?jù)右操作數(shù)!,具體如下:
1)右操作數(shù)是無符號數(shù),則無論左操作數(shù)是什么類型,高位都擴展成 0;
2)右操作數(shù)是有符號數(shù),則要看右操作數(shù)的符號位,按照右操作數(shù)的符號位擴展,符號位
是 1 就擴展 1,是 0 就擴展 0;
3)位擴展后的左操作按照是無符號數(shù)還是有符號數(shù)解析成對應的十進制數(shù)值,如果是無符
號數(shù),則直接轉換成十進制數(shù)值,如果是有符號數(shù),則看成 2 的補碼解析成十進制數(shù);
4)從上面 4 種情況看出,有符號數(shù)賦值成無符號數(shù)會出現(xiàn)數(shù)據(jù)錯誤的情況,因此要避免這
種賦值,而其他情況都是可以保證數(shù)據(jù)正確的。文章來源地址http://www.zghlxwxcb.cn/news/detail-848421.html
到了這里,關于華為海思校園招聘-芯片-數(shù)字 IC 方向 題目分享——第九套的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!