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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

卡诺图最简化SOP/POS表达式

發布時間:2023/12/14 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卡诺图最简化SOP/POS表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

卡諾圖最簡化SOP/POS表達式及擴展

  • 一. 卡諾圖(Karnaugh Map)
  • 二. 原理分析
    • 1. 化簡SOP(矩形框選法)
      • (1). 三元卡諾圖化簡
      • (2). 四元卡諾圖化簡
      • (3). 四元卡諾圖化簡常見錯誤情況
    • 2. 化簡POS
    • 3. 由SOP/POS表達式得到POS/SOP最小項表達式

注:文章內容基于 Thomas L. Floyd-Digital Fundamentals-Prentice Hall (2014)
結合筆者學習經驗給出最適分析思路和擴展方法

一. 卡諾圖(Karnaugh Map)

通俗易懂的來講,卡諾圖是一種方格圖,其行和列遵循固定的規則分布(對所有變量:相鄰方格之間一定且僅改變一個變量的值)

  • 標準卡諾圖
  • 三元卡諾圖1.1 四元卡諾圖1.2
  • 非標準卡諾圖
  • 三元卡諾圖1.3 四元卡諾圖1.4

    標準卡諾圖與非標準卡諾圖之間的區別:
    (1). 標準卡諾圖在滿足分布規則的前提下遵循最低位變量進行0-1順序變化
    (2). 非標準卡諾圖則非,但仍遵循卡諾圖分布規則

    實際上無論是標準或非標準卡諾圖,在求解化簡過程中結果是一樣的
    但寫作標準式是避免化簡出錯的主要手段

    卡諾圖的行列顯示了輸入變量的所有可能情況,并在卡諾圖中填入變量的實際輸入情況,用以簡化輸入表達式

    注:
    卡諾圖一般用于討論3-4變量的輸入情況
    一般情況下,不超過5個變量
    當超過5變量時,使用卡諾圖化簡表達式顯得冗長復雜,則會使用其他方法化簡,卡諾圖化簡提供了一種表達式化簡的可視化思路

    二. 原理分析

    卡諾圖最主要用于獲取最小項表達式
    也就是我們常說的化簡表達式
    常見用于簡化邏輯函數的規范范式SOP/POS表達式

    關于SOP/POS表達式的詳見說明請參考:
    邏輯函數規范范式——SOP/POS表達式

    (1). 填入卡諾圖

    1如下給出填入卡諾圖步驟
    ①. 先由給出SOP/POS表達式寫出其標準式
    ②. 將對應SOP輸出值置1/POS輸出值置0,給出對應表達式的真值表
    ③. 將真值表對應填入卡諾圖中

    SOP/POS標準化方法參考如下詳解:
    SOP/POS標準化方法

    當然,需要注意的是,如果剛開始給你的表達式并不復雜
    即使對應四變量,也可以通過布爾代數公式將其化簡至最簡式
    就沒有必要再通過卡諾圖復雜化化簡過程了

    (2). 通過卡諾圖化簡

    1. 化簡SOP(矩形框選法)

    如下給出通過卡諾圖化簡步驟
    ①. 將SOP標準式對應真值表全部填入卡諾圖中
    (卡諾圖對應位置填1,及卡諾圖中顯示為1的地方為對應輸出值為1的所有可能情況)
    (而對于某個方格內同時對應的四個變量作為輸入,表示這種輸入通過SOP表達式的輸出為1)
    ②. 將卡諾圖中的1依照矩形框取方法1逐一劃分區域
    ③. 將劃分區域寫成表達式形式并相加寫成SOP表達式
    所得表達式即為最簡/最小項SOP表達式

    這里分析一下為什么使用矩形框取方法可以實現化簡

  • 首先化簡的原理就是找變化量,消去變化量(或者可以理解為變化量在輸入輸出過程中不起作用,也成為無關變量)
  • 每有一個矩形區域就構成SOP表達式中的一項
  • 為什么兩個矩形區域之間不連接就不能化簡?這就要根據卡諾圖分布的原則來說明了
    卡諾圖分布原則保證了相鄰區域之間有且只有一個變量的值發生改變,發生改變的變量即為無關變量
    這表明無論該變量取0或是1,其輸出值都為1,故為無關項
    而當兩區域不全相鄰,即兩區域不能構成一個矩形區域,在卡諾圖中就無法找到兩區域間的無關量,故不能將兩項表達式化簡成一項
  • (1). 三元卡諾圖化簡

    以下圖為例

    三元卡諾圖2.1

    通過框選方法得到圖

    三元卡諾圖2.2

    依據圈出矩形框來判斷所圈矩形框的最小項表達式:
    ①. 觀察所圈矩形框中“1”的個數,確定該矩形框對應最小項的變量個數
    ②. 根據不變量寫出表達式
    (1) 藍色矩形框:框中“1”的個數為4,確定該項變量為1,找不變量,在這一過程中C=0C=0C=0保持不變,則將不變量作為該項式的變量——C ̄\overline{C}C(若不變量滿足C=1C=1C=1保持不變,則該項式變量——CCC
    (2) 紅色矩形框:框中“1”的個數為4,確定該項變量為1,找不變量,在這一過程中A=0A=0A=0保持不變,則將不變量作為該項式的變量——A ̄\overline{A}A(若不變量滿足A=1A=1A=1保持不變,則該項式變量——AAA
    (3) 黃色矩形框:框中“1”的個數為2,確定該項變量為2,找不變量,在這一過程中AB=10AB=10AB=10保持不變,則將不變量作為該項式的變量——AB ̄A\overline{B}AB
    (4) 三項相加得到最終表達式為C ̄\overline{C}C+A ̄\overline{A}A+AB ̄A\overline{B}AB

    圖中圈出三個矩形框,表示所得表達式中最小項式的個數為三,其中每一個矩形框代表一個最小項式
    所圈出的矩形框包含“1”的個數與可消去變量或最小項項式變量的關系為
    Mi=N?log?2miM_{i}=N-\log_{2}{{m_{i}}}Mi?=N?log2?mi?

    定義:
    N表示總變量數;
    mi表示第i個矩形框內“1”的個數;
    Mi表示第i個矩形框對應最小項的變量個數

    (2). 四元卡諾圖化簡

    對于三元卡諾圖,由于三變量所能產生的最多情況個數為8種,不存在較為復雜的空間排布規律
    但對于四元卡諾圖,可能會出現較為復雜的空間排布規律,此情況下,框選的范圍就不再只是狹義上的矩形框范圍了,該定義擴展到物理范圍上

    通過如下圖給出

    四元卡諾圖2.3

    實際圈出過程為:

    四元卡諾圖2.4

    可以發現,左右兩側并不相鄰的部分被圈入同一個矩形框種
    對于這種情況,看似不相鄰,實則是相鄰的,因為左右兩列始終滿足相鄰條件:兩個方格之間只有一個變量發生改變,而對于左右兩側共四組每一組都滿足相鄰條件,實際上無論是上下兩側還是左右兩側,都滿足相鄰條件,即稱之為物理相鄰

    可以使用鏡像法來分析物理上的相鄰,即可作如下圖
    (鏡像法為個人證明所得方法,并不推薦使用于考試或程序設計當中)

    四元卡諾圖2.5

    前面講過,對于不規范的卡諾圖,化簡方式仍然成立且完全相同:標準/非標準卡諾圖解析

    所以,仍然使用前面的化簡方法,對上圖化簡為
    (1) 灰色矩形框:框中“1”的個數為8,確定該項變量為1,找不變量,在這一過程中D=0D=0D=0保持不變,則將不變量作為該項式的變量——D ̄\overline{D}D
    (2) 棕色矩形框:框中“1”的個數為4,確定該項變量為2,找不變量,在這一過程中BC=10BC=10BC=10保持不變,則將不變量作為該項式的變量——BC ̄B\overline{C}BC
    (3) 黃色矩形框:框中“1”的個數為2,確定該項變量為3,找不變量,在這一過程中ABC=101ABC=101ABC=101保持不變,則將不變量作為該項式的變量——AB ̄CA\overline{B}CABC
    (4) 三項相加得到最終表達式為D ̄\overline{D}D+BC ̄B\overline{C}BC+AB ̄CA\overline{B}CABC

    (3). 四元卡諾圖化簡常見錯誤情況

    對較復雜卡諾圖的化簡可能會遇到的兩種問題:

  • 漏化簡
  • 化簡方式始終是唯一的,因為化簡遵循最大選取原則,化簡出現多種可能說明化簡錯誤
  • 給出如下卡諾圖

    四元卡諾圖2.6

    首先四角上的四個方格是成對相鄰的,例如左上角0000分別與左下角1000和右上角0010相鄰,同理對另外三個角也滿足相鄰條件,即此四角可以被圈入為一個矩形框

    那么對于該卡諾圖
    化簡方式應該為

    四元卡諾圖2.7

    仍然依據上述化簡方式

    (1) 灰色矩形框:框中“1”的個數為4,確定該項變量為2,找不變量,在這一過程中BD=00BD=00BD=00保持不變,則將不變量作為該項式的變量——B ̄D ̄\overline{B}\overline{D}BD
    (2) 紫色矩形框:框中“1”的個數為4,確定該項變量為2,找不變量,在這一過程中CD=10CD=10CD=10保持不變,則將不變量作為該項式的變量——CD ̄C\overline{D}CD
    (3) 兩項相加得到最終表達式為B ̄D ̄\overline{B}\overline{D}BD+CD ̄C\overline{D}CD

    2. 化簡POS

    如下給出通過卡諾圖化簡步驟
    ①. 將POS標準式對應真值表全部填入卡諾圖中
    (卡諾圖對應位置填0,及卡諾圖中顯示為0的地方為對應輸出值為0的所有可能情況)
    (而對于某個方格內同時對應的四個變量作為輸入,表示這種輸入通過POS表達式的輸出為0)
    ②. 將卡諾圖中的0依照矩形框取方法1逐一劃分區域
    ③. 將劃分區域寫成表達式形式并相乘寫成POS表達式
    所得表達式即為最簡/最小項POS表達式

    實際上,其方法與SOP表達式化簡的方式完全一致,唯一區別在于表達式的化簡原理略有不同,區別在用于確定不同表達式的唯一輸入輸出值

    故,對應于POS表達式的卡諾圖,需要將對應表達式所在卡諾圖位置置0,并依據給出唯一輸入真值為0給出最小項表達式

    以下圖為例

    四元卡諾圖2.8

    經矩形框選得到:

    四元卡諾圖2.9

    分析給出其POS對應的最小項表達式:
    (1) 綠色矩形框:框中“1”的個數為4,確定該項變量為2,找不變量,在這一過程中CD=01CD=01CD=01保持不變,則將不變量作為該項式的變量——C+D ̄C+\overline{D}C+D(若不變量滿足C=0C=0C=0保持不變,則該項式變量——CCC/若不變量滿足C=1C=1C=1保持不變,則該項式變量——C ̄\overline{C}C,這一原則是根據SOP/POS標準化過程給出的)
    (2) 深藍色矩形框:框中“1”的個數為4,確定該項變量為2,找不變量,在這一過程中AD=11AD=11AD=11保持不變,則將不變量作為該項式的變量——A ̄+D ̄\overline{A}+\overline{D}A+D
    (3) 玫瑰色矩形框:框中“1”的個數為1,確定該項變量為4,找不變量,在這一過程中ABCD=0110ABCD=0110ABCD=0110保持不變,則將不變量作為該項式的變量——A+B ̄+C ̄+DA+\overline{B}+\overline{C}+DA+B+C+D
    (4) 三項相乘得到最終表達式為(C+D ̄C+\overline{D}C+D)(A ̄+D ̄\overline{A}+\overline{D}A+D)(A+B ̄+C ̄+DA+\overline{B}+\overline{C}+DA+B+C+D)


    3. 由SOP/POS表達式得到POS/SOP最小項表達式

    和真值表對應互補關系一樣:
    SOP/POS相互轉化
    卡諾圖也有著“非1即0”的互補關系:
    通過SOP/POS給出的表達式對應卡諾圖中全部的1/0之外的全部空余區域,全部為給出表達式置位的補碼

    四元卡諾圖3.1

    并根據給出的卡諾圖求需要的最小項式即可


    希望能夠幫到迷途之中的你,知識有限,如有學術錯誤請及時指正,感謝大家的閱讀

    (^^)/▽ ▽\(^^)
  • 矩形框取方法表示通過矩形框框取卡諾圖中的1;
    需要遵循如下幾個原則:
    (1). 以每一個1/0表示一個正方形區域,框取構成必須為矩形圖案
    (2). 框取的1/0的數量必須為2n2^{n}2n(n≤\lem,m為總變量的個數)
    (3). 框取范圍內不能有空(即只能框取1或只能框取0,框取范圍內不能出現不同項)
    或可表示為框取鄰近的值
    (4). 最大選取(化簡)原則:框取全部在條件內的值0/1
    (5). 矩形框取方法適用于物理范圍的矩形而非圖上的矩形,即真值滿足臨近條件的方格都可以用矩形框選 ?? ??

  • 總結

    以上是生活随笔為你收集整理的卡诺图最简化SOP/POS表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

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