У дигиталној електроници, бистабилно коло (леч, флип-флоп) је електронско коло које има два стабилна стања и стога је у стању да послужи као један бит меморије. Бистабилно коло се контролише једним или два контролна сигнала и/или сигналом дозволе. Излаз често поред нормалног има и комплементни излаз. Бистабилна кола такође захтевају улазе за напајање и масу.

SR флип-флоп (R1, R2 = 1 kΩ, R3, R4 = 10 kΩ).

Бистабилна кола могу бити асинхрона или синхрона. Асинхрона бистабилна кола се састоје од два укрштена инвертујућа елемента - транзистора, НИ или НИЛИ кола.[1] Синхрони флип-флоп је верзија асинхроног који има додатни улаз (C или CLK, од енглеске речи clock - сат, односно EN или ENABLE, од речи enable - дозволити) на који се доводе синхронизацијски импулси константне фреквенције тако да флип-флоп мења стање на промену окидног сигнала или сигнала дозволе. Синхрона бистабилна кола су специјално пројектована за синхроне системе и зато игноришу стања на својим улазима осим у тренутку промене окидног сигнала.[2][3] Ово проузрокује да бистабилно коло може да или промени или да задржи свој излазни сигнал који зависи од вредности улазних сигнала за време прелаза. Нека бистабилна кола мењају вредност излаза дуж цело позитивног или негативног дела окидног сигнала, неки на растућој ивици окидног сигнала, а други на опадајућој ивици. Бистабилна кола код којих излаз стално прати промене на улазима док се евентуално не доведе побудни сигнал који замрзава стање на излазу се се називају леч колима (енг. latch), док се кола код којих се излаз мења само после довођења одговарајуће ивице побудног сигнала називају флип-флопови. У литератури и каталозима се често не прави разлика између лечева и флип-флопова, па се обе врсте кола називају флип-флоп. [4] Тактовани флип-флопови се типично израђују као мастер-слејв уређаји, у ком два основна флип-флопа (уз нека додатна логичка кола) сарађују да га учине неосетљивим на шумове између прелаза побудног сигнала; али ипак они често имају асинхроне clear и set улазе који могу да промене тренутни излаз независно од такта.

Флип-флопови се могу даље поделити у типове који могу имати заједничку применљивост и у асинхроним и у тактованим секвенцијалним системима: SR ("set-reset"), D ("data"), T ("toggle") и JK типови су уобичајени; сви они се могу извести од (већине) других типова уз неколико логичких капија. Понашање неког типа флип-флопа се може описати карактеристичном једначином, која даје следећи излаз у зависности од улазних сигнала и/или тренутног излаза.

Историја

уреди

Први електронски флип-флоп су измислили 1919. Вилијам Еклес и Френк Вилфред Џордан.[5][6] У почетку је називан Еклес-Џорданово окидачко коло и састојало се од два активна елемента (електронске цеви).[7] Име флип-флоп је касније наденуто по звуку који се добијао на звучнку прокљученом на један од спрегнутих појачала током процеса окидања у колу.

Дизајн је коришћен у британском рачунару за разбијање шифри Колосус из 1943.[8] и таква кола и њихове транзисторизоване верзије су била уобичајена у рачунарима чак и након увођења интегрисаних кола, иако су засуни и флип-флопови направљени од логичких капија такође уобичајени сада.[9][10] Рани засуни су били познати на различите начине као кола за окидање или мултивибратори.

SR флип-флоп

уреди
 
Реализација SR флип-флопа НИЛИ колима
 
Симбол SR флип-флопа реализованог НИЛИ колима

SR флип-флоп има два улаза S и R по којима је и добио име. Улаз S се назива сетујући улаз (енг. set - поставити), док је улаз R ресетујући улаз (енг. reset - поништити).

Постављањем улаза S у логичко стање 1, а улаза R у логичко стање 0 излаз Q се поставља у стање 1, а излаз Q' у стање 0. Уколико се на улаз S доведе логичка 0, а на улаз R логичка 1 на излазу Q се добије логичка 0, а на излазу   логичка 1.

Ако се на улазе S и R истовремено доведе логичка 0, на излазу се не дешава никаква промена, док се истовременим довођењем логичке 1 узрокује непредвиђено стање на излазу, па се ова комбинација назива забрањено стање.

Најчешћи начин записивања рада флип-флопа је коришћењем табеле стања:

