chapitre 7: multivibrateurs et considérations pratiques...bistable • une entrée sert à faire...

43
ELE3311 Systèmes logiques programmables Mohamad Sawan et collaborateurs Chapitre 7: multivibrateurs et considérations pratiques Les multivibrateurs Définition Types de multivibrateurs (monostable, bistable et astable) Exemples de multivibrateurs Circuits MSI La métastabilité Fréquence maximale de fonctionnement d'un circuit Analyse temporelle dynamique Analyse temporelle statique (static timing analysis STA) Architecture pipelinée Autres considérations pratiques Recommandations

Upload: others

Post on 27-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmables

Mohamad Sawan et collaborateurs

Chapitre 7: multivibrateurs et

considérations pratiques▪ Les multivibrateurs

➢ Définition

➢ Types de multivibrateurs (monostable, bistable et astable)

➢ Exemples de multivibrateurs

➢ Circuits MSI

▪ La métastabilité

▪ Fréquence maximale de fonctionnement d'un circuit

➢ Analyse temporelle dynamique

➢ Analyse temporelle statique (static timing analysis – STA)

▪ Architecture pipelinée

▪ Autres considérations pratiques

▪ Recommandations

Page 2: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 2

Les multivibrateurs

▪ Définition

➢ Un multivibrateur est un circuit faisant partie de l'une des

trois catégories suivantes:

• monostable;

• bistable ou

• astable.

Page 3: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 3

Les multivibrateurs (suite)

▪ Types de multivibrateurs

➢ Monostable (aussi appelé "One-Shot")

• L’entrée sert de gâchette (trigger) et doit avoir une largeur

minimum (t)

• La sortie est une impulsion de durée prédéterminée (T)

Multivibrateur

monostableEntrée Sortie

Dt T

Page 4: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 4

Les multivibrateurs (suite)

▪ Types de multivibrateurs (suite)

➢ Monostable (suite)

• Sortie redéclenchable ou non-redéclenchable.

T

Sortie

redéclenchable

Entrée

Sortie

non-redéclenchableT

Page 5: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 5

Les multivibrateurs (suite)

▪ Types de multivibrateurs (suite)

➢ Bistable

• Une entrée sert à faire basculer d’état.

• Le même signal ou un autre réinitialise le bistable.

Multivibrateur

bistableEntrée Sortie

Dt

Page 6: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 6

Les multivibrateurs (suite)

▪ Types de multivibrateurs (suite)

➢ Astable

• Aucune entrée nécessaire mais un signal d’activation (enable)

est souvent utilisé.

• La sortie oscille d’un état à l’autre.

Multivibrateur

astableSortie

T

t1

Page 7: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 7

Les multivibrateurs (suite)

▪ Exemples de multivibrateurs

➢ Monostable

• Bascule S-R

QR

S

Z

X

Délai(T)

Les entrées 'S' et 'R' de la bascule ne doivent pas être actives simultanément.

X

Z

T

Non-redéclenchable

Page 8: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 8

Les multivibrateurs (suite)

▪ Exemples de multivibrateurs (suite)

➢ Monostable (suite)

• Bascule D (synchrone)

X*Q

D

clk

Vcc

ZR

QD

clk

ZNRX*

Non-redéclenchable

Redéclenchable

X

ZR

0 1 2 3

CLK

ZNR

T

Page 9: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 9

QS

R

RR

RR

RR

CR

Vin*

Reset*

Vcc

Cext

Rext

Vout

Vcc

VC

Les multivibrateurs (suite)

▪ Exemples de multivibrateurs (suite)

➢ Monostable (suite)

• Multivibrateur 555 (vue interne)Composants externes

Page 10: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 10

Les multivibrateurs (suite)

▪ Exemples de multivibrateurs (suite)

➢ Monostable (suite)

• Multivibrateur 555 (diagramme de phase)

Vin*

Vout

T

VC

2VCC

3

