Reeds behandelde PLD-soorten:

Slides:



Advertisements
Verwante presentaties
Snelheid van digitale IC’s
Advertisements

Vincent Poté Nelis Vandermeiren Simen Akkermans Kevin De Neef
PROS2 Les 13 Programmeren en Software Engineering 2.
De PROFIBUS, PROFINET & IO-Link dag 2011
Aflezen van analoge en digitale meetinstrumenten
Serieel naar parallel omzetting
CODEERELEMENTEN DECODERS BCD naar 7-SEGMENT
Nieuwe componentenfamilie : GAL
Componenten voor een werkende computer
Vermogen Veel vermogen Zelfde locomotief in model, weinig vermogen.
Programmeren met Alice
Parallel naar serieel omzetting
Didactisch bord: Led RGB
Project week 1 Foto’s van reclame onderweg
Verdere uitbreiding van de GAL
Extern Geheugen Lol.
Het computergeheugen.
Digitale Elektronica en Processoren
Basisgeheugenschakelingen
Aanpassing Selectie beleid. Waarom aanpassingen in het huidige selectie beleid?
Welkom Voorstellen Bustechnologie ASI Actuator-Sensor-Interface
Auteursomgeving voor Digitale Componenten
Start.
Computerarchitectuur
automatiseringselektronica
Oppervlakten berekenen
Cursus VHDL Aansturing van een stappenmotor Peter Slaets KHLim.
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Blok 2 les 1.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken
Inleiding tot de Elektrotechniek
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Peter Schwartz The art of the long view stappenplan
Digitale signalen.
Rijen en differentievergelijkingen met de TI-83/84-familie
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
PROM = niet altijd ideaal
SPLD : Simple Programmable Logic Devices Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica DIA 1 DIA 1 Logische functie n Elke logische.
Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica FPGA : Field Programmable Gate Array DIA 1 DIA 1 Verdere FPGA-producten Discontinued!
Wat is dat eigenlijk.  Bij een normale setup wordt van de gebruiker interactie gevraagd.  Moet het een volledige setup zijn, of mogen er delen worden.
Tweedegraadsfuncties
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Validiteit, betrouwbaarheid en casemixcorrectie
Netwerken / Internet ICT Infrastructuren David N. Jansen.
Waaruit is het menselijk lichaam opgebouwd?
A H M F K EB C x 85 Korte zijde bij C 2 e secties volte 14 m en op afstand komen ( 0,5 rijbaan)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau klokken en geheugens.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
CMOS Technologie.
Hoofdstuk 5 Vijfkaart hoog, eerste verkenning 1e9 NdF-h1 NdF-h5 1 1.
Hoe en waar wordt de keuze voor de nieuwe auto bepaald? AutoRai 2005 Amsterdam, 10 februari 2005 Anne Hoff Research Director Interview-NSS.
Les 2: Zaterdag 24 mei 2014 Wim Peeters
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Stromen bij digitale signalen
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Netwerken.
Les 3: Digitale Logica.
Serie/Parallel Schakelingen
ELEKTRONICA BIBBERSPIRAAL
Programmeren met Reeksen
Gevorderde EV3 PROGRAMMEER LES
Een vergadering organiseren
Het postkantoor van windows
3 Hardware 3.1 De processor en intern geheugen
Vergadering Personeelsdienst
INGEBRUIKNAME & TESTEN
VIMTAG Keuzehulp voor het vinden van de juiste IP camera.
Transcript van de presentatie:

Reeds behandelde PLD-soorten: PROM, PLA, PAL, GAL en CPLD allen gebaseerd op de basisstructuur van AND-poorten en OR-poorten om logische functies samen te stellen PROM met vaste AND-matrix en programmeerbare OR-matrix PLA met programmeerbare AND- èn OR-matrix PAL met programmeerbare AND-matrix en vaste OR-matrix GAL met programmeerbare AND-matrix en vaste OR-matrix en vrij configureerbare uitgangsblok om tientallen verschillende PALs te kunnen vervangen EPLD of CPLD met verschillende GAL-achtige blokken met daartussen een programmable interconnect gebruikte programmeertechnieken opblaasbare zekeringen (snel, maar eenmalig) EPROM (UV-wisbaar) E²PROM (elektrisch wisbaar, eventueel ISP)

Volledig andere benadering : FPGA Input/Output Block Field Programmable Gate Array is niet meer gebaseerd op de basis-structuur met AND- en OR-matrix om logische functies samen te stellen is daarentegen opgebouwd als een array (matrix) van allemaal bouwblokjes waarin beperkte functies kunnen ondergebracht worden (configurable logic blocks) tussen deze blokjes worden routing channels voorzien om de nodige verbindingen te kunnen realiseren tenslotte is dit geheel omgeven door een ring van input/output blocks, waarin de verbindingen naar de pennen van het IC worden gerealiseerd Configurable Logic Block Routing Channels

