De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO CONFIGUREREN VAN DE FPGA •FPGA configureren = opladen van de SRAM-cellen met een ‘bitpatroon’, zodat de.

Verwante presentaties


Presentatie over: "Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO CONFIGUREREN VAN DE FPGA •FPGA configureren = opladen van de SRAM-cellen met een ‘bitpatroon’, zodat de."— Transcript van de presentatie:

1 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO CONFIGUREREN VAN DE FPGA •FPGA configureren = opladen van de SRAM-cellen met een ‘bitpatroon’, zodat de gewenste schakeling gerealiseerd wordt •moet steeds gebeuren met de FPGA in circuit •kan op verschillende manieren: –vanuit de PC met een speciale download cable –vanuit een externe seriële PROM »vereist slechts één kleine chip en weinig verbindingen »seriële PROMs bestaan van 18K tot 256K »Interne CCLK klok spreekt een teller aan in de seriële PROM –vanuit een externe gewone (parallelle) PROM »Interne CCLK klok spreekt een teller in de FPGA aan »Data wordt intern toch nog steeds serieel verwerkt, zodat de configuratie op dezelfde snelheid gebeurt –vanuit en onder de controle van een externe microprocessor of -controller

2 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO Seriële E(E)PROM •Combinatie van een EPROM (of EEPROM) met een ingebouwde adres-teller •De teller loopt alle adressen af op het ritme van de klok en de data worden bit voor bit naar buiten gestuurd. •Weinig IC pinnen nodig, vb. 8-pins DIL (OTP-EPROM)

3 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ONTWERP-SOFTWARE voor PLDs •Programmeerbare bouwstenen hebben een steeds toenemende complexiteit –SPLD = Simple PLD (PAL en GAL) –CPLD = Complex PLD (EPLD) –FPGA = Field Programmable Gate Array en bevatten duizenden te programmeren punten •Hulp van de computer is onmisbaar om een bepaalde functie onder te brengen in een PLD –hulp bij het ingeven en simuleren van het ontwerp –hulp bij het ‘vertalen’ van dit ontwerp naar een PLD-schakeling –hulp bij het configureren van de PLD •EDA = Electronic Design Automation CAEE = Computer Aided Electronic Engineering

4 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ONTWERP-SOFTWARE voor SPLD : PALASM •SPLD = Simple PLD (PAL + GAL) –eerst op de markt gebracht door de firma MMI (Monolithic Memories Inc), die later werd opgekocht door AMD •PALASM (=PAL-assembler) –door AMD/MMI (uitvinders v/d PAL) geleverde ontwikkelingsomgeving –staat heel kort bij de component (databoek is nodig!) –is een programmeertaal met een vrij eenvoudige syntax –schakeling kan op verschillende manieren worden ingegeven: »logische vergelijkingen »waarheidstabellen »toestandmachines (FSM = Finite State Machine) –zorgt zelf voor minimalisatie –biedt de mogelijkheid tot simulatie –genereert de JEDEC-file (= fuse-map) die het programmeertoestel nodig heeft om de PLD te programmeren

5 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Declaraties ;PALASM Design Description ; Declaration Segment TITLE TUTOR1.PDS PATTERN A REVISION 1.0 AUTHOR D. SMETS COMPANY KHLim-IWT DATE 03/02/01 CHIP DECODER PAL16L8 ; PIN Declarations PIN 2 X; INPUT PIN 3 Y; INPUT PIN 4 Z; INPUT PIN 10 GND ; POWER PIN 12 ACOMBINATORIAL; OUTPUT PIN 13 BCOMBINATORIAL; OUTPUT PIN 14 CCOMBINATORIAL; OUTPUT PIN 15 DCOMBINATORIAL; OUTPUT PIN 16 ECOMBINATORIAL; OUTPUT PIN 17 FCOMBINATORIAL; OUTPUT PIN 18 GCOMBINATORIAL; OUTPUT PIN 19 HCOMBINATORIAL; OUTPUT PIN 20 VCC ; POWER PAL16L8