SR флип-флоп (израђено помоћу ЕКСИЛИ кола)
Функционална
табела
Екситациона
табела
S R Qn+1 Q Qn+1 S R Коментар
0 0 задржава стање 0 0 0 X нема промене
0 1 Q = 0 1 0 0 1 ресет
1 0 Q = 1 0 1 1 0 сет
1 1 нестабилна комбинација 1 1 X 0 недозвољено стање
Напомена: Знак „X“ означава да је сигнал произвољан за дату комбинацију на улазу.

Из ове таблице се директно добија једначина:

 

и уз чињеницу да је за дозвољена стања на улазу SR=0, добија се простија једначина:

 

JK флип-флоп

уреди
 
Временски дијаграм JK флип-флопа.

JK флип-флоп надограђује рад SR флип-флопа третирањем стања S = R = 1 као наредбу за „обртање“. Комбинација J = 1, K = 0 је команда да се сетује флип-флоп; комбинација J = 0, K = 1 је команда да се ресетује флип-флоп; а комбинација J = K = 1 мења излаз у логички комплемент своје тренутне вредности. Када је J = K = 0, излази флип-флопа ће задржати своје претходно стање.

 
Симбол JK флип-флопа

Табела стања флип-флопа је:

JK флип-флоп
Функционална
табела
Екситациона
табела
J K Qn+1 Коментар Q Qn+1 J K Коментар
0 0 Q на чекању 0 0 0 X нема промене
0 1 0 ресет 0 1 1 X сет
1 0 1 сет 1 0 X 1 ресет
1 1 Q промена 1 1 X 0 нема промене

Карактетистична једначина JK флип-флопа је:
 

 
Шема JK флип-флопа реализованог НИ колима и SR леч колом.

Промена стања JK флип-флопа се због присуства И кола може вршити само када је окидни импулс активан на високом нивоу. Како стања на излазу мења и стање на улазу логичких кола, тако да се ресетовани флип-флоп може поново сетовати ако је окидни сигнал још увек активан. Коло са слике десно ће исправно радити само ако је окидни сигнал врло кратак, односно краћи од кашњења кроз логичка кола и SR леч коло. Како су временска кашњења одложна великим варијацијама услед производних толеранција и промена амбијента, рад оваквог флип-флопа може бити непоуздан. Стога се JK флип-флопови увек реализују помоћу сложенијих конфигурација са мастер-слејв или ивичним окидањем.

T флип-флоп

уреди
 
Симбол T флип-флопа
 
T флип-флоп реализован уз помоћ SR флип-флопа и И кола.

T флип-флоп има један улаз T (од речи toggle - прекидач или trigger - окидач). Овај флип-флоп окида само када је на улазу висок сигнал, и онда мења стање излаза у комплемент садашњег стања.

Карактеристична једначина T флип-флопа је:

  (или, без употребе ЕКСИЛИ врата, еквивалент је:  ),

а може бити описана помоћу следеће табеле:

Т флип-флоп
Функционална
табела
Екситациона
табела
      Коментар       Коментар
0 0 0 задржава стање 0 0 0 нема промене
0 1 1 задржава стање 1 1 0 нема промене
1 0 1 прекида 0 1 1 комплемент
1 1 0 прекида 1 0 1 комплемент

Пошто врши промену стања на излазу при сваком доведеном високом нивоу на улаз, Т флип-флоп фактички дели број улазних импулса са два, тј, ако је фреквенција окидачког сигнала 4 MHz, излазна фреквенција добијена из Т флип-флопа биће 2 MHz. Ова „подјељива“ опција има употребу у разним дигиталним бројачима.

Т флип-флоп се може реализовати помоћу JK флип-флопа (J и K улази су заједно спојени и понашају се као Т улаз) или помоћу D флип-флопа (T улаз и Qn су повезани на D улаз помоћу ЕКСИЛИ врата).

D флип-флоп

уреди
 
Симбол D флип-флопа

D флип-флоп је тренутно најкоришћенији флип-флоп у дигиталној електроници. Најчешће се користи у стационарним регистрима и меморијским модулима. Излаз Q преузима стање на улазу D (од енглеске речи Delay - кашњење, због задржавања улаза за један тактни интервал) у тренутку када је тактни сигнал на активној ивици. Табела стања за D флип-флоп:

Такт D Qn+1 Qn+1
растућа ивица 0 0 1
растућа ивица 1 1 0
опадајућа ивица X Q Q

Генерализације

уреди