Programmeertechniek bij de FPGA Niet alleen de structuur van de FPGA is anders dan bij de voorheen behandelde soorten, ook de manier om de FPGA te configureren verschilt FPGA hanteert SRAM-cellen als configuratiegeheugen Dit heeft duidelijk nadelen : SRAM is vluchtig telkens de spanning wegvalt, is de FPGA zijn configuratie (denk maar: zijn schema of zijn schakeling) kwijt zal telkens opnieuw moeten geconfigureerd worden vanuit een vast geheugen vanuit een externe PC ...

Programmeertechniek bij de FPGA Niet alleen de structuur van de FPGA is anders dan bij de voorheen behandelde soorten, ook de manier om de FPGA te configureren verschilt FPGA hanteert SRAM-cellen als configuratiegeheugen Dit heeft duidelijk nadelen , maar ook voordelen : SRAM kan een oneindig aantal keren opnieuw geprogrammeerd worden (PROM: 0x, EPROM bv. 100x, E²PROM bv. 1000x) FPGA kan (en moet) steeds in de schakeling geprogrammeerd worden (ISP = In System Programmable) FPGA is reprogrammable ‘in the flight’ bij productie kan de FPGA bv. aanvankelijk een bepaalde test-structuur bevatten als de test in orde is, kan de eigenlijke schakeling gedownload worden naar de FPGA

Xilinx Het was de firma Xilinx die in 1985 als eerste op de markt kwam met dergelijke SRAM-gebaseerde FPGA’s Deze eerste reeks was de XC2000-familie met slechts 2 componenten: XC2064 met 64 blokjes (8x8 matrix) XC2018 met 100 blokjes (10x10 matrix) aanvankelijk gebruikte Xilinx voor deze componenten de naam LCA = Logic Cell Array ook al zijn deze componenten inmiddels reeds enige tijd ‘discontinued’, toch bekijken we de inwendige opbouw ervan om een duidelijk begrip van de principiële werking van de FPGA’s te verkrijgen

Basic FPGA Architecture IOB = INPUT/OUTPUT BLOCK CLB = CONFIGURABLE LOGIC BLOCK PROGRAMMABLE INTERCONNECT

XC2000-reeks : CLB CLB = Configurable Logic Block hierin moet de logica gerealiseerd worden elke CLB zelf moet volledig vrij configureerbaar zijn kan zowel een combinatorische als een sequentiële schake-ling (of beide) bevatten

XC2000-reeks : CLB - comb LOOK-UP TABLE Voor het realiseren van de combinatorische logica gebruikt men niet meer de gekende structuur met AND- en OR-poorten, maar wel een LUT = Look Up Table een LUT is eigenlijk een stukje RAM-geheugen, in dit geval met 4 adreslijnen (A,B,C,D) en een data-uitgang hiermee kunnen willekeurige functies gerealiseerd worden (zie ook PLD-presentatie 1 : (P)ROM als functiegenerator) LOOK-UP TABLE

XC2000-reeks : LUT in CLB Door speciale interne voorzieningen kan men met deze LUT verschillende functies realiseren : ofwel twee keer dezelfde functie van 4 variabelen ofwel twee onafhankelijke functies van 3 variabelen ofwel een dynamische selectie tussen twee onafhankelijke functies van 3 variabelen

XC2000-reeks : CLB - seq Voor het realiseren van het sequentiële gedeelte van de logica is er een flipflop voorzien in de CLB deze kan geprogrammeerd worden als een niveau-opererende D-latch of als een flank-getriggerde D-flipflop de klokingang kan hierbij komen van de speciale klokingang K, van de universele ingang C of van de uitgang G van de (zelf gerealiseerde) functie de klok is naar keuze actief op stijgende of dalende flank ook de aansturing van de asynchrone PRESET- en CLEAR-ingangen kan per CLB apart geconfigureerd worden

XC2000-reeks : IOB Het IOB = Input/Output Block moet de verbinding verzorgen tussen de interne logica (CLB’s) en de pinnen van het IC Bijna elke pin van het IC kan naar keuze gebruikt worden als ingang of als uitgang Gebruik als uitgang: Het signaal dat van een CLB komt en naar een (uitgangs)pin moet gevoerd worden, passeert via een tri-state buffer voor een vaste uitgang mag de Output Enable ingang van de tri-state buffer permanent ge-enabled zijn voor een echte tri-state uitgang wordt de Output Enable ingang van de buffer aangestuurd door de TS-lijn, die afkomstig kan zijn van eender welke CLB de uitgangsbuffer kan een stroom leveren van 4 mA, zodat we kunnen spreken van ‘high fan-out CMOS or TTL-compatible signal levels’

XC2000-reeks : IOB Het IOB = Input/Output Block moet de verbinding verzorgen tussen de interne logica (CLB’s) en de pinnen van het IC Bijna elke pin van het IC kan naar keuze gebruikt worden als ingang of als uitgang Gebruik als ingang: Het signaal moet van de (ingangs)pin via een buffer doorgevoerd worden naar een ingang van een CLB dit kan rechtstreeks gebeuren ofwel kan het ingangssignaal onmiddellijk ingeklokt worden in een D-flipflop hierbij gebruiken de I/O-blokken die langs dezelfde zijde van de chip liggen, ook dezelfde I/O-clock lijn de drempelspanning (threshold voltage) van de ingangsbuffer kan naar keuze com-patibel genomen worden met TTL (1.4 V) of met CMOS (2.2 V)

