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

Documents pareils