Еспресо истраживачки логички умањивач — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Робот: обликовање ISBN-а
Autobot (разговор | доприноси)
м ispravke
Ред 1:
{{РАФ102013}}
'''Еспресо логички умањивач''' је компјутерски програм који користи специфичне алгоритме како би се ефикасно смањила комплексност дигиталних електронских кола капија. <ref>{{Citation |first=J.P. |last=Hayes |title=Digital Logic Design |publisher=Addison Wesley |year=1993 |idisbn=ISBN 978-0-201-15461-0}}</ref> Еспресо је развио [[Robert Brayton (computer scientist)|Роберт Брејтон]] у IBM-у. Rudell је касније објавио верзију Espresso-MV 1986. године која је названа "-{Multiple-Valued Logic Minimization for PLA Synthesis}-".<ref>{{Citation |url=http://www.eecs.berkeley.edu/Pubs/TechRpts/1986/ERL-86-65.pdf |title=Multiple-Valued Logic Minimization for PLA Synthesis |first=Richard L. |last=Rudell |date = 5. 6. 1986. |journal=Memorandum No. UCB/ERL M86-65 |location=Berkeley}}</ref> Еспресо је инспирисао многе изводе.
 
== Увод ==
Ред 29:
Процес имплементације почиње са фазом '''логичке минимизације''', која ће бити описана даље у тексту, у циљу поједностављења функција табеле комбиновањем одвојених израза у оне веће који садрже мање променљивих.
 
Даље, умањени резултат може се поделити на мање делове процедуром разлагања и који се на крају може видети у слободним логичким ћелијама. Ова операција се обично назива [[Логичка оптимизација|Логичка Оптимизација]].<ref>{{Citation |first=Giovanni |last=De Micheli |title=Synthesis and Optimization of Digital Circuits |publisher=McGraw-Hill Science Engineering |year=1994 |idisbn=ISBN 978-0-07-016333-1}}</ref>
 
=== Класични методи минимизације ===
 
Минимизирање Булових функција ручно, коришћењем [[Карноова карта|Karnoovih mapa]] је напоран, досадан и склон грешкама процес. Није погодан за рад са више од 6 улазних променљивих, а практичан је само до 4 променљиве.<ref>{{Citation |first=Douglas |last=Lewin |title=Design of Logic Systems |publisher=Van Nostrand (UK) |year=1985 |idisbn=ISBN 978-0-442-30606-9}}</ref> Штавише, овај метод се не може аутоматизовати у облику рачунарског програма. Међутим, пошто модерне логичке функције обично нису ограничене на тако мали број променљивих, док је цена, као и ризик од прављења грешки превисоки за мануелну имплементацију логичких функција, употреба рачунара је постала неопходна.
 
Први алтернативни метод који је постао популаран је табеларни метод кога су развили Квин и Мекласки. Почевши са таблицом истинитости за скуп логичких функција, комбинујући миничланове чије су функције активне-ОН-поклопац-или за које је вредност функције небитна—the Don't-Care-поклопац или DC-поклопац—скуп [[Импликант|простих импликаната]] је направљен. Коначно, системска процедура почиње да налази најмањи скуп простих импликаната који одговарају излазној функцији.<ref>{{Citation |first1=Randy H. |last1=Katz |first2=Gaetano |last2=Borriello |title=Contemporary Logic Design |publisher=The Benjamin/Cummings Publishing Company |year=1994 |idisbn=ISBN 978-0-8053-2703-8}}</ref><ref>{{Citation |first=Parag K. |last=Lala |title=Practical Digital Logic Design and Testing |publisher=Prentice Hall |year=1996 |idisbn=ISBN 978-0-02-367171-5}}</ref>
 
Иако је овај [[Quine-McCluskey алгоритам]] веома погодан за имплементацију у компјутерском програму, резултат је још увек далеко од задовољавајућег када причамо о времену обраде и употреби меморије. Додавање променљиве функцији их отприлике удвостручује обоје, зато што дужина таблица истинитости експоненцијално расте са бројем променљивих. Сличан проблем се јавља када се повећа број излазних функција једне комбинационе функције блока. Као резултат Квин-Мекласки метод је практичан само за функције са ограниченим бројем улазних променљивих и излазних функција.
 
== Еспресо алгоритам ==
Потпуно другачији приступ овом проблему је представљен у ESPRESSO алгоритму, кога је развио Брејтон e.a. на Универзитету Калифорније, Беркли.<ref>{{Citation |first1=Robert King |last1=Brayton |first2=Gary D. |last2=Hachtel |first3=Curtis T. |last3=McMullen |first4=Alberto L.. |last4=Sangiovanni-Vincentelli |url=http://portal.acm.org/citation.cfm?id=577427 |title=Logic Minimization Algorithms for VLSI Synthesis |publisher=Kluwer Academic Publishers |year=1984 |idisbn=ISBN 978-0-89838-164-1}}</ref> Уместо ширења логичке функције у миничланове, програм манипулише "коцкама", представљајући производ у ON-DC- и OFF-поклопцу итеративно. Иако резултат минимизације није увек загарантован да буде глобални минимум, у пракси је то веома блиско усклађено, а решење никад не садржи логичку сувишност. У поређењу са другим методима, ово је доста ефикасније, смањујући употребу меморије и време извршења за неколико редова величине. Његово име одражава начин прављења инстант свеже кафе. Готово да нема ограничења што се тиче броја променљивих, излазних функција и услова производа комбинационих функција блока. У принципу, на пример десетине променљивих са десетинама излазних функција су лако решени.
 
Улаз за ESPRESSO је табела функција жељене функционалности, резултат је минимизирана табела, описујући било ON-поклопац или OFF-поклопац функције, у зависности од изабране опције. По дифолту услови производа ће се делити на што више могуће излазних функција, али програму може бити наложено да уради сваку од излазних функција посебно. Ово омогућава ефикасну имплементацију у два нивоа логичких низова као што су [[Programmable Logic Array|PLA]] (Programmable Logic Array) или [[Programmable Array Logic|PAL]] (Programmable Array Logic).