Vous êtes sur la page 1sur 24

ENSEIRB

LES CIRCUITS LOGIQUES


PROGRAMMABLES
ALTERA

Laurent DULAU email : kadionik@enseirb.fr


Patrice KADIONIK http : http://www.enseirb.fr/~kadionik

ENSEIRB 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 con-
nectent à 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

ACTEL ANTIFUSE, SRAM


EPROM, EEPROM,
ALTERA
SRAM
AMD EEPROM

ATMEL SRAM

LATTICE EPROM, EEPROM


SRAM, ANTIFUSE,
XILINX
EPROM, EEPROM

ENSEIRB 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 (EPROM)
– MAX5000 (EPROM)
– FLASHlogic (SRAM & FLASH)
– MAX7000 (E2PROM)
– MAX9000 (E2PROM)
– FLEX 6K (SRAM)
– FLEX 8K (SRAM)
– FLEX 10K (SRAM)
ENSEIRB 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

• Architecture : EPLD
• Techno : CMOS EPROM
• Nbre de portes : 300-900
• Nbre d’E/S : 22-64
• Fmax : 50-100 MHz
• I/O drive : 25 mA

ENSEIRB 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 : EPLD type MAX (Multiple


Array matriX)
• Techno : CMOS 0.65µm EPROM
• Nbre de portes : 600-3750
• Nbre d’E/S : 24-72
• Fmax : 50-77 MHz
• I/O drive : 25 mA

ENSEIRB 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

• Architecture : PLD
• Techno : CMOS 0.65µm SRAM
• Nbre de portes : 1600-3200
• Nbre d’E/S : 62-172
• Fmax : 80 MHz
• I/O drive : 25 mA

ENSEIRB 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 : CPLD type MAX (Multiple


Array matriX)
• Techno : CMOS 0.6µm E2PROM
• Nbre de portes : 600-5000
• Nbre d’E/S : 36-164
• Tpd : 5-10 ns
• I/O drive : 25 mA

ENSEIRB 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 : EPLD type MAX (Multiple


Array matriX)
• Techno : CMOS 0.65µm E2PROM
• Nbre de portes : 6000-12000
• Nbre d’E/S : 159-216
• Tpd : 12-15 ns
• I/O drive : 25m A

ENSEIRB 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

ASSIGN OPTIONS

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 Save input design file and
Programmer 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

• 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

ENSEIRB 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' out1,out2[16..0] : OUTPUT;


DEVICE IS '7032LC44'; state_machine_1 : MACHINE INPUT;
%choix d'un composant% state_machine_1 : MACHINE OUTPUT;
CONSTANT x=n; )
par exemple countmax =14 pour un VARIABLE %type de composant%
compteur
Q[n..0]: DFF; n+1 bacule D appelée Q0 à Qn
INCLUDE "4count"
cpt: 4count;cpt est du type 4count
appel au compteur 4count de la
ss: MACHINE WITH STATES
bibliothèque
(S0, S1, S2); ss est une machine d'état
SUBDESIGN IS 'name'
BEGIN
(
in1 : INPUT = constante;
END;
in2 : INPUT;
inout1 : BIDIR;

ENSEIRB 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 CASE expression IS
statement;
statement; WHEN constant_value
statement; statement; =>
END GENERATE; ELSIF expression statement;
THEN
statement;
statement;
WHEN constant_value
statement; =>
ELSE statement;
statement; statement;
statement; WHEN OTHERS =>
END IF; statement;
statement;
END CASE;

ENSEIRB 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 => node_name, node_name;
input_value, input_value => output_value, output_value; TABLE DE VERITE
input_value, input_value => output_value, output_value;
input_value, input_value => output_value, output_value;
END TABLE;
VARIABLE
ss : MACHINE WITH STATES (etat0,etat1,etat2);
BEGIN
ss.clk = clk;
ss.reset=reset;
CASE ss IS
WHEN etat0 THEN
GRAPHE D’ETATS a=GND; b=VCC;
ss=etat1;
WHEN etat1 THEN
etc.....
END;

ENSEIRB Les circuits logiques programmables Altera


- 44 / 70 -
 pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs

Le langage VHDL

• 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 ).

ENSEIRB 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

• 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)

ENSEIRB 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 • IF expression THEN


WHEN constant_value => statement;
statement; statement;
statement; ELSIF expression THEN
WHEN constant_value => statement;
statement; statement;
statement; ELSE
WHEN OTHERS => statement; loop_label:
statement; FOR index_variable IN __range
statement;
LOOP
statement; END IF; statement;
END CASE; statement;
END LOOP loop_label;

ENSEIRB 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 :
Analyseur de temps – Delay Matrix
– Setup/Hold Matrix
– Registered Performance

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 Placement externe

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
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
• 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

ENSEIRB 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
EPC1

nCONFIG DCLK DCLK

DATA0 DATA

nSTATUT OE

CONF_DONE nCS
MSEL0
nCE
MSEL1

ENSEIRB 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 3 *BASCULES 74175

RETARD (2 inverseurs HEX) 3 compteurs BCD 74390


RESET

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

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

ENSEIRB 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 DIVISEUR PAR 10 DIVISEUR PAR 10 DIVISEUR PAR 10 DIVISEUR PAR 10
CLKIN REALISE EN VHDL REALISE EN VHDL REALISE EN VHDL REALISE EN VHDL REALISE EN VHDL
(div10.vhd) (div10.vhd) (div10.vhd) (div10.vhd) (div10.vhd)

INIT INIT INIT INIT INIT

INIT

d MULTIPLEXEUR
REALISE EN VHDL
CLKOUT
(mux.vhd)
c

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 INIT
HORLOGE
R CLK COMPTEUR 74393
DIVISEUR
CLR Q1D Q1B
CALIBRE
E
Q &

U
E
N RAZ

C
RF
UNITES DECODEUR.TDF UNITES

E
M FREQUENCE_IN signal_input

E
DIZAINES
T UNITE COMPTAGE
COMPTEURBCD.GDF
DECODEUR.TDF DIZAINES

R
E
.
G CENTAINES
DECODEUR.TDF
CENTAINES

D
F

ENSEIRB Les circuits logiques programmables Altera


- 70 / 70 -
 pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs