日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDLBits答案(9)_卡诺图与最简SOP式

發布時間:2023/12/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDLBits答案(9)_卡诺图与最简SOP式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

卡諾圖與最簡SOP式

HDLBits鏈接


真值表

定義

真值表是表征邏輯事件輸入和輸出之間全部可能狀態的表格。以1表示真,0表示假。

從真值表到標準式

  • SOP標準式:找出真值表中所有輸出為1的表項,按照輸入的情況,為1用變量表示,為0則用反變量表示,得出若干乘積項,然后求和。
  • POS標準式:找出真值表中所有輸出為0的表項,按照輸入的情況,為1用反變量表示,為0則用原變量表示,得出若干求和項,然后求積。

舉例說明

有如下真值表

ABCD
0000
0010
0100
0111
1001
1010
1101
1111

若針對所有F=1的表項,可輕松寫出SOP標準式如下:

F=ABC+ABC+ABC+ABC

若針對所有F=0的表項,可輕松寫出POS標準式如下:

F=(A+B+C)(A+B+C)(A+B+C)(A+B+C)

從標準SOP式到最簡SOP式

標準表達式并非最簡表達式,從標準SOP式到最簡SOP式為一個標準的邏輯化簡的過程。

此時可以引入卡諾圖,來尋找最小項的合并規律,從而可以輕易的進行化簡工作,此處僅介紹系統化簡法。

1、求出函數的SOP標準式

例如,對于函數:

F=ABC+ABC+D+ABCD

可寫出其標準的SOP式為

2、求出函數的全部主要項

首先,將最小項按其內部包含1的個數多少進行排列、分組,可得下表:

其次,根據該表,可以發現能合并的兩個最小項必定位于相鄰的兩組,因此從最低組開始,和相鄰高位組逐個運算合并,并按乘積項中1的個數進行排列得到的新表如下:(注:1、在合并的同時,需在之前的表中用勾標注出被使用過的最小項;2、如果合并結果與之前某次一樣,則無需列出。)

第三,參考前兩個步驟,繼續對表項合并,直至無法合并為止。之后的合并過程需注意的是“—”的位置要相同,繼續合并的結果如下:

第四,上述各表中,凡是沒被“√”標記的合并項,就是主要項。對于該例,主要項就是:P0=AB和P1=D。

3、求出必要項、列出化簡結果

如果某一個主要項中,至少包含一個其他項不包含的最小項,則它必然是必要項。

得到主要項后再進行驗證是否存在等價主要項,并將其刪除。


鞏固練習

題目描述1

實現下面卡諾圖所描述的電路。

Solution1

module top_module(input a,input b,input c,output out ); assign out = ~((~a)&(~b)&(~c)); endmodule

題目描述2

實現下面卡諾圖所描述的電路。

Solution2

module top_module(input a,input b,input c,input d,output out ); assign out = ~a & ~d | ~b & ~c | b & c & d | a & c & d;endmodule

題目描述3

實現下面卡諾圖所描述的電路。

[David說]:d可以根據化簡需求自己制定為0或是1。

Solution3

module top_module(input a,input b,input c,input d,output out ); assign out = a | (~a&~b&c);endmodule

題目描述4

實現下面卡諾圖所描述的電路。

Solution4

module top_module(input a,input b,input c,input d,output out ); assign out = ~a & b & ~c & ~d | a & ~b & ~c & ~d | ~a & ~b & ~c & d | a & b & ~c & d | ~a & b & c & d | a & ~b & c & d | ~a & ~b & c & ~d | a & b & c & ~d;endmodule

題目描述5

實現一個有四輸入(a.b,c,d)的單輸出數字系統,當2、7或15出現在輸入端時,生成邏輯1,當0、1、4、5、6、9、10 13或14出現時,生成邏輯0。數字3、8、11和12的輸入不會出現在這個系統中。例如,7對應于a和b。c,d分別被設為0,1,1,1。

確定最小SOP格式的輸出out_sop和最小POS格式的輸出out_pos。

Solution5

module top_module (input a,input b,input c,input d,output out_sop,output out_pos ); assign out_sop = c & d | ~a & ~b & c;assign out_pos = ~((~c | ~d) & (a | b | ~c));endmodule

[David說]:這道題是最大項和最小項的問題,我們常用的是最小項,也就是積之和,但是最大項也需要了解一下,一般使用最小項就好了。

題目描述6

實現下面卡諾圖所描述的電路。

Solution6

module top_module (input [4:1] x, output f );assign f = ~x[1]&x[3] | x[2]&x[4];endmodule

題目描述7

實現下面卡諾圖所描述的電路。

Solution7

module top_module (input [4:1] x,output f ); assign f = ~x[2]&~x[4] | ~x[1]&x[3] | x[2]&x[3]&x[4];endmodule

題目描述8

對于下面的卡諾圖,用一個4-1多路選擇器和不限的2-1多路選擇器,但2-1多路選擇器的使用要盡可能少。你不允許使用任何其他邏輯門,你必須使用a和b作為多路復用器選擇器的輸入,如下面的4- 1多路復用器所示。

Solution8

module top_module (input c,input d,output [3:0] mux_in );always @(*) begincase({c,d})2'b0:mux_in = 4'b0100;2'b1:mux_in = 4'b0001;2'b11:mux_in = 4'b1001;default:mux_in = 4'b0101;endcaseendendmodule

總結

  • 熟悉了卡諾圖和基本的計算單元
  • 熟悉了卡諾圖的化簡方式,了解了SOP和POS的區別與聯系,以及如何求得SOP最簡式。

總結

以上是生活随笔為你收集整理的HDLBits答案(9)_卡诺图与最简SOP式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。