校招基礎——數電和Verilog


1、邏輯函數的表示方法

常用的邏輯函數表示方法有邏輯真值表,邏輯函數式,邏輯圖,波形圖,卡諾圖和硬件描述語言等。

 

2、什么是格雷碼?

在一組數的編碼中,若任意兩個相鄰的代碼只有一位二進制數不同,則稱這種編碼為格雷碼(Gray Code),另外由於最大數與最小數之間也僅一位數不同,即“首尾相連”,因此又稱循環碼反射碼。格雷碼(Gray Code)又稱Grey Code、葛萊碼、格萊碼、戈萊碼、循環碼、反射二進制碼、最小差錯碼等。

 

3、為什么要使用格雷碼?

格雷碼是一種具有反射特性和循環特性的單步自補碼,其循環和單步特性消除了隨機取數時出現重大錯誤的可能,其反射和自補特性使得對其進行求反操作也非常方便。格雷碼屬於一種可靠性編碼,它在相鄰間轉換時,只有一位產生變化,它大大減少了一個狀態到另一個狀態時邏輯的混淆,因此格雷碼在通信和測量技術中得到廣泛應用。

 

4、格雷碼有哪些特點?

(1)格雷碼具有反射特性;

(2)格雷碼具有循環特性;

(3)格雷碼是一種准權碼;

(4)格雷碼相鄰的碼組間僅有一位不同;

(5)格雷碼從編碼形式上杜絕了邏輯冒險的發生;

(6)卡諾圖是按格雷碼來畫的;

(7)格雷碼不是一種二進制;(易錯)

 

5、格雷碼和獨熱碼的區別

獨熱編碼占用較多的位,也就是消耗較多的觸發器,但這些額外觸發器占用的面積可與譯碼電路省下來的面積相抵消。

 

6、二進制轉格雷碼

Gray = (bin>>1) ^ bin;(右移一位后和自身異或)

 

7、下面那些是格雷碼的特性?(ACD)

A、格雷碼具有反射特性

B、格雷碼是一種二進制

C、格雷碼可以減少干擾

D、格雷碼相連碼組之間只有一個碼元不同

 

8、A和B均為補碼表示的二進制,其中A=10010010B,B=10001011B,請問下列選項中哪一個為A+B的運算結果:(A)
A.100011101
B.110011101
C.111100010
D.011100011

注意:已經是補碼表示的了,復習一下有符號數加減法就行。

 

9、將二輸入的與非門當非門使用時,另一端的接法是

與非門:(AB)’=A’+ B’,當非門使用,A正常,B接1即可,所以另一端接高電平。

 

10、B’+ABC+(AC)’+(AB)’,最簡為(1),(A+B)(AB’)最簡為(AB’)。

1)原式=B’+ABC+A’+C’+A’+B’=A’+B’+C’+ABC=(ABC)’+ABC=1

此處用到摩根定理:(A+B+C)’=A’*B’*C’

          (A*B*C)’=A’+B’+C’

或者畫卡諾圖,會發現全部都填滿了1,因此答案也是1。

2)分配律:(A+B)(AB’)=AAB’+AB’B = AB’

 

11、設計一電路,其輸入端為A,B,C,輸出端為Y,要求其功能為:

A=1時,Y=B;

A=0時,Y=C;

設計內容包括:

1)列出真值表;(2)寫出Y的最簡與或表達式(3)用最少的與非門畫出邏輯圖。

解:(1)真值表

        A B C Y

        0 0 0 0

        0 0 1 1

        0 1 0 0

        0 1 1 1

        1 0 0 0

        1 0 1 0

        1 1 0 1

        1 1 1 1

(2)Y的與或表達式

  根據(1)真值表,將Y=1里含有1的加起來就行,Y = A’B’C + A’BC + ABC’+ ABC = AB+A’C=AB+A’C,忘了公式也可以畫卡諾圖,很快就得到答案了。

