55
Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit [email protected] 1

Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit [email protected]

Embed Size (px)

Citation preview

Page 1: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « utilisation »

FonctionnalitésPerformanceConsommationFiabilitéPrix du produit

[email protected] 1

Page 2: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « fabrication »

MiniaturisationIntégration SIPIntégration 3DNouvelles technologiesRendementVariabilitéCoûts de fabrication

[email protected] 2

Page 3: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

[email protected] 3

MiniaturisationIntégration SIPIntégration 3DNouvelles technologiesRendementVariabilitéCoûts de fabrication

FonctionnalitésPerformanceConsommationFiabilitéPrix du produit

Problématiques « fabrication »

Problématiques « utilisation »

Problématiques « conception »

Page 4: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

[email protected] 4

Capteurs Process

“The root cause of variability in bulk CMOS technology is mainly RDF, random dopant fluctuations, i.e. variations in the exact number and position of dopant atoms in the channel of the transistor.”

Page 5: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Variabilité – Ring Oscillator

[email protected] 5

Commande

Compteur

n

Cpt

Activation

Horloge

OscillateurCommande

Résultat

𝐹= 𝐶𝑝𝑡∗𝑓ℎ𝑜𝑟𝑙𝑜𝑔𝑒𝑁𝑏_𝑐𝑦𝑐𝑙𝑒𝑠𝑎𝑐𝑡𝑖𝑣𝑎𝑡𝑖𝑜𝑛

Page 6: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

[email protected] 6

Exemple: techniques TMR

Page 7: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

[email protected] 7

SenderT1

IVLCT2

IQUANTT3

IDCTT4

3 2

0 1

T1

T3T2

T4

3 2

0 1

T1

T3T2

T4

Page 8: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

[email protected] 8

-1000

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0 5 10 15 20 25 30 35 40

Threshold

Threshold

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0

10

20

30

40

50

60

70

80

90

100

0 2 4 6 8 10 12 14 16

FIFO

mon

itori

ng

Thro

ughp

ut (

KB/s

)

Time (s)Throughput IVLC FIFO IQ FIFO IDCT FIFO

REF

Page 9: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

[email protected] 9

Page 10: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématique « conception »

[email protected] 10

Comment faire pour tirer le meilleur bénéfice de l’intégration?

ABSTRACTION & AUTOMATISATION

Design productivity

Page 11: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Exemple: registre 16 bits

[email protected] 11

library ieee ;use ieee.std_logic_1164.all;entity dff isport(data_in:in std_logic_vector(15 downto 0);clock:in std_logic;data_out:out std_logic_vector(15 downto 0));end dff; architecture behv of dff isbegin process(data_in, clock) begin if (clock='1' and clock'event) then data_out <= data_in;end if; end process;end behv;

15 lignes de VHDL

∼ 96 portes logiques

∼ 384 transistors

∼ 768 segments

Page 12: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Un exemple d’abstraction…

Registre simple16 bits…

◦ Description VHDL 15 lignes de code

◦ Portes logiques 96 portes logiques

◦ Circuit électrique 384 transistors

◦ Dessin des masques 768 « segments »

En résumé, l’abstraction permet de décrire plus simplement des choses compliquées…

Outils CAO pour automatiser le passage d’un niveau d’abstraction à un autre

◦ Outils de synthèse

◦ Attention: ce n’est pas magique…

◦ Vérification: outils de simulation, [email protected] 12

Page 13: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Problématiques « conception »

[email protected] 13

MiniaturisationIntégration SIPIntégration 3DNouvelles technologiesRendementVariabilitéCoûts de fabrication

FonctionnalitésPerformanceConsommationFiabilitéPrix du produit

Problématiques « fabrication »

Problématiques « utilisation »

Problématiques « conception »

Fonctionnalités / PartitionnementPerformance / Consommation / SurfaceVariabilitéFiabilitéProgrammation / DebugVérification / TestCoûts de conception

Com

plex

ité (

log)

1982 1992 2002 2012

Processeurs

CAO

Technologies

Batteries

Evolut

ion d

es be

soins

(algo

rithm

es)

Com

plex

ité (

log)

1982 1992 2002 2012

Processeurs

CAO

Technologies

Batteries

Evolut

ion d

es be

soins

(algo

rithm

es)

Page 14: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

« Lois de l’évolution »

[email protected] 15

Com

plex

ité (

log)

1982 1992 2002 2012

Processeurs

CAOTechnologies

Batteries

Evolut

ion d

es be

soins

(algo

rithm

es)

Com

plex

ité (

log)

1982 1992 2002 2012

Processeurs

CAOTechnologies

Batteries

Evolut

ion d

es be

soins

(algo

rithm

es)

Page 15: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Tendance actuelle sur le marché de la microélectronique◦ Application?◦ Technologie?

Performance des circuits intégrés -> fréquence:◦ MHz◦ GHz◦ THz

Complexité des circuits intégrés -> nombre de transistors◦ 1 000 000◦ 10 000 000◦ 100 000 000◦ 1 000 000 000

[email protected] 16

Page 16: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Complexité de ces circuits au début des années 1970◦ 100◦ 1 000 ◦ 100 000

Consommation des circuits intégrés -> Application Processor d’un SE en activité:◦ 100 nW◦ 100 uw◦ 100 mw

Consommation des circuits intégrés -> Processor d’un PC en activité:◦ 1 W◦ 10 W◦ 100 W [email protected] 17

Page 17: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Capacité des batteries de téléphone portable◦ 10 mAh◦ 100 mAh◦ 1 000 mAh

Semiconductors Techno providers◦ Asia◦ Europe◦ US

Qu’est-ce qu’une entreprise Fabless?◦ Une entreprise qui ne conçoit pas ses circuits◦ Une entreprise qui ne produit pas ses circuits

[email protected] 18

Page 18: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Quel est le nœud technologique le plus avancé en production◦ 45 nm◦ 32/28 nm◦ 22/20 nm

Quel sera le prochain nœud technologique?

Que représente cette dimension?

[email protected] 19

Page 19: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Quels sont les deux problèmes majeurs dans les technologies récentes?

Quelles est la différence entre la dérive technologique, et la variabilité?

Quelles sont les nouvelles pistes technologiques de la CMOS?

Quelles sont les perspectives potentielles post-CMOS?

[email protected] 20

Page 20: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

QUIZZ

Quelle est la partie prépondérante dans la phase de conception d’un CIN / SIN?◦ Design◦ Vérification

Pour un CIN programmable, la partie logicielle est-elle réalisée pendant la conception ou après la fabrication du circuit?

[email protected] 21

Page 21: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Flot de Conception générique CIN

[email protected] 22

Processeur Multimédia…F = 500 MHzP = 1 Watt…

Cahier des charges / Spécifications du

composant Description VHDL

Description Logique

Description Physique

Synthèse Logique

Synthèse Physique

Outils de CAO

Niveau d’abstraction du composant

Bib

lioth

èq

ue

Tech

nolo

giq

ue

OK

OK

OK

Outil de Simulation

Outil de Simulation

Outil de Simulation

CiblesMatériell

es

Page 22: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Cibles matérielles

[email protected] 23

Logic

StandardLogic

ASIC

Cell-BasedIC

Full CustomIC

PLDGate

Arrays

SPLD(PLA)

CPLD FPGA

SPLD Simple Programmable Logic DeviceCPLD Complex PLD (Programmable Logic Device)FPGA Field Programmable Gate Array

Cibles matériell

es

Page 23: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

HDL: Cibles matérielles

[email protected] 24

Logic

StandardLogic

ASIC

Cell-BasedIC

Full CustomIC

PLDGate

Arrays

SPLD(PLA)

CPLD FPGA

SPLD Simple Programmable Logic DeviceCPLD Complex PLD (Programmable Logic Device)FPGA Field Programmable Gate Array

Cibles matériell

es

Page 24: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Fondeur

Flot de Conception Silicium

[email protected] 25

Processeur Multimédia…F = 500 MHzP = 1 Watt…

Cahier des charges / Spécifications du circuit

Description VHDL

Description Logique

Description Physique

Synthèse Logique

Synthèse Physique

Outils de CAO

Niveau d’abstraction

du circuit

Bib

lioth

èq

ue

Tech

nolo

giq

ue

OK

OK

OK

Outil de Simulation

Outil de Simulation

Outil de Simulation

Page 25: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Flot de Conception Silicium

Principaux acteurs de la CAO

En réalité, c’est une trentaine d’outils nécessaires…

Page 26: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Programmation du FPGA

Flot de Conception FPGA

[email protected] 27

Processeur Multimédia…F = 500 MHzP = 1 Watt…

Cahier des charges / Spécifications du

composant Description VHDL

Description Logique

Description Physique

Synthèse Logique

Synthèse Physique

Outils de CAO

Niveau d’abstraction du composant

Bib

lioth

èq

ue

Tech

nolo

giq

ue

OK

OK

OK

Outil de Simulation

Outil de Simulation

Outil de Simulation

Page 27: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Flot de Conception FPGA

Les fabricants de FPGA fournissent leurs propres outils CAO…

Page 28: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Flot de Conception générique

[email protected] 29

Processeur Multimédia…F = 500 MHzP = 1 Watt…

Cahier des charges / Spécifications du

composant Description VHDL

Description Logique

Description Physique

Synthèse Logique

Synthèse Physique

Outils de CAO

Niveau d’abstraction du composant

Bib

lioth

èq

ue

Tech

nolo

giq

ue

OK

OK

OK

Outil de Simulation

Outil de Simulation

Outil de Simulation

CiblesMatériell

es

Page 29: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

VHDL

Retour sur les notions de base◦ Circuit logique◦ Latch / Flip-Flop◦ Compteur◦ Instanciation◦ Testbench◦ MEF◦ Gestion du Reset / Clock

[email protected] 30

Entretien

d’embauche!

Page 30: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (CMOS)

[email protected] 31

CK

CK

CK

CK

D Q

CK

CK

CK

CK

D QCK

CK

CK

CK

Quand CK=1, transparentQuand CK=0, mémoire

Page 31: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

[email protected] 32

CLK

D

Qlatch

Qff

Page 32: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (HDL)

[email protected] 33

1) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches.

