FPGA/IC筆試——華為


1. Verlog HDL中對於initial語句,說法錯誤的是()

A. 在仿真過程中只執行一次

B. 可用於給實際電路賦初值

C. 在模擬的時刻開始執行

D. 多個 initial 塊並行執行

答案:B

解析:

initial用於TestBench仿真賦值,無法用於實際電路賦值。

多個initial塊在0時刻開始並行執行,只執行1次,且各自獨立。

多個always多次執行。

此處需要說明

  對於FPGA,有些編譯器是能夠綜合initial的,且在initial中給寄存器賦的初值,確實能夠在實際電路中工作,下載到FPGA上是對的。對於 ASIC 設計中,initial不可綜合。所以這里還是選了B,但是存疑。

Xilinx有的例程就是給的這種賦初值的方式,我自己寫代碼試了一下,確實能夠綜合並且布局布線。

 

2. 關於FPGA,哪個說法不正確?【Slice】【分布式RAM】【DSP】

答案:A

解析:

    A:Xilinx 的 7 系列 FPGA 內部有 CLB 可編程配置塊(Configuration Logic Block),每個 CLB 里有 2 個 Slice。Slice 有 2種,一種是 SliceL(Logic邏輯),一種是 SliceM(Memory存儲),SliceM 相比 SliceL 多出的功能在於可以配置成 Distribute RAM(分布式RAM)。

    B:分布式 RAM 不可以配置成真雙端口RAM

    C:在前面提到,Slice 是 FPGA 內部的可編程資源;

    D:DSP 主要是用於乘法、除法和快速加法;

 

 

 

 3. 一個八位二進制減法計數器,初始狀態為00000000,問經過268個輸入脈沖后,此計數器的狀態為()【計數器】【減法計數器】【二進制減法】

答案:C

解析:

(1)8 位二進制,計數一周是 256 次(2^8),所以先輸入256個脈沖,計數值從00000000回到00000000,此時還需要輸入268-256=12個脈沖;

(2)再輸入1個脈沖,減法計數,得到11111111,此時還需要輸入11個脈沖;

(3)11111111是十進制的255,減去11是244,換算成二進制是 11110100 

第(3)步簡便算:

11的二進制是0000_1011,在1111_1111中減去0000_1011,就是1111_0100

 

4.當一根導線上的部分信號能量傳輸到相鄰導線上時就出現了()的情形?【扇出fanout】【互調干擾】【串擾】【耦合】

答案:C 串擾

解析:

扇出:FPGA里面,扇出是一個輸出端連接/驅動的后級資源的個數,比如驅動10個LUT查找表;

互調:由於器件的非線性,不同頻率的信號互相調制,形成一個新頻率信號;在通信中的接收機中常出現交調干擾和互調干擾,交調干擾是幅度失真,互調干擾是頻譜失真;

串擾:一個信號的部分能量傳輸到相鄰導線上,常出現在多路並行的高速傳輸線上,所以對於Gbps傳輸,常常使用 GT 高速串行收發器,而不采用並行(原因之一);

耦合:兩個有依賴,彼此作用;

 

5. A='b0001,那么~A=('b1110)?【按位取反】【邏輯取反】

解析:

       ~”按位取反,原來多少位,取反后還是多少位,A = ’b0001,那么~A = ’b1110

       !”邏輯取反,結果是邏輯0或者邏輯11-bit,這里 A 不為 0,所以 !A = 1’b0,也可以寫成 ’b0

對於單bit信號,兩個的結果沒有區別,比如1-bit的復位,!rst_n 和 ~rst_n 的結果一樣。

 

6. 已知信號f(t)的頻帶寬度為帶塔w,則f(3t-2)的頻帶寬度為()

答案:A

知識點:【傅里葉變換性質】【尺度變換】【平移】【頻譜】【時域壓縮】【頻域展寬】

解析:

       涉及到傅里葉變換的性質,包括平移和尺度變換,其中平移不影響頻帶的寬度,尺度變換影響頻帶寬度。

       在一個域的擴展,對應另一個域的壓縮,反之亦然。

這里,時域是變窄,壓縮為原來的1/3,對應頻域要展寬為原來的3倍。

 

 