XC2000-reeks : interconnecties Uiteraard moet er een groot aantal verbindingen kunnen gelegd worden tussen de verschillende blokjes (CLB’s) enerzijds en tussen de CLB’s en de IOB’s anderzijds Deze verbindingen kunnen we in drie niveaus rangschikken: direct interconnect alleen tussen naburige blokjes korte, snelle verbindingen beperkte mogelijkheden general purpose interconnect horizontale en verticale routing kanalen verbindingen via ‘switch matrices’ zeer veel mogelijkheden vertraging afhankelijk van ‘routing’ speciale ‘longlines’ minimale ‘skew’ (tijdsverschuiving) speciaal voor kloksignalen

XC2000 : direct interconnect deze rechtstreekse verbindingen zijn de kortste en dus ook de snelste verbindingen ze zijn echter alleen mogelijk tussen aangrenzende blokjes PIP = Programmable Interconnection Point de verbindingsmogelijkheden zijn uiteraard zeer beperkt: de X-uitgang van een CLB kan verbonden worden met de C of D-ingang van het blokje net erboven en/of met de A- of B-ingang van van het blokje net eronder de Y-uitgang van een CLB kan alleen verbonden worden met de B-ingang van het blokje net rechts ervan de ‘rand’-CLB’s kunnen rechtstreeks aansluiten op de IOB’s: links als ingang rechts als uitgang boven en onder als ingang of als uitgang

XC2000 : general purpose interconnect de universele verbindingen moeten zowat alle mogelijke aansluitpunten (over de hele chip verspreid) ook effectief kunnen verbinden hiervoor zijn er horizontale en verticale routing kanalen voorzien, waarop de verschillende in- en uitgangen van elke CLB kunnen aangesloten worden op elk ‘kruispunt’ van de kanalen staat er een ‘switch matrix’, die ervoor kan zorgen dat de juiste (horizontale en/of verticale) lijn-segmenten met elkaar verbonden worden in nevenstaand voorbeeld gaan we de Y-uitgang van een CLB verbinden met (verschil-lende) ingangen van drie andere CLB’s

XC2000 : general purpose interconnect Om deze universele verbindingen mogelijk te maken, moeten er dus zeer veel verbindings-mogelijkheden zijn van de CLB in/uitgangen naar de horizontale en verticale lijnen Deze blokjes noemt men PIP’s : PIP = Programmable Interconnection Point De implementatie-software zal voor elk gebruikt signaaltje moeten gaan bepalen op welk lijnsegment dit aangesloten moet worden en dus ook welke PIP ‘open’ en welke ‘dicht’ moet zijn

XC2000 : general purpose interconnect Op de kruispunten tussen de horizontale en verticale verbindingslijnen zitten er “switch matrices” In zo’n “switch matrix” zitten er weer enorm veel verbindingsmogelijkheden In de XC2000 is de schakelmatrix eigenlijk opgesplitst in twee verschillende schakel-matrices Voor één zo’n deel-schakelmatrix geven we even de verschillende aansluitmogelijkheden vanuit elk aansluitingspunt Zoals u ziet, in totaal zijn dit weeral zeer veel mogelijkheden. En elke aparte mogelijke verbinding zal door één bit kunnen in- of uitgeschakeld worden.

XC2000 : general purpose interconnect Deze ‘general purpose interconnect’ verbin-dingen maken het mogelijk om elk gewenst punt van de FPGA met een (of meer) ander(en) te connecteren Hiervoor wordt dus gebruik gemaakt van de horizontale en verticale routing-kanalen, met op elk kruispunt een universele ‘switch matrix’. Het nadeel van dit principe is wel dat de signa-len een grotere vertraging zullen krijgen omdat ze via talrijke pass-transistoren passeren. De propagation delay zal afhankelijk zijn van de gevolgde weg, de afgelegde afstand en het aantal gepasseerde pass-transistoren en PIPs. Het ‘place and route’ algoritme van de implementatie-software zal een belangrijke invloed hebben op uiteindelijke kwaliteit van de verkregen schakeling!

XC2000 : long lines Voor bv. kloksignalen zijn de universele ver-bindingen absoluut geen goede oplossing: er kan immers veel te veel ‘skew’ (tijds-verschuiving) optreden tussen de klokin-gangen van flipflops die ver van elkaar af liggen op de chip Horizontale en verticale Long Lines Speciaal voor dit soort signalen zijn de long lines of global interconnects voorzien. Het aantal aansluitmogelijkheden van de CLB’s op deze long lines is eerder beperkt. Bovendien passeren deze lijnen niet via de schakelmatrices. Op die manier zal de resulterende tijdsver-traging heel wat kleiner zijn dan bij de universele verbindingen.