Page 33: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (HDL)

[email protected] 34

1) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches.

2) Surface Latch< Surface Flip-flop

Page 34: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (HDL)

[email protected] 35

1) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches.

2) Surface Latch< Surface Flip-flop

3) Les Flip flops permettent de synchroniser la logique combinatoire

Page 35: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (HDL)

[email protected] 36

1) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches.

2) Surface Latch< Surface Flip-flop

3) Les Flip flops permettent de synchroniser la logique combinatoire

4) Latches peu compatibles avec les outils de DFT

Page 36: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Latch vs Flip Flop (HDL)

[email protected] 37

1) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches.

2) Surface Latch< Surface Flip-flop

3) Les Flip flops permettent de synchroniser la logique combinatoire

4) Latches peu compatibles avec les outils de DFT

5) La plupart des outils CAO optimisent mal les timings en présence de latches, pire, peuvent passer à côté d’un chemin critique…

Page 37: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Logic Design

Objectif: concevoir un composant SYNTHETISABLE

Règles de design◦ Naming◦ Vendor independence◦ IEEE standard types◦ Commentaires

IP ReuseDesign synchrone Partitionnement RTL

[email protected] 38

Page 38: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Respecter les spécifications!

[email protected] 39

Page 39: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Respecter les spécifications!Nommage explicite:

◦ signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt

ram_addr or RamAddr (VHDL insensible à la casse).

[email protected] 40

Page 40: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Respecter les spécifications!Nommage explicite:

◦ signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt

ram_addr or RamAddr (VHDL insensible à la casse).

Utiliser clk pour les signaux d’horloge◦ S’il y a plusieurs horloges, utiliser clk comme préfixe

pour tous les signaux d’horloge clk4m, clk8m

◦ Même nom pour tous les signaux d’horloge pilotés par le même signal

[email protected] 41

Page 41: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Respecter les spécifications!Nommage explicite:

◦ signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt

ram_addr or RamAddr (VHDL insensible à la casse).

Utiliser clk pour les signaux d’horloge◦ S’il y a plusieurs horloges, utiliser clk comme préfixe

pour tous les signaux d’horloge clk4m, clk8m

◦ Même nom pour tous les signaux d’horloge pilotés par le même signal

Pour les signaux actifs sur niveau bas, on suffixe avec underscore x (toto_x).

[email protected] 42

Page 42: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Respecter les spécifications!Nommage explicite:

◦ signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt

ram_addr or RamAddr (VHDL insensible à la casse).

Utiliser clk pour les signaux d’horloge◦ S’il y a plusieurs horloges, utiliser clk comme préfixe

pour tous les signaux d’horloge clk4m, clk8m

