Vous êtes sur la page 1sur 445

Sysprog

Bertrand Granado Enseignant-Chercheur


LIP6 / UPMC Mel : Bertrand.Granado@upmc.fr

Hiver 2013

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

1 / 231

Plan

1 2 3 4

Introduction Outils et methodes de conception FPGA ` Conception dun systeme programmable

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

2 / 231

Outils et methodes de conception

VHDL

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 3 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

VHDL

VHDL
1 2

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII
Sysprog

Hiver 2013

4 / 231

Outils et methodes de conception

VHDL

Bibliographie

The designers guide to VHDL - Peter Ashenden, Morgan Kaufman (http://www.ashenden.com.au/designers-guide/DG.html) Alain Vachoux : Digital System Modeling http://lsmwww.ep.ch/design languages/ Cours Master SdI - Patrick Garda (patrick.garda@upmc.fr) Ressources
Hamburg VHDL archive :
http://tech-www.informatik.uni-hamburg.de/vhdl/vhdl.htm

http://www.geocities.com/SiliconValley/Heights/8831/websrc.html

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

5 / 231

Outils et methodes de conception

VHDL

Outils

Free Model Foundation - http://www.freemodelfoundry.com/ Opencores - http://www.opencores.org XILINX : ISE - http://www.xilinx.com/ ALTERA : Quartus - http://www.altera.com/ Mentor Graphics : HDL Designer, ModelSim, Precision http://www.mentor.com/

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

6 / 231

Outils et methodes de conception

VHDL

Historique

VHDL : VHSIC Hardware Description Language Historique Langage introduit dans le cadre du projet DARPA VHSIC : Very High Speed Integrated Circuits IBM, Texas Instruments et Intermetrics ont obtenu le contrat en 1983 et produit VHDL 7.2 en 1985 a ` IEEE pour normalisation en 1986 Propose Norme en 1987 : IEEE Std 1076-1987, dit VHDL-87 ee en 1992 : IEEE Std 1076-1993, dit VHDL-93 Norme revis de IEEE 1164-1993, dit std logic 1164 Normalisation simultanee ee en 2002 IEEE Std 1076-2002, VHDL - 2002 Norme revis

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

7 / 231

Outils et methodes de conception

VHDL

Flot de conception VHDL

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

8 / 231

Outils et methodes de conception

VHDL

VHDL - RTL

RTL : Register Transfert Level Description Synthetisable Utilisable pour congurer un circuit logique programmable Sous ensemble de constructions VHDL

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

9 / 231

Outils et methodes de conception

VHDL

VHDL - Base

Blocs de base
1 2 3

` Les bibliotheques (ou librairies) : Decrit Lentite linterfac age du composant Larchitecture : Decrit le fonctionnement du composant

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

10 / 231

Outils et methodes de conception

VHDL

VHDL - Base

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

11 / 231

Outils et methodes de conception

VHDL

VHDL - Base

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

11 / 231

Outils et methodes de conception

VHDL

VHDL - Base

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

11 / 231

Outils et methodes de conception

VHDL

` VHDL - Bibliotheque

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

12 / 231

Outils et methodes de conception

VHDL

VHDL - Entite
context-clause entity entity-name is [ generic ( parameter-list ) ] [ port ( port-list ) ; ] type, subtype, constant, signal, subprogram concurrent procedure call, assertion, passive process [ local-declarations ]

[ begin passive-concurrent-statement ]

end [ entity ] [ entity-name ] ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

13 / 231

Outils et methodes de conception

VHDL

VHDL - Entite

generic( parametre-name ,...: parametre-type [:=default-value]; ... parametre-name ,...: parametre-type [:=default-value]);

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

14 / 231

Outils et methodes de conception

VHDL

VHDL - Entite

port( [signal] signal-name ,... : mode signal-type; ... [signal] signal-name ,... : mode signal-type);

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

15 / 231

Outils et methodes de conception

VHDL

VHDL - Entite

entity MON-ET is generic (tp: time := 2ns); port( A : in std_logic; B : in std_logic; S : out std_logic); end entity MON-ET;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 16 / 231

Outils et methodes de conception

VHDL

VHDL - Architecture

architecture archi-name of entity-name is [ local-declaration ] begin concurrent procedure call, assertion, passive process concurrent-statement

end [ architecture ] [ archi-name ] ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

17 / 231

Outils et methodes de conception

VHDL

VHDL - Larchitecture

S = A et B
architecture FLOT of MON-ET is begin s <= a and b after tp; end architecture FLOT;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

18 / 231

Outils et methodes de conception

VHDL

VHDL - Larchitecture

de conception Une architecture decrit le fonctionnement dune entite ` Cest-a-dire la determination des sorties en fonction des entrees ` Une architecture peut etre decrite de differentes manieres :
Flot de donnees Structurelle Comportementale RTL : Register Transfer Level

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

19 / 231

Outils et methodes de conception

Differents types de description

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 20 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Differents types de description

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 21 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Differents types de description

Architecture Flot de donnees

Une architecture ot de donnees (dataow) decrit un circuit au niveau des portes logiques (binaires) vers les Elle represente le ot des informations des entrees ` laide doperateurs sorties a combinatoires :
not, and, nand, or, nor, xor, xnor

Les signaux se propagent de fac on asynchrone La determination des valeurs est faite par linstruction daffectation des signaux <= a ` la Elle permet de modeliser le temps de propagation des portes grace clause after

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

22 / 231

Outils et methodes de conception

Differents types de description

Architecture Flot de donnees

architecture flot of addc is begin sum <= a xor b xor cin after 2 ns ; -- somme cout <= (a and b) or (b and cin) or (cin and a) after 1 ns ; -- retenue end architecture flot;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

23 / 231

Outils et methodes de conception

Differents types de description

Architecture Structurelle

a ` denis Utilise des composants dej Larchitecture structurelle denit alors la structure comme un assemblage par des signaux dinstances de composants reliees ` la description textuelle dun schema Elle correspond a utilisant des ` cellules de bibliotheque

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

24 / 231

Outils et methodes de conception

Differents types de description

Architecture Structurelle

entity add4 is port ( a, b : in std_logic_vector (3 downto 0) ; s : out std_logic_vector (4 downto 0) ) end entity add4 ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

25 / 231

Outils et methodes de conception

Differents types de description

Architecture Structurelle

architecture struct of add4 is signal c : std_logic_vector (3 downto 1) ; begin addc_i0 : entity work.addc(flot) port map ( a(0), b(0), 0, s(0), c(1)) ; addc_i1 : entity work.addc(flot) port map ( a(1), b(1), c(1), s(1), c(2)) ; addc_i2 : entity work.addc(flo)t port map ( a(2), b(2), c(2), s(2), c(3)) ; addc_i3 : entity work.addc(flot) port map ( a(3), b(3), c(3), s(3), s(4)) ; end architecture struct ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

26 / 231

Outils et methodes de conception

Differents types de description

Architecture Structurelle

architecture struct of add4 is signal c : std_logic_vector (3 downto 1) ; begin addc_i0 : entity work.addc(flot) port map (a => a(0), b => b(0), cin => 0, sum => s(0), cout => c(1)) ; addc_i1 : entity work.addc(flot) port map (a => a(1), b => b(1), cin => c(1), sum => s(1), cout => c(2)) ; addc_i2 : entity work.addc(flo)t port map (a => a(2), b => b(2), cin => c(2), sum => s(2), cout => c(3)) ; addc_i3 : entity work.addc(flot) port map (a => a(3), b => b(3), cin => c(3), sum => s(3), cout => s(4)) ; end architecture struct ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

27 / 231

Outils et methodes de conception

Differents types de description

Linstantiation de composants PORT MAP

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity demiadd is port( a, b : in std_logic; c, s : out std_logic); end entity demiadd; architecture flot of demiadd is begin s <= a xor b; c <= a and b; end architecture flot;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

28 / 231

Outils et methodes de conception

Differents types de description

Linstantiation de composants PORT MAP

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity add is port( a, b, cin : in std_logic; cout, s : out std_logic); end entity add; architecture struct of add is signal stmp, ctmp1,ctmp2 : std_logic; begin demiadd1 : entity work.demiadd(flot) port map(a,b,stmp,ctmp1); demiadd2 : entity work.demiadd(flot) port map(cin,stmp,s,ctmp2); cout <= ctmp1 or ctmp2; end architecture struct;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

29 / 231

Outils et methodes de conception

Differents types de description

Architecture Comportementale

par un ensemble de processus sequentiels Larchitecture est represent ee qui sexecutent simultanement ` ce que lune de ses entrees Chaque processus est en attente jusqua change de valeur e Lorsque cela se produit le code du processus est execut sequentiellement ` la n dun processus on recommence son execution Lorsquon arrive a au debut La realisation electronique de larchitecture nest pas decrite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

30 / 231

Outils et methodes de conception

Differents types de description

Le Process

Permet de realiser des parties sequentielles Introduit un niveau dabstraction proche de linformatique

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

31 / 231

Outils et methodes de conception

Differents types de description

Le Process
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity reg is port( d : in std_logic_vector(7 downto 0); hor : in std_logic; q : out std_logic_vector(7 downto 0); end entity reg; architecture comport of reg is begin clocked: process(d,hor) is begin if (horevent and hor = 1) then q<=d; end if; end process clocked; end architecture comport;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

32 / 231

Outils et methodes de conception

Differents types de description

Les variables

Niveau dabstraction niveau algorithmique ` un l Pas assimilable a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

33 / 231

Outils et methodes de conception

Differents types de description

