Vous êtes sur la page 1sur 24
ENSEIRB LES CIRCUITS LOGIQUES PROGRAMMABLES ALTERA Laurent DULAU email : kadionik@enseirb.fr Patrice KADIONIK http
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

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

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

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

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
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 &
ALTERA
• 8 familles :
– Classic (EPROM)
– MAX5000 (EPROM)
– FLASHlogic (SRAM & FLASH)
– MAX7000 (E 2 PROM)
– MAX9000 (E 2 PROM)
– 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

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

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
ALTERA/CLASSIC
• architecture
• Caractéristiques :
– EPLD très rapide
– Faible consommation

ENSEIRB

Les circuits logiques programmables Altera

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

 

• : EPLD type MAX (Multiple

Architecture 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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/MAX 5000 • architecture
ALTERA/MAX 5000
architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

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

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

 

• : CPLD type MAX (Multiple

Architecture Array matriX)

• : CMOS 0.6µm E 2 PROM

Techno

 

• 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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/MAX 7000 • Architecture
ALTERA/MAX 7000
• Architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

 

• : EPLD type MAX (Multiple

Architecture Array matriX)

• : CMOS 0.65µm E 2 PROM

Techno

• 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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/MAX 9000 • Architecture
ALTERA/MAX 9000
• Architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/FLEX 6000 • Architecture
ALTERA/FLEX 6000
• Architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/FLEX 8000 • Architecture
ALTERA/FLEX 8000
• Architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
ALTERA/FLEX 10K • Architecture
ALTERA/FLEX 10K
• Architecture

ENSEIRB

Les circuits logiques programmables Altera

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

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

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

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

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
Les différents menus
MAX+PLUS II
FILE

ENSEIRB

Les circuits logiques programmables Altera

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
ASSIGN
OPTIONS

ENSEIRB

Les circuits logiques programmables Altera

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
HELP
HELP

ENSEIRB

Les circuits logiques programmables Altera

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
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
compile
Programmer
Save input file and Simule
Open File
New File

ENSEIRB

Les circuits logiques programmables Altera

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
Editeur graphique
double click pour insérer
un composant

ENSEIRB

Les circuits logiques programmables Altera

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
Editeur de symbole
Editeur de symbole

ENSEIRB

Les circuits logiques programmables Altera

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
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' DEVICE IS '7032LC44'; %choix d'un
Corps d’un fichier AHDL du type name.tdf
DESIGN IS 'name'
DEVICE IS '7032LC44';
%choix d'un composant%
out1,out2[16
0]
: OUTPUT;
state_machine_1 : MACHINE INPUT;
state_machine_1 : MACHINE OUTPUT;
CONSTANT x=n;
par exemple countmax =14 pour un
compteur
INCLUDE "4count"
appel au compteur 4count de la
bibliothèque
SUBDESIGN IS 'name'
)
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
(
in1
in2
inout1
: INPUT = constante;
: INPUT;
: BIDIR;
END;
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
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
LES STRUCTURES IMPORTANTES FOR index_variable IN range GENERATE statement; statement; END GENERATE; IF expression
LES STRUCTURES IMPORTANTES
FOR index_variable IN range
GENERATE
statement;
statement;
END GENERATE;
IF expression THEN
statement;
statement;
ELSIF expression
THEN
CASE expression IS
WHEN constant_value
=>
statement;
statement;
statement;
WHEN constant_value
statement;
=>
ELSE
statement;
statement;
END IF;
statement;
statement;
WHEN OTHERS =>
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 TABLE DE VERITE input_value, input_value input_value, input_value input_value, input_value
TABLE
node_name, node_name
TABLE DE VERITE
input_value, input_value
input_value, input_value
input_value, input_value
=> node_name, node_name;
=> output_value, output_value;
=> output_value, output_value;
=> output_value, output_value;
END TABLE;
VARIABLE
GRAPHE D’ETATS
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;
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
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
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
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 ) •
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
Corps d’un fichier VHDL du type name.vhd
LIBRARY library_name;
ENTITY entity_name IS
PORT(
input1, input2
input_vector
bidir1, bidir2
: IN
STD_LOGIC;
: IN
STD_LOGIC_VECTOR(high downto low);
: 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
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
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
LES STRUCTURES IMPORTANTES
• 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
loop_label:
statement;
range
statement;
END IF;
FOR index_variable IN
LOOP
statement;
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
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 package_name;
END COMPONENT;
--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

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
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
Le compilateur

ENSEIRB

Les circuits logiques programmables Altera

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
3 types d’analyse :
Analyseur de temps
– Delay Matrix
– Setup/Hold Matrix
– Registered Performance

ENSEIRB

Les circuits logiques programmables Altera

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
Editeur de hiérarchie
Editeur de hiérarchie

ENSEIRB

Les circuits logiques programmables Altera

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 -
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
Le simulateur

ENSEIRB

Les circuits logiques programmables Altera

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
Le programmateur
Le programmateur

ENSEIRB

Les circuits logiques programmables Altera

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
Editeur de Floorplan
Placement externe

ENSEIRB

Les circuits logiques programmables Altera

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

ENSEIRB

Les circuits logiques programmables Altera

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

 
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs  
L’AIDE EN LIGNE
L’AIDE EN LIGNE

ENSEIRB

Les circuits logiques programmables Altera

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

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

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. –
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

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
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
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
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
DECODEUR BCD / 7SEGMENTS
DESIGN SOUS FORME AHDL : PROCEDER PAR TABLE DE VERITE
digit
a
b
c
d
e
f
g
0
1111110
1
0110000
2
1101101
3
1111001
4
0110011
5
1011011
6
1011111
7
1110000
8
1111111
9
1111011
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 CLKIN DIVISEUR PAR 10 REALISE EN VHDL DIVISEUR PAR 10 REALISE EN
DIVIVEUR DE FREQUENCE
CLKIN
DIVISEUR PAR 10
REALISE EN VHDL
DIVISEUR PAR 10
REALISE EN VHDL
DIVISEUR PAR 10
REALISE EN VHDL
DIVISEUR PAR 10
REALISE EN VHDL
DIVISEUR PAR 10
REALISE EN VHDL
(div10.vhd)
(div10.vhd)
(div10.vhd)
(div10.vhd)
(div10.vhd)
INIT
INIT
INIT
INIT
INIT
INIT
f
e
d
MULTIPLEXEUR
CLKOUT
REALISE EN VHDL
(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
v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs
F INIT HORLOGE CLK COMPTEUR 74393 R DIVISEUR CLR Q1D Q1B CALIBRE E Q &
F
INIT
HORLOGE
CLK
COMPTEUR 74393
R
DIVISEUR
CLR
Q1D Q1B
CALIBRE
E
Q
&
U
E
N
RAZ
RF
C
UNITES
DECODEUR.TDF
UNITES
E
M
FREQUENCE_IN
signal_input
E
DIZAINES
T
DECODEUR.TDF
DIZAINES
UNITE COMPTAGE
COMPTEURBCD.GDF
R
E
.
G
DECODEUR.TDF
CENTAINES
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

v1.0 Reproduction et exploitation à des fins commerciales interdites sans l'accord exprès des auteurs