7. 對於 D 觸發器,若現態Qn=0,要使詞條Qn+1=0,則輸入D為(0)?

解析:D 觸發器邏輯表達式Qn+1 = D,所以輸入D為0,次態Qn+1=0

 

8. 下列關於譯碼器描述錯誤的是()

答案:C

知識點:【譯碼器】【組合邏輯】【高位譯碼】

解析:

譯碼器,常見的3-8譯碼器,組合邏輯,可能會出現競爭冒險,不可以作為時序電路的時鍾端。

對於B,高地址譯碼作為片選,低地址直接尋址,想具體了解的可以去看微機原理。

 

 

 

 

 9. 在何種輸入情況下,”與非“運算的結果是邏輯0?(全部輸入1)

知識點【與非門】【或非門】

解析:

       與非,2個輸入A、B,輸入A固定為1時,相當於非門;輸入A固定為0時,相當於固定輸出1

A、B全為1的時候輸出0,A、B中只有0就輸出1

或非門類似分析,一個輸入接0時,相當於非門;2 輸入全為0輸出1,輸入中只要有0輸出就為1

 

 

10. 異步控制信號在有效的時鍾沿到達之前必須保持穩定的最短時間是指(recovery恢復時間

知識點:【STA靜態時序分析】【setup建立時間】【hold保持時間】【recovery恢復時間】【removal移除時間】【異步復位】【時序】

解析:

(1)對於時鍾和數據信號,分析setup建立時間和hold保持時間

setup建立時間:在有效的時鍾沿來臨前,數據需要保持穩定的最短時間,簡寫為 Tsu

hold保持時間:在有效的時鍾沿來臨后,數據需要保持穩定的最短時間,簡寫為 Th

(2)對於時鍾和異步復位信號,分析recovery恢復時間和removal移除時間

recovery恢復時間:在有效的時鍾沿來臨前,異步復位信號保持穩定的最短時間;

removal移除時間:在有效的時鍾沿來臨后,異步復位信號保持文檔的最短時間;

FPGA中亞穩態【Tsu建立時間】【Th保持時間】【Tmet決斷時間】【recovery恢復時間】【removal移除時間】      

 

11. Verilog中的標識符可以是任意一組字母、數字和_(下划線)的組合,單標識符的第一個字符不能是(數字)

解析:Verilog HDL中的標識符(identifier)可以是任意一組字母、數字、$符號和_(下划線)的組合,但標識符的第一個字符必須是字母或者下划線,標識符是區分大小寫的。

 

12.判斷以下哪個電路不是時序邏輯電路(B)

A.計數器

B.譯碼器

C.寄存器

D.狀態機

解析:

       時序邏輯電路特點:在任意時刻的輸出,不僅取決於當前的輸入,還取決於電路中原有的狀態(組合電路+存儲電路,能保存電路狀態,比如寄存器)。

       組合邏輯電路特點:輸出僅取決於當前的輸入。

       顯然,譯碼器是組合電路,計數器、寄存器、狀態機是時序電路。

 

13.二輸入與非門當輸入變化為(C)時,輸出可能有競爭冒險。

A.00—>10

B.10—>00

C.01—>10

D.11—>01

解析:2輸入與非。

對A:00—>10,如果有延時產生,可能會出現00、10兩種狀態,輸出均為1,沒有輸出冒險;

對B:10—>00,如果有延時產生,可能會出現10、00兩種狀態,輸出均為1,沒有輸出冒險;

對C:01—>10,如果有延時產生,可能會出現01、00、10、11四種狀態,輸出本應該為1,但是可能會出現0(11狀態),輸出冒險;

對D:11—>01,如果有延時產生,可能會出現11、01兩種狀態,輸出有延時,沒有輸出冒險;

 

14. 在設計一個15進制的計數器時,則至少需要(4)bits的狀態變量?

解析:2^4 =16。

 

15. a=1'b1,b=5'h10,那么{a, b} =  6'h30

16. 多數時序問題,歸根結底是(建立-保持時間)

知識點:【時序】【STA靜態時序分析】【建立時間】【保持時間】【競爭冒險】

 

 

17. 下列表達式邏輯關系錯誤的是(D)

A. ~(x&y) = (~x) | (~y)

B. x|(y&z) = (x|y) & (x|z)

C. ~(x|y) = (~x) | (~y)

D. x&y&z = (x&y) | (x&z)

 

18. 在時序電路的狀態轉換表中,若狀態數N=3,在狀態變量數最少為(2)

解析:二進制或者格雷碼編碼,2^2 = 4,2和狀態變量最多可以支持4個狀態;

       獨熱碼編碼,N個狀態需要N個狀態變量(3’b001,3’b010,3’b100)。

       獨熱碼(One-Hot),只有1位是1。

 

19. 下列幾種 TTL 電路中,輸出端可實現線與功能的門電路是()

A. 或非門

B. 異或門

C. 與非門

D. OC門

解析:線與:OC門和OD門。

OD門:漏極開路門(open-drain),直接線與

OC門:集電極開路(open-collector),必須接電源和上拉電阻

 

20. 在 Verilog HDL 中,定義變量並進行運算如下,在第9個時間單位結束后,x與y的值分別為(0,0)

解析:多個 initial塊並行從時刻0開始執行

 

21. 十進制46.25對應的二進制表達式為(101110.01)

解析:十進制轉換成二進制:

(1)整數部分:不斷除以2,直到商為0,倒着取余數;

 

 (2)小數部分:不斷乘以2,直到積的小數部分為0,正着取整數部分。

 

 

22. 對於Intel(Altera)的FPGA,下面哪一個等級速率最快(-6)

解析:

       Intel(Altera)的FPGA:-6/-7/-8,-6最快,-8最慢;

       Xilinx的FPGA:-1/-2/-3,-1最慢,-3最快。

現在還有-1/-L1/-2/-L2/-3,L是低功耗Low power

 

23. 集成運算放大器的一個結構特點是采用差動放大輸入級,其目的是為了()

A. 抑制電源噪聲

B. 提高放大倍數

C. 增強帶負載能力

D. 抑制溫漂

答案:D

知識點:【差動放大器】【共模抑制比】【溫漂】

解析:

       差動放大,也叫差分放大,相比直接放大,能抑制溫漂(零漂)。

       零點漂移:電壓或者溫度影響,集電極電流發生變化,相當於在2個輸入端加入了共模信號。差分放大電路有很好的共模抑制比CMRR,即有很強的輸出漂移抑制能力。

減少溫漂的措施:1.用非線性元件進行溫度補償;2.調制解調方式;3.采用差分放大電路

 

24.下面哪項措施無法降低CMOS集成電路的功耗?

解析:CMOS集成電路低功耗:

降頻; 降壓;多電壓;多閾值;門控時鍾;

中的 Low VT libaray,低閾值庫,漏電流大,運算速度快,靜態功耗大。

對於非關鍵路徑,對延時不敏感,可以使用高VT(高閾值)的器件,則可以在滿足時序的前提下,減小靜態功耗。

 

25.在時序電路中,時鍾頻率為100M,計數器位寬為3bit,那么計數器的翻轉周期是(80)ns

解析:

       100MHz 時鍾對於 10 ns 時鍾周期。

       計數器位寬3-bit,8進制計數器,計8個時鍾周期,80 ns

 

26. H和X分別別是哪種邏輯狀態?(VHDL、Verilog)

解析:

       在Verilog中,只有0、1、X、Z四種邏輯,其中X不定態,Z高阻態(X、Z不區分大小寫)。

       在VHDL中,H是弱邏輯1,X是不定態。

 

 

27. K=M&N,如果M為‘x’態,那么K為(x)態?

解析:

       輸入是X不定態(紅線),輸出就是X不定態

       輸入是高阻態Z(藍線)和0,輸出是0

       輸入是高阻態Z(藍線)和1,輸出是X不定態。

 

28. 屬於組合邏輯的電路是(C)

A. 觸發器

B. 移位寄存器

C. 全加器

D. 計數器

解析:

       時序邏輯電路的特點:在任意時刻的輸出,不僅取決於當前的輸入,還取決於電路中原有的狀態(組合電路+存儲電路,能保存電路狀態,比如寄存器)。

       組合邏輯電路特點:輸出僅取決於當前的輸入。

       全加器、譯碼器、編碼器是組合電路;計數器、寄存器(觸發器)、移位寄存器、狀態機是時序電路。

 

29. {3{4'b1011}} = (12'b1011_1011_1011)

30. 加減、積分、微分、乘除等模擬運算電路要求集成運放工作在()狀態?

A. 正反饋

B. 虛斷

C. 線性放大區

D. 負反饋

答案:C

知識點:【集成運放】【線性放大區】【負反饋】

 

31. 在Verilog HDL中,下面哪個是在RTL代碼中不可以直接使用的運算符()

A:異或"^"

B:除法"/"(最好是調用除法器IP)

C:或運算"|"

D:加法"+"

除法在綜合和布局布線后,可以看到,是利用很多LUT和進位鏈搭出來的。

 

 

32. 關於時序電路,以下說法錯誤的是(B)

解析:

       莫爾型輸出:輸出只和當前的狀態有關;

       米里型輸出:輸出除了和當前狀態有關,還和輸入有關。

 

33.n變量的邏輯最小項有(2^n)項

解析:n變量的最小項有2^n項。

 

 

34. 若一模擬信號為帶限,且對其抽樣滿足奈奎斯特條件,則只要將抽樣信號通過(理想低通濾波器)即可完全不失真恢復原信號。

解析:低通濾波器,濾除高頻噪聲,保留到帶限信號的有用信號的最高頻率,此時使用奈奎斯特采樣,可以無失真恢復信號。

 

35. 15位二進制數100111001110010,用10進制表示是(20082)

解析:2^14+ 2^11 + 2^10 + 2^9 + 2^6 + 2^5 + 2^4 + 2^1 = 20082

 

36. 連續周期信號f(t)的頻譜特點是(離散、非周期頻譜)

解析:

       時域連續,頻域非周期。

       時域離散,頻域周期。

       時域周期,頻域離散。

       時域非周期,頻域連續。

       所以,連續周期時域信號對於離散非周期的頻譜。

 

 

37. 卡諾圖上變量的取值順序是采用(循環碼)

解析: 格雷碼是循環二進制碼。

 

38. FPGA器件實現邏輯運算的基本原理是(A)

解析:FPGA底層是LUT查找表(Look up Table),與非門等門電路在綜合后會使用 LUT 實現這些門電路運算邏輯。

 

39. -55用8bit二進制補碼表示為(1100_1001)

解析:

       補碼,先求原碼,取反,+1。

       (1)55的二進制原碼表示為0011_0111;

       (2)取反,得到1100_1000;

       (3)加1,得到1100_1001。

 

40.帶符號數的9位二進制數110000000表示(-128)

解析:  

 

 Verilog學習筆記——有符號數的乘法和加法 

 41.使用DMA的好處不包括( C  )。

A  減少數據的傳輸延時    

B  一定條件下可以降低系統的功耗 

C  軟件復雜度肯定會降低 

D  降低CPU占用

降低軟件復雜度,那是有可能的,但說肯定那就不對了。

 

 

不定項:

1. 全加器包含(加數、被加數、進位輸入、進位輸出、加和)

 

 

2.在Verilog HDL中,下列關於表達式的描述正確的是(ABCD)

A.表達式由操作數和操作符組成

B.表達式中可以使用函數調用

C.表達式可以使用數值

D.表達式中整數值可以解釋為有符號數和無符號數

 

 

 

 函數使用:FPGA手撕代碼——CRC校驗碼的多種Verilog實現方式

 

 3. 集成電路保護措施有()

【限幅輸入保護電路】【二極管單向導電保護】【輸出端對地保護】【輸出端限流保護】

解析:

(1)輸入電壓限幅:限幅輸入保護;

(2)輸入電流限流:輸入限流電阻,二極管;

(3)電源對地保護:限流,防止短路;

(4)輸出限流保護:過載限流;

 

4. 下面關於同步設計的表述中,正確是是?(ABCD)

 

 解析:

 

 

5. 下面關於 always 語句描述正確的是(ABCD)

 

6.一個VHDL程序,至少要包括(AC)。

A 實體          B 子程序       C 結構體       D 進程

一個完整的VHDL程序包含結構體,實體,配置,程序包,庫。

 

 參考資料: FPGA探索者


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM