Digitalteknik F14. Programmerbara logikkretsar. Digitalteknik F14 bild 1

Relevanta dokument
FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Digitalteknik F2. Digitalteknik F2 bild 1

Mintermer. SP-form med tre mintermer. William Sandqvist

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Digital Design IE1204

Tenta i Digitalteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tenta i Digitalteknik

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

VHDL 1. Programmerbara kretsar

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

F5 Introduktion till digitalteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Tentamen i Digital Design

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Digital Design IE1204

Läsminne Read Only Memory ROM

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Tentamen i Digitalteknik, EITF65

F5 Introduktion till digitalteknik

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Tenta i Digitalteknik

TSEA22 Digitalteknik 2019!

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Digital Design IE1204

Digital- och datorteknik

IE1204/IE1205 Digital Design

Digital Design IE1204

Grundläggande Datorteknik Digital- och datorteknik

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Digital elektronik CL0090

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Digital- och datorteknik

LABORATIONSINSTRUKTION

Laborationshandledning

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Tentamen i Digitalteknik TSEA22

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Tentamen i IE1204/5 Digital Design onsdagen den 5/

DIGITALTEKNIK. Laboration D172

Tenta i Digitalteknik

Grindar och transistorer

Tenta i Digitalteknik

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Sekvensnät vippor, register och bussar

Digital- och datorteknik

Programmerbar logik och VHDL. Föreläsning 1

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

L15 Introduktion modern digital design

Digital elektronik CL0090

TSEA22 Digitalteknik 2019!

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)

TSEA22 Digitalteknik 2019!

Konstruktionsmetodik för sekvenskretsar

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Design av digitala kretsar

Sekvensnät. William Sandqvist

Försättsblad till skriftlig tentamen vid Linköpings universitet

LV6 LV7. Aktivera Kursens mål:

Talrepresentation. Heltal, positiva heltal (eng. integers)

Tentamen i Digitalteknik, TSEA22

Quine McCluskys algoritm

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Digital elektronik CL0090

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digital Design IE1204

IE1204 Digital Design

Programmerbar logik och VHDL. Föreläsning 4

Styrteknik: Grundläggande logiska funktioner D2:1

Laboration Kombinatoriska kretsar

Tenta i Digitalteknik

DESIGN AV SEKVENTIELL LOGIK

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital- och datorteknik

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

Tenta i Digitalteknik

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Laboration Kombinatoriska kretsar

ALU:n ska anslutas hur då?

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Laboration i digitalteknik Datablad

Digital Design IE1204

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Det finns en hemsida. Adressen är

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

D0013E Introduktion till Digitalteknik

Introduktion till syntesverktyget Altera Max+PlusII

Digital- och datorteknik

Konstruktion av digitala system - VHDL

Digital Design IE1204

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0

Transkript:

igitalteknik F4 Programmerbara logikkretsar igitalteknik F4 bild

En programmerbar krets... In Programmerbar krets Kombinatorisk eller sekventiell funktion Ut Innehållet i den programmerbara kretsen är en "råvara" som kan programmeras till önskad funktion. Hur ser ett sådant innehåll ut? igitalteknik F4 bild 2

Ett minne... Tvådimensionell array med ettor och nollor Raderna kallas ord; index kallas adress En enskild etta/nolla kallas bit ntalet ettor/nollor på en rad kallas ordlängd dressen är insignal, utpekat ord är utsignal +5V +5V +5V +5V Intern organisation: n 2 - ec i j ord = ord = n- dress Bitkolonner igitalteknik F4 bild 3

En kombinatorisk funktion i ROM: F = ' B' + B' ' + B' F = ' B' + ' B ' + B F2 = ' B' ' + ' B' + B' ' F3 = ' B + B' ' + B ' dress B F F F 2 F 3 ROM: 8 ord a 4 bitar Ordinnehåll B F F F 2 F 3 adress utsignaler igitalteknik F4 bild 4

Minnet Ett minne omfattar samtidigt alla rader i funktionstabellen Konsekvenser: Vi har inget för att minimera funktionen. (en tar alltid lika stor plats) etta är slöseri med kiselyta. Slutsats: Vi behöver en teknik som utnyttjar minimering... igitalteknik F4 bild 5

PL och PL Förtillverkade "byggblock" uppbyggda med N/OR-grindar (eller NOR, NN). Programmeras genom att göra alternativt bryta kopplingar mellan grindarna. Blockdiagram för en programmerbar array på N/OR-form: Insignaler rray med N-grindar Produkttermer rray med OR-grindar Utsignaler igitalteknik F4 bild 6

PL och PL en bärande iden: elade produkttermer Kopplingstabell Exempel: F = + B' ' F = ' + B F2 = B' ' + B F3 = B' + Produkt term B B B - - In B - - - - F F Ut F 2 F 3 elade termer igitalteknik F4 bild 7

PL och PL B Utgångsläget: lla möjliga kopplingar är tillgängliga före programmeringen. F F F2 F3 igitalteknik F4 bild 8

PL och PL B Programmering: Vid programmeringen "bränns" de icke önskade kopplingarna bort. B B' ' B'' Obs: Vissa strukturer programmeras genom att tillverka kopplingar i stället för att "bränna" dem. F F F2 F3 igitalteknik F4 bild 9

PL och PL lternativ representation för strukturer med många ingångar: För att slippa rita alla ledningar används ofta följande notation: Exempel: F = B + ' B' F = ' + ' igitalteknik F4 bild

PL och PL Exempel: Multipla funktioner av, B, : F = B F2 = + B + F3 = B F4 = + B + F5 = xor B xor F6 = xnor B xnor B B B B B B B B B B F F2 F3 F4 F5 F6 igitalteknik F4 bild

PL och PL Skillnaderna mellan PL (Programmable rray Logic) och PL (Programmable Logic rray): PL-konceptet: Fasta kopplingar mellan N- och OR-planen begränsar topologin i OR-arrayen PL: En given kolonn i OR-arrayen har bara tillgång till en delmängd av de möjliga produkttermerna PL-konceptet: programmerbar kopplingsmatris mellan N- och OR-planen igitalteknik F4 bild 2

Exempel: B W Y Z PL och PL B B K-diagram för W B B B K-diagram för B Minimerade Funktioner: W = + B + B = B ' Y = B + Z = 'B'' + B + ' + B' ' B K-diagram för Y B K-diagram för Z igitalteknik F4 bild 3

PL och PL Exempel: en programmerade PL:en Fyra produkttermer per OR-grind B igitalteknik F4 bild 4

PL och PL en alternativa lösningen: 4 I-kapslar i stället för PL/PL-kapsel B B B 2 2 \ \ 3 2 W B \ \ B \ \ \B \ 3 5 3 4 4 Z B \ B 2 Y : 744 sex st inverterare 2,5: 74 fyra st 2-input NN 3: 74 tre st 3-input NN 4: 742 två st 4-input NN igitalteknik F4 bild 5

Ett exempel till... = = + 2 = 2 + 2 2 = 2 + 2 = 2 + 2 Z = +. 2. 2 8. 2 9. 2 6. 2 7. 24. 25. 2 32. 33. not used 4. 4. 2 2 8 9 6 7 24 25 32 33 4 4 H8 PL: insignaler, 8 utsignaler, 2 produkttermer per OR-grind: 2 3 4 5 8 9 2 3 6 7 2 2 24 25 28 29 3 3 2 2 Z igitalteknik F4 bild 6

Ett exempel till... 2 3 4 5 8 9 2 3 6 7 2 2 24 25 28 29 3 3 2 2 2 3 4 5 6 7 8 9 PLH8 N Gate rray 2 9 8 7 6 5 4 3 2 2 Z 2 8 9 6 7 24 25 32 33 2 2 4 4 Z igitalteknik F4 bild 7

Mer avancerade PL-arkitekturer: PL-arkitektur med klockat register Exempel: en del av en automat: 2 = 2 + 2 : LK Three-stateutgång OE 2 2 2 + 2 2 2+ 2+ 2+ 2 + 2 2 2 Återkoppling av registerinnehåll (2) igitalteknik F4 bild 8

vancerade arkitekturer LK OE PL med programmerbar polaritet på utgången - OR-PL Fördelen med OR-PL: Paritetes- och aritmetiska operationer B B B B B B B B B B B B igitalteknik F4 bild 9

OR PL: FIRST FUSE NUMBER 2 3 INREMEN T 4 8 2 6 2 24 28 32 36 4 44 4 8 2 6 2 24 28 32 36 Två komponenter... 23 22 2 FIRST FUSE NUMBER S 2 3 INREMEN T 32 64 96 28 6 92 224 256 288 32 352 384 46 448 48 PL med register: 4 8 2 6 2 24 28 9 8 4 48 52 56 6 2 52 544 576 68 64 672 74 736 7 5 4 6 64 68 72 76 9 768 8 832 864 896 928 96 992 6 8 84 88 92 8 5 24 56 88 7 2 52 84 5 96 4 8 7 6 26 248 8 2 6 2 24 6 7 28 32 344 376 48 44 472 54 4 9 28 32 36 4 5 8 536 568 6 632 664 696 728 76 3 44 48 52 56 3 INREMEN T 4 8 2 6 2 24 28 32 36 NOTE: FUSE NUMBER = FIRST FUSE NUMBER + INREMENT 4 9 792 824 856 888 92 952 984 26 2 igitalteknik F4 bild 2

... och en till: P22V PL - klarar ett stort antal produkttermer per utsignal. INREMENT 294 FIRST FUSE NUMBERS 44 88 32 76 22 264 38 352 396 4 8 2 6 2 24 28 32 36 4 SYNHRONOUS RESET (TO LL REGISTERS) R SP R P 589 588 23 2948 2992 336 38 324 368 322 3256 33 3344 3388 3432 3476 352 3564 368 OUTPUT LOGI MROEL L P - 588 R - 589 8 44 6 2 484 528 572 66 66 74 748 792 836 88 924 OUTPUT LOGI MROELL P - 58 R - 58 22 3652 3696 374 3784 3828 3872 396 396 44 448 492 436 48 4224 4268 OUTPUT LOGI MROEL L P - 582 R - 582 7 3 968 2 56 44 88 232 276 32 364 48 452 496 54 584 628 672 76 76 84 848 892 936 98 224 268 22 OUTPUT LOGI MROELL P - 582 R - 583 OUTPUT LOGI MROELL P - 584 R - 585 2 2 7 8 432 4356 44 4444 4488 4532 4576 462 4664 478 4752 4796 484 4884 4928 4972 56 56 54 548 592 5236 528 5324 OUTPUT LOGI MROEL L P - 5822 R - 5823 OUTPUT LOGI MROEL L P - 5824 R - 5825 6 5 4 9 256 5368 22 2244 2288 2332 2376 242 2464 258 2552 2596 264 2684 2728 2772 286 286 OUTPUT LOGI MROELL P - 586 R - 587 9 542 5456 55 5544 5588 5632 5676 572 5764 OUTPUT LOGI MROEL L P - 5826 R - 5827 4 SYNHRONOUS PRESET (TO LL REGISTERS) 3 5 INREMEN T 4 8 2 6 2 24 28 32 36 4 igitalteknik F4 bild 2

Mer omfattande komponenter Problem: N-OR strukturer är relativt begränsade då de t ex inte kan dela produkttermer mellan OR-funktionerna. Lösning: et finns ett antal metoder att bygga grindarrayer och kopplingsnät för att binda samman dessa. Beteckningar: PL - Programmable logic device FPG - Field-programmable gate array Några representativa lösningar: ltera Multiple rray Matrix (M) ctel PG ilinx logical cell array igitalteknik F4 bild 22

lteras Multiple rray Matrix (M) EPM528: 8 fasta insignaler 52 I/O-anslutningar 8 Logic array blocks (LBs) 6 Macroceller/LB 32 Expanders/LB LB LB H Logic rray Blocks (LB) (lika med macroceller) Globalt kopplingsnät: Programmerbar kopplingsmatris LB B LB LB P I LB G LB F LB E igitalteknik F4 bild 23

LB-arkitekturen Macrocell RRY I/O Block I/O Pad Macrocell P-Termer I N P U T S P I Expander Product Term RRY I/O Pad Expander P-Termer Expandertermerna delas av alla macroceller i ett LB igitalteknik F4 bild 24

En macrocell (8-48 st/lb) lk lock mux N- rray Output mux P Invert ontrol Reg clr Feedback mux Programmable or T flip flop igitalteknik F4 bild 25

Kopplingsnätet (PI) PI - Programmable Interconnect rray - används för att förmedla utsignaler från macrocellerna mellan de olika LB-enheterna. - detta medger programmering av mycket komplexa funktioner igitalteknik F4 bild 26

ctel Programable Gate rrays Rader med logikblock, 8 ingångar, en utgång Vippor byggs upp med korskopplade grindar Kopplingsvägar mellan logikblocken nti-fuse Technology: I/O Buffers, Programming and Test Logic I/O Buffers, Programming and Test Logic nvänd "antisäkringar" för att bygga upp I/O Buffers, Programming and Test Logic långa ledningar av korta segment. Logikblock Kopplingsvägar I/O Buffers, Programming and Test Logic igitalteknik F4 bild 27

ctel logikmoduler Grundmodulen är en modifierad 4: Multiplexer: Exempel: Implementation of S-R Latch SO S S R "" 2: MU "" 2: MU 2: MU Y 2: MU 2 3 2: MU "" 2: MU SOB S igitalteknik F4 bild 28

ctel kopplingsnät Logikblock Horisontell ledningsbana nti-fuse Vertikal ledningsbana igitalteknik F4 bild 29