6 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Declaraties ;PALASM Design Description ; Declaration Segment TITLE TUTOR1.PDS PATTERN A REVISION 1.0 AUTHOR D. SMETS COMPANY KHLim-IWT DATE 03/02/01 CHIP DECODER PAL16L8 ; PIN Declarations ;pins NCXYZNCNCNCNCNCGND ;pins NCABCDEFGHVCC in de oorspronkelijke PALASM-versie

7 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Vergelijkingen ; PIN Declarations PIN 2 X; INPUT PIN 3 Y; INPUT PIN 4 Z; INPUT PIN 10 GND ; POWER PIN 12 ACOMBINATORIAL; OUTPUT PIN 13 BCOMBINATORIAL; OUTPUT PIN 14 CCOMBINATORIAL; OUTPUT PIN 15 DCOMBINATORIAL; OUTPUT PIN 16 ECOMBINATORIAL; OUTPUT PIN 17 FCOMBINATORIAL; OUTPUT PIN 18 GCOMBINATORIAL; OUTPUT PIN 19 HCOMBINATORIAL; OUTPUT PIN 20 VCC ; POWER ; Boolean Equation Segment EQUATIONS /A = /X * /Y * /Z /B = /X * /Y * Z /C = /X * Y * /Z /D = /X * Y * Z /E = X * /Y * /Z /F = X * /Y * Z /G = X * Y * /Z /H = X * Y * Z

8 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Simulatie ; Simulation Segment SIMULATION TRACE_ON X Y Z A B C D E F G H ; /A = /X * /Y * /Z SETF /X /Y /Z CHECK /A B C D E F G H ; /B = /X * /Y * Z SETF /X /Y Z CHECK A /B C D E F G H ; /C = /X * Y * /Z SETF /X Y /Z CHECK A B /C D E F G H ; ……... SETF /X Y Z CHECK A B C /D E F G H SETF X /Y /Z CHECK A B C D /E F G H SETF X /Y Z CHECK A B C D E /F G H SETF X Y /Z CHECK A B C D E F /G H SETF X Y Z CHECK A B C D E F G /H TRACE_OFF STIMULI CONTROLE VAN DE UITGANGEN

9 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Resulterende JEDEC-file PALASM4 PAL ASSEMBLER ‑ MARKET RELEASE 1.5a ( ) (C) ‑ COPYRIGHT ADVANCED MICRO DEVICES INC., 1992 TITLE :TUTOR1.PDS AUTHOR :D. SMETS PATTERN :A COMPANY:KHLim-IWT REVISION:1.0 DATE :03/02/01 PAL16L8 DECODER* QP20* QF2048* G0*F0*

10 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Resulterende JEDEC-file L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * L * * C3EE8* EA6C

11 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld : 3-naar-8 decoder •Resulterende JEDEC-file X--- X--- X XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 3 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 4 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 5 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 6 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 7 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX H X /H = X * Y * Z ZXY

12 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld 2 : een 4-bits teller •Declaraties ;PALASM Design Description ; Declaration Segment TITLE CTR4.PDS PATTERN A REVISION 1.0 AUTHOR D. SMETS COMPANY KHLim-IWT DATE 03/02/01 CHIP CTR4 PAL22V10 ; PIN Declarations PIN 1 CLK; INPUT PIN 2 /CLR; INPUT PIN 3 /SET; INPUT PIN 12 GND ; POWER PIN 13 /OE; INPUT PIN 14 S0REGISTERED; OUTPUT PIN 14 S1REGISTERED ; OUTPUT PIN 15 S2REGISTERED ; OUTPUT PIN 16 S3REGISTERED ; OUTPUT PIN 20 CE; INPUT PIN 24 VCC ; POWER NODE 1 GLOBAL; INTERNAL