QS

R

RR

RR

RR

CR

Vin*

Reset*

Vcc

Cext

Rext

Vout

Vcc

VC

Page 11: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 11

Les multivibrateurs (suite)

▪ Exemples de multivibrateurs (suite)

➢ Bistable

• Bascule S-R (élément le plus simple pour un bistable)

QR

S

Z

Vcc

RPD

Page 12: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 12

Les multivibrateurs (suite)

▪ Circuits MSI

➢ Monostable

• Simple: 74121, 74122, 74130

• Double: 74123, 74221, 74423

• Timer 555

➢ Bistable

• 74279 (Bascule S-R)

➢ Astable

• Timer 555

Page 13: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 13

La métastabilité

▪ La métastabilité est un troisième point d’équilibre ne

correspondant ni à un ‘0’, ni à un ‘1’ logique.

➢ Exemple: Bistable S-R

R

S

Q

Q*

Stable

Métastable

Stable

Q=f(R)

Q*=f(S)

R, Q*

Q, S

R

S

Q

Q*

Équivalent lors d’un passage de "1" à "0".

Page 14: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 14

La métastabilité dans les FPGAs

▪ Sources

➢ Transfert de données entre des domaines d’horloge indépendants ou

asynchrones

➢ Violation des requis de synchronisation (timing violations)

▪ Réduction des problèmes liés à la métastabilité

L’objectif est de laisser du temps pour résoudre l’état métastable

➢ Synchronisation ou resynchronisation

• 1-bit : 2 registres physiquement près l’un de l’autre

– Utilisation de la propriété: ASYNC_REG

• N-bit : On ne peut garantir la resynchronisation de plusieurs bits

– Synchronisation du signal « valide »

Xilinx Forums

Page 15: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 15

La métastabilité dans les FPGAs

▪ Synchronisation (1-bit) : Exemple

➢ Xilinx: Utiliser la propriété ASYNC_REG pour les

registres dans le domaine d’horloge destination

Pour plus d’information sur la métastabilité dans les FPGA.

Domaine d’horloge destinationDomaine d’horloge

source

sclk

meta

dclk

dclk

dclk

sig sig_meta sig_dclk

Minimiser le délai de propagation en

gardant les registres physiquement

proches

Page 16: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 16

Fréquence maximale de fonctionnement

▪ Types d’analyse pour évaluer fmax

➢ Simulation fonctionnelle de circuits

• Évaluation de la fréquence maximale en simulant le fonctionnement du

circuit numérique à partir de modèle des portes logiques

• Haute précision, mais la méthode la plus lente

➢ Analyse temporelle fonctionnelle

• Méthode de calcul statistique, en simulant le fonctionnement du circuit

numérique

• Bonne précision, applicable pour des circuits MSI

➢ Analyse temporelle statique (Static Timing Analysis)

• Méthode de calcul statistique, sans comprendre le fonctionnement

• Méthode la plus rapide, utilisée en VLSI / FPGA

Page 17: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 17

Fréquence maximale (suite)

▪ Évaluation de la fréquence maximale (règles directrices)

1. Identifier le chemin critique.

2. Sensibiliser le chemin critique (entrées).

3. Trouver les états présents et suivants affectant le chemin critique.

4. Écrire les équations pour toutes les transitions d'états.

5. Évaluer le temps de propagation maximal en fonction des composants

utilisés (L-H, H-L).

Q2D2

Q1D1

clk

XLogique

combinatoire

tPLH

ou

tPHL

tCOMB

tsu

Page 18: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 18

Fréquence maximale (suite)

▪ Évaluation de la fréquence maximale (composantes)

tSU

tPLH

X

D1

CLK

Q1

0 1 2

D2

tCOMB

MAX

PLH COMB SU

1f =

t + t + t

Fixé avec le type de

mémoire choisie

Q2D2

Q1D1

clk

XLogique

combinatoire

tPLH