ctel routing kryss markerar en "anti-fuse" minimerar kopplingsarbetet för tidskritiska kretsar de flesta kopplingar sker i 2-3 steg Logikblock Insignal Utsignal från logikblock Logikblock Insignal igitalteknik F4 bild 3

ilinx logic cell array IOB IOB IOB IOB Bygger på MOS minnesteknologi: programmeras vid användningen! IOB lla programmerbara elemen är anslutna via seriella skiftregister Programmeras genom att skifta in en sträng med :or och :or vid start IOB LB Kopplingsgator LB Generell arkitektur: Logikblock (LBs) 64-24 st IO-Block (IOBs) Kopplingsgator IOB IOB LB LB igitalteknik F4 bild 3

Ett LB Res IN B omb. funct. generator F Mux R E Mux E lk 2 G Mux Mux R E Mux Y lk en igitalteknik F4 bild 32

Exempel: 4-bit binär adderare 3 B3 2 B2 B B in Metod : Heladderare, 4 LB fördröjer carry out LB LB LB LB out S3 2 S2 S S 3 B32 B2 B Bin Metod 2: 2 st tvåbitars adderare (3 LBs per styck) ger 2 LBs för att generera carry out LB out S3 S2 LB 2 S S igitalteknik F4 bild 33

ilinx kopplingsnät Kopplingstyper irekt anslutning: Mellan näraliggande LB:er Switchmatriskoppling Mellan godtyckliga LB:er Global Long Line och Horizontal/Vertical Long Lines Mellan godtyckliga LB:er vid höga tidskrav irect onnections Horizontal Long Line Horizontal Long Line I E B LB K Y E R I E B LB2 K Y E R Switch Matrix I E B LB K Y E R I E B LB3 K Y E R Vertical Long Lines Global Long Line igitalteknik F4 bild 34

igitalteknik F4 bild 35 ilinx exempel Funktionerna bör placeras så att användningen av direkta kopplingar maximeras... TS Y I B K E R E Y I B K E R E Y I B K E R E Y I B K E R E Y I B K E R E Y I B K E R E F F ST H H TS TS TL TL TS TS TL TS

Begränsningar Kopplingsmatriserna tar stort utrymme och innebär en väsentlig begränsning Generella logikblock innebär i många fall slöseri med både tid och plats men är ett mindre problem än kopplingsnäten Snabb tillverkning av kretsar uppväger ofta dessa begränsningar, i synnerhet i prototyptillverkning små serier igitalteknik F4 bild 36

Några alternativ... Problem: Vi vill fylla en en- eller tvådimensionell matris med standardkretsar som kan användas för att realisera kombinatoriska kretsar: Vad skall finnas i logikblocken??? igitalteknik F4 bild 37

Endimensionell array: Skapa en modul med följande funktion: Z = Y Y2 Y Y Z Kretsen programmeras till en av de nio tillgängliga kombinationerna: = Y2 + Y Y2 + Y Y2 Krav för funktion: Vi måste kunna skapa N, OR och invertera N: Z = Y och Z = Y OR: = Y2 + Y och = Y2 + Y Inverterare: Z = Y för Y = och = Y2 + Y för Y = och Y2 = igitalteknik F4 bild 38

Endimensionell array: Funktionen ƒ = 23 + 23 2 2 3 2 3 2 3 2 2 3 2 3 Y Z Y Z Y Z Y Z Y Z Y Z Y2 Y2 Y2 Y2 Y2 Y2 ƒ Z = Y = Y2 Z = Y Z = = Y2 = Y2+Y Z = Y = Y2 Z = Y Z = = Y2 = Y2+Y igitalteknik F4 bild 39

Tvådimensionell array: Skapa en modul med följande funktion: Krav för funktion: Vi måste kunna skapa N, OR och invertera Y Z N: = Y OR: Z = Y + Y (Exor duger för att göra OR på mintermer där högst en är ett!) Z = Y + Y (Halvadderare!) = Y Inverterare: Z = för Y = och Z = Y för = igitalteknik F4 bild 4

Tvådimensionell array: 3 Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Samtliga mintermer bildas i de åtta kolonnerna 2 Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z Bilda (E)OR av de mintermer som ingår i funktionen Y Z Y Z Y Z Y Z Y Z Y Z Y Z Y Z ƒ igitalteknik F4 bild 4

Tvådimensionell array Hur gick det till? 3 Y Z 3 Y Z 3 Y Z 3 2 3 Y Z 2 + 3 3 Y Z 3 3 + 2 + 3 = 2 23 + 23 Y Z Y 3(2 + 3) = 23 Z ( + 23) + 23 = + 2 23 23( + 23) = 23 Y Z 23 Y Z 23 etc... igitalteknik F4 bild 42