13 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PALASM voorbeeld 2 : een 4-bits teller •Vergelijkingen EQUATIONS GLOBAL.RSTF = CLR; RESET if /CLR=0 S0 :=/S0 * CE; COUNT +S0 * /CE; HOLD +SET; SYNC. PRESET S1 :=S0 * /S1 * CE; COUNT +/S0 * S1 * CE +S1 * /CE; HOLD +SET; SYNC. PRESET S2 :=S0 * S1 * /S2 * CE; COUNT +/S1 * S2 * CE +/S0 * S2 * CE +S2 * /CE; HOLD +SET; SYNC. PRESET S3 :=S0 * S1 * S2 * /S3 * CE; COUNT +/S2 * S3 * CE +/S1 * S3 * CE +/S0 * S3 * CE +S3 * /CE; HOLD +SET; SYNC. PRESET S0.TRST = OE S1.TRST = OE S2.TRST = OE S3.TRST = OE HLD.TRST = GND; DEDICATE OUTPUT PIN AS INPUT

14 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ONTWERP-SOFTWARE voor SPLD : ABEL •ABEL = Advanced Boolean Expression Language –op de markt gebracht door DATA-I/O, een fabrikant van programmeer-toestellen (en dus niet van PLD’s zelf) –staat op een hoger niveau (compiler) dan PALASM (assembler) »heeft complexere syntax-constructies •kent bv. de instructie COUNT := COUNT + 1 om een teller te beschrijven •bij PALASM moet je zelf de vergelijkingen voor de verschillende flipflops afleiden »kan meer onafhankelijk van de component gebruikt worden –moet uiteraard hetzelfde doel vervullen »design entry (met equations, truth tables en/of state diagrams) »design simulation »logic synthesis (= vertalen naar JEDEC-file) –ook nu nog vaak onderdeel van grotere ontwerp-omgeving •Andere PLD-compiler : CUPL (van Logical Devices)

15 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ABEL - voorbeeld : 7-segment decoder module bin7seg title 'Binair naar 7-segment decoder' D3,D2,D1,D0 pin; a,b,c,d,e,f,g pin istype 'com'; bin = [D3,D2,D1,D0]; ON,OFF = 1,0; L,H,X,Z = truth_table (bin -> [ a, b, c, d, e, f, g ]) 0 -> [ ON, ON, ON, ON, ON, ON, OFF]; 1 -> [OFF, ON, ON, OFF, OFF, OFF, OFF]; 2 -> [ ON, ON, OFF, ON, ON, OFF, ON]; 3 -> [ ON, ON, ON, ON, OFF, OFF, ON]; 4 -> [OFF, ON, ON, OFF, OFF, ON, ON]; 5 -> [ ON, OFF, ON, ON, OFF, ON, ON]; 6 -> [ ON, OFF, ON, ON, ON, ON, ON]; 7 -> [ ON, ON, ON, OFF, OFF, OFF, OFF]; 8 -> [ ON, ON, ON, ON, ON, ON, ON]; 9 -> [ ON, ON, ON, ON, OFF, ON, ON]; 10 -> [ ON, ON, ON, OFF, ON, ON, ON];"A 11 -> [OFF, OFF, ON, ON, ON, ON, ON];"b 12 -> [ ON, OFF, OFF, ON, ON, ON, OFF];"C 13 -> [OFF, ON, ON, ON, ON, OFF, ON];"d 14 -> [ ON, OFF, OFF, ON, ON, ON, ON];"E 15 -> [ ON, OFF, OFF, OFF, ON, ON, ON];"F end