ou

tPHL

tCOMB

tsu

Page 19: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 19

Fréquence maximale (suite)

▪ Cas simple

➢ Élément de mémoire (bascule)SN74LS74

tsu = 20 ns

th = 5 ns

tPLH = 25 ns

tPHL = 40 ns

QD

clk

1 PLH SUT = t + t = 25+ 20 = 45ns

2 PHL SUT = t + t = 40 + 20 = 60ns

LH

HL

MAX

1f = =16.7 MHz

60ns

Page 20: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 20

Fréquence maximale (suite)

▪ Compteur synchrone 4 bits

Q0

D

clk

Q1

D

clk

Q2

D

clk

Q3

D

clk

11 0 ou 1

LH

1110 1111 0000® ®

LH LH

LH

HL

0110 0111 0010® ®

Présent Suivant

Page 21: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 21

Fréquence maximale (suite)

▪ Compteur synchrone 4 bits (suite)

'174 '08 '08 '86A '174

tPLH

tPHL

tsu

th

74LS08

15

20

LOW

23

17

HIGH

30

22

74LS174

25

25

20

5

74LS86AOther input

Q0

D

clk

Q1

D

clk

Q2

D

clk

Q3

D

clk

PLH PLH PLH PHL(H)HL SUT = t + t + t + t + t = 25+15+15+ 22 + 20 = 97ns

1110 1111 0000® ®

PLH PLH PLH PLH(L)LH SUT = t + t + t + t + t = 25+15+15+ 23+ 20 = 98ns

0110 0111 0010® ®

Présent Suivant

Page 22: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 22

Fréquence maximale (suite)

▪ Compteur 2 bits avec séquence 00, 11, 01, 10, 00, 11, …

Q0

D

clk

Q1

D

clk

Z

11 01 10® ®

Présent Suivant

10 00 11® ®LH

HLH

L H

LH

HL

0 PHL PLH PHL SUT = t + t + t + tLH

HLL

H

H

LH

HL

1 PLH PHL PLH SUT = t + t + t + t

Page 23: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 23

Fréquence maximale (suite)

▪ Compteur 2 bits (suite)

1 PLH PHL PLH SUT = t + t + t + t 8 4 4.5 15 31.5ns= + + + =

tPLH

tPHL

tsu

th

74AS00

(NON-ET)

4.5 ns

4 ns

74ALS08

(ET)

14 ns

10 ns

74AS74

(Bascule D)

8 ns

9 ns

15 ns

2 ns

0 PHL PLH PHL SUT = t + t + t + t 9 4.5 4 15 32.5ns= + + + ='74 '00 '00 '74

MAX

1F = = 30.77 MHz

32.5ns

Page 24: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 24

Fréquence maximale (suite)

D QQ0

RCO*

Q1

EN

LOAD

A

EN

LOAD

CK

B

D Q

LOAD*

LOAD*

▪ Compteur séquentiel avec chargement parallèle

Page 25: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 25

Fréquence maximale (suite)

D QQ0

RCO*

Q1

EN

LOAD

A

EN

LOAD

CK

B

D Q

LOAD*

LOAD*

▪ Compteur séquentiel avec chargement parallèle

00 101 0® ®

Présent Suivant

Q0

0 PLH PHL PLH PHL PLH SUT = t + t + t + t + t + t

'74 '00 '00 '86 '00 '74

Page 26: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 26

Fréquence maximale (suite)

D QQ0

RCO*

Q1

EN

LOAD

A

EN

LOAD

CK

B

D Q

LOAD*

LOAD*

tPLH

tPHL

tsu

th

74ALS00

(NON-ET)

11 ns

8 ns

7486

(OU-Exclusif)

23 ns

17 ns

74ALS74

(Bascule D)

16 ns

18 ns

15 ns

2 ns

▪ Compteur séquentiel avec chargement parallèle

00 101 0® ®

Présent Suivant