◦ Même nom pour tous les signaux d’horloge pilotés par le même signal

Pour les signaux actifs sur niveau bas, on suffixe avec underscore x (toto_x).

Pour les bus, toujours le même ordre, ◦ plutôt (y downto x)

[email protected] 43

Page 43: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques ◦ Exemple: a => a; ou a => a_int;

[email protected] 44

Page 44: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques ◦ Exemple: a => a; ou a => a_int;

Utiliser:◦ en ou enab pour signaux enable, s’il y en a

plusieurs, préfixer tous ces signaux avec en ou enab

◦ Rst ou reset pour tous les resets du circuit

[email protected] 45

Page 45: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Règles de « nommage » (Naming)

Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques ◦ Exemple: a => a; ou a => a_int;

Utiliser:◦ en ou enab pour signaux enable, s’il y en a

plusieurs, préfixer tous ces signaux avec en ou enab

◦ Rst ou reset pour tous les resets du circuitNommer le testbench ’nom_du_bloc'_TB.

[email protected] 46

Page 46: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Une seule horloge globale

[email protected] 47

Page 47: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Une seule horloge globaleEléments séquentiels: Flip-flops sensibles

sur front montant d’horloge

[email protected] 48

Page 48: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Une seule horloge globaleEléments séquentiels: Flip-flops sensibles

sur front montant d’horloge CIN “synchrones”

◦ Dès l’écriture du VHDL (penser synthèse)◦ Avantages:

Optimisation du timing Aléas / glitches, états ‘X’ Test

[email protected] 49

Page 49: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Une seule horloge globaleEléments séquentiels: Flip-flops sensibles

sur front montant d’horloge CIN “synchrones”

◦ Dès l’écriture du VHDL (penser synthèse)◦ Avantages:

Optimisation du timing Aléas / glitches, états ‘X’ Test

Partitionnement “intelligent”◦ Facilite analyse et optimisation du timing et

test

[email protected] 50

Page 50: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Eviter les « gated-clocks »◦ Technology-specific (cf. Power…)◦ Glitches, skew, violation de contraintes de

hold, testabilité

[email protected] 51

clk_int<= port_en_1 and clk;

p1:process (rst,clk_int,port_en_1, port_in_1)begin

if rst='1' then port_out_1<='0';elsif rising_edge(clk_int) thenport_out_1<=port_in_1;end if;

end process;

WARNING:PhysDesignRules:372 - Gated clock. Clock net clk_int is sourced by a combinatorial pin. This is not good design practice. Use the CE pin to control the loading of data into the flip-flop.

Page 51: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Eviter les « gated-clocks »◦ Technology-specific (cf. Power…)◦ Glitches, skew, violation de contraintes de

hold, testabilité

[email protected] 52

process (mclk, rst)begin

if rst='1' then q <= (others => '0');elsif mclk'event and mclk='1' then q <= q+1;end if;

end process;

clk25 <= q(0);clk190 <= q(17);clk3 <= q(23);

WARNING:Route:455 - CLK Net:pulse may have excessive skew because 4 CLK pins and 0 NON_CLK pins failed to route using a CLK template.WARNING:Route:455 - CLK Net:U1/q<17> may have excessive skew because 1 CLK pins and 1 NON_CLK pins failed to route using a CLK template.

process(clk, rst)begin

if rst='1' then retard1 <= '0';retard2 <= '0';retard3 <= '0';

elsif clk'event and clk='1' thenretard1 <= entree;retard2 <= retard1;retard3 <= retard2;

end if;

end process;

sortie <= retard1 and retard2 and (not retard3);

Page 52: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Eviter les « gated-clocks »◦ Technology-specific (cf. Power…)◦ Glitches, skew, violation de contraintes de

hold, testabilité

[email protected] 53

Page 53: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Eviter les « gated-clocks »◦ Technology-specific (cf. Power…)◦ Glitches, skew, violation de contraintes de

hold, testabilitéExemple de solution

[email protected] 54

XILINX DCM

DCM

Page 54: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Horloges et reset

Eviter les RESET générés en interneS’assurer que les registres sont initialisés

par un même reset Eviter les conditions sur les RESET

[email protected] 55

Page 55: Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr1

Partitionnement du design

Avantages d’un bon partitionnement◦ Facilite la synthèse: optimisation, vitesse de

synthèse, etc.◦ Reuse

[email protected] 56

Mieux…