Флип-флопови се могу генерализовати на најмање два начина: тако што ће бити 1-од-N уместо 1-од-2, и прилагођавањем логици са више од два стања. У посебним случајевима кодирања 1 од 3, или вишевредносне тернарне логике, такав елемент се може назвати флип-флап-флоп.[11]

У конвенционалном флип-флопу, тачно један од два комплементарна излаза је висок. Ово се може генерализовати на меморијски елемент са N излаза, од којих је тачно један висок (алтернативно, где је тачно један од N низак). Излаз је стога увек једно-врућа (односно једно-хладна) репрезентација. Конструкција је слична конвенционалном унакрсно спојеном флип-флопу; сваки излаз, када је висок, инхибира све остале излазе.[12] Алтернативно, могу се користити мање или више конвенционални флип-флопови, један по излазу, са додатним колом како би се осигурало да само један по један може бити истинит.[13]

Још једна генерализација конвенционалног флип-флопа је меморијски елемент за вишевредносну логику. У овом случају меморијски елемент задржава тачно једно од логичких стања све док контролни улази не изазову промену.[14] Поред тога, може се користити и сат са више вредности, што доводи до нових могућих прелаза такта.[15]

Референце

уреди
  1. ^ For example, Digital Equipment Corporation's Logic Handfbook Flip Chip™ Modules 1969 edition calls transparent RS latches as "R/S Flip Flops" (http://www.bitsavers.org/pdf/dec/handbooks/Digital_Logic_Handbook_1969.pdf page 44)
  2. ^ Pedroni, Volnei A. (2008). Digital electronics and design with VHDL. Morgan Kaufmann. стр. 329. ISBN 978-0-12-374270-4. 
  3. ^ Latches and Flip Flops Архивирано на сајту Wayback Machine (5. октобар 2016) (EE 42/100 Lecture 24 from Berkeley) "...Sometimes the terms flip-flop and latch are used interchangeably..."
  4. ^ Roth, Charles H. Jr. (1995). „Latches and Flip-Flops”. Fundamentals of Logic Design (4th изд.). PWS. ISBN 9780534954727. 
  5. ^ GB 148582, Eccles, William Henry & Jordan, Frank Wilfred, "Improvements in ionic relays", published 1920-08-05 
  6. ^ See:
  7. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and early 370 systems . MIT Press. стр. 10. ISBN 978-0-262-16123-7. 
  8. ^ Flowers, Thomas H. (1983), „The Design of Colossus”, Annals of the History of Computing, 5 (3): 249, S2CID 39816473, doi:10.1109/MAHC.1983.10079 
  9. ^ Gates, Earl D. (2000). Introduction to electronics (4th изд.). Delmar Thomson (Cengage) Learning. стр. 299. ISBN 978-0-7668-1698-5. 
  10. ^ Fogiel, Max; Gu, You-Liang (1998). The Electronics problem solver, Volume 1 (revised изд.). Research & Education Assoc. стр. 1223. ISBN 978-0-87891-543-9. 
  11. ^ Often attributed to Don Knuth (1969) (see Midhat J. Gazalé (2000). Number: from Ahmes to Cantor. Princeton University Press. стр. 57. ISBN 978-0-691-00515-7. ), the term flip-flap-flop actually appeared much earlier in the computing literature, for example, Bowdon, Edward K. (1960). The design and application of a "flip-flap-flop" using tunnel diodes (Master's thesis). University of North Dakota. , and in Alexander, W. (фебруар 1964). „The ternary computer”. Electronics and Power. IET. 10 (2): 36—39. doi:10.1049/ep.1964.0037. 
  12. ^ „Ternary "flip-flap-flop". Архивирано из оригинала 2009-01-05. г. Приступљено 2009-10-17. 
  13. ^ US 6975152, Lapidus, Peter D., "Flip flop supporting glitchless operation on a one-hot bus and method", published 2005-12-13, assigned to Advanced Micro Devices Inc. 
  14. ^ Irving, Thurman A.; Shiva, Sajjan G.; Nagle, H. Troy (март 1976). „Flip-Flops for Multiple-Valued Logic”. IEEE Transactions on Computers. C—25 (3): 237—246. S2CID 34323423. doi:10.1109/TC.1976.5009250. 
  15. ^ Wu, Haomin; Zhuang Nan (јул 1991). „Research into ternary edge-triggered JKL flip-flop”. Journal of Electronics (China). 8 (3): 268—275. S2CID 61275953. doi:10.1007/BF02778378. 

Литература

уреди

Спољашње везе

уреди