10 011 0® ®Q0

T

1= t

PLH+ t

PH L+ t

PLH+ t

PLH+ t

PHL+ t

SU

0 PLH PHL PLH PHL PLH SUT = t + t + t + t + t + t

'74 '00 '00 '86 '00 '74

Page 27: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 27

Fréquence maximale (suite)

▪ Compteur séquentiel décroissant

CLKQ0 Q1 Q2 Q3 Q4

D

Q

D

Q

D

Q

D

Q

D

Q

Page 28: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 28

Fréquence maximale (suite)

▪ Compteur séquentiel décroissant

00001 000 100 1111® ®

Présent Suivant

10001 100 000 1111® ®

CLKQ0 Q1 Q2 Q3 Q4

D

Q

D

Q

D

Q

D

Q

D

Q

LHHL LH HL

LH

Q0*

H

Présent Suivant

OU

Page 29: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 29

Fréquence maximale (suite)

▪ Compteur séquentiel décroissant (suite)

tPLH

tPHL

tsu

th

74AS00

(NON-ET)

4.5 ns

4 ns

74ALS02

(NON-OU)

12 ns

10 ns

74AS74

(Bascule D)

8 ns

9 ns

4.5 ns

4 ns

74ALS86

(OU-Exclusif)

17 ns

12 ns

0 PLH PHL PLH PHL PHL SUT = t + t + t + t + t + t = 8+ 4 +10 + 4 +12 + 4.5 = 42.5ns'74 '00 '02 '74

MAX

1F = = 21.05MHz

47.5ns

'00 '86

1 PLH PHL PLH PHL PLH SUT = t + t + t + t + t + t = 8+ 4 +10 + 4 +17 + 4.5 = 47.5ns

Page 30: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 30

Fréquence maximale (suite)

▪ MSA bit par état

a

X

Q0

'1''0'

ZSBSE

b c

X'0'

'1'

Q1

Q2

Q2

D

clk

Q0

D

clk

Q1

D

clk

0

1

Q2

Q0

XS

0

X*Q

0

Q2

X

Q1

Rst*

Z

000

001

100

010

Page 31: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 31

Fréquence maximale (suite)

▪ MSA bit par état

a

X

Q0

'1''0'

ZSBSE

b c

X'0'

'1'

Q1

Q2

Q2

D

clk

Q0

D

clk

Q1

D

clk

0

1

Q2

Q0

XS

0

X*Q

0

Q2

X

Q1

Rst*

Z

001 100 010® ®

Présent Suivant

100 00 01 qq® ®

H

L

LH LH HL

LHH

0 PLH PLH PHL PLH SUT = t + t + t + t + t

1 PHL PHL PLH PHL SUT = t + t + t + t + t

LHHL HL

HL

000

001

100

010

Page 32: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 32

Fréquence maximale (analyse statique)

▪ Analyse temporelle statique (Static Timing Analysis)

➢ Exemple d’un rapport dans Vivado (projet didac)

➢ Ouvrir le design placé et routé

➢ Identifier un chemin (path)

Page 33: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 33

Fréquence maximale (analyse statique)

▪ Analyse temporelle statique (STA)

➢ Rapport Vivado (entête)

report_timing -through [get_selected_objects ]

INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -1, Delay Type: max.

INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 2 CPUs

INFO: [Timing 38-78] ReportTimingParams: -through_pins -max_paths 1 -nworst 1 -

delay_type max -sort_by slack.

Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

------------------------------------------------------------------------------------

| Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018

| Date : Tue Mar 26 14:39:37 2019

| Host : sby-7480 running 64-bit major release (build 9200)

| Command : report_timing -through {{inst_msa/compteur_p[3]_i_2_n_0}}

| Design : top_level_compteur

| Device : 7a200t-sbg484

| Speed File : -1 PRODUCTION 1.23 2018-06-13

------------------------------------------------------------------------------------

Page 34: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 34

Fréquence maximale (STA)

▪ Rapport (résumé)Timing Report

Slack (MET) : 60.234ns (required time - arrival time)

Source: inst_msa/compteur_p_reg[1]/C (rising edge-triggered cell FDCE clocked

by clk_out1_clk_wiz {[email protected] [email protected] period=62.500ns})

Destination: inst_msa/compteur_p_reg[3]/D (rising edge-triggered cell FDCE clocked

by clk_out1_clk_wiz {[email protected] [email protected] period=62.500ns})

Path Group: clk_out1_clk_wiz

Path Type: Setup (Max at Slow Process Corner)

Requirement: 62.500ns (clk_out1_clk_wiz [email protected] - clk_out1_clk_wiz

[email protected])

Data Path Delay: 2.239ns (logic 0.744ns (33.232%) route 1.495ns (66.768%))

Logic Levels: 1 (LUT5=1)

Clock Path Skew: 0.000ns (DCD - SCD + CPR)

Destination Clock Delay (DCD): -1.405ns = ( 61.095 - 62.500 )

Source Clock Delay (SCD): -0.805ns

Clock Pessimism Removal (CPR): 0.600ns

Clock Uncertainty: 0.102ns ((TSJ^2 + DJ^2)^1/2) / 2 + PE

Total System Jitter (TSJ): 0.071ns

Discrete Jitter (DJ): 0.191ns

Phase Error (PE): 0.000ns

Page 35: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 35

Fréquence maximale (STA)

▪ Rapport (horloge source)Location Delay type Incr(ns) Path(ns) Netlist Resource(s)

------------------------------------------------------------------- -------------------

(clock clk_out1_clk_wiz rise edge)

0.000 0.000 r

R4 0.000 0.000 r clk_100mhz_i (IN)

net (fo=0) 0.000 0.000 inst_clk_wiz/inst/clk_in1

R4 IBUF (Prop_ibuf_I_O) 1.475 1.475 r inst_clk_wiz/inst/clkin1_ibufg/O

net (fo=1, routed) 1.233 2.708 inst_clk_wiz/inst/clk_in1_clk_wiz

MMCME2_ADV_X1Y2 MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0)

-7.432 -4.724 r

inst_clk_wiz/inst/mmcm_adv_inst/CLKOUT0

net (fo=1, routed) 1.808 -2.915

inst_clk_wiz/inst/clk_out1_clk_wiz

BUFGCTRL_X0Y0 BUFG (Prop_bufg_I_O) 0.096 -2.819 r inst_clk_wiz/inst/clkout1_buf/O

net (fo=30, routed) 2.014 -0.805 inst_msa/CLK

SLICE_X0Y68 FDCE r inst_msa/compteur_p_reg[1]/C

------------------------------------------------------------------- -------------------

Page 36: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 36

Fréquence maximale (STA)

▪ Rapport (chemin de donnée – datapath)Location Delay type Incr(ns) Path(ns) Netlist Resource(s)

------------------------------------------------------------------- -------------------

SLICE_X0Y68 FDCE (Prop_fdce_C_Q) 0.419 -0.386 r inst_msa/compteur_p_reg[1]/Q

net (fo=4, routed) 1.495 1.109 inst_msa/Q[1]

SLICE_X0Y68 LUT5 (Prop_lut5_I1_O) 0.325 1.434 r inst_msa/compteur_p[3]_i_2/O

net (fo=1, routed) 0.000 1.434 inst_msa/compteur_p[3]_i_2_n_0

SLICE_X0Y68 FDCE r inst_msa/compteur_p_reg[3]/D

------------------------------------------------------------------- -------------------

Page 37: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 37

Fréquence maximale (STA)

▪ Rapport (horloge destination et total)Location Delay type Incr(ns) Path(ns) Netlist Resource(s)

------------------------------------------------------------------- -------------------

(clock clk_out1_clk_wiz rise edge)

