Page 1
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 1 / 70 -
LES CIRCUITS LOGIQUES
PROGRAMMABLES
ALTERA
ENSEIRB
Laurent DULAU
Patrice KADIONIKemail : [email protected]
http : http://kadionik.vvv.enseirb.fr
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 2 / 70 -
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
Page 2
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 3 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 4 / 70 -
• 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.
Page 3
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 5 / 70 -
– 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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 6 / 70 -
• Fabricants / technologies
ACTEL ANTIFUSE, SRAM
ALTERAEPROM, EEPROM,
SRAM
AMD EEPROM
ATMEL SRAM
LATTICE EPROM, EEPROM
XILINXSRAM, ANTIFUSE,
EPROM, EEPROM
Page 4
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 7 / 70 -
• 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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 8 / 70 -
ALTERA
• Historique
– La société ALTERA est fondée en 1984
– Premier circuit ALTERA commercialisé en
EUROPE par TEKELEC en 1985
Page 5
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 9 / 70 -
ALTERA
• 8 familles :
– Classic (EPROM)
– MAX5000 (EPROM)
– FLASHlogic (SRAM & FLASH)
– MAX7000 (E2PROM)
– MAX9000 (E2PROM)
– FLEX 6K (SRAM)
– FLEX 8K (SRAM)
– FLEX 10K (SRAM)
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 10 / 70 -
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
Page 6
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 11 / 70 -
ALTERA/CLASSIC• architecture
• Caractéristiques :
– EPLD très rapide
– Faible consommation
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 12 / 70 -
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
Page 7
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 13 / 70 -
ALTERA/MAX 5000
• architecture
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 14 / 70 -
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
Page 8
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 15 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 16 / 70 -
ALTERA/FLASHlogic
• architecture
Page 9
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 17 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 18 / 70 -
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
Page 10
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 19 / 70 -
ALTERA/MAX 7000
• Architecture
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 20 / 70 -
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)
Page 11
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 21 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 22 / 70 -
ALTERA/MAX 9000
• Architecture
Page 12
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 23 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 24 / 70 -
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
Page 13
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 25 / 70 -
ALTERA/FLEX 6000
• Architecture
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 26 / 70 -
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
Page 14
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 27 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 28 / 70 -
ALTERA/FLEX 8000
• Architecture
Page 15
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 29 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 30 / 70 -
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
Page 16
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 31 / 70 -
ALTERA/FLEX 10K
• Architecture
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 32 / 70 -
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
Page 17
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 33 / 70 -
ALTERA/FLEX 10K
• Applications :
– Petites mémoires (SRAM, FIFO)
– DSP et filtrage numérique
– Unité Arithmétique
– ATM, interface PCI...
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 34 / 70 -
• Plate-forme : Windows3.1, NT, 95, SUNOS,
SOLARIS
• Entrée du design
• Compilation du design
• Vérification du design
Page 18
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 35 / 70 -
Les différents menus
MAX+PLUS II
FILE
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 36 / 70 -
ASSIGN OPTIONS
Page 19
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 37 / 70 -
HELP
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 38 / 70 -
Floorplan Editor
Compiler
Hierarchy Display
Simulator
Timing Analyzer
Programmer
Open File
Project Name
Help
Top level design File
Save input file and check
Save input design file and
compile
Save input file and Simule
New File
Les Principaux icones
Page 20
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 39 / 70 -
Editeur graphique
double click pour insérer
un composant
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 40 / 70 -
Editeur de symbole
Page 21
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 41 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 42 / 70 -
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;
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;
Page 22
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 43 / 70 -
FOR index_variable IN range
GENERATE
statement;
statement;
END GENERATE;
IF expression THEN
statement;
statement;
ELSIF expression
THEN
statement;
statement;
ELSE
statement;
statement;
END IF;
CASE expression IS
WHEN constant_value
=>
statement;
statement;
WHEN constant_value
=>
statement;
statement;
WHEN OTHERS =>
statement;
statement;
END CASE;
LES STRUCTURES IMPORTANTES
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 44 / 70 -
TABLE
node_name, node_name => node_name, node_name;
input_value, input_value => output_value, output_value;
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
a=GND; b=VCC;
ss=etat1;
WHEN etat1 THEN
etc.....
END;
TABLE DE VERITE
GRAPHE D’ETATS
Page 23
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 45 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 46 / 70 -
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)
Page 24
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 47 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 48 / 70 -
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;
Corps d’un fichier VHDL du type name.vhd
Page 25
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 49 / 70 -
--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;
LES PROCESSUS CONCCURENTS
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 50 / 70 -
• CASE expression IS
WHEN constant_value =>
statement;
statement;
WHEN constant_value =>
statement;
statement;
WHEN OTHERS =>
statement;
statement;
END CASE;
• IF expression THEN
statement;
statement;
ELSIF expression THEN
statement;
statement;
ELSE
statement;
statement;
END IF;
loop_label:
FOR index_variable IN __range
LOOP
statement;
statement;
END LOOP loop_label;
LES STRUCTURES IMPORTANTES
Page 26
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 51 / 70 -
UTILISER DES COMPOSANTS DE VOTRE
BIBLIOTHEQUE
• PACKAGE package_name
IS
-- Type Declaration
-- Subtype Declaration
-- Constant Declaration
-- Signal Declaration
-- Component Declaration
END package_name;
• COMPONENT component_name
PORT(
input1, input2 : IN STD_LOGIC;
bidir1, bidir2 : INOUT STD_LOGIC;
output1, output2 : OUT STD_LOGIC);
END COMPONENT;
--utiliser ce composant dans votre schéma :
instance_name: component_name
PORT MAP ( formal_parameter => actual_parameter,
formal_parameter =>
actual_parameter);
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 52 / 70 -
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
Page 27
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 53 / 70 -
Le compilateur
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 54 / 70 -
Analyseur de temps3 types d’analyse :
– Delay Matrix
– Setup/Hold Matrix
– Registered Performance
Page 28
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 55 / 70 -
Editeur de hiérarchie
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 56 / 70 -
Editeur de courbes
Page 29
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 57 / 70 -
Le simulateur
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 58 / 70 -
Le programmateur
Page 30
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 59 / 70 -
Editeur de Floorplan Placement externe
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 60 / 70 -
Placement interne
Page 31
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 61 / 70 -
L’AIDE EN LIGNE
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 62 / 70 -
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
Page 32
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 63 / 70 -
Configuration des FLEX10K par EPROM
VCC VCC
nCONFIG
MSEL0
MSEL1
DCLK
DATA0
nSTATUT
CONF_DONE
nCE
DCLK
DATA
OE
nCS
FLEX10KEPC1
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 64 / 70 -
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
Page 33
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 65 / 70 -
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 ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 66 / 70 -
LE FREQUENCEMETRE
3 AFFICHEURS 7 SEGMENTS
3 DECODEURS BCD / 7 SEGMENTS
MEMORISATION ET COMPTAGEGENERATEUR D'IMPULSION
DIVISEUR PROGRAMMABLE
OSCILLATEUR
1MHz
SELECTEUR DE GAMME
SIGNAL D'ENTREE
Page 34
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 67 / 70 -
UNITE COMPTEUR
3 *BASCULES 74175
3 compteurs BCD 74390RETARD (2 inverseurs HEX)
SIGNAL D'ENTREE
RF CLK
RESET
CLK
RAZ
DESIGN SOUS FORME DE SCHEMA
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 68 / 70 -
DECODEUR BCD / 7SEGMENTSDESIGN 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
Page 35
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 69 / 70 -
DIVIVEUR DE FREQUENCE
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
MULTIPLEXEUR
REALISE EN VHDL
(mux.vhd)
CLKOUT
CLKIN
f
e
d
c
b
a
choix
INIT
INIT
INIT INIT INIT INIT
REALISER UN FICHIER DIV10.VHD
ET UN FICHIER MUX.VHD.
FAIRE LE SCHEMA DIVISEUR.GDF
ENSEIRB ENSEIRB Les circuits logiques programmables Altera
pk/ld/enseirb/1998 v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
- 70 / 70 -
F
R
E
Q
U
E
N
C
E
M
E
T
R
E
.
G
D
F
DIVISEUR
DECODEUR.TDF
DECODEUR.TDF
DECODEUR.TDF
UNITE COMPTAGE
COMPTEURBCD.GDF
&
COMPTEUR 74393
UNITES
DIZAINES
CENTAINES
RF
RAZ
CLR
CLK
Q1D Q1B
UNITES
DIZAINES
CENTAINES
HORLOGE
CALIBRE
INIT
signal_inputFREQUENCE_IN