les circuits logiques programmables altera
Transcription
les circuits logiques programmables altera
ENSEIRB LES CIRCUITS LOGIQUES PROGRAMMABLES ALTERA Laurent DULAU Patrice KADIONIK ENSEIRB email http : [email protected] : http://kadionik.vvv.enseirb.fr Les circuits logiques programmables Altera - 1 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs CETTE FORMATION EN LIGNE PRESENTE LES PRINCIPAUX COMPOSANTS ET OUTILS D’ALTERA ON TROUVERA DES INFORMATIONS : - UNE PRESENTATION DES PRINCIPALES FAMILLES DE COMPOSANTS PROGRAMMABLES - UNE PRESENTATION DE L’OUTIL MAX+PLUS II - UNE PRESENTATION DU LANGAGE AHDL - UNE PRESENTATION DU LANGAGE VHDL - UN EXEMPLE DE CONCEPTION AVEC L’OUTIL MAX+PLUS II ENSEIRB Les circuits logiques programmables Altera - 2 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Introduction à la logique programmable • • • • Pas vraiment des ASICs. Personnalisation et mise en œuvre simple. Composant directement disponible sur catalogue. Pas de retour chez le fabricant sauf pour les versions masquables. • PAL, GAL, PLD, EPLD, FPGA • 4 technologies : EPROM, EEPROM, SRAM, ANTIFUSIBLE ENSEIRB Les circuits logiques programmables Altera - 3 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs • 2 architectures : – Les PLD : EPROM, EEPROM (Programmable Logic Device) Ce sont des assemblages de macro-cellules fonctionnelles disposant de beaucoup d’entrées/sorties placées sur la pastille de part et d’autre d’une zone centrale où sont regroupées toutes les connexions à réaliser. ENSEIRB Les circuits logiques programmables Altera - 4 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs – Les FPGA : SRAM, ANTIFUSIBLE (Field Programmable Gate Array) Provenant des réseaux de portes, conservent de leurs origines une structure en nombreux petits îlots entourés chacun par des lignes où ils se connectent à la demande. ENSEIRB Les circuits logiques programmables Altera - 5 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs • Fabricants / technologies ENSEIRB ACTEL ANTIFUSE, SRAM ALTERA EPROM, EEPROM, SRAM AMD EEPROM ATMEL SRAM LATTICE EPROM, EEPROM XILINX SRAM, ANTIFUSE, EPROM, EEPROM Les circuits logiques programmables Altera - 6 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs • La technologie EEPROM – Les EPLD à EPROM sont programmables électriquement et effaçables aux UV. Par contre les EPLD à EEPROM se reprogramment quasi instantanément et conservent la configuration donnée jusqu’à ce qu’une autre la remplace même en l’absence de tension. • La technologie SRAM – Rapide et facile à programmer. – (!) La configuration du composant s’efface dès que la tension disparaît. ENSEIRB Les circuits logiques programmables Altera - 7 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA • Historique – La société ALTERA est fondée en 1984 – Premier circuit ALTERA commercialisé en EUROPE par TEKELEC en 1985 ENSEIRB Les circuits logiques programmables Altera - 8 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA • 8 familles : – Classic – MAX5000 – FLASHlogic – MAX7000 – MAX9000 – FLEX 6K – FLEX 8K – FLEX 10K ENSEIRB (EPROM) (EPROM) (SRAM & FLASH) (E2PROM) (E2PROM) (SRAM) (SRAM) (SRAM) Les circuits logiques programmables Altera - 9 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/CLASSIC • • • • • • ENSEIRB Architecture Techno Nbre de portes Nbre d’E/S Fmax I/O drive : EPLD : CMOS EPROM : 300-900 : 22-64 : 50-100 MHz : 25 mA Les circuits logiques programmables Altera - 10 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/CLASSIC • architecture • Caractéristiques : – EPLD très rapide – Faible consommation ENSEIRB Les circuits logiques programmables Altera - 11 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 5000 • Architecture Array matriX) • Techno • Nbre de portes • Nbre d’E/S • Fmax • I/O drive ENSEIRB : EPLD type MAX (Multiple : CMOS 0.65µm EPROM : 600-3750 : 24-72 : 50-77 MHz : 25 mA Les circuits logiques programmables Altera - 12 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 5000 • architecture ENSEIRB Les circuits logiques programmables Altera - 13 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 5000 • Caractéristiques : – EPLD rapide – Faible coût – Utilisation facile • Applications : – Décodeur d’adresses 20 pins – Périphériques LSI 100 pins ENSEIRB Les circuits logiques programmables Altera - 14 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLASHlogic • • • • • • ENSEIRB Architecture Techno Nbre de portes Nbre d’E/S Fmax I/O drive : PLD : CMOS 0.65µm SRAM : 1600-3200 : 62-172 : 80 MHz : 25 mA Les circuits logiques programmables Altera - 15 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLASHlogic • architecture ENSEIRB Les circuits logiques programmables Altera - 16 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLASHlogic • Caractéristiques : – PLD rapide – Faible coût – Utilisation facile • Applications : – Décodeur d’adresses 20 pins – Périphériques LSI 100 pins ENSEIRB Les circuits logiques programmables Altera - 17 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 7000 • Architecture Array matriX) • Techno • Nbre de portes • Nbre d’E/S • Tpd • I/O drive ENSEIRB : CPLD type MAX (Multiple : CMOS 0.6µm E2PROM : 600-5000 : 36-164 : 5-10 ns : 25 mA Les circuits logiques programmables Altera - 18 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 7000 • Architecture ENSEIRB Les circuits logiques programmables Altera - 19 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 7000 • Caractéristiques : – Très rapide – Très dense – Grand nombre d’E/S – 3.3V/5V sur les E/S (5V sur le cœur) – ISP (MAX 7000S) par bus JTAG – Test JTAG Boundary Scan (MAX 7000S) – Délais prédictibles (interconnections continues) ENSEIRB Les circuits logiques programmables Altera - 20 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 9000 • Architecture Array matriX) • Techno • Nbre de portes • Nbre d’E/S • Tpd • I/O drive ENSEIRB : EPLD type MAX (Multiple : CMOS 0.65µm E2PROM : 6000-12000 : 159-216 : 12-15 ns : 25m A Les circuits logiques programmables Altera - 21 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 9000 • Architecture ENSEIRB Les circuits logiques programmables Altera - 22 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/MAX 9000 • Caractéristiques : – Très rapide – Très dense – Grand nombre d’E/S – 3.3V/5V sur les E/S (5V sur le cœur) – ISP par bus JTAG – Test JTAG Boundary Scan – Délais prédictibles (interconnections continues) – Programmation en chaîne par bus JTAG via le module Bit Blaster ENSEIRB Les circuits logiques programmables Altera - 23 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 6000 • Architecture : FPGA type OptiFLEX (Flexible Logic Element matriX) • Techno : CMOS 0.35 ou 0.5µm SRAM • Nbre de portes : 5000 à 24000 • Nbre d’E/S : 160 à 215 • Tpd : • I/O drive : 25 mA ENSEIRB Les circuits logiques programmables Altera - 24 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 6000 • Architecture ENSEIRB Les circuits logiques programmables Altera - 25 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 6000 • Caractéristiques : – faible consommation (1mA en stand by) – Très dense – Compatible norme PCI – 3.3V/5V – Test JTAG Boundary Scan – Programmation en chaîne par bus JTAG via le module Bit Blaster ENSEIRB Les circuits logiques programmables Altera - 26 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 8000 • Architecture : FPGA type FLEX (Flexible Logic Element matriX) • Techno : CMOS 0.65µm SRAM • Nbre de portes : 2500-16000 • Nbre d’E/S : 78-208 • Tpd : • I/O drive : 25 mA ENSEIRB Les circuits logiques programmables Altera - 27 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 8000 • Architecture ENSEIRB Les circuits logiques programmables Altera - 28 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 8000 • Caractéristiques : – faible consommation (1mA en standby) – Très dense – Grand nombre d’E/S – 3.3V/5V sur les E/S (5V sur le cœur) – Test JTAG Boundary Scan – Programmation en chaîne par bus JTAG via le module Bit Blaster ENSEIRB Les circuits logiques programmables Altera - 29 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 10K • Architecture : Mer de portes type FLEX (Flexible Logic Element matriX) • Techno : CMOS 0.5µm SRAM • Nbre de portes : 10000-130000 (250000 Déc97) • Nbre d’E/S : 134-406 • Tpd : • I/O drive : 25 mA ENSEIRB Les circuits logiques programmables Altera - 30 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 10K • Architecture ENSEIRB Les circuits logiques programmables Altera - 31 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 10K • Caractéristiques : – faible consommation (1mA en stand by) – Très dense – Grand nombre d’E/S – 3.3V/5V sur les E/S (5V sur le cœur) – Test JTAG Boundary Scan – Programmation en chaîne par bus JTAG via le module Bit Blaster – 6K-24K de RAM ENSEIRB Les circuits logiques programmables Altera - 32 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs ALTERA/FLEX 10K • Applications : – Petites mémoires (SRAM, FIFO) – DSP et filtrage numérique – Unité Arithmétique – ATM, interface PCI... ENSEIRB Les circuits logiques programmables Altera - 33 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs • Plate-forme : Windows3.1, NT, 95, SUNOS, SOLARIS • Entrée du design • Compilation du design • Vérification du design ENSEIRB Les circuits logiques programmables Altera - 34 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Les différents menus MAX+PLUS II FILE ENSEIRB Les circuits logiques programmables Altera - 35 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs OPTIONS ASSIGN ENSEIRB Les circuits logiques programmables Altera - 36 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs HELP ENSEIRB Les circuits logiques programmables Altera - 37 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Les Principaux icones Floorplan Editor Project Name Compiler Help Hierarchy Display Top level design File Simulator Save input file and check Timing Analyzer Programmer Save input design file and compile Open File Save input file and Simule New File ENSEIRB Les circuits logiques programmables Altera - 38 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Editeur graphique double click pour insérer un composant ENSEIRB Les circuits logiques programmables Altera - 39 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Editeur de symbole ENSEIRB Les circuits logiques programmables Altera - 40 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le langage AHDL • • • • • • • • • ENSEIRB Altera very High Speed Integrated Circuit Hardware Description Language Langage de description créé par Altera Plus souple et plus proche du composant que son grand frère VHDL Non exportable Possibilité par exemple d’inclure des composants des bibliothèques Altera comme ceux de la serie 74xx ou de la librairie primaire comme par exemple une bacule D DFF Machine d’état et compteur facile à mettre en œuvre Description par table Choix possible du type de composant Altera depuis le fichier Rétroannotation possible après compilation Les circuits logiques programmables Altera - 41 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Corps d’un fichier AHDL du type name.tdf DESIGN IS 'name' DEVICE IS '7032LC44'; %choix d'un composant% CONSTANT x=n; par exemple countmax =14 pour un compteur INCLUDE "4count" appel au compteur 4count de la bibliothèque SUBDESIGN IS 'name' ( in1 : INPUT = constante; in2 : INPUT; inout1 : BIDIR; ENSEIRB out1,out2[16..0] : OUTPUT; state_machine_1 : MACHINE INPUT; state_machine_1 : MACHINE OUTPUT; ) VARIABLE %type de composant% Q[n..0]: DFF; n+1 bacule D appelée Q0 à Qn cpt: 4count;cpt est du type 4count ss: MACHINE WITH STATES (S0, S1, S2); ss est une machine d'état BEGIN END; Les circuits logiques programmables Altera - 42 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs LES STRUCTURES IMPORTANTES FOR index_variable IN range IF expression THEN GENERATE statement; statement; statement; statement; ELSIF expression END GENERATE; THEN statement; statement; ELSE statement; statement; END IF; ENSEIRB CASE expression IS WHEN constant_value => statement; statement; WHEN constant_value => statement; statement; WHEN OTHERS => statement; statement; END CASE; Les circuits logiques programmables Altera - 43 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs TABLE node_name, node_name input_value, input_value input_value, input_value input_value, input_value END TABLE; GRAPHE D’ETATS ENSEIRB => node_name, node_name; => output_value, output_value; => output_value, output_value; => output_value, output_value; VARIABLE ss : MACHINE WITH STATES (etat0,etat1,etat2); BEGIN ss.clk = clk; ss.reset=reset; CASE ss IS WHEN etat0 THEN a=GND; b=VCC; ss=etat1; WHEN etat1 THEN etc..... END; Les circuits logiques programmables Altera - 44 / 70 - TABLE DE VERITE pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le langage VHDL • • • ENSEIRB Very High Speed Integrated Circuit Hardware Description Language Normalisation des langages de description ( norme IEEE 1076.87/93 ) – Uniformiser l’apprentissage – Portabilité – Bibliothèques Un modèle VHDL peut être : – Comportemental : Décrit la fonctionnalité d’un objet par un algorithme séquentiel, ou table de vérité, sans référence à une structure d’implémentation quelconque. – Flux de données : Décrit le flux entre entrée et sortie au niveau bit, par des équations élémentaires. – Structurel : Décrit la constitution de l’objet en un ensemble d’objets élémentaires interconnectés ( proche du schéma ). Les circuits logiques programmables Altera - 45 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Structure hiérarchique d’un modèle VHDL • • ENSEIRB Unité de conception primaire : vue externe d’un objet – Entités (ENTITY) boite noire associé à une architecture décrivant la hiérarchie et le comportement de cette boite. – Paquetage (PACKAGE) ensemble de déclarations de composants, utilisable comme une bibliothèque. Les composants sont définis dans d’autres fichier VHDL. Unité de conception secondaire : modèle interne d’un objet – Architecture relative à une entité (ARCHITECTURE) Les circuits logiques programmables Altera - 46 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Syntaxe VHDL • • Ecriture des instructions : séquentielle ( Langage de programmation classique ) Exécution : concurrente – Processus : • une instruction concurrente = un processus • contient des instructions séquentielles • 1 composant = ensemble de processus simultanés s’exécutant de manière asynchrone et communiquant à travers des signaux classe d’objets : – constantes – variables ( affectation immédiate, :=) – signaux spécifiques à la description de l’objet • affectation séquentielle ( <= ) • ENSEIRB Les circuits logiques programmables Altera - 47 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Corps d’un fichier VHDL du type name.vhd LIBRARY library_name; ENTITY entity_name IS PORT( input1, input2 : IN STD_LOGIC; input_vector : IN STD_LOGIC_VECTOR(high downto low); bidir1, bidir2 : INOUT STD_LOGIC; output1, output2: OUT STD_LOGIC); END entity_name; ARCHITECTURE a OF entity_name IS SIGNAL signal_name : STD_LOGIC; SIGNAL signal_name : STD_LOGIC; BEGIN END a; ENSEIRB Les circuits logiques programmables Altera - 48 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs LES PROCESSUS CONCCURENTS --Une architecture contient généralement un processus. process_label: PROCESS VARIABLE variable1 : STD_LOGIC; VARIABLE variable2 : STD_LOGIC; BEGIN WAIT UNTIL clk_signal = '1'; si le processus est séquentiel -- Signal Assignment Statement -- Variable Assignment Statement -- Procedure Call Statement -- If Statement -- Case Statement -- Loop Statement END PROCESS process_label; ENSEIRB Les circuits logiques programmables Altera - 49 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs LES STRUCTURES IMPORTANTES • CASE expression IS WHEN constant_value => statement; statement; WHEN constant_value => statement; statement; WHEN OTHERS => statement; statement; END CASE; ENSEIRB • IF expression THEN statement; statement; ELSIF expression THEN statement; statement; ELSE loop_label: statement; FOR index_variable IN __range statement; LOOP END IF; statement; statement; END LOOP loop_label; Les circuits logiques programmables Altera - 50 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs UTILISER DES COMPOSANTS DE VOTRE BIBLIOTHEQUE • PACKAGE package_name IS • COMPONENT component_name -- Type Declaration PORT( -- Subtype Declaration input1, input2 : IN STD_LOGIC; -- Constant Declaration bidir1, bidir2 : INOUT STD_LOGIC; -- Signal Declaration output1, output2 : OUT STD_LOGIC); -- Component Declaration END COMPONENT; END package_name; --utiliser ce composant dans votre schéma : instance_name: component_name PORT MAP ( formal_parameter => actual_parameter, formal_parameter => actual_parameter); ENSEIRB Les circuits logiques programmables Altera - 51 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Les librairies • la librairie Primaire – portes, bascules, entrées, sorties • La librairie EDIF (Electronic Design interchange Format) – assure la compatibilité entre différentes sources ( Mentor, Cadence, Viewlogic) – série 74xx... • Les mégafonctions – série74, multiplieur, compteur, registre... • Les modules paramétrables LPM – additionneur, multiplieur, UART, ROM, RAM, FIFO, FFT... – intégrables au VHDL • Le programme AMPP (Altera Megafunction Partners Program) (modules disponibles sur catalogue) – DSP, MPEG, DCT, ATM, PCI ENSEIRB Les circuits logiques programmables Altera - 52 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le compilateur ENSEIRB Les circuits logiques programmables Altera - 53 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs 3 types d’analyse : – Delay Matrix – Setup/Hold Matrix – Registered Performance Analyseur de temps ENSEIRB Les circuits logiques programmables Altera - 54 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Editeur de hiérarchie ENSEIRB Les circuits logiques programmables Altera - 55 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Editeur de courbes ENSEIRB Les circuits logiques programmables Altera - 56 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le simulateur ENSEIRB Les circuits logiques programmables Altera - 57 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le programmateur ENSEIRB Les circuits logiques programmables Altera - 58 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Editeur de Floorplan ENSEIRB Les circuits logiques programmables Altera - 59 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Placement interne ENSEIRB Les circuits logiques programmables Altera - 60 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Placement externe L’AIDE EN LIGNE ENSEIRB Les circuits logiques programmables Altera - 61 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le Bit Blaster • • • • ENSEIRB Programmation des PLDs à partir d’un PC ou d’une station de travail par bus série ou JTAG Vitesse de transfert : 9600/230000 b/s Programme les familles MAX 9000 et MAX7000S Configure Les séries FLEX lors de la mise au point Les circuits logiques programmables Altera - 62 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Configuration des FLEX10K par EPROM VCC VCC FLEX10K nCONFIG EPC1 DCLK DCLK DATA0 DATA nSTATUT OE CONF_DONE MSEL0 MSEL1 ENSEIRB nCS nCE Les circuits logiques programmables Altera - 63 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs L’INTERFACE JTAG • Norme IEEE1149.1 de test du Joint Test Action Group. • Test du composant sur le circuit imprimé. • L’interface comporte : – Un registre de périphérie, le Boundary Scan Register. – Un registre d’instruction. Le Boundary Scan Register C’est un Registre à décalage ENSEIRB Les circuits logiques programmables Altera - 64 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs Le registre d’instruction • Impératifs de test : – Observabilité : qualité des soudures. – Contrôlabilité : Implantation du programme de test après fabrication puis configuration dédiéé à l’application • Commande JTAG : – Issue de la norme (sample, extest, bypass. – de reconnaissance (uescode : code utilisateur, idcode : code constructeur – pour adressage et stockage. ENSEIRB Les circuits logiques programmables Altera - 65 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs LE FREQUENCEMETRE 3 AFFICHEURS 7 SEGMENTS OSCILLATEUR 1MHz SELECTEUR DE GAMME DIVISEUR PROGRAMMABLE 3 DECODEURS BCD / 7 SEGMENTS GENERATEUR D'IMPULSION MEMORISATION ET COMPTAGE SIGNAL D'ENTREE ENSEIRB Les circuits logiques programmables Altera - 66 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs UNITE COMPTEUR DESIGN SOUS FORME DE SCHEMA RF CLK RETARD (2 inverseurs HEX) RESET 3 *BASCULES 74175 3 compteurs BCD 74390 CLK RAZ SIGNAL D'ENTREE ENSEIRB Les circuits logiques programmables Altera - 67 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs DECODEUR BCD / 7SEGMENTS DESIGN SOUS FORME AHDL : PROCEDER PAR TABLE DE VERITE ENSEIRB digit a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 1 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 1 1 1 1 0 1 1 Les circuits logiques programmables Altera - 68 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs DIVIVEUR DE FREQUENCE DIVISEUR PAR 10 REALISE EN VHDL (div10.vhd) CLKIN INIT DIVISEUR PAR 10 REALISE EN VHDL (div10.vhd) DIVISEUR PAR 10 REALISE EN VHDL (div10.vhd) DIVISEUR PAR 10 REALISE EN VHDL (div10.vhd) INIT INIT INIT DIVISEUR PAR 10 REALISE EN VHDL (div10.vhd) INIT INIT f e d c MULTIPLEXEUR REALISE EN VHDL (mux.vhd) CLKOUT b REALISER UN FICHIER DIV10.VHD a ET UN FICHIER MUX.VHD. FAIRE LE SCHEMA DIVISEUR.GDF choix ENSEIRB Les circuits logiques programmables Altera - 69 / 70 - pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs F R E Q U E N C E M E T R E . G D F ENSEIRB INIT HORLOGE CLK COMPTEUR 74393 DIVISEUR Q1D Q1B CLR CALIBRE & RAZ RF FREQUENCE_IN UNITES DECODEUR.TDF signal_input DIZAINES DECODEUR.TDF DIZAINES UNITE COMPTAGE COMPTEURBCD.GDF CENTAINES DECODEUR.TDF Les circuits logiques programmables Altera - 70 / 70 - UNITES pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs CENTAINES