62.500 62.500 r

R4 0.000 62.500 r clk_100mhz_i (IN)

net (fo=0) 0.000 62.500 inst_clk_wiz/inst/clk_in1

R4 IBUF (Prop_ibuf_I_O) 1.405 63.905 r inst_clk_wiz/inst/clkin1_ibufg/O

net (fo=1, routed) 1.162 65.067 inst_clk_wiz/inst/clk_in1_clk_wiz

MMCME2_ADV_X1Y2 MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0)

-7.674 57.393 r

inst_clk_wiz/inst/mmcm_adv_inst/CLKOUT0

net (fo=1, routed) 1.723 59.116

inst_clk_wiz/inst/clk_out1_clk_wiz

BUFGCTRL_X0Y0 BUFG (Prop_bufg_I_O) 0.091 59.207 r inst_clk_wiz/inst/clkout1_buf/O

net (fo=30, routed) 1.888 61.095 inst_msa/CLK

SLICE_X0Y68 FDCE r inst_msa/compteur_p_reg[3]/C

clock pessimism 0.600 61.695

clock uncertainty -0.102 61.593

SLICE_X0Y68 FDCE (Setup_fdce_C_D) 0.075 61.668 inst_msa/compteur_p_reg[3]

-------------------------------------------------------------------

required time 61.668

arrival time -1.434

-------------------------------------------------------------------

slack 60.234

Page 38: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 38

Architecture pipelinée

Page 39: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 39

Architecture pipeline (suite)

D1 D0

D1 D0D2

C0

C0a C0b

X

X

Clk

Clk

C1

C1

Page 40: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 40

Considérations pratiques (suite)

▪ Interconnections de circuits

➢ Un long fil de masse engendre des effets inductifs et

résistifs qui peuvent provoquer des erreurs logiques;

Masse A&B

Sortie A / Entrée C

Entrée D

Sortie D (erreur !!)

Page 41: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 41

Considérations pratiques (suite)

▪ Interconnections de circuits (suite)

➢ Des charges capacitives élevées, causées par un trop grand nombre d'entrées (sortance élevée), engendrent une durée de transition plus longue, ce qui réduit la fréquence d’utilisation;

➢ Les fils reliant des portes éloignées sont considérés comme des lignes de transmission et peuvent provoquer des erreurs dues à la réflexion. Ce phénomène est aussi connu sous le nom de "Over Shoot"; L'inductance mutuelle entre des lignes trop rapprochées peut engendrer des erreurs dues aux effets de "Crosstalk";

➢ La distribution non-étudiée d'horloge peut réduire la fréquence maximale d'un système.

Page 42: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 42

Considérations pratiques (suite)

▪ Recommandations

➢ Utiliser des circuits synchrones pour réduire les effets

d'inductance entre les lignes;

➢ Éviter les capacités parasites dans le filage des circuits;

➢ Réduire les inductances parasites des fils en utilisant un

plan de masse ("Ground Plane"). Sinon élargir les

conducteurs servant à l'alimentation autant que possible et

entourer la carte imprimée d'un conducteur en boucle

fermée;

➢ Élargir une mise à la terre commune dans le cas d'un

circuit multicartes imprimé;

Page 43: Chapitre 7: multivibrateurs et considérations pratiques...Bistable • Une entrée sert à faire basculer d’état. • Le même signal ou un autre réinitialise le bistable. Multivibrat

ELE3311 –

Systèmes logiques programmablesPage 43

Considérations pratiques (suite)

▪ Recommandations (suite)

➢ Amplifier les signaux et prévoir une mise à la terre pour

les portes attaquant les autres cartes;

➢ Amplifier les signaux d'horloge, respecter la sortance et

les délais et utiliser autant que possibles des circuits

"Schmitt Trigger";

➢ Maintenir une impédance basse entre l'alimentation et la

mise à la terre de chaque circuit intégré en utilisant une

capacité.