Laffectation de variables
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity reg is port( d : in std_logic_vector(7 downto 0); hor : in std_logic; q : out std_logic_vector(7 downto 0); end entity reg; architecture comport of reg is begin clocked: process(d,hor) is variable q_int : std_logic_vector(7 downto 0); begin if (horevent and hor = 1) then q_int :=d; end if; q <= q_int; end process clocked; end architecture comport;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 34 / 231

Outils et methodes de conception

Differents types de description

Les structures de controle

Les structures Conditionnelles


La structure IF La structure CASE

etitions Les structure de Rep LOOP


La structure FOR

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

35 / 231

Outils et methodes de conception

Differents types de description

Conditionnelle IF

if condition1 then instructions sequentielles 1 elsif condition2 then instructions sequentielles 2 elsif condition3 then instructions sequentielles 3 else instructions sequentielles n end if ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

36 / 231

Outils et methodes de conception

Differents types de description

Conditionnelle IF

library ieee; use ieee.std_logic_1164.all; entity decodeur is port ( choix : in std_logic_vector(1 downto 0); decode : out std_logic_vector(3 downto 0)); end entity decodeur; architecture comport of decodeur decodage : process(choix) is begin IF (choix= "00") THEN decode <="0001"; ELSIF (choix="01") THEN decode <="0010"; ELSIF (choix="10") THEN decode <="0100"; ELSE decode <="1000"; END IF; end process decodage; end architecture comport;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

37 / 231

Outils et methodes de conception

Differents types de description

Conditionnelle IF

architecture behaviour of addc is begin calc_sum : process (a, b, cin) is begin if ( ((a + b + cin) rem 2) = 0) then sum <= 0 after 2 ns ; else sum <= 1 after 2 ns ; end if ; end process calc_sum ; calc_cout : process (a, b, cin) is begin if (a + b + cin >= 2) then cout <= 1 after 1 ns ; else cout <= 0 after 1 ns ; end if ; end process calc_cout ; end architecture behaviour ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

38 / 231

Outils et methodes de conception

Differents types de description

Conditionnelle CASE

case expression is when VALUE-1 => instructions sequentielles 1 when VALUE-2 VALUE-3 => instructions sequentielles 2 when VALUE-M to VALUE-N => instructions sequentielles 3 when others => instructions sequentielles n end case ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

39 / 231

Outils et methodes de conception

Differents types de description

Conditionnelle CASE
library ieee; use ieee.std_logic_1164.all; entity decodeur is port ( choix : in std_logic_vector(1 downto 0); decode : out std_logic_vector(3 downto 0)); end entity decodeur; architecture comport of decodeur decodage : process(choix) is begin CASE choix WHEN "00" => decode <="0001"; WHEN "01" => decode <="0010"; WHEN "10" => decode <="0100"; WHEN "11" => decode <="1000"; WHEN OTHERS => NULL; END CASE; end process decodage; end architecture comport;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

40 / 231

Outils et methodes de conception

Differents types de description

Boucle FOR

[loop label] for identier in discrete range loop instructions du corps de boucle end loop [loop label] ; La variable identifier est
auto-declar ee elle nest visible que dans le corps de la boucle

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

41 / 231

Outils et methodes de conception

Differents types de description

Boucle FOR

entity additionneur is generic (N : natural := 8); port (a, b : in std_logic_vector(N-1 downto 0); s : out std_logic_vector(N-1 downto 0)); end additionneur;

architecture flot of additionneur is begin -- flot

add : process(a,b) variable sum,btemp : std_logic_vector(N-1 downto 0); variable retenue : std_logic_vector(N downto 0); begin -- process add btemps := b; retenue(0):=0; calcul : for i in 0 to N-1 loop sum(i):= a(i) xor btemp(i) xor retenue(i); retenue(i+1) := (a(i) and btemp(i)) or (a(i) and retenue(i)) or (btemp(i) and retenue(i)); end loop calcul; end process add; end flot;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

42 / 231

Outils et methodes de conception

Les types en VHDL

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 43 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Les types en VHDL

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 44 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Les types en VHDL

Les differents Type VHDL


Les types originaux
Bit is (0, 1); Bit vector is array (Natural range <>) of Bit; Boolean is (false, true); Character Integer Natural is Integer range 0 to Integerhigh Positive is Integer range 1 to Integerhigh Real String is array (Positive range <>) of Character Time units fs; -- femtoseconde ps = 1000 fs; -- picoseconde ns = 1000 ps; -- nanoseconde us = 1000 ns; -- microseconde ms = 1000 us; -- milliseconde sec = 1000 ms; -- seconde min = 60 sec; -- minute hr = 60 min; -- heure end units;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 45 / 231

Outils et methodes de conception

Les types en VHDL

Les differents Type VHDL

par ieee (paquetage 1164) Les types ajoutes std ulogic is ( U, -- Non Initialis e - Non synth etis e X, -- Forc age Ind etermin e - Non synth etis e 0, -- Forc age ` a 0 - Synth` ese = 0 1, -- Forc age ` a 1 - Synth` ese = 1 Z, -- Haute Impedance - Synth` ese = Z W, -- Faible Ind etermin e - Non synth etis e L, -- Faible ` a 0 - Synth` ese = 0 H, -- Faible ` a 1 - Synth` ese = 1 - -- Peu Importe - Non synth etis e std ulogic vector is array ( natural range <> ) of std ulogic;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

46 / 231

Outils et methodes de conception

Les types en VHDL

Std logic type resolu de std ulogic

U X 0 1 Z W L H -

U U U U U U U U U U

X U X X X X X X X X

0 U X 0 X 0 0 0 0 X

1 U X X 1 1 1 1 1 X

Z U X 0 1 Z W L H X

W U X 0 1 W W W W X

L U X 0 1 L W L W X

H U X 0 1 H W W H X

- U X X X X X X X X

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

47 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 48 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Signaux et Variables en VHDL

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 49 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Signaux et Variables en VHDL

Les variables

dans les instructions sequentielles Les variables sont utilisees ` aucune realit e electronique Elles ne correspondent a des variables dans un langage de programmation Elles jouent le role limitee au processus dans lequel elles sont declar Elles ont une portee ees Elles sont typees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

50 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les variables

Affectation
Symbole daffectation de variables := Laffectation dune variable est instantanee

Utilisation
` une variable Affectation dun signal a Execution dun algorithme sequentiel ` un signal Affectation dune variable a Autre utilisation : identicateur de boucle

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

51 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

physiques echang entre les Les signaux representent les donnees ees modules (anglais data signal) dans le circuit nal par une equipotentielle Chaque signal sera materialis e Exemples :
et de sorties dune entite ports dentrees ` une architecture signaux internes a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

52 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

Instruction daffectation de signaux : s <= d after delay ;


s est le signal d est le driver delay est le delai

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

53 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

Chaque signal a un type, comme dans un langage structure Le type denit lensemble des valeurs que peut prendre le signal. Les signaux de type synthetisable sont synthetisables. pas de conversion automatique VHDL est fortement type,
davoir recours a ` des fonctions de conversion Necessit e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

54 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

es Types enum er
type boolean is (false, true) ; ` type character is (liste des caracteres)
` Tous les caracteres ISO 8 bits ` est notee A Une constante caractere

type bit is (0, 1) ; type severity level is (note, warning, error, failure) ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

55 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

Entiers :
type integer is range -2147483 to 2147482 ; subtype positive is integer range 1 to integerhigh ; subtype natural is integer range 0 to integerhigh ;

Remarques sur entiers :


en complement `2 Valeurs negatives codees a es comme bus 32 bits par defaut Entiers synthetis

Intervalles :
8 bits C2 Subtype byte is integer range -128 to 127 code

Reels :
type real is range $- to $+ Reels pas synthetisables

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

56 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les signaux

library ieee; use ieee.std_logic_1164.all; entity aff is port( a : in std_logic; d : out std_logic_vector(3 downto 0)); end entity aff; architecture flot of aff is signal aint : std_logic; begin aint <= 1; a<=aint; -- Erreur On ne peut pas ecrire sur une entree d<="0001"; end architecture flot;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

57 / 231

Outils et methodes de conception

Signaux et Variables en VHDL

Les operateurs Logiques

and or Les operateurs logiques : xor not

` bit et bit a ` bit ou bit a ` bit ou-exclusif bit a ` bit non bit a

Les operateurs arithmetiques + Addition Soustraction * Multiplication / Division Peu Synthetisable mod Modulo Pas Synthetisable exp Exponentitation Pas synthetisable

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

58 / 231

Outils et methodes de conception

Les tableaux

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 59 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Les tableaux

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 60 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Les tableaux

Les Tableaux

Declaration
type nom is array (intervalle) of type de base

Utilisation
Modelisation de bus. Modelisation de memoires.

` Synthese
` 1 dimension Tableaux a Indices entiers ou sous-type entiers Elements du tableau synthetisables

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

61 / 231

Outils et methodes de conception

Les tableaux

Les Tableaux

enis Types tableaux pred


type bit vector is array (natural range <>) of bit ; type string is array (positive range <>) of character ; type std ulogic vector is array (natural range <>) of std ulogic ; type std logic vector is array (natural range <>) of std logic ;

Exemples de modelisation de bus


Subtype byte is std logic vector (7 downto 0) ; Subtype word is std logic vector (15 downto 0) ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

62 / 231

Outils et methodes de conception

erique Gen

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 63 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

erique Gen

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 64 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

erique Gen

Generic

` eriques avant les ports Les parametres gen sont denis dans lentite, dentrees-sorties : Ils peuvent etre utilises
apres ` leur declaration Dans lentite a ` lentite Dans le corps de toute architecture associee

entity MON-ET is generic (tp: time := 2ns); port( A : in std_logic; B : in std_logic; S : out std_logic); end entity MON-ET;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

65 / 231

Outils et methodes de conception

erique Gen

Generic
` erique ee lors de linstanciation de La valeur du parametre gen est precis lentite Des instances differentes peuvent utiliser des valeurs differentes
entity doubleor is port (in1, in2 : in std_logic; out2 : out std_logic); end entity doubleor; architecture struct of doubleor is signal out1 : std_logic; begin Gate1 : entity work.or2(behaviour) Generic map (2 ns) Port map (in1, in2, out1) ; Gate2 : entity work.or2(behaviour) Generic map (T_pd => 3 ns) Port map (a => out1, b => in2, y => out2) ; end architecture struct;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 66 / 231

Outils et methodes de conception

erique Gen

Generic
` erique lors de Une valeur par defaut du parametre gen peut etre indiquee sa declaration Lors de linstanciation, cette valeur peut etre : telle quelle Utilisee par une autre valeur Remplacee
entity dff is Generic ( T_pd, T_su : time := 2 ns ; T_h : time := 0 ns) ; Port (clock, d : in std_logic ; q : out std_logic) end entity dff; architecture struct of reg is ....... Request_dff : entity work.dff (behaviour) Generic map (4 ns, 3 ns, open) Port map (system_clock, request, prending_request) ....... endGranado architecture struct; Bertrand Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013

67 / 231

Outils et methodes de conception

erique Gen

Generate

Linstruction concurrente generate permet de dupliquer des instructions ` iterative concurrentes de maniere ou conditionnelle.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

68 / 231

Outils et methodes de conception

erique Gen

Generate
entity shiftreg is generic (nbits: positive := 8); port (clk, rst, d: in std_logic; q: out std_logic); end entity shiftreg; architecture structure of shiftreg is component dff is port (clk, rst, d: in std_logic; q: out std_logic); end component dff; signal qint: std_logic _vector(1 to nbits-1); Begin cell_array: for i in 1 to nbits generate first_cell: if i = 1 generate dff1: dff port map (clk, rst, d, qint(1)); end generate first_cell; int_cell: if i > 1 and i < nbits generate dffi: dff port map (clk, rst, qint(i-1), qint(i)); end generate int_cell; last_cell: if i = nbits generate dffn: dff port map (clk, rst, qint(nbits-1), q); end generate last_cell; end generate cell_array; end architecture structure;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 69 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 70 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

` Etats en VHDL Les Machines a

1 2

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire
Sysprog Hiver 2013 71 / 231

3 4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

` Etats en VHDL Les Machines a

` etats Les machines a en VHDL

Moore ou Mealy Utilisation dau moins 2 process


` letat Un process de transition de letat futur a present Un process de determination des sorties et de letat futur

e Utilisation de type enum er

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

72 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machines de Moore - 2 process - Entite

LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; USE ieee.std_logic_arith.ALL; ENTITY mae IS PORT( a : IN hor : IN raz : IN b : OUT ); END mae ;

std_logic; std_logic; std_logic; std_logic

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

73 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Moore - 2 process - Architecture


ARCHITECTURE diagram OF mae IS TYPE STATE_TYPE IS (Etat0,Etat1,Etat2); SIGNAL EtatPresent : STATE_TYPE ; SIGNAL EtatFutur : STATE_TYPE ; BEGIN clocked : PROCESS(hor,raz) BEGIN ... END PROCESS clocked; nextstate : PROCESS (EtatPresent,a) BEGIN ... END PROCESS nextstate; END diagram;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

74 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Moore - 2 process - Architecture

clocked : PROCESS(hor,raz) BEGIN IF (raz = 0) THEN EtatPresent <= Etat0; ELSIF (horEVENT AND hor = 1) THEN EtatPresent <= EtatFutur; END IF; END PROCESS clocked;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

75 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Moore - 2 process - Architecture


nextstate : PROCESS (EtatPresent,a) BEGIN CASE EtatPresent IS WHEN Etat0 => b <= 1; EtatFutur <= Etat1; WHEN Etat1 => b <= 0; IF (a = 1) THEN EtatFutur <= Etat2; ELSIF (a = 0) THEN EtatFutur <= Etat1; ELSE EtatFutur <= Etat1; END IF; WHEN Etat2 => b <= 0; EtatFutur <= Etat0; WHEN OTHERS => EtatFutur <= Etat0; END CASE; END PROCESS nextstate;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 76 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Mealy - 2 process - Entite

LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; USE ieee.std_logic_arith.ALL; ENTITY mae IS PORT( a : IN hor : IN raz : IN b : OUT ); END mae ;

std_logic; std_logic; std_logic; std_logic

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

77 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Mealy - 2 process - Architecture

ARCHITECTURE diagram OF mae IS TYPE STATE_TYPE IS (Etat0,Etat1,Etat2); SIGNAL EtatPresent : STATE_TYPE ; SIGNAL EtatFutur : STATE_TYPE ; BEGIN clocked : PROCESS(hor,raz) BEGIN ... END PROCESS clocked; nextstate : PROCESS (EtatPresent,a) BEGIN ... END PROCESS nextstate; END diagram;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

78 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Mealy - 2 process - Architecture

clocked : PROCESS(hor,raz) BEGIN IF (raz = 0) THEN EtatPresent <= Etat0; -- Reset Values ELSIF (horEVENT AND hor = 1) THEN EtatPresent <= EtatFutur; -- Default Assignment To Internals END IF; END PROCESS clocked;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

79 / 231

Outils et methodes de conception

` Etats en VHDL Les Machines a

Machine de Mealy - 2 process - Architecture

nextstate : PROCESS (EtatPresent,a) BEGIN CASE EtatPresent IS WHEN Etat0 => b <= 1; EtatFutur <= Etat1; WHEN Etat1 => IF (a = 1) THEN b <= 0; EtatFutur <= Etat2; ELSIF (a = 0) THEN b <= 1 ; EtatFutur <= Etat1; ELSE EtatFutur <= Etat1; END IF; WHEN Etat2 => b <= 0; EtatFutur <= Etat0; WHEN OTHERS => EtatFutur <= Etat0; END CASE; END PROCESS nextstate;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

80 / 231

Outils et methodes de conception

Clause Wait

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 81 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Clause Wait

La clause Wait

wait on liste de signaux


enement ` un ev sur lun des signaux de la liste de signaux provoque lexecution du processus
half_adder : process is begin sum <= a xor b after T_pd ; carry <= a and b after T_pd ; wait on a, b ; end process half_adder ;

half_adder : process(a, b) is begin sum <= a xor b after T_pd ; carry <= a and b after T_pd ; end process half_adder ;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

82 / 231

Outils et methodes de conception

Clause Wait

La clause Wait

wait until condition


condition est une condition booleenne Ce qui se passe :
` linstruction wait Le processus est suspendu lorsquil arrive a lorsque condition est testee et vraie Le processus est relance

de wait until Liste de sensibilite


lorsquun ev enement ` condition est testee se produit sur lun des signaux qui y apparaissent est la liste des signaux qui apparaissent dans condition la liste de sensibilite

wait until condition ` : wait on liste des signaux de condition until equivaut a condition

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

83 / 231

Outils et methodes de conception

Clause Wait

La clause Wait

wait for duree


Ce qui se passe :
` linstruction wait Le processus est suspendu lorsquil arrive a apres ` une temporisation duree Le processus est relance

clock_gen : process is begin clock <= 1 after T_pw, 0 after 2* T_pw ; wait for 2* T_pw ; end process clock_gen ;
Pas synthetisable

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

84 / 231

Outils et methodes de conception

Clause Wait

La clause Wait

Wait
Ce qui se passe :
` linstruction wait Le processus est suspendu lorsquil arrive a ` la n de la simulation Il reste suspendu jusqua

Exemple dapplication : test bench VHDL permet de decrire dans le meme langage :
` tester Le circuit a eration La gen des signaux dentree. La verication des signaux de sortie.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

85 / 231

Outils et methodes de conception

Test Bench

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 86 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Test Bench

Test Bench

eration Gen de Stimuli Analyse des resultats Utilisation de clause Assert

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

87 / 231

Outils et methodes de conception

Test Bench

Assert

ASSERT condition REPORT string SEVERITY severity level;

check_setup: PROCESS (clk, d) BEGIN IF (clkEVENT AND clk=1) THEN -- test si front mon ASSERT dSTABLE(setup_time) -- regarde si d es REPORT "Setup Violation..." -- affiche u SEVERITY WARNING; END IF; END PROCESS check_setup;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

88 / 231

Outils et methodes de conception

Test Bench

Assert

erit e : Niveaux de sev


pour information seulement Note : utilise dun chier Note : Chargement de donnees pour fournir une information sur une erreur en instance Warning : utilise Warning : Detection dun pic pour information seulement Error : utilise Error : Violation du temps dinitialisation Failure : raporte une grosse erreur Failure : Ligne RESET instable

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

89 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

90 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

91 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

92 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

93 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

94 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

95 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

96 / 231

Outils et methodes de conception

Test Bench

TestBench

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

97 / 231

Outils et methodes de conception

Simulation

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 98 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Simulation

Simulation Evenementielle
Initialisation
1 2 3 4

Assign initial values to signals and variables. Tc = 0ns, = 0 Execute all processes until they suspend. Determine next time Tn according to 4.

Cycle
1 2 3 4

Tc = Tn. Update signals. Execute all processes sensitive to updated signals. Determine next time Tn:

if pending transactions at current time: = + 1 then 2 if no more pending transactions or Tn = timehigh then STOP else Tn = time of next earliest pending transaction, = 0
5

Execute postponed processes.


Sysprog Hiver 2013 99 / 231

Bertrand (LIP6 / UPMC) 6 Granado gotoEnseignant-Chercheur 1.

Outils et methodes de conception

Paquetage, Procedure et Fonction

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 100 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

Paquetage, Procedure et Fonction

Paquetage

package proc_pkg is subtype data is integer range 0 to 3; type darray is array (1 to 3) of data; end package proc_pkg; use work.proc_pkg.all; entity procstmt is port ( inar : in darray; outar: out darray); end entity procstmt;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

101 / 231

Outils et methodes de conception

Paquetage, Procedure et Fonction

Procedure
architecture a of procstmt is begin process (inar) procedure swap (d: inout darray; l, h: in postitive) is variable tmp: data; begin if d(l) > d(h) then tmp := d(l); d(l) := d(h); d(h) := tmp; end if; end swap; variable tmpar: darray; begin tmpar := inar; swap(tmpar,1,2); swap(tmpar,2,3); swap(tmpar,1,2); outar <= tmpar; end process; end architecture a;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 102 / 231

Outils et methodes de conception

Paquetage, Procedure et Fonction

Fonction
entity parity_check is generic (NBITS: positive := 8); port ( data: in bit_vector(NBITS-1 downto 0); prty: out bit); end entity parity_check; architecture func of parity_check is begin process (data) function parity (bv: bit_vector) return bit is variable result: bit; begin result := 0; for i in bvrange loop result := result xor bv(i); -- odd parity end loop; return result; end function parity; begin prty <= parity(data); end process; end architecture func;
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog Hiver 2013 103 / 231

Outils et methodes de conception

Paquetage, Procedure et Fonction

Fonction de conversion

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

104 / 231

Outils et methodes de conception

` etats Machines a

Plan
1

Introduction Outils et methodes de conception VHDL Differents types de description Les types en VHDL Signaux et Variables en VHDL Les tableaux erique Gen ` Etats en VHDL Les Machines a Clause Wait Test Bench Simulation Paquetage, Procedure et Fonction ` etats Machines a
Sysprog Hiver 2013 105 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

` etats Machines a

` Systeme Numerique

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

106 / 231

Outils et methodes de conception

` etats Machines a

` Systeme Numerique

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

106 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees
Son etat electrique E

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees
Son etat electrique E Ses sorties : s0 , ..., si , ..., sn1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees
Son etat electrique E Ses sorties : s0 , ..., si , ..., sn1

` Il existe deux type de systemes electroniques


` ` laide de logique combinatoire Les systemes combinatoires construits a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees
Son etat electrique E Ses sorties : s0 , ..., si , ..., sn1

` Il existe deux type de systemes electroniques


` ` laide de logique combinatoire Les systemes combinatoires construits a ` ` laide de logique sequentielle Les systemes sequentiels construits a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

` Denition des systemes electroniques

` e par Un systeme electronique est caracteris : e0 , ..., ei , ..., en1 Ses entrees
Son etat electrique E Ses sorties : s0 , ..., si , ..., sn1

` Il existe deux type de systemes electroniques


` ` laide de logique combinatoire Les systemes combinatoires construits a ` ` laide de logique sequentielle Les systemes sequentiels construits a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

107 / 231

Outils et methodes de conception

` etats Machines a

Logique Combinatoire

Denition : par Un circuit electronique est dit combinatoire si ses sorties sont determin ees et ceci apres ` un temps ni. Letat la combinaison de ses variables dentrees ` dun systeme est donc deni par la combinaison des variables e0 , ..., ei , ..., en1 .

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

108 / 231

Outils et methodes de conception

` etats Machines a

Logique Combinatoire

e1 ei en

Circuit Combinatoire

s1 si sn

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

109 / 231

Outils et methodes de conception

` etats Machines a

Logique Combinatoire

e1 ei en

Circuit Combinatoire

s1 si sn

tp t
p

tp

s1 s i sn

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

109 / 231

Outils et methodes de conception

` etats Machines a

Logique Combinatoire

e1 ei en

Circuit Combinatoire tp

s1 si sn

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

109 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

Denition : non Un circuit electronique est dit sequentiel si ses sorties sont determin ees seulement par la combinaison de ses variables dentrees, mais aussi par la edentes et par letat sequence des combinaisons prec de ses entrees initial du ` systeme.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

110 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

` lors que : Il appara t des Une meme combinaison de e0 , . . . , ei , . . . , en1 peut engendrer differents ` etats du systeme.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

111 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

` lors que : Il appara t des Une meme combinaison de e0 , . . . , ei , . . . , en1 peut engendrer differents ` etats du systeme. ` ` Un systeme sequentiel est un systeme combinatoire de e0 , . . . , ei , . . . , en1 et de y0 , . . . , yi , . . . , yn1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

111 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

` lors que : Il appara t des Une meme combinaison de e0 , . . . , ei , . . . , en1 peut engendrer differents ` etats du systeme. ` ` Un systeme sequentiel est un systeme combinatoire de e0 , . . . , ei , . . . , en1 et de y0 , . . . , yi , . . . , yn1 y0 , . . . , yi , . . . , yn1 sont des variables internes indiquant letat present du ` systeme

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

111 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

` lors que : Il appara t des Une meme combinaison de e0 , . . . , ei , . . . , en1 peut engendrer differents ` etats du systeme. ` ` Un systeme sequentiel est un systeme combinatoire de e0 , . . . , ei , . . . , en1 et de y0 , . . . , yi , . . . , yn1 y0 , . . . , yi , . . . , yn1 sont des variables internes indiquant letat present du ` systeme e0 , . . . , ei , . . . , en1 et les variables internes Les entrees ` y0 , . . . , yi , . . . , yn1 preparent letat futur du systeme.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

111 / 231

Outils et methodes de conception

` etats Machines a

Logique Sequentielle

e1 ei en

Circuit Combinatoire tp

s1 si sn y1 yi yn

s1 s i sn y1 y i yn

Circuit Squentiel

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

112 / 231

Outils et methodes de conception

` etats Machines a

` Logique Sequentielle - Systeme Sequentiel Asynchrone

e1 ei en

Circuit Combinatoire tp

s1 si sn y1 yi yn

s1 s i sn y1 y i yn

Circuit Squentiel

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

113 / 231

Outils et methodes de conception

` etats Machines a

` Logique Sequentielle - Systeme Sequentiel Synchrone

e1 ei en

Circuit Combinatoire

s1 si sn y1 yi yn

s1 s i sn
D Q D Q D Q

y1 y i yn

Circuit Squentiel

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

114 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

conduisent a ` un nombre ni de Les combinaisons des entrees combinaisons de sortie.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

115 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

conduisent a ` un nombre ni de Les combinaisons des entrees combinaisons de sortie. ` nombre detats Dou nis ou Machine A Etats. ` lappelation machine a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

115 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

conduisent a ` un nombre ni de Les combinaisons des entrees combinaisons de sortie. ` nombre detats Dou nis ou Machine A Etats. ` lappelation machine a : Combinaison des variables dentree Vecteur dentree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

115 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

conduisent a ` un nombre ni de Les combinaisons des entrees combinaisons de sortie. ` nombre detats Dou nis ou Machine A Etats. ` lappelation machine a : Combinaison des variables dentree Vecteur dentree Vecteur de sortie : Combinaison des variables de sortie

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

115 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Denitions

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Denitions
Etat : Indicateur de position dans le temps

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Denitions
Etat : Indicateur de position dans le temps de bascules permettant de memoriser Registre dEtat : Compose les valeurs des etats

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Denitions
Etat : Indicateur de position dans le temps de bascules permettant de memoriser Registre dEtat : Compose les valeurs des etats ` linstant present Etat Present : sortie stable du registre detat a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Notations :
:E Entree Etat Present : EP Etat Futur : EF Sortie : S

Denitions
Etat : Indicateur de position dans le temps de bascules permettant de memoriser Registre dEtat : Compose les valeurs des etats ` linstant present Etat Present : sortie stable du registre detat a ` une impulsion Etat Futur : etat dans lequel se trouvera la machine apres

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

116 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Table de transition : deux parties indiquant le present et le futur. a ` linstant n E : Entree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

117 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Table de transition : deux parties indiquant le present et le futur. a ` linstant n E : Entree ` linstant n EP : Etat Present a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

117 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Table de transition : deux parties indiquant le present et le futur. a ` linstant n E : Entree ` linstant n EP : Etat Present a ` linstant n + 1 EF : Etat Suivant a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

117 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Table de transition : deux parties indiquant le present et le futur. a ` linstant n E : Entree ` linstant n EP : Etat Present a ` linstant n + 1 EF : Etat Suivant a ` linstant n + 1 S : Fonction de Sortie a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

117 / 231

Outils et methodes de conception

` etats Machines a

` etats Machines a

Table de transition : deux parties indiquant le present et le futur. a ` linstant n E : Entree ` linstant n EP : Etat Present a ` linstant n + 1 EF : Etat Suivant a ` linstant n + 1 S : Fonction de Sortie a Table de transition E Entree EP Etat Present EF Etat Suivant S Sortie

Avant Impulsion Horloge

` Impulsion Horloge Apres

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

117 / 231

Outils et methodes de conception

` etats Machines a

Machines de Mealy asynchrone

EP Circuit Combinatoire tp

EF

Registre dtat

Signal dHorloge

S=F(EP,E)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

118 / 231

Outils et methodes de conception

` etats Machines a

Machines de Mealy synchrone

EP Circuit Combinatoire tp

EF

Registre dtat

Signal dHorloge

S=F(EP,E)
Registre de sortie

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

119 / 231

Outils et methodes de conception

` etats Machines a

Machines de Moore

EP Circuit Combinatoire tp

EF

Registre dtat

S=F(EP)
Signal dHorloge

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

120 / 231

Outils et methodes de conception

` etats Machines a

` Etats Machines a

Machine de Mealy : S = f (E , EP ) et EF = g (E , EP )

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

121 / 231

Outils et methodes de conception

` etats Machines a

` Etats Machines a

Machine de Mealy : S = f (E , EP ) et EF = g (E , EP ) Dans un etat, le vecteur sortie peut varier en fonction des valeurs du vecteur dentree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

121 / 231

Outils et methodes de conception

` etats Machines a

` Etats Machines a

Machine de Mealy : S = f (E , EP ) et EF = g (E , EP ) Dans un etat, le vecteur sortie peut varier en fonction des valeurs du vecteur dentree Machine de Moore : S = f (EP ) et EF = g (E , EP )

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

121 / 231

Outils et methodes de conception

` etats Machines a

` Etats Machines a

Machine de Mealy : S = f (E , EP ) et EF = g (E , EP ) Dans un etat, le vecteur sortie peut varier en fonction des valeurs du vecteur dentree Machine de Moore : S = f (EP ) et EF = g (E , EP ) ` une valeur unique Dans un etat, le vecteur de sortie a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

121 / 231

Outils et methodes de conception

` etats Machines a

Notations Transitions

Transition

EP

horloge.EP.Entre

EF

MEALY S0 Entre/Sortie S1

MOORE S0/Sortie Entre S1/Sortie

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

122 / 231

Outils et methodes de conception

` etats Machines a

` etats Realisation des machines a

Deux phases principales :

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

123 / 231

Outils et methodes de conception

` etats Machines a

` etats Realisation des machines a

Deux phases principales :


` etats Phase de conception : determine larchitecture de la machine a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

123 / 231

Outils et methodes de conception

` etats Machines a

` etats Realisation des machines a

Deux phases principales :


` etats Phase de conception : determine larchitecture de la machine a ` : mise en oeuvre de larchitecture de la machine a ` etat Phase de synthese

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

123 / 231

Outils et methodes de conception

` etats Machines a

` etats Realisation des machines a

Deux phases principales :


` etats Phase de conception : determine larchitecture de la machine a ` : mise en oeuvre de larchitecture de la machine a ` etat Phase de synthese

sur 7 etapes Proposition dune methode de conception basee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

123 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

Specication du cahier des charges (Crucial).

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2

Specication du cahier des charges (Crucial). Determination des etats.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2 3

Specication du cahier des charges (Crucial). Determination des etats. et des sorties de la machine a ` etats. Identication des entrees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2 3 4

Specication du cahier des charges (Crucial). Determination des etats. et des sorties de la machine a ` etats. Identication des entrees Etablissement du graphe de transistion.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2 3 4 5

Specication du cahier des charges (Crucial). Determination des etats. et des sorties de la machine a ` etats. Identication des entrees Etablissement du graphe de transistion. Etablissement de la table de transistion.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2 3 4 5 6

Specication du cahier des charges (Crucial). Determination des etats. et des sorties de la machine a ` etats. Identication des entrees Etablissement du graphe de transistion. Etablissement de la table de transistion. Determination du nombre de bascules necessaires.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

Methode de realisation

1 2 3 4 5 6 7

Specication du cahier des charges (Crucial). Determination des etats. et des sorties de la machine a ` etats. Identication des entrees Etablissement du graphe de transistion. Etablissement de la table de transistion. Determination du nombre de bascules necessaires. Determination des equations de letat futur et des sorties et realisation.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

124 / 231

Outils et methodes de conception

` etats Machines a

` 4 : Applications Les Etapes 1 a

Application 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

125 / 231

Outils et methodes de conception

` etats Machines a

` 4 : Applications Les Etapes 1 a

Application 1 Application 2

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

125 / 231

Outils et methodes de conception

` etats Machines a

` 4 : Applications Les Etapes 1 a

Application 1 Application 2 Application 3

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

125 / 231

Outils et methodes de conception

` etats Machines a

`7 Les Etapes 5 a

Etapes quasi automatiques

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

126 / 231

Outils et methodes de conception

` etats Machines a

`7 Les Etapes 5 a

Etapes quasi automatiques sur des methodes ` Basee de realisation de systemes electroniques standards

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

126 / 231

Outils et methodes de conception

` etats Machines a

Graphe de Transition : Moore

E0

Etat 0

E4

Etat 1
Sysprog Hiver 2013 127 / 231

S0 Enseignant-Chercheur (LIP6 S2 / UPMC) Bertrand Granado

Outils et methodes de conception

` etats Machines a

Graphe de Transition : Moore

Transitions Conditionnelles E0

Etat 0

E4

Etat 1
Sysprog Hiver 2013 127 / 231

S0 Enseignant-Chercheur (LIP6 S2 / UPMC) Bertrand Granado

Outils et methodes de conception

` etats Machines a

Graphe de Transition : Moore

Transitions Conditionnelles E0

Etat 0

E4

Etat 1
Sysprog Hiver 2013 127 / 231

S0 Enseignant-Chercheur (LIP6 S2 / UPMC) Bertrand Granado

Outils et methodes de conception

` etats Machines a

Graphe de Transition : Moore

Transitions Conditionnelles E0

Etat 0

E4

Etat 1
Sysprog Hiver 2013 127 / 231

S0 Enseignant-Chercheur (LIP6 S2 / UPMC) Bertrand Granado

Outils et methodes de conception

` etats Machines a

Graphe de Transistion : Moore

Il existe deux types de transitions :

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

128 / 231

Outils et methodes de conception

` etats Machines a

Graphe de Transistion : Moore

Il existe deux types de transitions :


Les transitions conditionnelles : elles ne seffectuent quen fonction dune et sur le front dhorloge. Il y a au moins certaine valeur du vecteur dentree deux transitions conditionnelle qui parte dun meme etat

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

128 / 231

Outils et methodes de conception

` etats Machines a

Graphe de Transistion : Moore

Il existe deux types de transitions :


Les transitions conditionnelles : elles ne seffectuent quen fonction dune et sur le front dhorloge. Il y a au moins certaine valeur du vecteur dentree deux transitions conditionnelle qui parte dun meme etat Les transitions inconditionnelles : elles seffectuent automatiquement sur le front dhorloge. Il ne peut y avoir quune seule transition qui parte dun etat lorsque celle-ci est inconditionnelle

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

128 / 231

Outils et methodes de conception

` etats Machines a

et Sortie Graphe de Transition : Vecteur Entree

des entrees et des sorties : les vecteurs Representation condensee et de sortie. dentree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

129 / 231

Outils et methodes de conception

` etats Machines a

et Sortie Graphe de Transition : Vecteur Entree

des entrees et des sorties : les vecteurs Representation condensee et de sortie. dentree
des entrees a,b et c. Lorsque a=0,b=0 et Ici E denote le vecteur dentree c=0 alors E=0 et on note E0, Lorsque a=0,b=0 et c=1 alors E=1 et on note ` a=1,b=1 et c=1 alors E=7 et on note E7 E1 ainsi de suite jusqu a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

129 / 231

Outils et methodes de conception

` etats Machines a

et Sortie Graphe de Transition : Vecteur Entree

des entrees et des sorties : les vecteurs Representation condensee et de sortie. dentree
des entrees a,b et c. Lorsque a=0,b=0 et Ici E denote le vecteur dentree c=0 alors E=0 et on note E0, Lorsque a=0,b=0 et c=1 alors E=1 et on note ` a=1,b=1 et c=1 alors E=7 et on note E7 E1 ainsi de suite jusqu a Ici S denote le vecteur de sortie des sorties x et y. Lorsque x=0 et y=0 alors S=0 et on note S0. Lorsque x=0 et y=1 alors S=1 et on note S1. Lorsque x=1 et y=0 alors S=2 et on note S2 et lorsque x=1 et y=1 S=3 et on note S3.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

129 / 231

Outils et methodes de conception

` etats Machines a

et Sortie Graphe de Transition : Vecteur Entree

des entrees et des sorties : les vecteurs Representation condensee et de sortie. dentree
des entrees a,b et c. Lorsque a=0,b=0 et Ici E denote le vecteur dentree c=0 alors E=0 et on note E0, Lorsque a=0,b=0 et c=1 alors E=1 et on note ` a=1,b=1 et c=1 alors E=7 et on note E7 E1 ainsi de suite jusqu a Ici S denote le vecteur de sortie des sorties x et y. Lorsque x=0 et y=0 alors S=0 et on note S0. Lorsque x=0 et y=1 alors S=1 et on note S1. Lorsque x=1 et y=0 alors S=2 et on note S2 et lorsque x=1 et y=1 S=3 et on note S3.

Toutes les combinaisons des vecteurs ne sont pas forcement utilisees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

129 / 231

Outils et methodes de conception

` etats Machines a

implicite lhorloge : entree

lhorloge est une entree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

130 / 231

Outils et methodes de conception

` etats Machines a

implicite lhorloge : entree

lhorloge est une entree ` etat Machine a synchrone

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

130 / 231

Outils et methodes de conception

` etats Machines a

implicite lhorloge : entree

lhorloge est une entree ` etat Machine a synchrone toujours presente Horloge = entree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

130 / 231

Outils et methodes de conception

` etats Machines a

implicite lhorloge : entree

lhorloge est une entree ` etat Machine a synchrone toujours presente Horloge = entree Le changement detat seffectue sur un front dhorloge

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

130 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore

E0

Etat 0

E4

Etat 1
Sysprog Hiver 2013 131 / 231

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Outils et methodes de conception

` etats Machines a

` Exemple Moore : table de transition complete

E E0 E1 E2 E3 E4 E5 E6 E7 ...

EP Etat 0 Etat 0 Etat 0 Etat 0 Etat 0 Etat 0 Etat 0 Etat 0 ...

EF Etat 0 X X X Etat 1 X X X ...

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

132 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : table de transition reduite

E E0 E4 X E1 E2

EP Etat 0 Etat 0 Etat 1 Etat 2 Etat 2

EF Etat 0 Etat 1 Etat 2 Etat 2 Etat 0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

133 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Codage


Determination du nombre de bascules

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

134 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Codage


Determination du nombre de bascules tats) log2 (nombred e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

134 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Codage


Determination du nombre de bascules tats) log2 (nombred e log2 (3) = 2

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

134 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Codage


Determination du nombre de bascules tats) log2 (nombred e log2 (3) = 2
Bascule 0 avec D0 et Q0 et Bascule 1 avec D1 et Q1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

134 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Codage


Determination du nombre de bascules tats) log2 (nombred e log2 (3) = 2
Bascule 0 avec D0 et Q0 et Bascule 1 avec D1 et Q1

Codage Etat Etat 0 Etat 1 Etat 2 Q1 0 0 1 Q0 0 1 0 Vecteur E E0 E1 E2 E3 E4 E5 E6 E7


Sysprog

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

Vecteur S S0 S1 S2 S3

x 0 0 1 1

y 0 1 0 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Hiver 2013

134 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : table de transition (equations)


E E0 E4 X E1 E2 E a 0 1 x 0 0 b 0 0 x 0 1 c 0 0 x 1 0
n Q1

EP Etat 0 Etat 0 Etat 1 Etat 2 Etat 2 EP


n Q0

EF Etat 0 Etat 1 Etat 2 Etat 2 Etat 0 EF


n +1 Q1

0 0 0 1 1

0 0 1 0 0
Sysprog

0 0 1 1 0

n +1 Q0 0 1 0 0 0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Hiver 2013

135 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations Bascules Registre detat


n +1 Q0 :

n Q1

n Q0

a b c

0 0 0 0 0 x x

0 0 1 x 0 0 0

0 1 1 x 0 x x

0 1 0 x 0 0 0

1 1 0 x 0 x x

1 1 1 x 0 x x

1 0 1 x 0 x x

1 0 0 1 0 x x

0 0 1 1
n +1 Q1 :

0 1 1 0

n Q1

n Q0

a b c

0 0 0 0 1 x x

0 0 1 x 1 x 1

0 1 1 x 1 x x

0 1 0 x 1 x 0

1 1 0 x 1 x x

1 1 1 x 1 x x

1 0 1 x 1 x x

1 0 0 0 1 x x
Hiver 2013 136 / 231

0 0 1 1

0 1 1 0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations sorties

x:
n Q1 n Q0

0 0 0

1 1 x

0 1 y:
n Q1 n Q0

0 0 1

1 0 x

0 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

137 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations

n +1 Q0 =

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

138 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations

n +1 Q0 = n +1 Q1 =

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

138 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations

n +1 Q0 = n +1 Q1 =

x=

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

138 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations

n +1 Q0 = n +1 Q1 =

x= y=

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

138 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : Equations

n +1 Q0 = n +1 Q1 =

x= y= Schema

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

138 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

139 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Codage

Determination du nombre de bascules

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

140 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Codage

Determination du nombre de bascules tats) log2 (nombred e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

140 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Codage

Determination du nombre de bascules tats) log2 (nombred e log2 (2) = 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

140 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Codage

Determination du nombre de bascules tats) log2 (nombred e log2 (2) = 1


Bascule 0 avec D0 et Q0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

140 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Codage

Determination du nombre de bascules tats) log2 (nombred e log2 (2) = 1


Bascule 0 avec D0 et Q0

Codage Etat Etat 0 Etat 1 Q0 0 1 Vecteur E E0 E1 a 0 1 Vecteur S S0 S1 S2 S3 x 0 0 1 1 y 0 1 0 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

140 / 231

Outils et methodes de conception

` etats Machines a

Exemple Moore : table de transition

E E0 E1 E0 E1 E a 0 1 0 1

EP Etat 0 Etat 0 Etat 1 Etat 1 EP


n Q0

EF Etat 0 Etat 1 Etat 0 Etat 1 EF


n+1 Q0

S S0 S1 S2 S3 S x 0 0 1 1 y 0 1 0 1

0 0 1 1

0 1 0 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

141 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Equations Bascules et sorties


n +1 Q0 : n Q0

0 0 0

1 1 1

0 1 x:
n Q0

0 0 1

1 0 1

0 1 y:
n Q0

0 0 0

1 1 1
Hiver 2013 142 / 231

0 1
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) Sysprog

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Equations

n +1 Q0 =

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

143 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Equations

n +1 Q0 =

x=

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

143 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Equations

n +1 Q0 =

x= y=

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

143 / 231

Outils et methodes de conception

` etats Machines a

Exemple Mealy : Equations

n +1 Q0 =

x= y= Schema

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

143 / 231

Outils et methodes de conception

` etats Machines a

One hot Encoding

Codage par defaut : codage binaire = coder les etats avec le moins de bits possibles

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

144 / 231

Outils et methodes de conception

` etats Machines a

One hot Encoding

Codage par defaut : codage binaire = coder les etats avec le moins de bits possibles One hot Encoding : rajouter des bascules an de simplier les equations combinatoires

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

144 / 231

Outils et methodes de conception

` etats Machines a

One hot Encoding

Codage par defaut : codage binaire = coder les etats avec le moins de bits possibles One hot Encoding : rajouter des bascules an de simplier les equations combinatoires Principe : Une bascule par etat

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

144 / 231

Outils et methodes de conception

` etats Machines a

One hot Encoding

Codage par defaut : codage binaire = coder les etats avec le moins de bits possibles One hot Encoding : rajouter des bascules an de simplier les equations combinatoires Principe : Une bascule par etat ` 1, toutes les autres ont leur sortie Il ny a quune bascule ayant sa sortie a `0 a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

144 / 231

Outils et methodes de conception

` etats Machines a

One hot Encoding

Codage par defaut : codage binaire = coder les etats avec le moins de bits possibles One hot Encoding : rajouter des bascules an de simplier les equations combinatoires Principe : Une bascule par etat ` 1, toutes les autres ont leur sortie Il ny a quune bascule ayant sa sortie a `0 a ` 1 alors la machine est dans letat Lorsque la sortie de la bascule i est a i

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

144 / 231

Outils et methodes de conception

` etats Machines a

Synchronisation des Entrees

CK

STABLE ts th

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

145 / 231

Outils et methodes de conception

` etats Machines a

: probleme ` Synchronisation des Entrees

N P t p0 t p1 I A

D0
Registre dtat

D1
Signal dHorloge

Registre de sortie

F=F(P,I)

Horloge

A D0 D1

t p0 t p1 tS

Non Violation Violation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

146 / 231

Outils et methodes de conception

` etats Machines a

: probleme ` Synchronisation des Entrees

Le changement dune seule variable peut entrainer des changements du registre detat multiples sur les entrees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

147 / 231

Outils et methodes de conception

` etats Machines a

: probleme ` Synchronisation des Entrees

Le changement dune seule variable peut entrainer des changements du registre detat multiples sur les entrees de la machine nest pas predictible En cas de violation de tS ou de tH letat

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

147 / 231

Outils et methodes de conception

` etats Machines a

: solution ? Synchronisation des Entrees

N P t p0 t p1

D0
Registre dtat

D1

Signal dHorloge

Registre dentre

A
Registre de sortie

F=F(P,I)

Horloge

Horloge

Horloge

A A D0 D1

t p0 t p1

t >> t S

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

148 / 231

Outils et methodes de conception

` etats Machines a

: solution ? Synchronisation des Entrees

A : En cas de violation de tS ou de tH par lentree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

149 / 231

Outils et methodes de conception

` etats Machines a

: solution ? Synchronisation des Entrees

A : En cas de violation de tS ou de tH par lentree


Si la sortie A de la bascule reste dans son etat, le changement de sera prise en compte a ` limpulsion suivante linformation dentree

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

149 / 231

Outils et methodes de conception

` etats Machines a

: solution ? Synchronisation des Entrees

A : En cas de violation de tS ou de tH par lentree


Si la sortie A de la bascule reste dans son etat, le changement de sera prise en compte a ` limpulsion suivante linformation dentree La sortie A de la bascule peut passer dans un etat metastable

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

149 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Horloge tS Q

tH

tCO

t MET

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

150 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH .

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH . La violation des contraintes peut entrainer un etat metastable de la bascule.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH . La violation des contraintes peut entrainer un etat metastable de la bascule. Letat metastable nappara t pas forcement.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH . La violation des contraintes peut entrainer un etat metastable de la bascule. Letat metastable nappara t pas forcement. dun etat au processus de fabrication. La probabilite metastable est lie

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH . La violation des contraintes peut entrainer un etat metastable de la bascule. Letat metastable nappara t pas forcement. dun etat au processus de fabrication. La probabilite metastable est lie ne met pas forcement ` La metastabilit e le systeme dans un etat indetermin e.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Metastabilit e

Respect des contraintes tS ou de tH . La violation des contraintes peut entrainer un etat metastable de la bascule. Letat metastable nappara t pas forcement. dun etat au processus de fabrication. La probabilite metastable est lie ne met pas forcement ` La metastabilit e le systeme dans un etat indetermin e. est caracteris ee par le MTBF (Mean Time Between La metastabilit e Failure) du circuit

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

151 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

Il existe deux Acronymes pour denir les Memoires :

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

152 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

Il existe deux Acronymes pour denir les Memoires :


ROM : Read Only Memory (Memoire Lecture Seule) - Memoire Morte

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

152 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

Il existe deux Acronymes pour denir les Memoires :


ROM : Read Only Memory (Memoire Lecture Seule) - Memoire Morte ` acces ` Aleatoire) RAM : Random Access Memory (Memoire a - Memoire Vive

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

152 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

Il existe deux Acronymes pour denir les Memoires :


ROM : Read Only Memory (Memoire Lecture Seule) - Memoire Morte ` acces ` Aleatoire) RAM : Random Access Memory (Memoire a - Memoire Vive

` acces ` Aleatoire Ces acronymes denissent tous les deux des memoires a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

152 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

Il existe deux Acronymes pour denir les Memoires :


ROM : Read Only Memory (Memoire Lecture Seule) - Memoire Morte ` acces ` Aleatoire) RAM : Random Access Memory (Memoire a - Memoire Vive

` acces ` Aleatoire Ces acronymes denissent tous les deux des memoires a ` acces ` sequentiel Mais il existe aussi des memoires a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

152 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

ROM : Read Only Memory = Memoire Lecture Seule ?

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

153 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

ROM : Read Only Memory = Memoire Lecture Seule ? Les noms nont de sens que pour les auteurs !

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

153 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - types

ROM : Read Only Memory = Memoire Lecture Seule ? Les noms nont de sens que pour les auteurs ! Il existes des memoires avec differentes caracteristiques

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

153 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Une classication

` Quels Criteres pour classier ?

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

154 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Une classication

` Quels Criteres pour classier ? ` Criteres pertinents ou apparaissant comme tels.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

154 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Une classication

` Quels Criteres pour classier ? ` Criteres pertinents ou apparaissant comme tels. ` Criteres pas forcement indeniment valides.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

154 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Une classication


Lecture Seule

ROM RAM Statique RAM Dynamique Disques Dur Bandes


Magntique Accs Squentiel Electrique Accs Alatoire

Lecture Ecriture

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

155 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

manipulees Denition sur les donnees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

156 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

manipulees Denition sur les donnees binaire bit : Binary digIT - Plus petite quantite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

156 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

manipulees Denition sur les donnees binaire bit : Binary digIT - Plus petite quantite sur 8 bits - Unite de ref erence octet (byte) : information codee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

156 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

manipulees Denition sur les donnees binaire bit : Binary digIT - Plus petite quantite sur 8 bits - Unite de ref erence octet (byte) : information codee erence utilise - dependant mot (word) : ref la taille du bus de donnees du ` systeme - Un processeur 16 bits a une taille de mot de 16 bits, un processeur 64 bits a une taille de mot de 64 bits - Taille egale la taille du bus.

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

156 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire Bus dadresses (N bits) : selectionne 1 mot parmi 2N

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire Bus dadresses (N bits) : selectionne 1 mot parmi 2N

- Il existe au moins Signaux de controle

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire Bus dadresses (N bits) : selectionne 1 mot parmi 2N

- Il existe au moins Signaux de controle


CS : Chip Select (Selecteur de boitier) - Commande de letat haute impedance du bus de donnees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire Bus dadresses (N bits) : selectionne 1 mot parmi 2N

- Il existe au moins Signaux de controle


CS : Chip Select (Selecteur de boitier) - Commande de letat haute impedance du bus de donnees ` a ` la memoire R : Read (Lecture) - Indique que lacces est une lecture

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Denitions

Bus : interfaces entre memoire et monde exterieur


(M bits) : delivre Bus de donnees un mot de M bits de la memoire Bus dadresses (N bits) : selectionne 1 mot parmi 2N

- Il existe au moins Signaux de controle


CS : Chip Select (Selecteur de boitier) - Commande de letat haute impedance du bus de donnees ` a ` la memoire R : Read (Lecture) - Indique que lacces est une lecture ` a ` la memoire W : Write (Ecriture) - Indique que lacces est une ecriture

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

157 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM


Mot Dj
Vdd

Bit

T4 T2 T3

T6 T1 T5

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Bit

Hiver 2013

158 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Lecture


Mot Dj
Vdd

Bit

T4 T2 T3

T6 T1 T5

Vdd

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Bit Sortie

Hiver 2013

159 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Ecriture


Mot Dj
Vdd

Bit

T4 T2 T3

T6 T1 T5

Entre

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Bit W

Hiver 2013

160 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Autres Cellules SRAM

` ` 2 donnees en Cellule biport : permet dacceder simultanement a memoires

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

161 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Autres Cellules SRAM

` ` 2 donnees en Cellule biport : permet dacceder simultanement a memoires par contenu, utile pour les memoires Cellule CAM : cellule adressee caches associatives

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

161 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - les Biports

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

162 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - les CAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

163 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide Cellule Statique : Retention innie tant qualimentation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide Cellule Statique : Retention innie tant qualimentation Faible Consommation (CMOS)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide Cellule Statique : Retention innie tant qualimentation Faible Consommation (CMOS) Cellule volumineuse

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide Cellule Statique : Retention innie tant qualimentation Faible Consommation (CMOS) Cellule volumineuse ` Chere

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SRAM Bilan

Rapide Cellule Statique : Retention innie tant qualimentation Faible Consommation (CMOS) Cellule volumineuse ` Chere Volatile

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

164 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM

Bit T1 C

Mot

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

165 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM Bilan

Compact

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

166 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM Bilan

Compact Faible Consommation (CMOS)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

166 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM Bilan

Compact Faible Consommation (CMOS) de re ecriture Lecture destructrice : necessit e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

166 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM Bilan

Compact Faible Consommation (CMOS) de re ecriture Lecture destructrice : necessit e Rafra chissement regulier pour combler la decharge du condensateur

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

166 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DRAM Bilan

Compact Faible Consommation (CMOS) de re ecriture Lecture destructrice : necessit e Rafra chissement regulier pour combler la decharge du condensateur Volatile

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

166 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne


DM-1DM-2DM-3 D2 D1 D0

CS R W

Tampon dEntres/Sorties
2 2
N

Dcodeur de Ligne

N-1

1 bit

AN-1 AN-2

A1 A0

2 1

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

167 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne

Adressage Simple : une adresse une donnee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

168 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne

Adressage Simple : une adresse une donnee memoire large Grande capacite bus de donnee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

168 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne

Adressage Simple : une adresse une donnee memoire large Grande capacite bus de donnee Scinder ladresse en deux parties : ligne et colonne

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

168 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne

CS R W 2

Tampon dEntres/Sorties Multiplexeur 1 <-> K


K

D0

K-1

2 1

Dcodeur de Ligne

2 2

N-K

N-K-1

1 bit

AN-1 AN-2

AK+1 AK

2 1
K K-1

2 1

Dcodeur de Colonne
AK-1AK-2 A1 A0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

169 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Interne

CS R W 2

Tampon dEntres/Sorties Multiplexeur 4 <-> K


K

K-1

2 1

Dcodeur de Ligne

2 2

N-K

N-K-1

4 bits

AN-1 AN-2

AK+1 AK

2 1
K K-1

2 1

Dcodeur de Colonne
AK-1AK-2 A1 A0

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

170 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe

Association de plusieurs blocs memoire pour

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

171 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe

Association de plusieurs blocs memoire pour


de stockage Augmenter la capacite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

171 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe

Association de plusieurs blocs memoire pour


de stockage Augmenter la capacite Augmenter la taille des donnees

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

171 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe


CS Adresses
N bits

Donnes
M bits

R W

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

172 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe


CS Adresses
10 bits

Donnes
4 bits

R W

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

173 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe


CS D15-D12 4 bits R W R W CS D11-D8 4 bits R W CS D7-D4 4 bits R W CS D3-D0 4 bits

Adresses 10 bits

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

174 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Organisation Externe


A11-A10

CS

CS

CS

CS

R W

R W

R W

R W

A9-A0 D3-D0 4 bits

10 bits

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

175 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Cycles

Pour un bon fonctionnement de la memoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

176 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Cycles

Pour un bon fonctionnement de la memoire dans les cycles de lecture et decriture Repect de temps indique

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

176 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Cycle de lecture


Tdur ADRESSE R/W CS Tcsdb
DONNEE VALIDE

Tad Tcdsh

T1

T2

T3 T4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

177 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Cycle decritue


Tdur ADRESSE Taw R/W CS Tcsw Tdurw

Tcdsh
DONNEE VALIDE

T1

T2

T3 T4

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

178 / 231

Outils et methodes de conception

` etats Machines a

Vhdl : memoire

entity memoire is port (donnee : in std_logic_vector(7 downto 0); adresse: in std_logic_vector(6 downto 0); rw : in std_logic; cs : in std_logic; sortie: out std_logic_vector(7 downto 0)); end entity memoire;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

179 / 231

Outils et methodes de conception

` etats Machines a

Vhdl : memoire
architecture comport of memoire is begin process(cs,adresse,donnee,rw) is type memory is array (0 to 79) of std_logic_vector(7 downto 0); variable mem : memory; begin if cs=0 then if rw=1 then sortie <= mem(conv_integer(adresse)); elsif rw=0 then mem(conv_integer(adresse)) := donnee; end if; else sortie<= "ZZZZZZZZ"; end if; end process; end architecture comport;

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

180 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

` : technologie asynchrone Jusque la

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

181 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

` : technologie asynchrone Jusque la Difcile de maitriser les temps de propagation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

181 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

` : technologie asynchrone Jusque la Difcile de maitriser les temps de propagation de synchroniser les acces ` memoire Necessit e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

181 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

` : technologie asynchrone Jusque la Difcile de maitriser les temps de propagation de synchroniser les acces ` memoire Necessit e SDRAM: Synchone DRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

181 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

` : technologie asynchrone Jusque la Difcile de maitriser les temps de propagation de synchroniser les acces ` memoire Necessit e SDRAM: Synchone DRAM Introduction du mode Rafale (BURST)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

181 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie SDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

182 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Frequence Processeur = 800 MHz, frequence SDRAM = 100 MHz

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

183 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Frequence Processeur = 800 MHz, frequence SDRAM = 100 MHz de reduire Necessit e cet ecart

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

183 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Frequence Processeur = 800 MHz, frequence SDRAM = 100 MHz de reduire Necessit e cet ecart : lire sur le front montant et descendant de lhorloge Idee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

183 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Frequence Processeur = 800 MHz, frequence SDRAM = 100 MHz de reduire Necessit e cet ecart : lire sur le front montant et descendant de lhorloge Idee ` double debit) DDRAM : Double rate DRAM (DRAM a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

183 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

184 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

185 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie DDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

186 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Idee1 : lire sur le front montant et descendant de lhorloge comme une DDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

187 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Idee1 : lire sur le front montant et descendant de lhorloge comme une DDRAM et sortie pour permettre une lecture et une Idee2 : dissocier entree ecriture simultanee

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

187 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Idee1 : lire sur le front montant et descendant de lhorloge comme une DDRAM et sortie pour permettre une lecture et une Idee2 : dissocier entree ecriture simultanee ` quadruple debit) QDRAM : Quad rate DRAM (DRAM a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

187 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

188 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

K K# W#
Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC) R# Sysprog Hiver 2013 189 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

190 / 231

Outils et methodes de conception

` etats Machines a

Les memoires RAM - Technologie QDRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

191 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM

de memoire Necessit e non-volatile

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

192 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM

de memoire Necessit e non-volatile Bios de micro-ordinateur

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

192 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM

de memoire Necessit e non-volatile Bios de micro-ordinateur ` Stockage de programmes dans des systemes embarques

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

192 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM

de memoire Necessit e non-volatile Bios de micro-ordinateur ` Stockage de programmes dans des systemes embarques Reconguration automatique des FPGA

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

192 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie

lors de la fabrication du circuit Mask - ROM : realis e

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

193 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie

lors de la fabrication du circuit Mask - ROM : realis e PROM : Fusible - One Time Programming

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

193 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie

lors de la fabrication du circuit Mask - ROM : realis e PROM : Fusible - One Time Programming ` Grille Flottante - Reprogrammabilite EPROM : Transistors a

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

193 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie

lors de la fabrication du circuit Mask - ROM : realis e PROM : Fusible - One Time Programming ` Grille Flottante - Reprogrammabilite EPROM : Transistors a NOVRAM : RAM + Pile

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

193 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - Mask - ROM

Aucune Souplesse Faible Cout

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

194 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - Mask - ROM

Aucune Souplesse Faible Cout

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

194 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - PROM


Fusible

Aluminium

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Aluminium
Sysprog Hiver 2013 195 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - PROM


Fusible

Aluminium

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Aluminium
Sysprog Hiver 2013 195 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - PROM


Fusible

Aluminium

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Aluminium
Sysprog Hiver 2013 195 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Cellules

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

196 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - OR ROM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

197 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - NOR ROM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

198 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - NAND ROM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

199 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM : La Grille Flottante

` Piege des electrons dans la grille ottante

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

200 / 231

Outils et methodes de conception

` etats Machines a

La Grille Flottante - programmation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

201 / 231

Outils et methodes de conception

` etats Machines a

La Grille Flottante - programmation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

202 / 231

Outils et methodes de conception

` etats Machines a

La Grille Flottante - programmation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

203 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - EPROM

UV-EPROM : Effacement aux ultra-violet

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

204 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - EPROM

UV-EPROM : Effacement aux ultra-violet EEPROM : Effacement electrique par mot memoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

204 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - EPROM

UV-EPROM : Effacement aux ultra-violet EEPROM : Effacement electrique par mot memoire FLASH : Effacement electrique par bloc

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

204 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - UV-EPROM

` Programmation hors systeme

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

205 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - UV-EPROM

` Programmation hors systeme ` Effacement hors systeme

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

205 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - UV-EPROM

` Programmation hors systeme ` Effacement hors systeme Temps deffacement long (15 minutes pour les UV-EPROM)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

205 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - E-EPROM

Programmation ISP (In Situ Programming ou In Serial Programming)

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

206 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - E-EPROM

Programmation ISP (In Situ Programming ou In Serial Programming) Effacement ISP

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

206 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - E-EPROM

Programmation ISP (In Situ Programming ou In Serial Programming) Effacement ISP Programmation par mot ou bloc

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

206 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - E-EPROM

Programmation ISP (In Situ Programming ou In Serial Programming) Effacement ISP Programmation par mot ou bloc Temps deffacement rapide

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

206 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - E-EPROM

Programmation ISP (In Situ Programming ou In Serial Programming) Effacement ISP Programmation par mot ou bloc Temps deffacement rapide e car effacement par mot memoire Cout elev

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

206 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - FLASH

Programmation ISP

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

207 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - FLASH

Programmation ISP Effacement ISP

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

207 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - FLASH

Programmation ISP Effacement ISP Programmation par mot ou bloc

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

207 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - FLASH

Programmation ISP Effacement ISP Programmation par mot ou bloc ` rapide Temps deffacement tres

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

207 / 231

Outils et methodes de conception

` etats Machines a

Les memoires ROM - Technologie - FLASH

Programmation ISP Effacement ISP Programmation par mot ou bloc ` rapide Temps deffacement tres car effacement par bloc Cout limite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

207 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - NAND Versus NOR

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

208 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - NAND Versus NOR

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

209 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - Organisation NAND

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

210 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - Lecture

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

211 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - Programmation

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

212 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - Effacement

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

213 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - Roadmap

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

214 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - NAND et NOR

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

215 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - One NAND

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

216 / 231

Outils et methodes de conception

` etats Machines a

Les memoires FLASH - NAND Versus One NAND

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

217 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Les MRAM

SRAM : Rapidite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

218 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Les MRAM

SRAM : Rapidite DRAM : Densite

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

218 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Les MRAM

SRAM : Rapidite DRAM : Densite Flash : Permanence

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

218 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - Les MRAM

SRAM : Rapidite DRAM : Densite Flash : Permanence Allier ces trois caracteristiques : MRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

218 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - MRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

219 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - MRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

220 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - MRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

221 / 231

Outils et methodes de conception

` etats Machines a

Les memoires - MRAM

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

222 / 231

FPGA

F.P.G.A et SRAM
Utilisation de cellule de memoire statique
Vdd

Select Donne T2

T4

T6

T1 Interconnexion

T3

T5

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

223 / 231

FPGA

Structure dun F.P.G.A

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

224 / 231

FPGA

Structure dun F.P.G.A

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

224 / 231

FPGA

Structure dun F.P.G.A

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

224 / 231

FPGA

Structure dun F.P.G.A

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

224 / 231

FPGA

Structure dun F.P.G.A

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

224 / 231

FPGA

Quy a til dans un F.P.G.A ?

Des Cellules de Base

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

225 / 231

FPGA

Quy a til dans un F.P.G.A ?

Des Cellules de Base


LUT (LookUp Table)- Codage des fonctions - Combinatoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

225 / 231

FPGA

Quy a til dans un F.P.G.A ?

Des Cellules de Base


LUT (LookUp Table)- Codage des fonctions - Combinatoire Bascules - Synchronisation - Sequentiel

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

225 / 231

FPGA

Quy a til dans un F.P.G.A ?

Des Cellules de Base


LUT (LookUp Table)- Codage des fonctions - Combinatoire Bascules - Synchronisation - Sequentiel

Des Entrees-Sorties

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

225 / 231

FPGA

Quy a til dans un F.P.G.A ?

Des Cellules de Base


LUT (LookUp Table)- Codage des fonctions - Combinatoire Bascules - Synchronisation - Sequentiel

Des Entrees-Sorties De la logique de routage

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

225 / 231

FPGA

Structure dune Cellule de Base

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

226 / 231

FPGA

Structure de linterconnexion

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

227 / 231

FPGA

Structure de linterconnexion

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

228 / 231

FPGA

FPGA

Presentation des FPGA commerciaux Deux principaux fabricants


Xilinx Altera

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

229 / 231

Overvie
# All ?ilinx FPGAs contain the same basic resources
6 Slices grouped into .onfigurable $ogic Bloc8s :.$Bs;
@ .ontain combinatorial logic and register resources

6 1Bs
@ nterface between the FPGA and the outside world

6 Programmable interconnect 6 1ther resources


@ @ @ @
-emory -ultipliers Global cloc8 buffers Boundary scan logic

$%&A Introd'ction 9
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.// Architecture
First family with Ambedded -ultipliers to enable high-performance DSP
1loc) Select*A+3 resource /0O 1loc)s %/O1s&

Programmable interconnect "mbedded multipliers (onfigurable #ogic 1loc)s %(#1s& (loc) +anagement %D(+s, 1UFG+U2es&

/efer to de+ice data sheet at xilinx3com for detailed technical information


$%&A Introd'ction -0
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

(#1s and Slices


.ombinatorial and se5uential logic implemented here

# Aach Virtex - .$B contains four slices


6 $ocal routing pro+ides feedbac8 between slices in the same .$B= and it pro+ides routing to neighboring .$Bs 6 A switch matrix pro+ides access to general routing resources

.1,) B,F) B,F )

.1,)

Slice S#

Slice S9 Switch -atrix S7 F)

Slice SC

Slice SB

$ocal /outing

.2

.2

$%&A Introd'ction - 2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Slice *esources
# (ach slice contains two) D Four inputs loo8up tables
D C&-bit distributed Select/AD C&-bit shift register
M!$%& L!" G C# M!$%5 Register

RAM16

SRL16

@ (ach register)
D D flip-flop D $atch

@ De icate logic)
D -uxes D Arithmetic logic D -,$)EA2D D .arry .hain

L!" F

C#

Register

Arithmetic Logic
$%&A Introd'ction -2
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

#oo).Up 4ables
# .ombinatorial logic is stored in $oo8-,p )ables :$,)s;
6 Also called Function Generators :FGs; 6 .apacity is limited by the number of inputs= not by the complexity
A 1 ( D 5 6 6 6 6 6 6 6 6 7 6 6 6 7 6 6 6 6 7 7 7 6 7 6 6 7 6 7 6 7 7
(ombinatorial #ogic

# Delay through the $,) is constant

,
5

A 1 ( D

7 7 6 6 6 7 7 6 7 6 7 7 7 6 6 7 7 7 7 7

$%&A Introd'ction -(
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Distributed *A+
# *+Ts #se as memory insi e the %a$ric # Flexi$le, can $e #se as RAM, R-M, or shi%t register # Distri$#te memory with %ast access time RAM/0 # Casca a$le with $#ilt.in C*& ro#ting SR*/0 # Applications
6'( &!b Dual Port /AC .$B C9*b C&b Single Port /AC .$B

6 $inear feedbac8 shift register 6 Distributed arithmetic 6 )ime-shared registers 6 Small F F1 6 Digital delay lines :F-C;
$%&A Introd'ction -)

$,)

Shift register
/12$

C&b

C .$B

2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

4he S*#78"
# 4he 78 S*A+ cells have been organi9ed into a shift register
/ / The 0 12 is 'sed, in con3'nction 4ith the cloc5, to 4rite data into the first flip6flop and for all other data to move right 78 one position 9eca'se this is a predicta7le operation, no address is re:'ired for 4riting

# 4he S*#78" is e$cellent in implementing efficient DSP Functions


/ / A ver8 efficient 4a8 to dela8 data samples !hifting samples and scanning at faster rate D )15 C* A ) C* D A,-.0/

D )

SRLC16E Casca+a(le

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

C* D )

)15

0000

1111

)
$%&A Introd'ction -*
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

"nabling high.performance DSP


Virtex- introduced the embedded C*xC* multiplier

&

/2

R('
.A D 3 30

/2

&C4"

@ Sit#ate $etween the &loc! RAMs an C*& array to ena$le high.per%ormance m#ltiply.acc#m#late operations @ This ramatically increase m#ltiplier spee an m#ltipliers an ena$le FP'A $ase DSP
$%&A Introd'ction -+
2009 Xilinx, Inc. All Rights Reserved

ensity compare to *+T $ase

For Academic Use Only

Outline
# # # # # # # Power of Parallelism Basic FPGA Architecture 5irtex .44 Pro Virtex-! Virtex-" Spartan -# Family $atest Families % Virtex-& Family % Spartan-& Family # 'hy should use FPGAs for DSP( # )he DSP!* Slice Ad+antage
$%&A Introd'ction -.
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.// Pro FPGAs


/efer to de+ice data sheet on web for detailed technical information

High per%ormance Tr#e D#al.port RAM 6 178 M$ Select4-:. +ltra Technology . ;;0 4<- in in xc19p30 xc19p30

A 9ance FP'A *ogic 6 30! logic cells in xc19p30

(m$e e =tremeDSP F#nctionality . /30 m#ltipliers on xc19p30 Roc!et4-: High.spee Serial Transcei9ers 011 M$ps to 37/1; '$ps. 2 in xc19p30 >8 $ro#ght o#t to connectors on =+P &oar ? PowerPC: Processors 800@ MHz Cloc! Rate 6 1 in xc19p30

=C4T( Digitally Controlle 4mpe ance . Any 4<DCM: Digital Cloc! Management 6 2 in xc19p30

$%&A Introd'ction -,
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

+ultiplier Unit
# Ambedded C*-bit x C*-bit multiplier # )he ?,P Virtex- Pro includes a Virtex- Pro xc9+p#B de+ice with C#& -ultipliers # 9s complement signed operation # !- to C*-bit operands # .ombinational > pipelined options # 1perates with bloc8 /A- and fabric to implement -A. function

/2 &it 30 &it /2 &it

#BB -7< Performance in Virtex- Pro


Pipelined multiplier with registered inputs and outputs

$%&A Introd'ction -9
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.: Family
Ad+anced Silicon -odular B$oc8 :AS-B$; Architecture 1ptimi<ed for logic= Ambedded= and Signal Processing

*=
*esource

F=
7=;<7:6; #(s 6,8<76 +b :<=6 ?=<7>= =:6<B>8 6<=: (hannels 7 or = (ores = or : (ores

S=
=?;<@@; #(s =,?<@,A +b :<B 7=B<@7= ?=6<8:6 20A 20A 20A

*ogic Memory DCMs DSP Slices Select4Roc!et4PowerPC (thernet MAC

7:;<=66; #(s 6,><8 +b :<7= ?=<>8 =:6<>86 20A 20A 20A

$%&AArchitect're 9asic Introd'ction 22 2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.: Features
/efer to de+ice data sheet on web for detailed technical information
100,000 *ogic Cells ;00 MHz =esi#m: Di%%erential Cloc!ing A(S Sec#re Chip Design Sec#rity
5irtex.8

&RAM with F4FB (CC

07; '$ps

070.07; '$ps Roc!et4-: Transcei9ers PowerPCA Processor with AP+

5irtex.8

/ '$ps Select4-: with ChipSync: =tremeDSP: Slice

5irtex.8

/0</00</000 (thernet MAC

$%&A Introd'ction 22
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.: Architecture
Roc#etIO ulti2Gi&abit Transceivers
/44 bps51(67 Gbps

Smart RA
!e" bloc# RA $%I%O

A3vance3 C9:s
4((; 9o&ic Cells

Xesium Cloc#in& Technolo&y


'(( )*

Tri2 o3e Ethernet AC Xtreme1S+ Technolo&y Slices


4'/ 10810 G ACs 1($1(($1((( bps

+o"er+C ,(' "ith A+- Inter.ace


,'(
$%&A Introd'ction 2(
2009 Xilinx, Inc. All Rights Reserved

1 Gbps SelectIO
ChipSync Source synch, XCITE Active Termination

)*, /0( 1 I+S

For Academic Use Only

4he -irte$.: S2 platform


# Virtex-! introduced a new DSP bloc8 that had both multiply and accumulate functionality # For the first time a true G-A.H unit was offered in a ?ilinx FPGA3 )his bloc8 was called the DSP!* due to itIs !*-bit output precision # Additional modes of the adder allowed subtract and shift functions to support scaling of results # ntegral registers guarantee high-speed pipelined data-paths for maximum cloc8 fre5uency

$%&A Introd'ction 2)
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

DSP:B 1loc)
&C-+T

ncludes a high performance arithmetic unit and a multiplier


A)& 30 S#$tract C(M 82

PC-+T

&R('

&

0 /

/2

C(&

.A D 3 1.Deep RST&

/2

MR('
.A D 3 C1 30 6 30 /2 RSTM 6 /C.$it shi%t /C.$it shi%t E RSTP 6 = C(P

PR('
D .A D 3 82 0 / 82

AR('

C(A

.A D 3 1.Deep RSTA

Carry4n

82

C -pMo e

82 82

&C4"
$%&A Introd'ction 2*
2009 Xilinx, Inc. All Rights Reserved

PC4"

For Academic Use Only

DSP:B 1loc)
Dynamically Programmable DSP 1p -odes
8 5ero 6 Dold P 6 A!1 Select 6 +ultiply 6 ( Select 6 Feedbac) Add 6 ?8.1it Adder 6 P (ascade Select 6 P (ascade Feedbac) Add 6 P (ascade Add 6 P (ascade +ultiply Add 6 P (ascade Add 6 P (ascade Feedbac) Add Add6 P (ascade Add Add 6 Dold P 6 Double Feedbac) Add 6 Feedbac) Add 6 +ultiply.Accumulate 6 Feedbac) Add 6 Double Feedbac) Add 6 Feedbac) Add Add 6 ( Select 6 Feedbac) Add 6 ?8.1it Adder 6 +ultiply.Add 6 Double 6 Double Add Feedbac) Add 6 Double Add 6

Op+ode

5 @ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7

: 6 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7

G ? = 6 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7

2 7 6 6 6 7 6 7 7 6 7 6 6 7 6 7 7 6 6 7 6 7 7 6 7 6 6 7 6 7 7 6 6 7 6 7 7 6 7 6 6 7 6 7 7 6 6 7 6 7 7 6 7 6 6 7 6 7 7

Output
C0. (in C0. %P C (in& C0. %A!1 C (in& C0. %A E 1 C (in& C0. %( C (in& C0. %( C P C (in& C0. %A!1 C ( C (in& P(/F C0. (in P(/F C0. %P C (in& P(/F C0. %A!1 C (in& P(/F C0. %A E 1 C (in& P(/F C0. %( C (in& P(/F C0. %( C P C (in& P(/F C0. %A!1 C ( C (in& P C0. (in P C0. %P C (in& P C0. %A!1 C (in& P C0. %A E 1 C (in& P C0. %( C (in& P C0. %( C P C (in& P C0. %A!1 C ( C (in& ( C0. (in ( C0. %P C (in& ( C0. %A!1 C (in& ( C0. %A E 1 C (in& ( C0. %( C (in& ( C0. %( C P C (in& ( C0. %A!1 C ( C (in&

# Anables time-di+ision multiplexing for DSP # 1+er !B different modes # Aach ?tremeDSP Slice indi+idually controllable # .hange operation in a single cloc8 cycle # .ontrol functionality from logic= memory or processor
For Academic Use Only

$%&A Introd'ction 2+
2009 Xilinx, Inc. All Rights Reserved

DSP:B 1loc)
,seful For -ore )han DSP

# &JC high-speed= #&-bit -ultiplexer


6 ,se four ?tremeDSP Slice and op-modes 6 "BB -7< performance using no programmable logic
@ Sa+e C"*! $.s to build e5ui+alent function in logic

# Dynamic C*-bit Barrel Shifter


6 ,se two ?tremeDSP slices 6 ,se dedicated cascade routing and integrated CK-bit shift
@ Sa+e C!!L $.s to build e5ui+alent function in logic

# #&-bit $oadable .ounter


6 ,se a single ?tremeDSP slice= achie+e "BB -7< performance
@ Sa+e "!B $.s to build e5ui+alent function in logic
$%&A Introd'ction 2.
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.@ Family
1ptimi<ed for logic= Ambedded= Signal Processing= and 7igh-Speed .onnecti+ity

-irte$3.@ Platforms
*ogic -n.chip RAM DSP Capa$ilities Parallel 4<-s Serial 4<-s PowerPCA Processors

#2
Logic

#24
Logic/Serial

S24
DSP/Serial

F24
Emb./Serial

$%&A Introd'ction 29
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

+ultiple Platforms
# Aasy to create sub-families
6 $? J 7igh-performance logic and parallel 1 6 $?)J 7igh-performance logic with serial connecti+ity 6 S?)J Axtensi+e signal processing with serial connecti+ity 6 F?)J Axtensi+e processor oriented
@ Ambedded-oriented with 7ighest Performance Serial .apabilities
Platform

LX

Platform

LXT

Platform

SXT

Platform

FXT

# ,sers can choose the best mix of resources to optimi<e cost and performance
$%&A Introd'ction (0
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

-irte$.@ Architecture
Enhanced
259bit 259bit D8al D8al Port Port 6lock 6lock -$M -$M // 7)7* 7)7* with with )ntegrated )ntegrated ECC ECC 550 550 MHz MHz Clock Clock Management Management Tile Tile with with DCM DCM and and PLL PLL Select)* Select)* with with Chi"S+nc Chi"S+nc Technolog+ Technolog+ and and ,C)TE ,C)TE DC) DC) $d/anced $d/anced Con4ig8ration Con4ig8ration *"tion# *"tion# :5&!; :5&!; DSP DSP Slice Slice with with )ntegrated )ntegrated $L1 $L1 Tri Tri Mode Mode !0/!00/!000 !0/!00/!000 Mb"# Mb"# Ethernet Ethernet M$C# M$C#

New
Mo#t Mo#t $d/anced $d/anced High High Per4ormance Per4ormance -eal -eal 5L1T 5L1T Logic Logic 7abric 7abric
( End"oint 6lock PC) PC) E&"re## E&"re##( End"oint 6lock

S+#tem S+#tem Monitor Monitor 78nction 78nction with with 68ilt 68ilt in in $DC $DC
( %e&t %e&t 'eneration 'eneration PowerPC PowerPC( Embedded Embedded Proce##or Proce##or

-ocket)*. -ocket)*. Tran#cei/er Tran#cei/er *"tion# *"tion#

Low Low Power Power 'TP0 'TP0 1" 1" to to 2.35 2.35 'b"# 'b"# High High Per4ormance Per4ormance 'T,0 'T,0 1" 1" to to 5.5 5.5 'b"# 'b"#

$%&AArchitect're 9asic Introd'ction (( 2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Advanced #ogic Structure


# )rue &-input $,)s # Axclusi+e &!-bit distributed /A- option per $,) # Axclusi+e #9-bit or C&-bit x 9 shift register
RAM08 SR*31 SR*31 *+T0 *+T0 RAM08 SR*31 SR*31 *+T0 *+T0 RAM08 SR*31 SR*31 *+T0 *+T0 RAM08 SR*31 SR*31 *+T0 *+T0 Register< Register< *atch *atch Register< Register< *atch *atch Register< Register< *atch *atch Register< Register< *atch *atch

$%&A Introd'ction (2
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

DSP:B"
# Virtex-"S? introduced a few new impro+ements in the DSP!*A GenhancedH DSP bloc8 # )he adder bloc8 was modified to become a mulifunctional A$,3 A pattern compare was added to support the detection of saturation= o+erflow and underflow conditions # A !*-bit carry chain supports the propagation of partial sum and product carryIs so multiple DSP!*A bloc8s can be chained to gi+e higher bit precision # A$, opcodes are dynamically controlled allowing functional changes on a cloc8 cycle basis
$%&A Introd'ction ((
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

DSP:B" 1loc)
&C-+T AC-+T

ncludes a high performance A$,= pattern compare= and a multiplier


82 A)& A*+Mo e 82

PC-+T

& R('

&

/2

0 /

.A 3 D 1.Deep

/2

M R('
.A D 3 C1 30 0 30 0 / 0 =

P R('
D .A D 3 82

A R('

1;

0 /

.A D 3 1.Deep

1;

/C.$it shi%t /C.$it shi%t

C R('

0
Carry4n C -pMo e 82
C or MC

PATT(R" D(T(CT

82

.A D

82

&C4" AC4"

8;0 MHz operation in the slowest speed grade


2009 Xilinx, Inc. All Rights Reserved

PC4"

$%&A Introd'ction ()

For Academic Use Only

Spartan.?
Designed for low-cost= high-+olume applications

7B$7B bit "mbedded Pipelined +ultipliers for efficient DSP

Spartan.3
Ban8 B B an8 # B an8 C Ban8 9
: /0O 1an)s, Support for all /0O Standards including P(/3, DD*???, *SDS, mini.#-DS

Up to eight on.chip Digital (loc) +anagers to support multiple system cloc)s

Guaranteed Density +igration Fumerous parts in the same pac)age P. = P. e= P. -? and P. A?P/ASS are registered trademar8s and0or ser+ice mar8s of P. -S G3
$%&A Introd'ction (+
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

+odified Slices
S$ .A- and S$ .A$

# Aach SpartanM-# .$B contains four slices


6 Similar to VirtexM- de+ice

*e%t.Han S*4C(M Right.Han S*4C(*


.1,) .1,)

Slice ?CNC

# Slices are grouped in pairs


6 $eft-hand S$ .A- :-emory;
@ $,)s can be configured as memory or S/$C&
Switch -atrix Slice ?CNB S7 F) 2

6 /ight-hand S$ .A$ :$ogic;


@ $,) can be used as logic only

Slice ?BNC

Slice ?BNB

Fast .onnects

S7 F)1,)

.2

.2

$%&A Introd'ction (.
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

+ultiple Domain.optimi9ed Platforms

$%&A Introd'ction (,
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Spartan.?A
Spartan-#A DSP is a superset of Spartan-#A

# Power -anagement
6 7ibernate and Suspend modes

7B; 1loc) *A+s 1yte Hrite "nable /mproved 1us Access

4rue ?,?v PPDSI=@ PPDSI?? 4+DSI?? DD* = Dot S apping +inimi9ed Po er *ails

# -inimi<ed power rails # 2ew 01 Standards # B/A- with Byte write enable # SP 0BP Flash nterface # 7ot swapping

Ban8 B
Power Power Management Management

Ban8 9

Dibernate +ode Suspend +ode

$%&A Introd'ction (9
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Spartan.?A DSP
# ncorporates the primary features from earlier Virtex family DSP!* bloc8s # )he DSP!*A bloc8 supports full -A. support with a preadder stage= multiplier= and add0accumulate state # Dedicated DSP bloc8 offer the lowest cost0-A. in a FPGA

$%&A Introd'ction )0
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

D!%),A 9loc5
ncorporates primary features from V! DSP!* and includes a pre-adder stage

# ntegrated ?tremeDSP Slice

6 Application optimi<ed capacity 6 ntegrated pre-adder optimi<ed for filters 6 9"B -7< operation= standard speed grade 6 .ompatible with Virtex-DSP
@ #!BBA 6 C9& DSP!*As @ C*BBA 6 *! DSP!*As

# ncreased memory capacity and performance


$%&A Introd'ction ) 2009 Xilinx, Inc. All Rights Reserved

6 Also important for embedded processing= complex P= etc


For Academic Use Only

Architecture Alignment
-irte$.8 FPGAs Spartan.8 FPGAs

C00F *ogic Cell De9ice

(ommon *esources B"T6+ B9 9loc5RAA D!% !lices @igh6performance loc5ing

/;0F *ogic Cell De9ice

$I$< Bogic Tri6mode 1AA !8stem Aonitor


;<ptimi=ed for target application in each famil8

%arallel I?< @!! Transceivers; % Ie Interface


C

@ardened Aemor8 ontrollers (.( >olt compati7le I?<

"nables /P Portability, Protects Design /nvestments


$%&A Introd'ction )(
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

Addressing the 1road *ange of 4echnical *e'uirements


Spartan.8 #2 Spartan.8 #24 -irte$.8 #24
Bo4est cost logic D D!% Bo4est logic D high6speed serial

-irte$.8 D24 -irte$.8 S24

Aar5et !i=e

@igh logic densit8 D serial connectivit8 "ltra high6speed serial connectivit8 D logic D!% D logic D serial connectivit8

Application Aar5et !egments


$%&A Introd'ction ))
2009 Xilinx, Inc. All Rights Reserved

D -00s Aore For Academic Use Only

Digher DSP Performance


# -ost ad+anced DSP architecture
6 2ew optional pre-adder for symmetric filters 6 9"xC* multiplier
@ 7igh resolution filters @ Afficient floating point support

6 A$,-li8e second stage enables mapping of ad+anced operations


@ Programmable op-code @ S -D support @ Addition 0 Subtraction 0 $ogic functions

6 Pattern detector

# $owest power consumption # 7ighest DSP slice capacity


6 ,p to 9O DSP Slices
$%&A Introd'ction )*
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

*eason 7! FPGAs handle high computational

or)loads

Speed up F / Filters by implementing with parallel architecture Programma$le DSP . SeI#ential


Data n Data n
C0

FP'A . F#lly Parallel 4mplementation


Reg Reg Reg Reg

.oefficients 9"& cloc8 cycles needed

@
Reg

-A. ,nit

C/

.B =

C1

C3

= PC1;;

9"& operations in C cloc8 cycle

@
Data 1ut

Data 1ut

! 'Hz :55 clock c+cle#

< = MSPS

500 MHz ! clock c+cle

< 500 MSPS

E&am"le :55 T$P 7ilter )m"lementation


$%&A Introd'ction ).
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

*eason =! FPGAs are ideal for multi.channel DSP Designs


.an implement multiple channels running in parallel or time multiplex channels into one filter
10MHz Samples $PF $PF $PF $PF chC ch9 $PF ch# ch! -ulti .hannel Filter 20MHz Samples

# -any low sample rate channels can be multiplexed :e3g3 )D-; and processed in the FPGA= at a high rate # nterpolation :using <eros; can also dri+e sample rates higher
$%&A Introd'ction ),
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

*eason ?! (ustomi9e Architectures to Suit your Goals


FPGAs allow .ost0Performance tradeoffs
Parallel Semi.Parallel Serial

1 1 1 1

2 2 2 2 2 2

1 1

2 2 2 2
D)

D)

Spee

-ptimize %orH

Cost

$%&A Introd'ction )9
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

*eason :! #o er System (ost through /ntegration


mplement nterface $ogic within FPGA to connect DSP functions to 01 and -emory De+ices
A0D A$1 A0D DD( DD( D0A D0A DD( DD( DU( DU( DU( DU(
@'ndreds of Termination Resistors

SD*A+
+A(s DSP +A(s Procs3 ontrol ontrol

Quad )/x

PC er w Po

SS)$# ASSP )ranslators

FPGA

FPGA

1S+ Car3

!DRAA

Quad !et"or# )/x

Car3

A0D A0D

SD*A+
PowerPC PowerPC

(ontrol

P#:

ASSP
?,7=@ Gbps

D0A D0A
$%&A Introd'ction *0

+A(s, DU(s, DD(s, #ogic


PowerPC PowerPC

(ontrol

(O*1A

!DRAA
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

4he 2tremeDSP Slice Advantage


'ithout ?tremeDSP Slice= Parallel Adder )ree .onsumes $ogic /esources Parallel A er Tree 4mplementation
Data )n
C0
Reg Reg Reg Reg Reg Reg Reg Reg Reg

C/

.B =

C1

C3

C8

C;

.B =

C0

CC

C30

C3/

@ @

@ @

@
>ariable Latenc+

Con#8me# Logic to )m"lement $dder#

# #9 )AP filter implementation will Data *8t 7abric and -o8ting Ma+ consume C=!&C logic cells to -ed8ce Per4ormance implement adders in fabric
$%&A Introd'ction *2
2009 Xilinx, Inc. All Rights Reserved

For Academic Use Only

4he 2tremeDSP Slice Advantage


'ith ?tremeDSP Slice= Parallel Adder )ree .onsumes Fero $ogic /esources

Parallel A er Casca e 4mplementation


Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg Reg

Data n
C0

C/

C1

C3

C8

C;

C0

CC

C30

C3/

@
Data 1ut

Reg

Reg

#9 )AP filter implementation implemented entirely with ?tremeDSP Slices

$%&A Introd'ction *(
2009 Xilinx, Inc. All Rights Reserved

Reg

Reg

Reg

Reg

Reg

Reg

For Academic Use Only

Reg

Altera FPGA Devices


!"#$%&'&()* !5#&'(& 2#&'(& 4%&'(& 3#&'(& +&,-#&./* 67891'-& ?)#'&%"*@@* 67891'-&===& ?)#'&%"*@9* >++*;&=& >++*;&==& =1>-36%("* 01($2"34&356%#"* :,+;<.& :,+;<.&==& 7/36A:*@@@* 7/36A:*@9*

Low-cost Altera FPGAs

?6?&33@&A&B0C>&;'D&>:=6&E-F*G'&H*,I&)JEK&

Altera Cyclone III Logic Element (LE) Normal Mode

Altera Cyclone III Logic Element (LE) Arithmetic Mode

High-Performance Altera FPGAs

ECE 448 FPGA and ASIC Design with VHDL

Stratix III Logic Array Blocks (LABs)

High-Level Block Diagram of the Stratix III ALM

Altera Stratix III Adaptive Logic Modules (ALM) Normal Mode

4 ! 2 Crossbar Switch Example

Register Packing

Template for Seven-Input Functions Supported in Extended LUT Mode

Altera Stratix III, Stratix IV Adaptive Logic Modules (ALM) Arithmetic Mode

Performing Operation
R = (X < Y) ? Y : X

Three Operand Addition Utilizing Shared Arithmetic Mode

LUT-Register Mode

Register Chain

Example of Resource Utilization Report (1)


+--------------------------------------------------------------------------+ ; Fitter Resource Usage Summary ; +-------------------------------------------------+------------------------+ ; Resource ; Usage ; +-------------------------------------------------+------------------------+ ; ALUTs Used ; 415 / 38,000 ( 1 % ) ; ; -- Combinational ALUTs ; 415 / 38,000 ( 1 % ) ; ; -- Memory ALUTs ; 0 / 19,000 ( 0 % ) ; ; -- LUT_REGs ; 0 / 38,000 ( 0 % ) ; ; Dedicated logic registers ; 136 / 38,000 ( < 1 % ) ; ; ; ; ; Combinational ALUT usage by number of inputs ; ; ; -- 7 input functions ; 0 ; ; -- 6 input functions ; 287 ; ; -- 5 input functions ; 0 ; ; -- 4 input functions ; 24 ; ; -- <=3 input functions ; 104 ; ; ; ; ; Combinational ALUTs by mode ; ; ; -- normal mode ; 335 ; ; -- extended LUT mode ; 0 ; ; -- arithmetic mode ; 80 ; ; -- shared arithmetic mode ; 0 ;

Example of Resource Utilization Report (2)


; Logic utilization ; 701 / 38,000 ( 2 % ) ; -- Difficulty Clustering Design ; Low ; -- Combinational ALUT/register pairs used in final Placement ; 476 ; -- Combinational with no register ; 340 ; -- Register only ; 61 ; -- Combinational with a register ; 75 ; -- Estimated pairs recoverable by pairing ALUTs and registers as design grows ; -54 ; -- Estimated Combinational ALUT/register pairs unavailable ; 279 ; -- Unavailable due to Memory LAB use ; 0 ; -- Unavailable due to unpartnered 7 LUTs ; 0 ; -- Unavailable due to unpartnered 6 LUTs ; 279 ; -- Unavailable due to unpartnered 5 LUTs ; 0 ; -- Unavailable due to LAB-wide signal conflicts ; 0 ; -- Unavailable due to LAB input limits ; 0 ; ; ; ; ; ; ; ; ; ; ; ; ; ;

Example of Resource Utilization Report (3)


; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Total registers* -- Dedicated logic registers -- I/O registers -- LUT_REGs ALMs: partially or completely used Total LABs: partially or completely used -- Logic LABs -- Memory LABs User inserted logic elements Virtual pins I/O pins -- Clock pins -- Dedicated input pins Global signals M9K blocks M144K blocks Total MLAB memory bits Total block memory bits Total block memory implementation bits DSP block 18-bit elements PLLs Global clocks ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 136 ; 136 / 38,000 ( < 1 % ) ; 0 / 2,752 ( 0 % ) ; 0 ; 360 / 19,000 ( 2 % ) ; 42 / 1,900 ( 2 % ) ; 42 / 42 ( 100 % ) ; 0 / 42 ( 0 % ) ; ; 0 ; 0 ; 20 / 488 ( 4 % ) ; 5 / 16 ( 31 % ) ; 0 / 12 ( 0 % ) ; 2 ; 0 / 108 ( 0 % ) ; 0 / 6 ( 0 % ) ; 0 ; 0 / 1,880,064 ( 0 % ) ; 0 / 1,880,064 ( 0 % ) ; 0 / 216 ( 0 % ) ; 0 / 4 ( 0 % ) ; 2 / 16 ( 13 % ) ;

` Conception dun systeme programmable

SoftCore : NiosII

Plan

Introduction Outils et methodes de conception FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

230 / 231

` Conception dun systeme programmable

Integration dun periph erique - Mapping memoire

Plan

Introduction Outils et methodes de conception FPGA ` Conception dun systeme programmable SoftCore : NiosII Integration dun periph erique - Mapping memoire

Bertrand Granado Enseignant-Chercheur (LIP6 / UPMC)

Sysprog

Hiver 2013

231 / 231