HDLBits (73) — 三個(gè)變量
本題鏈接:
https://hdlbits.01xz.net/wiki/Kmap1
實(shí)現(xiàn)下面卡諾圖描述的電路。

在編碼之前,嘗試用和的乘積和乘積的形式盡量簡化卡諾圖。我們不能檢查出你已經(jīng)將卡諾圖的至最簡。但是我們可以檢查你的輸出結(jié)果是否正確,是否可以成功把一個(gè)卡諾圖轉(zhuǎn)換成一個(gè)電路。

題目

答案

輸出波形


在邏輯代數(shù)中,卡諾圖(Karnaugh map)是真值表的變形,它可以將有n個(gè)變量的邏輯函數(shù)的2的n次方個(gè)最小項(xiàng)組織在給定的長方形表格中,同時(shí)為相鄰最小項(xiàng)(相鄰與項(xiàng))運(yùn)用鄰接律化簡提供了直觀的圖形工具。但是,如果需要處理的邏輯函數(shù)的自變量較多(有五個(gè)或更多的時(shí)候,此時(shí)有些項(xiàng)就很難圈了),那么卡諾圖的行列數(shù)將迅速增加,使圖形更加復(fù)雜。
如果表達(dá)式為最小項(xiàng)表達(dá)式,則可直接填入卡諾圖
如表達(dá)式不是最小項(xiàng)表達(dá)式,但是“與—或表達(dá)式”,可將其先化成最小項(xiàng)表達(dá)式,再填入卡諾圖。也可直接填入。
合并相鄰的最小項(xiàng),即根據(jù)下述原則畫圈
盡量畫大圈,但每個(gè)圈內(nèi)只能含有2的n次方(n=0,1,2,3……)個(gè)相鄰項(xiàng)。要特別注意對邊相鄰性和四角相鄰性。
圈的個(gè)數(shù)盡量少。
卡諾圖中所有取值為1的方格均要被圈過,即不能漏下取值為1的最小項(xiàng)。
在新畫的包圍圈中至少要含有1個(gè)未被圈過的1方格,否則該包圍圈是多余的。
寫出化簡后的表達(dá)式。每一個(gè)圈寫一個(gè)最簡與項(xiàng),規(guī)則是,取值為l的變量用原變量表示,取值為0的變量用反變量表示,將這些變量相與。然后將所有與項(xiàng)進(jìn)行邏輯加,即得最簡與—或表達(dá)式。
在進(jìn)行化簡時(shí),如果用圖中真值為0的項(xiàng)更方便,可以用他們來處理,方法和真值取1時(shí)一樣,只是結(jié)果要再做一次求反。
參考內(nèi)容:
2.3?卡諾圖?|?維基百科:
https://zh.m.wikipedia.org/zh-hans/%E5%8D%A1%E8%AF%BA%E5%9B%BE