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、實現N位Johnson計數器,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的區別?
(1)task可以定義自己的仿真時間單位;
function只能與主模塊共用仿真時間單位;
(2)task是過程性語句,要出現在always塊或initial塊中;
function不是過程性語句,不能出現在always塊或initial塊中;
(3)task可以有時間控制語句,如#,@,wait;
function不能有時間控制語句;
(4)task可以沒有輸入輸出端口;
function至少要有一個輸入參量;
(5)task不返回值;
function返回一個值;
(6)task可以調用function;
function不能調用task;