16 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ABEL - voorbeeld 2: 74HC161 (CTR4) MODULE HC161Cnt TITLE '74HC161 4-bit Counter Todd Morton, 11/21/02’ //Inputs CLK,LD_L,CLR_L,ENP,ENT pin; A,B,C,D pin; //Output QA,QB,QC,QD pin istype 'reg'; RCO pin istype 'com'; //Sets LOADIN = [D,C,B,A]; COUNT = [QD,QC,QB,QA]; //Level Conversions LOAD = !LD_L; CLEAR = !CLR_L; EQUATIONS COUNT.CLK = CLK; COUNT.ACLR = CLEAR; when (LOAD) then COUNT := LOADIN; else when (!ENT) then COUNT := COUNT; else when (!ENP) then COUNT := COUNT; else COUNT := COUNT + 1; RCO = (COUNT == [1,1,1,1]) & ENT; END

17 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO ONTWERP-SOFTWARE voor CPLD en FPGA •Complexere componenten vragen ook een ontwerp- omgeving met een hogere complexiteit –we gaan een FPGA met gates niet beschrijven met alleen maar Booleaanse vergelijkingen •Ontwikkelomgeving = FRONT-END •staat het kortst bij de gebruiker •bevat DESIGN ENTRY en SIMULATION •vaak van een onafhankelijke software-fabrikant BACK-END •staat het dichtst bij de component •bevat DESIGN IMPLEMENTATION •altijd van de fabrikant van de gekozen PLD

18 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO PLD fabrikantenPLD-software

19 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO DESIGN ENTRY Twee mogelijkheden voor DESIGN ENTRY : •Schematic Capture –tekenpakket om op grafische wijze het schema van de schakeling in te voeren –wordt onoverzichtelijk voor grote ontwerpen •HDL = Hardware Description Language –de schakeling wordt ‘beschreven’ met een soort programmeertaal »beschrijving van de structuur en/of het gedrag van de schakeling »vergelijk met ABEL, maar op een hoger niveau »oorspronkelijk bedoeld voor specificatie en documentatie »geschikt voor simulatie en voor automatische synthese –in Europa : VHDL = VHSIC Hardware Description Language (VHSIC = Very High Speed Integrated Circuit) –in Amerika : VERILOG

20 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO VHDL VHDL = VHSIC Hardware Description Language (VHSIC = Very High Speed Integrated Circuit) VHDL wordt gebruikt voor : •specificatie & documentatie •simulatie •automatische synthese •LET OP : synthetiseerbare VHDL is slechts een beperkte subset van de volledige VHDL ! •GOUDEN RAAD : blijf in HARDWARE denken !!!

21 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO DESIGN ARCHITECTURE ENTITY VHDL ENTITY xor2 IS PORT(a,b : IN bit; c : OUT bit); END xor2; poort naam poort-type entity naam datatype ARCHITECTURE gedrag OF xor2 IS SIGNAL d1,d2 : bit; BEGIN d1 <= not(a) and b; d2 <= a and not(b); c <= d1 or d2; END gedrag; architecture naam entity naam signaal declaratie body expressie signaal-assignment xor2 a b c

22 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO SIMULATIE Twee mogelijkheden voor SIMULATIE : •functionele simulatie –gebeurt onmiddellijk na het ingeven van het schema (of na synthese van de HDL-code) –controleert de logische werking van de schakeling –houdt geen rekening met vertragingen of hanteert ‘unit-delay’ •timing simulatie –kan pas gebeuren nadat de schakeling volledig is geïmplementeerd in de gekozen component –op dat ogenblik kent de software de juiste vertragingen –er gebeurt nu een ‘back-annotation’, waarna de (zelfde) functionele simulatie opnieuw kan gebeuren, maar nu wel rekening houdende met de exacte te verwachten vertragingen

23 Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO SIMULATIE met behulp van TESTBENCH •Use VHDL for simulation stimulus •Advantages : –Common stimulus language –Powerful constructs –Two way communication with design •Great possibilities Test- bench FPGA, CPLD or ASIC


Download ppt "Programmeerbare Logica DIGITALE ELEKTRONICA 1ELO CONFIGUREREN VAN DE FPGA •FPGA configureren = opladen van de SRAM-cellen met een ‘bitpatroon’, zodat de."

Verwante presentaties


Ads door Google