3)Y=AB+A’C=((AB)’(A’C)’)’所以只需要4個與非門即可。

 

 

12、函數F(A,B,C)=AB+BC+AC的最小項表達式為(A

 

13、下圖中為組合邏輯Y=f(A,B,C,D)的真值表,請根據此真值表在下列答案中選擇Y的邏輯表達式(D)

 

AB=00

AB=01

AB=11

AB=10

CD=00

0

0

0

0

CD=01

1

1

1

1

CD=11

0

0

1

1

CD=10

0

0

1

1

A、C’D+AD

B、AC+D

C、AC+A’D

D、AC+C’D

本題考查的是卡諾圖,有1的是有效項。

 

14、約束項就是邏輯函數中不允許出現的變量取值組合,用卡諾圖化解時,可將約束項當做1,也可當做0。(錯誤

對輸入變量取值的限制稱為約束。當限制某些輸入變量的取值不能出現時,用對應的最小項等於 0 表示,這些最小項就是約束項。(考察對書本概念的熟悉)

 

以下是Verilog部分

 

1、HDL語言的層次概念?

HDL語言是分層次的、類型的,最常用的層次概念有系統與標准級、功能模塊級,行為級,寄存器傳輸級和門級。

系統級,算法級,RTL級(行為級),門級,開關級

 

2、FPGA的可綜合和不可綜合有哪些?

可綜合:aupply0、supply1、buf、buff0、buff1、notif0、notif1、integer、for、function、instantitation、operators。

不可綜合:defparam、$finish、initial、events、real、time、force、release、fork、join、delays、wait、#。

 

3、下面關於verilog描述正確的是:(ABCD)
A.如果A=1’b1,B=1’b0,F=A&~B|B&~A|B,則F=1’b1。 

B.y=a+b;屬於阻塞賦值語句,執行該語句時,先計算a+b值,然后更新y值,在此過程中不能運算其他語句。
C.generate,for,function語句可以綜合(for循環可綜合時,循環變量必須是固定值)。
D.如果A=4’hb,則^A=1’b1。

解析:~優先級最高,&第二高,|第三高

 

4、下列語句中不屬於並行語句的是(A)

A、過程語句 B、assign語句 C、無條件例化語句 D、when...else語句

 

5、塊語句有兩種:begin-end語句是(順序)執行語句;fork-join是(並行)執行語句。

 

6、時間尺度定義為timescale 10ns/100ps,選擇正確答案(C)

A、時間精度10ns B、時間單位100ps

C、時間精度100ps D、時間精度不確定

 

7、verilog語言中,wire型數據如果定義后沒有賦值,則默認值為(A)

A、x   B、0   C、1   D、z

解析:wire初始值是x,它只是根線。Reg是可以賦初值的,不賦值為0.

 

8、Verilog的3種語言描述方式?

 

 

9、實現NJohnson計數器,N=5.

 

 

10、以下哪些不屬於function的特性?(B

A、可以調用其他function

B、消耗非0仿真時間;

C、必須至少有一個輸入參數;

D、不得包含任何延遲和時序控制語句;

 

11、qword、dword、word、byte、bit的區別?

  • 1qword = 2dword = 4word = 8byte = 64bit;
  • 1dword = 2 word  = 4byte  = 32bit;
  • 1word   = 2byte    = 16bit
  • 1byte    = 8bit

 

12、task和function的區別?

1task可以定義自己的仿真時間單位;

    function只能與主模塊共用仿真時間單位;

2task是過程性語句,要出現在always塊或initial塊中;

    function不是過程性語句,不能出現在always塊或initial塊中;

3task可以有時間控制語句,如#@wait

    function不能有時間控制語句;

4task可以沒有輸入輸出端口;

    function至少要有一個輸入參量;

(5)task不返回值;

    function返回一個值;

6task可以調用function

    function不能調用task


免責聲明!

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



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