Карноова карта — разлика између измена

Садржај обрисан Садржај додат
мНема описа измене
Ред 1:
[[File:K-map 6,8,9,10,11,12,13,14 anti-race.svg|thumb|right|Пример Карноове мапе]]
'''Карноова мапа''', или скраћено К-мапа, је метод за упрошћавање израза [[Булова алгебра|Булове алгебре]]. [[Морис Карно]] је измислио овај метод 1953 као побољшање Веичевог дијаграма. Карноова мапа смањује потребу за напорним калкулацијама тако што користи људску способност препознавања образаца. Она такође дозвољава брзу идентификацију и елминацијуелиминацију потенцијалних проблема са тркама услова.
 
Потребни Булови резултати су смештени из таблице истинитости у дводимензионалну матрицу где су ћелије поређане у Грејoвом коду, и свака позиција сваке ћелије представља једну комбинацију улазних параметара, док вредност сваке ћелије представља одговарајућу излазну вредност. Бирају се оптималне групе јединица и нула, које представљају изразе канонског облика оригиналне таблице истинитости.<ref name="KMapRulesOfSimplification">{{cite web |url=http://www.ee.surrey.ac.uk/Projects/Labview/minimisation/karrules.html |title=Karnaugh Maps – Rules of Simplification |accessdate=2009-05-30}}</ref> Ови изрази се могу искористити за записивање минималног Буловог израза који представља захтевану логику.
Ред 83:
Вредности редова и колона (приказане на врху и са леве стране мапе) су поређане по Грејевом коду уместо бинарног бројевног поретка. Грејев код осигурава да се само једна променљива мења између сваког пара суседних ћелија. Свака ћелија комплетне Карноове мапе садржи бинарну цифру која представља решење функције за ту комбинацију улаза.
 
Након што је Карноова мапа конструисана она се користи за налажење најпростијих израза за информације из таблице истинитости. Суседне јединице у Карноовој мапи представљају могућности за упрошћавање израза. Минимални израз се добија заокруживањем група јединица на мапи. Те групе морају бити правоугаоног облика и морају да имају површину величине неког степена броја 2 (нпр. &nbsp;1,&nbsp;2,&nbsp;4,&nbsp;8...). Ти правоугаоници треба да буду што већи, али не смеју да садрже нуле. Групе смеју да се преклапају у циљу да се повећају. Оптимална груписања на овом примеру су приказана зеленим, црвеним и плавим линијама, и црвена и целеназелена група се преклапају. Црвена група је поље са 2&nbsp;×&nbsp;2 ћелије, зелена је 4&nbsp;×&nbsp;1, и област преклапања је означена браон бојом.
 
Мрежа је [[Торус|торусног]] облика што значи да се поља која се налазе на ивици матрице спајају са другим на крајевима матрице (видети слику). Ћелије скроз десно су заправо суседне са ћелијама које су скроз лево. То такође важи и за ћелије које се налазе скро на врху и на дну. Тако да <math>A\scriptstyle \overline{D}</math> може да буде валидан израз – он укључује ћелије 12 и 8 на врху, и спаја их са ћелијама 10 и 14 на дну – као и <math>\scriptstyle\overline{B}\,\overline{D}</math>, који укључује 4 ћошка.
Ред 103:
На исти начин, плава група нам даје израз <math>BC\overline{D}</math>.
 
Коначно решење је једноставно производ ових грзпагрупа, односно <math>A\overline{C} + A\overline{B} + BC\overline{D}</math>.
 
На овај начин смо уз помоћ Карноових мапа упростили израз
Ред 112:
<math>f(A, B, C, D) = A\overline{C} + A\overline{B} + BC\overline{D}</math>
 
Такође би било могуће доћи до овог решења пажљивом употребом аксимааксиома Булове алгебре, али време које је потребно за тако нешто расте експоненцијално.
 
===Изнверз===
Ред 119:
 
 
Три израза искоришћена да покрију инверзну функцију су показана са сивим правоуганоцимаправоугаоницима са различитим бојама оквира:
*Браон—<math>\overline{A}\,\overline{B}</math>
*Златна—<math>\overline{A}\,\overline{C}</math>
Ред 135:
[[File:K-map 6,8,9,10,11,12,13,14 don't care.svg|thumb|Вредност 'f(A,B,C,D)'' за ''ABCD'' = 1111 је замењена вредношћу за коју нас није брига. Ово брише зелену област комплетно и омогућава црвеној да буде већа. Такође дозвољава плавој области у инверзној функцији да се повећа.]]
 
Карноове мапа такође дозвољавају лаку минимизацију функција за чије таблице истинитости имам услове за које не морамо да бринемо. Услов за који не морамо да бринемо је комбинација улаза за које дизајнер не жели да зна шта је излаз. Управо зато, те случајевемослучајеве можемо искористити и као нуле и као јединице, шта нам више одговара. Оне се углавном означавају са X или d.
 
Пример на десној страни је исти као и пример изнад, али је у њему вредност F за ABCD = 1111 замењен са вредношћу за коју не маримо. Ово нам омогућава да црвену групу проширимо скроз до дна, и самим тим, избацимо зелену групу.
Ред 152:
Карноове мапе су корисне за детектовање и елиминацију трка услова.
 
*У примеру [[Karnaugh_map#Solution|изнад]], потенцијална трка услова постоји када је ''C'' једнако 1 и ''D'' једнако 0, ''A'' је 1, и ''B'' се мења из 1 у 0 (померајући се са плавог у зелено стање). За овај случај, излаз је дефинисан да остане непромењен у 1, али зато што овај прелаз није покривен одговарајућим изразом, постоји потенцијал за краткотрајни квар (тренутна промена излаза у 0).
*Други потенцијални краткотрајни квар у истом примеру је теже приметити. Када је ''D'' једнако 0 и ''A'' и ''B'' су 1, са ''C''-ом које се мења из 1 у 0 (померањем из плавог у црвено стање). У овом случају се краткотрајни квар обавија око врха и дна мапе
 
[[File:K-map 6,8,9,10,11,12,13,14 anti-race.svg|thumb|Изнад к-мапе је додат израз <math>A\overline{D}</math> да би се избегалаизбегла трка услова.]]
 
Да ли ће се ови краткотрајни кварови јавити, зависи од физичке природе имплементације, и да ли треба да бринемо о њима зависи од примене.
Ред 161:
У овом случају, додатни израз <math>A\overline{D}</math> би елиминисао потенцијалну трку услова, спајајући зелено и плаво излазно стање или плаво и црвено излазно стање: ово је приказано као жута област (која се обавија са дна на врх са десне стране) у дијаграму десно.
 
Израз је непотребан у изразима статичке логике система, али такви редудантниредундантни изрази су потребни да би се обезбедиле динамичке перформансе без трке услова.
 
Слично, додатни израз <math>\overline{A}D</math> се мора додати на инверзну функцију да би се елиминисала потенцијална трка услова. Користећи Де Морганов закон добијамо још један израз производа сума ''F'', али са новим фактором <math>\left(A + \overline{D}\right)</math>.