Uploaded by Tiavina Safidy

Chapitre I

advertisement
Chapitre I : Synchronisation de système
1.1. Introduction
Les technologies pour la conception et la construction microélectronique ont eu une
amélioration significative depuis que les premiers circuits intégrés discrets commerciales ont été
introduites à la fin des années 1950. Comme prévu par la loi de Moore dans les années 1960, la densité
des circuits intégrés (IC : Integrated Circuit) a doublé environ tous les 18 mois, et ce doublement de
quantité a été accompagnée d'une augmentation exponentielle de la vitesse du circuit (ou, plus
précisément, la fréquence d'horloge). A la suite de cette révolution extraordinaire dans la technologie
des semi-conducteurs, il n'est pas rare pour les circuits intégrés modernes de contenir plus de dix
millions d'éléments de commutation (i.e. transistors) emballées dans une zone de puce de 500mm2.
Les performances des CI sont généralement caractérisées par la vitesse de fonctionnement, la
fonctionnalité disponible, et la consommation d'énergie. Il existe de nombreux facteurs qui influent
directement sur ces caractéristiques. L'augmentation de performances des circuits a été en grande partie
réalisée par les méthodes suivantes:
• Réduction de la taille; capacité à fabriquer des structures plus petites et plus rapides,
• Augmentation de la surface de la puce, ce qui permet un plus grand nombre de circuits et donc une
plus grande fonctionnalité sur la puce
• Les progrès de la technologie d'emballage, permettant l'augmentation du volume de trafic de données
entre un CI et de son environnement ainsi que l'élimination efficace de la chaleur.
Les circuits intégrés les plus complexes sont considérés comme des circuits VLSI (Very LargeScale Integration). Ce terme décrit la complexité des circuits intégrés modernes
constitués de centaines de milliers à plusieurs millions d'éléments de transistor actives. Actuellement,
les fabricants de circuits intégrés ont une capacité technologique pour la production de masse de circuits
VLSI de 0,12μm. Ces technologies de sub-1/2-micrometer sont identifiés par le terme submicroniques
profonds (DSM : deep submicrometer).
1.2. Systèmes VLSI synchrones
1.2.1. Présentation générale
Typiquement, un système VLSI numérique exécute un algorithme de calcul complexe, telle
qu'une transformée de Fourier rapide ou une architecture microprocesseur RISC. Bien que les systèmes
VLSI contiennent un grand nombre de composants, ces systèmes emploient seulement un nombre
limité de différents types de portes logiques. Chaque élément logique accepte certains signaux d'entrée
et calcule un signal de sortie utilisé par d'autres éléments. Un système VLSI est un réseau de plusieurs
dizaines de milliers de portes logiques dont les bornes sont reliées entre elles afin de mettre en œuvre
l'algorithme cible.
Les variables de commutation agissant comme des entrées et des sorties d'une porte logique
dans un système VLSI sont représentés par des qualités physiques tangibles, car un certain nombre de
ces appareils sont reliés entre eux pour obtenir la fonction désirée de chaque porte logique. Les
spécificités
des
caractéristiques
physiques
sont
résumées
par
le terme «technologie» qui englobe tous les détails pour le type et le comportement des dispositifs qui
peuvent être construit, le nombre et la séquence des étapes de fabrication, et l'impédance des différents
matériaux d'interconnexion utilisés. Aujourd'hui, plusieurs technologies permettent la mise en œuvre
de systèmes VLSI à haute performance, ceux-ci sont les CMOS, les bipolaires, et les BiCMOS.
La conception d'un système VLSI peut exiger beaucoup d'efforts en vue d'examiner une large
gamme de questions d'architecture et de logique; c'est en choisissant les portes et les interconnexions
appropriées que la fonction requise du circuit est atteinte. Aucune conception n’est terminée sans tenir
compte des caractéristiques dynamiques de propagation du signal. Chaque calcul effectué par un circuit
1
de commutation implique de multiples transitions de signaux entre les états logiques et nécessite une
quantité limitée de temps pour se terminer. La tension à chaque nœud de circuit doit atteindre une
valeur spécifique pour que le calcul soit achevé. Par conséquent, la conception de CI est largement
centrée autour de la tâche de prédire et d’interpréter les formes des signaux aux différents points du
circuit.
Dans un système de type VLSI, des millions de transitions de signaux individuels déterminent
les retards des portes et la vitesse globale du système. Certaines de ces transitions peuvent être
exécutées simultanément, tandis que d'autres doivent être exécutées dans un ordre chronologique strict.
L'apparition séquentielle de ces dernières doit être bien coordonnée dans le temps de sorte que le
fonctionnement du système soit logiquement correct, et que ses résultats soient fiables. Cette
coordination qui est connu comme la « synchronisation » est essentielle pour assurer que toute paire
d'opérations logiques dans un circuit ayant une relation de priorité procède dans le bon ordre. Dans les
CI numériques, la synchronisation est obtenue à tous les stades de la conception du système. A quelques
exceptions près, ces circuits sont basés sur un schéma de cadencement entièrement synchrone.
Un exemple d'un système entièrement synchrone est représenté sur la Fig. 1.1 (a). Comme
illustré sur la Fig. 1.1 (a), il y a trois composantes reconnaissables dans ce système. Le premier volet,
les portes logiques appelés collectivement la logique combinatoire, fournissent l'ensemble des
opérations que le système exécute. La deuxième composante, les éléments de stockage cadencés ou
tout simplement les registres, sont des éléments qui stockent les résultats des opérations logiques.
Ensemble, la logique combinatoire et les registres constituent la partie de calcul du système et sont
reliés entre eux d'une manière qui met en œuvre la fonction requise. La troisième composante, connue
comme étant le réseau de distribution d'horloge, qui commande la synchronisation d'ensemble du
circuit en générant une référence de temps et en distribuant convenablement cette référence à chaque
registre.
Figure 1.1: Système synchrone ; a) le modèle de la machine à états finis ; b) chemin de données
locales.
Le fonctionnement normal d'un système, tel que représenté sur la Fig. 1.1 (a), se compose de
l'exécution itératif des calculs dans la logique combinatoire, suivie de la mémorisation des résultats
traités dans les registres. Le processus réel de stockage est temporellement contrôlé par le signal
d'horloge. Les transitions des signaux dans les sorties de porte logique sont terminées si les sorties sont
établis à un état valide. Au début de chaque cycle de calcul, les entrées du système ainsi que les données
stockées dans les registres, initient un nouveau processus de commutation. A chaque avancée du temps,
les signaux se propagent à travers la logique combinatoire, et générant les résultats à sa sortie. A la fin
2
de la période d'horloge, ces résultats sont stockés dans les registres et sont actionnés pendant le cycle
d'horloge suivant.
Par conséquent, le fonctionnement d'un système numérique peut être considéré comme
l'exécution séquentielle d'un grand ensemble de calculs simples qui se produisent simultanément dans
la partie logique combinatoire du système. Le concept d'un chemin de données locales est une
abstraction utile pour chacune de ces opérations simples et est représentée sur la Fig. 1.1 (b). La
grandeur du retard de la logique combinatoire est liée avec l'exigence de stockage de données dans les
registres à l'intérieur d'une période d'horloge. Le registre initial R i est l'élément de stockage au début
de la voie de données locale et fournit une partie ou la totalité des signaux d'entrée pour la logique
combinatoire au début du cycle de calcul. Le trajet se termine par les données d’encliquetage final avec
succès dans le registre Rf, où les résultats sont stockés à la fin du cycle de calcul.
1.2.2. Avantages et inconvénients des systèmes synchrones
Le comportement d'un système entièrement synchrone est bien définie et contrôlable tant que
la fenêtre de temps fourni par la période d'horloge est suffisamment longue pour permettre à chaque
signal dans le circuit de se propager à travers les portes logiques et les interconnexions et d’être inscrit
à l'intérieur du registre final. Lors de la conception le système et le choix de la période d'horloge
appropriée, deux exigences contradictoires, doivent être satisfaites. Tout d'abord, plus la période
d'horloge est petite, plus le nombre de cycles de calculs pouvant être effectués par le circuit dans un
laps de temps donné augmente. En variante, la fenêtre de temps défini par la période d'horloge doit être
suffisamment grande pour que les signaux les plus lents atteignent les registres de destination avant
que le cycle d'horloge actuel ne soit terminé et que le cycle d'horloge suivant ne soit amorcé.
Cette manière d'organiser les calculs ont fait que la synchronisation synchrone soit le régime
de premier choix pour les systèmes VLSI numériques:
• Il est facile à comprendre et ses propriétés et ses variations sont bien comprises.
• Le comportement non déterministe du retard de propagation dans la logique combinatoire est éliminé,
de telle sorte que le système dans son ensemble ait un comportement complètement déterministe
correspondant à la mise en œuvre de l’algorithme.
• La conception du circuit n'a pas besoin de se préoccuper des sorties car la seule caractéristique
dynamique pertinente de la logique combinatoire est le retard de propagation.
• L'état du système est complètement défini dans les éléments de stockage; ce fait simplifie la
conception, la mise au point, et les phases de test dans l'élaboration d'un grand système.
Cependant, le paradigme synchrone a aussi certaines limites qui rendent la conception d'un
système synchrone VLSI difficile:
• Cette approche synchrone présente un inconvénient car elle nécessite que l'ensemble du circuit
fonctionne aussi lentement que le plus lent chemin de registre à registre. Ainsi, le débit global d'un
système entièrement synchrone dépend de ces chemins dans la logique combinatoire avec les plus
grands retards; ces chemins sont également connus comme le pire des cas d’exécution ou des chemins
critiques. Dans un système de type VLSI, les retards de propagation dans les chemins combinatoires
sont réparties de façon inégale de sorte qu'il peut y avoir plusieurs chemins ayant des retards beaucoup
plus petites que la période d'horloge. Ce déséquilibre des retards de propagation est parfois si
dramatique que la vitesse du système est dictée par une poignée de chemins très lents.
• Le signal d'horloge doit être distribué à des dizaines de milliers de registres de stockage dispersés
dans le système. Par conséquent, une partie importante de la zone de système et la puissance dissipée
est consacrée au réseau de distribution d'horloge, qui est une structure de circuit qui n’effectue pas de
fonction de calcul.
• Le fonctionnement fiable du système dépend des hypothèses concernant les valeurs des retards de
propagation qui, s'il n'est pas satisfait, peut conduire à des violations de synchronisation
catastrophiques et rend le système inutilisable.
3
1.3. Synchronisation synchrone et réseaux de distribution d’horloge
1.3.1. Fondement
La plupart des circuits numériques intégrés haute performance mettent en œuvre un traitement
de données avec des algorithmes basés sur l'exécution itérative des opérations de base. Ces algorithmes
sont parallélisées en pipeline en insérant des registres cadencés à des endroits précis dans tout le circuit.
La stratégie de synchronisation pour ces registres cadencés dans la grande majorité des systèmes
VLSI/ULSI est une approche totalement synchrone. Il n'est pas rare que le processus de calcul dans
ces systèmes se propage sur des centaines de milliers d'éléments logiques fonctionnelles et sur des
dizaines de milliers de registres.
Plusieurs facteurs influent sur le temps de propagation des signaux. Étant donné que le réseau
de distribution d'horloge est constitué de portes logiques et d'interconnexions, les signaux dans le
réseau de distribution d'horloge sont également différés en temps. En outre, la dépendance du bon
fonctionnement d'un système au retard du signal dans le réseau de distribution d'horloge est beaucoup
plus grande que celle au retard des portes logiques. Rappelons qu’en délivrant le signal d'horloge aux
registres à des moments précis, le réseau de distribution d'horloge quantifie essentiellement le temps
d'un système synchrone (en périodes d'horloge), ce qui permet l'exécution simultanée d'opérations.
La nature du signal d'horloge sur puce est devenue un facteur primaire limitant les performances
d’un circuit, amenant le réseau de distribution d'horloge à devenir un goulot d'étranglement pour les
systèmes VLSI à haute vitesse. La principale source de charge pour les signaux d'horloge est de passer
à travers des portes logiques à l'interconnexion, changeant ainsi la nature physique de la charge à partir
d'une capacité localisée (C) à un réseau résistif-capacitif distribué (RC) de la charge. Ces impédances
d'interconnexion dégradent les formes des signaux et augmentent le retard de trajet. Ces changements
ont un impact profond sur les choix de la méthodologie de conception synchrone et sur la performance
globale du circuit. Parmi les conséquences les plus importantes sont la puissance accrue dissipée par
le réseau de distribution d'horloge, ainsi que les contraintes de temps de plus en plus difficiles qui
doivent être remplies afin d'éviter des violations de synchronisation. Par conséquent, la plupart des
approches utilisées pour concevoir un réseau de distribution d'horloge tentent de simplifier les objectifs
de performance, en ciblant un décalage d'horloge global minime ou nulle. Ceci peut être obtenu par
différentes stratégies de routage, la synthèse de tampon d'horloge en arbre, par symétrie H-arbres, ou
par série de tampons connectés distribués comme un maillage.
1.3.2. Définitions et notations
Un système numérique synchrone est un réseau de portes logiques et de registres dont les bornes
d'entrée et de sortie sont reliées entre elles par des fils. Une séquence de portes logiques connectés (pas
de registres) est appelé un chemin de signal. Les chemins de signaux délimitées par les registres sont
appelés chemins séquentiellement adjacentes et sont définies comme suit :
Définition 1.1: Paire de registres séquentielle adjacente. Pour une paire de registre arbitrairement
ordonnée dans un circuit synchrone, l'une des deux situations suivantes peut être observée. Soit il existe
au moins un trajet de signal qui connecte une certaine sortie de Ri à une certaine entrée de Rf, ou Rf de
n'importe quelle entrée ne peut pas être atteint à partir de n'importe quelle sortie de Ri en se propageant
à travers une unique séquence d’éléments logiques. Dans le premier cas, désigné par 𝑅1 ⟢ 𝑅2 , la
paire de registres est appelée une séquence adjacente de paire de registres et des événements de
commutation à la sortie de Ri peuvent éventuellement affecter l'entrée de Rf au cours de la même
période de l'horloge. Une paire adjacente de manière séquentielle de registres est également considéré
comme un chemin local de données.
Un circuit entièrement numérique synchrone est formellement défini comme suit:
Définition 1.2 : Un circuit numérique totalement synchrone 𝑆 = ⟨𝐺, 𝑅, 𝐢⟩ est ordonné triplement, si:
- 𝐺 = {𝑔1 , 𝑔2 , … , 𝑔𝑀 } est l'ensemble de toutes les portes logiques combinatoires,
- 𝑅 = {𝑅1 , 𝑅2 , … , 𝑅𝑀 } est l'ensemble de tous les registres, et
4
𝐢 = ‖𝑐𝑖,𝑗 ‖𝑁×𝑁 est une matrice décrivant la connectivité de G, où pour chaque élément 𝑐𝑖,𝑗 de
C:
0, 𝑠𝑖 (𝑅𝑖 ⟢ 𝑅𝑗 )
𝑐𝑖,𝑗 = {
1, 𝑠𝑖 (𝑅𝑖 ↛ 𝑅𝑗 )
A noter que dans un système numérique entièrement synchrone, il n'y a pas de cycles de signaux
purement combinatoires; c'est-à-dire qu’il est impossible de parvenir à l'entrée d'une porte logique gk
en commençant par la même porte et en passant par une séquence de portes.
-
Modèle graphique d'un circuit numérique entièrement synchrone
Un circuit synchrone peut être modélisé par des graphes orientés G, avec un ensemble de
sommets 𝑉 = {𝑣1 , 𝑣2 , … , 𝑣𝑁 } et un ensemble d’arêtes 𝐸 = {𝑒1 , 𝑒2 , … , 𝑒𝑁 } ∈ 𝑉 × π‘‰. Un exemple de
diagramme de circuit G est illustré à la Fig.1.2.a. Le nombre de registres dans le circuit est |𝑉| = 𝑁,
où le sommet vk correspond au registre Rk. Le nombre de chemins de données dans le circuit est |𝐸| =
𝑁𝑝 = 11 (exemple de la Fig.1.2). Une arête est dirigée de vi à vj si 𝑅𝑖 → 𝑅𝑗 . Dans le cas où plusieurs
chemins entre une paire séquentielle de registres adjacent 𝑅𝑖 → 𝑅𝑗 existent, une seule arête relie vi à vj.
Le graphe sous-jacent Gu de G est un graphe non-orienté ayant le même ensemble de sommet V, où les
directions ont été supprimées des arêtes. Le graphe sous-jacent Gu du graphe G (Fig.1.2.a) est
représenté sur la Fig.1.2.b. En outre, une entrée ou une sortie du circuit est indiqué par une arête
incidente à un seul sommet.
Figure 1.2 : Graphe G (N = 5 registres). a) Le graphe orienté G. b) Le graphe sous-jacent Gu de G.
Définition 1.3: Soit 𝑆 = ⟨𝐺, 𝑅, 𝐢⟩ un circuit numérique entièrement synchrone. Pour toute paire
ordonnée de registres ⟨𝑅𝑖 , 𝑅𝑗 ⟩ pilotée par les signaux d'horloge Ci et Cj, le décalage d'horloge
TSkew(i, j) est défini comme étant la différence:
𝑗
𝑖
π‘‡π‘†π‘˜π‘’π‘€ (𝑖, 𝑗) = 𝑑𝑐𝑑
− 𝑑𝑐𝑑
(1.1)
𝑗
𝑖
où 𝑑𝑐𝑑
et 𝑑𝑐𝑑 sont respectivement les retards des signaux d'horloge Ci et Cj.
𝑗
𝑖
Dans la définition 1.3, les retards d'horloge 𝑑𝑐𝑑
et 𝑑𝑐𝑑 sont calculés par rapport à un point de
référence commun utilisé comme source du réseau de distribution d'horloge de la puce. Le décalage
d'horloge π‘‡π‘†π‘˜π‘’π‘€ (𝑖, 𝑗) obéit à la propriété antisymétrique :
π‘‡π‘†π‘˜π‘’π‘€ (𝑖, 𝑗) = −π‘‡π‘†π‘˜π‘’π‘€ (𝑗, 𝑖)
(1.2)
Le décalage de l'horloge π‘‡π‘†π‘˜π‘’π‘€ (𝑖, 𝑗) est un composant des contraintes temporelles d'un chemin
local de données. Les substitutions suivantes sont introduites pour simplifier la notation:
Définition 1.4: Soit 𝑆 = ⟨𝐺, 𝑅, 𝐢⟩ un circuit numérique entièrement synchrone où les registres 𝑅𝑖 , 𝑅𝑓 ∈
𝑅. et. Le retard du trajet le plus long de la voie de données locale 𝑅𝑖 → 𝑅𝑓 est défini comme étant :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 + 2βˆ†πΉπΏ , 𝑠𝑖 𝑅𝑖 𝑒𝑑 𝑅𝑓 π‘ π‘œπ‘›π‘‘ 𝑑𝑒𝑠 π‘π‘Žπ‘ π‘π‘’π‘™π‘’π‘ 
𝑖,𝑓
Μ‚
𝐷𝑃𝑀 = { 𝐿𝑖
(1.3)
𝑖,𝑓
𝐿𝑓
𝐷𝐢𝑄𝑀 + 𝐷𝑃𝑀 + 𝛿𝑆 + βˆ†πΏπΏ + βˆ†πΏπ‘‡ , 𝑠𝑖 𝑅𝑖 𝑒𝑑 𝑅𝑓 π‘ π‘œπ‘›π‘‘ 𝑑𝑒𝑠 π‘™π‘œπ‘žπ‘’π‘’π‘‘π‘ 
De même, le retard du trajet le plus court de la voie de données locale 𝑅𝑖 → 𝑅𝑓 est défini comme
étant :
5
𝑖,𝑓
𝑖,𝑓
Μ‚π‘ƒπ‘š
𝐷
={
𝐹𝑖
π·π‘ƒπ‘š + 𝐷𝐢𝑄
− 𝛿𝐻𝐹𝑑 − 2βˆ†πΉπΏ , 𝑠𝑖 𝑅𝑖 𝑒𝑑 𝑅𝑓 π‘ π‘œπ‘›π‘‘ 𝑑𝑒𝑠 π‘π‘Žπ‘ π‘π‘’π‘™π‘’π‘ 
𝑖,𝑓
𝐿𝑓
𝐿𝑖
𝐷𝐢𝑄𝑀
+ π·π‘ƒπ‘š − 𝛿𝐻 − βˆ†πΏπΏ − βˆ†πΏπ‘‡ , 𝑠𝑖 𝑅𝑖 𝑒𝑑 𝑅𝑓 π‘ π‘œπ‘›π‘‘ 𝑑𝑒𝑠 π‘™π‘œπ‘žπ‘’π‘’π‘‘π‘ 
(1.4)
En exemple, en utilisant les notations de la définition 1.4, les contraintes temporelles d'un
chemin local de données 𝑅𝑖 → 𝑅𝑓 avec bascules deviennent :
𝑖,𝑓
̂𝑃𝑀
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≤ 𝑇𝐢𝑃 − 𝐷
(1.5)
𝑖,𝑓
̂𝑃𝑀 ≤ π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓)
−𝐷
(1.6)
Pour un chemin local de données 𝑅𝑖 → 𝑅𝑓 constitué de flux de bascules Ri et Rf, l'établissement
et le maintien des violations de temps sont évités si Eq.1.5 et Eq.1.6, sont satisfaits.
Le décalage d'horloge π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) pour un chemin local de données 𝑅𝑖 → 𝑅𝑓 peut être positif
ou négatif. Un décalage négatif peut être utilisé pour accélérer efficacement un chemin local de données
𝑅𝑖 → 𝑅𝑓 en permettant un π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) supplémentaire augmentant le temps pour le signal pour se
propager de Ri à Rf. Cependant, un décalage négatif excessif peut créer un maintien de violation du
temps, créant ainsi une limite inférieure sur π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) tel que décrit par Eq.1.6. Un maintien de
violation de temps est un risque de synchronisation ou une condition de concurrence, aussi connu
comme étant la double horloge. De même, un décalage positif diminue la période horloge TCP par
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓), limitant de ce fait la fréquence d'horloge maximale. Dans ce cas, un risque de
synchronisation connu comme étant la synchronisation zéro peut être créée.
1.3.3. Planification d’horloge
Examiner les contraintes des équations. 1.5 et 1.6 révèle une procédure de prévention des
risques d'horloge. En supposant que l’Eq.1.5 n'est pas remplie, une grande valeur appropriée de TCP
peut être choisi pour satisfaire la contrainte de l’équation et prévenir d’une synchronisation zéro. A
noter que, contrairement à l'Eq.1.5, l’Eq.1.6 est indépendante de TCP. Par conséquent, TCP ne peut pas
être varié pour corriger un risque de double horloge, mais une refonte du réseau de distribution
d'horloge doit être faite.
Les risques de double et zéro horloge peuvent être éliminés si deux choix simples caractérisant
entièrement un circuit numérique synchrone sont faites. Plus précisément, si des valeurs égales sont
choisis pour tous les retards d'horloge, le décalage π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 0 pour chaque chemin local 𝑅𝑖 → 𝑅𝑓 ,
𝑓
𝑖
∀⟨𝑅𝑖 , 𝑅𝑓 ⟩: 𝑑𝑐𝑑
= 𝑑𝑐𝑑 ⟹ π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 0
(1.7)
Par conséquent, les équations 1.5 et 1.6 deviennent :
𝑓
𝑖,𝑓
𝑖
̂𝑃𝑀
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≤ 𝑑𝑐𝑑
− 𝑑𝑐𝑑 = 0 ≤ 𝑇𝐢𝑃 − 𝐷
(1.8)
𝑖,𝑓
𝑓
𝑖
̂𝑃𝑀 ≤ 0 = π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 𝑑𝑐𝑑 − 𝑑𝑐𝑑
−𝐷
(1.9)
On notera que l'Eq.1.8 peut être satisfaite pour chaque chemin local de données 𝑅𝑖 → 𝑅𝑓 dans
𝑖,𝑓
̂𝑃𝑀
un circuit si une valeur suffisamment grande (plus grande que la plus grande valeur de 𝐷
dans un
circuit) est choisie pour TCP. En outre, l'Eq.1.9 peut être satisfaite à travers un circuit entier s’il peut
𝑖,𝑓
̂𝑃𝑀
être assuré que 𝐷
≥ 0 pour chaque chemin local 𝑅𝑖 → 𝑅𝑓 du circuit. La contrainte temporelle des
équations 1.8 et 1.9 peut être satisfaite en choisissant la plus grande période d'horloge TCP possible et
𝑖,𝑓
̂𝑃𝑀
𝐷
est positif pour chaque chemin local correctement conçus 𝑅𝑖 → 𝑅𝑓 . L'application de cette méthode
de synchronisation zéro d'horloge (Eqs.1.7, 1.8, et 1.9) a été au centre de la conception de circuits
numériques entièrement synchrones. Ceci en faisant en sorte que chaque signal d’horloge atteint
chaque registre Rj à peu près en même temps.
6
1.3.4. Structure de réseau de distribution d'horloge
Le réseau de distribution d'horloge est généralement organisé comme une structure en arbre
comme illustré à la Fig.1.3, et est souvent appelé arbre d’horloge. Un schéma de circuit d'un réseau de
distribution d'horloge est représenté à la Fig.1.3.a. Une représentation graphique résumée de
l'arborescence représentée sur la Fig.1.3.a est représenté sur la Fig.1.3.b. La source unique du signal
d'horloge est à la racine de l'arbre. Ce signal est distribué à partir de la source à chaque registre dans le
circuit à travers une séquence de tampons et d’interconnexions. Typiquement, un tampon dans le réseau
conduit à une combinaison de tampons et à d'autres registres dans le circuit VLSI. Un réseau
d'interconnexion de fils relie la sortie de tampons pilotes aux entrées de tampons pilotés et celles des
registres. Un nœud interne de l'arbre correspond à un tampon, et une feuille de l'arbre correspond à un
registre. Les N feuilles de l'arbre sont notés de F1 à FN, où la feuille Fj correspond à un registre Rj.
Figure 1.3 : Structure d'un arbre de réseau de distribution d'horloge. a) structure de circuit de réseau
de distribution d'horloge, b) structure d'arbre d'horloge correspondante
a. Dépendance linéaire de la synchronisation d'horloge
Un corollaire important lié à la propriété de conservation de décalage de l'horloge, c'est qu'il y
a une dépendance linéaire parmi les horloges décalées d'un chemin global de données, qui forme un
cycle dans le graphe sous-jacent du circuit. Plus précisément, si 𝑣0 , 𝑒1 , 𝑣1 ≠ 𝑣0 , … , π‘£π‘˜−1 , π‘’π‘˜ , π‘£π‘˜ ≡ 𝑣0
est un cycle dans le graphe sous-jacent du circuit, alors
0
1 ]
1
2 ]
0 = [𝑑𝑐𝑑
− 𝑑𝑐𝑑
+ [𝑑𝑐𝑑
− 𝑑𝑐𝑑
+ β‹― = ∑π‘˜−1
(1.10)
𝑖=0 π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑖 + 1)
Les propriétés décrites par l'Eq.1.10 sont illustrées sur la Fig.1.2 pour le cycle sous-jacent v1,
v4, v3, v2, v1. A noter que :
3
3
1
4 )
4
2 )
2
1 )
) + (𝑑𝑐𝑑
0 = (𝑑𝑐𝑑
− 𝑑𝑐𝑑
+ (𝑑𝑐𝑑
− 𝑑𝑐𝑑
− 𝑑𝑐𝑑
+ (𝑑𝑐𝑑
− 𝑑𝑐𝑑
= π‘‡π‘ π‘˜π‘’π‘€ (1,4) + π‘‡π‘ π‘˜π‘’π‘€ (4,3) + π‘‡π‘ π‘˜π‘’π‘€ (3,2) + π‘‡π‘ π‘˜π‘’π‘€ (2,1)
(1.11)
L'importance de cette propriété est que l'Eq.1.10 décrit la corrélation entre certaines horloges
biaisées dans un circuit. Par conséquent, ces déviations d'horloge non corrélés ne peuvent être
optimisées indépendamment les uns des autres. A la Fig. 1.2, on note qu'il n'est pas nécessaire qu'un
cycle orienté existe dans le graphe orienté G d'un circuit pour que l’Eq.1.10 soit satisfaite. Par exemple,
v2, v3, v4 n'est pas un cycle dans le graphe orienté G de la Fig.1.3 (a), mais v2, v3, v4 est un cycle dans
le graphe non orienté Gu de la Fig.1.3(b). En outre, π‘‡π‘ π‘˜π‘’π‘€ (2,3) + π‘‡π‘ π‘˜π‘’π‘€ (3,4) + π‘‡π‘ π‘˜π‘’π‘€ (4,2) = 0;
autrement dit, les déviations π‘‡π‘ π‘˜π‘’π‘€ (2,3), π‘‡π‘ π‘˜π‘’π‘€ (3,4), π‘‡π‘ π‘˜π‘’π‘€ sont linéairement dépendante. Un
maximum de (|𝑉 − 1|) = (𝑁 − 1) décalage d'horloge peuvent être choisis indépendamment les uns
des autres, ce qui est t démontré en examinant l’arbre du graphe sous-jacent Gu. Tout arbre de sousjacent Gu contiens (N - 1) bords, chaque bord correspondant à un chemin local de données, et l'ajout
de tout autre bord à Gu va former un cycle tel que Eq.1.10 soit respectée pour ce cycle. Par exemple,
pour le circuit modélisé par le graphe représenté sur la Fig.1.2, quatre décalages d’horloge
indépendantes peuvent être choisis de telle sorte que les trois décalages restants soient exprimés en
fonction du décalage d’horloge indépendant.
7
b. Plages admissibles
Les résultats précédents, ont indiqués que le contrôle serré de décalage d'horloge plus que celui
des retards d'horloge est nécessaire pour le circuit fonctionne de manière fiable. Les relations dans les
équations 1.5 et 1.6 sont utilisés afin de déterminer une plage admissible de décalage d'horloge alloué
pour chaque chemin local de données. Le concept de plage admissible pour le décalage d'horloge
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) d’un chemin local de données 𝑅𝑖 → 𝑅𝑓 est illustré sur la Fig.1.4.
𝑖,𝑓
𝑖,𝑓
Μ‚π‘ƒπ‘š
̂𝑃𝑀
Lorsque π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ∈ [−𝐷
, 𝑇𝐢𝑃 − 𝐷
] les équations Eq.1.5 et Eq.1.6 sont alors satisfaites.
Figure 1.4 : Plage admissible d’avancement horloge d'un chemin local de données 𝑅𝑖 → 𝑅𝑓 . Il y a
𝑖,𝑓
𝑖,𝑓
Μ‚π‘ƒπ‘š
̂𝑃𝑀
violation de synchronisation si π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ∉ [−𝐷
, 𝑇𝐢𝑃 − 𝐷
].
La fiabilité d’un circuit est liée à la probabilité d'une violation de cadencement se produisant
pour tout chemin local 𝑅𝑖 → 𝑅𝑓 . Par conséquent, la fiabilité de tout chemin local 𝑅𝑖 → 𝑅𝑓 du circuit (et
donc de l'ensemble du circuit) est augmentée de deux façons:
1. En choisissant un décalage d'horloge π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) pour un chemin local dans la mesure du
𝑖,𝑓
𝑖,𝑓
Μ‚π‘ƒπ‘š
̂𝑃𝑀
possible à partir des frontières de l'intervalle [−𝐷
, 𝑇𝐢𝑃 − 𝐷
], ce faisant, en positionnant
(idéalement) π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) au milieu de la plage admissible, c'est-à-dire :
𝑖,𝑓
𝑖,𝑓
̂𝑃𝑀
Μ‚π‘ƒπ‘š
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 1/2[𝑇𝐢𝑃 − (𝐷
+𝐷
)]
𝑖,𝑓
𝑖,𝑓
̂𝑃𝑀 + 𝐷
Μ‚π‘ƒπ‘š )] de la plage admissible du chemin local de
2. En augmentant la largeur [𝑇𝐢𝑃 − (𝐷
données 𝑅𝑖 → 𝑅𝑓 .
En raison de la dépendance linéaire du décalage d'horloge, il n'est pas possible de construire un
circuit type tel que, pour chaque chemin local de données local 𝑅𝑖 → 𝑅𝑓 , le décalage d'horloge
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) soit au milieu de la plage admissible.
c. Ecart d'arbre d'horloge
Dans un circuit donné, le retard du signal d’horloge provenant de la source d'horloge au registre
Rj est égale à la somme des retards de propagation des tampons sur la voie unique qui existe entre la
racine et la feuille Fj correspondant au j-ième. En outre, si 𝑅𝑖 → 𝑅𝑓 est une paire adjacente de registre
′
de manière séquentielle, il existe une partie dans des deux trajets (notée 𝑃𝑖𝑓
) entre la racine et
respectivement Ri et Rf, , qui est commune aux deux chemins.
Un exemple d’arbre d'horloge est représenté à la Fig.1.5 où chacun des sommets de 1 à 10
correspond à un tampon dans l'arbre. Les sommets 4, 5 et 9 sont des feuilles de l'arbre et correspondent
respectivement aux registres R4, R5, et R9. Les chemins locaux de données 𝑅4 → 𝑅5 et 𝑅5 → 𝑅9 sont
indiqués par des flèches, tandis que chacun des trajets des signaux d'horloge pour les registres R4, R5,
et R9 sont légèrement ombragé. La partie commune des trajets de signaux d'horloge aux deux registres
est surlignée d’une ombre sombre (1 → 2 → 3 pour 𝑅4 → 𝑅5 et 1 → 2 pour 𝑅5 → 𝑅9 ).
De même, il existe une portion de chemin du signal d'horloge pour tous registres Ri et Rf d’une
𝑓
𝑖
paire de registre adjacente 𝑅𝑖 → 𝑅𝑓 de manière séquentielle (notée respectivement 𝑃𝑖𝑓
𝑒𝑑 𝑃𝑖𝑓 ) qui est
unique à ce registre.
8
Figure 1.5 : Illustration de l'écart d'arbre d'horloge.
Le décalage de l'horloge π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) entre la paire de registres adjacente 𝑅𝑖 → 𝑅𝑓 est
𝑓
𝑖
égale à la différence entre les temps accumulées de propagation de tampons entre 𝑃𝑖𝑓
et 𝑃𝑖𝑓 , c'est-à𝑓
𝑖
dire que π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = π·π‘’π‘™π‘Žπ‘¦(𝑃𝑖𝑓
) − π·π‘’π‘™π‘Žπ‘¦(𝑃𝑖𝑓 ). Par conséquent, toute variation de paramètres du
′
circuit sur 𝑃𝑖𝑓
n’affectera pas la valeur de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓). Pour l'exemple de la Fig.1.5 : π‘‡π‘ π‘˜π‘’π‘€ (4,5) =
4)
5
5
9
π·π‘’π‘™π‘Žπ‘¦(𝑃45 − π·π‘’π‘™π‘Žπ‘¦(𝑃45
) et π‘‡π‘ π‘˜π‘’π‘€ (5,9) = π·π‘’π‘™π‘Žπ‘¦(𝑃59
) − π·π‘’π‘™π‘Žπ‘¦(𝑃59
).
La nature de l’écart d'arbre d'horloge propose une approche pour réduire au minimum les effets
des variations des paramètres du processus sur le fonctionnement correct du circuit. Pour illustrer cette
approche, chaque branche 𝑝 → π‘ž de l'arbre de la Fig.1.5 est marquée par deux nombres : πœπ‘,π‘ž > 0 qui
est le délai prévu pour la branche et πœ€π‘,π‘ž ≥ 30 qui est l'erreur maximale (écart) de ce retard. En d'autres
termes, le délai réel de la branche 𝑝 → π‘ž se situe dans l'intervalle [πœπ‘,π‘ž − πœ€π‘,π‘ž ; πœπ‘,π‘ž + πœ€π‘,π‘ž ]. Ainsi la
valeur cible pour un décalage d’horloge cible pour les chemins locaux 𝑅4 → 𝑅5 et 𝑅5 → 𝑅9 sont
présentées dans la deuxième colonne du tableau 1.1, et les valeurs limites des décalages d’horloge
(compte tenue de ε) dans la troisième colonne.
′
Comme les résultats du tableau 1.1 le montrent, il est avantageux de maximiser 𝑃𝑖𝑓
pour chaque
′
chemin local 𝑅𝑖 → 𝑅𝑓 avec une plage admissible relativement étroite, tels que les variations de 𝑃𝑖𝑓
𝑖,𝑓
𝑖,𝑓
Μ‚π‘ƒπ‘š
̂𝑃𝑀
n'affectent pas π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓). De même, lorsque la plage admissible [−𝐷
, 𝑇𝐢𝑃 − 𝐷
] est plus large,
′
𝑃𝑖𝑓 peut être réduite seulement une petite franction du trajet total de la racine à Ri et à Rf.
Tableau 1.1 : Valeurs cibles et valeurs réelles des décalages d'horloge pour les chemins locaux de
données la section locale chemins de données 𝑅4 → 𝑅5 et 𝑅5 → 𝑅9 de la Fig.1.5.
Décalage cible
Valeurs limites de décalage
𝜏3,4 − 𝜏3,5
π‘‡π‘ π‘˜π‘’π‘€ (4,5)
𝜏3,4 − 𝜏3,5 ± (πœ€3,4 + πœ€3,5 )
𝜏2,3 + 𝜏3,5 − 𝜏2,6 − 𝜏6,9
π‘‡π‘ π‘˜π‘’π‘€ (5,9)
𝜏2,3 + 𝜏3,5 − 𝜏2,6 − 𝜏6,9 ± (πœ€2,3 + πœ€3,5 + πœ€2,6 + πœ€6,9 )
9
1.4. Propriétés de synchronisation d’éléments de stockage synchrones
1.4.1. Introduction
Le réseau de distribution d'horloge fournit la référence de temps pour les éléments de stockage
(ou registres) afin d'appliquer l'ordre logique requise des opérations. Cette référence de temps est
constitué d'un ou plusieurs signaux d'horloge qui sont fournis à chaque et pour tout registre du circuit.
Ces signaux d'horloge commandent l'ordre des événements de calcul en contrôlant les temps exacts des
entrées de données dans chaque registre.
Les signaux de données sont inévitablement différés en temps car ces signaux se propagent à
travers les portes logiques et le long d’interconnexions de chemins locaux de données. Ces retards de
propagation peuvent être évalués avec une certaine exactitude et utilisés pour obtenir des relations de
synchronisation pour les signaux d’un circuit.
1.4.2. Eléments de stockage
Les éléments de stockage (registres) rencontrés dans les systèmes VLSI varient
considérablement dans leur fonction et les relations temporelles. Cependant indépendamment de ces
différences, tous les éléments de stockage partagent une caractéristique commune : l'existence de deux
groupes de signaux avec des buts largement différentes. Une vue généralisée d’un registre est
représenté sur la Fig.1.6. Les signaux d'entrée / sortie d'un registre peuvent être divisés en deux groupes.
Un groupe de signaux, appelé signaux de données, est constitué de signaux d'entrée et de sortie de
l'élément de stockage. Ces signaux d'entrée et de sortie sont connectés aux bornes de signaux de
données d’autres éléments de stockage, ainsi qu’aux bornes de portes logiques ordinaires. L’autre
groupe, nommé signaux de commande, sont des signaux qui contrôlent le stockage des signaux de
données dans les registres mais ne participent pas au processus de calcul logique. Certains signaux de
commande permettent le stockage d'un signal de données dans un registre, indépendamment des
valeurs des signaux de données. Ces signaux de commande sont généralement utilisés pour initialiser
les données dans un registre avec une valeur particulière. D'autres signaux de commande, comme le
signal d'horloge, contrôlent le processus de mémorisation d'un signal de données dans un registre. Dans
un circuit synchrone, chaque registre comporte au moins une horloge pour le signal entrée.
Figure 1.6 : Vue générale d'un registre.
1.4.3. Verrous
Un verrou est un registre dont le comportement dépend de la valeur ou du niveau du signal
d’horloge. Par conséquent, un verrou est souvent désigné comme étant un verrou transparent, un
registre de niveau sensible, ou un verrou de maintien de polarité. Un simple type de verrou avec un
signal d'horloge C et un signal d'entrée D est représenté sur la Fig. 1.7.a. La sortie du verrou est
typiquement nommée Q, et son fonctionnement est illustré à la Fig.1.7.b.
Le registre illustré dans la Fig.1.7 est un verrou de polarité positive car il est transparent durant
la période d'horloge pour lequel C est élevée. Le fonctionnement de ce verrouillage positif est résumé
dans le tableau 1.2
10
Comme décrit dans le tableau 1.2 et illustré sur la Fig. 1.7.b, le signal de sortie du verrou suit
le signal d’entrée tant que le signal d’horloge reste haut, c’est-à-dire : 𝐢 = 1 ⇒ 𝑄 = 𝐷. Par conséquent,
le verrou est dit être dans un état transparent dans l'intervalle 𝑑0 < 𝑑 < 𝑑1 (Fig.1.7.b). Lorsque le signal
d'horloge C passe de 1 à 0, la valeur actuelle de D sont stockées dans le registre et la sortie Q reste fixe
avec cette valeur indépendamment des changements de l'entrée de données D. Le verrou ne transmet
pas les données du signal d'entrée à la sortie, mais transmet plutôt la dernière valeur du signal lors de
la transition du signal d’horloge de l’état haut à l’état bas. Par analogie avec le terme transparent l’état
du verrou est appelé opaque et correspond à l'intervalle 𝑑1 < 𝑑 < 𝑑2 (Fig.1.7) lorsque le signal d'entrée
est isolé de la sortie. Comme le montre la Fig. 1.7.b, la période d'horloge est 𝑇𝐢𝑝 = 𝑑2 − 𝑑0 .
Le front du signal d'horloge qui commande le verrou de passer à son état transparent est appelé
front d’impulsion d'horloge de premier plan. Dans le cas de polarité positive de la Fig.1.7, le front de
premier plan commence à 𝑑0 . Le front de sens opposé du signal d'horloge est appelé front de fuite.
Notez que pour un verrou négatif, le front de premier plan est la transition du signal d’horloge du haut
vers le bas.
Figure 1.7 : Représentation et principe de fonctionnement d'un registre sensible (verrou) au niveau
schématique. a) Verrou ; b) Opération idéalisée du verrou représenté en a).
Tableau 1.2 : Fonctionnement d’un verrou de polarité positive
Signal d’horloge
Sortie
Etat du verrou
Haut
L’entrée passe
Transparent
Bas
Maintient la sortie
Opaque
a. Paramètres de verrous
Les registres, tels qu’illustrés sur la Fig.1.7, sont construits à base de transistors. Les relations
exactes entre les signaux sur les bornes du registre peuvent être présentées sous forme analytique. Dans
cette section, cependant, les registres sont considérés avec un niveau supérieur d’abstraction afin de ne
pas tenir compte des détails de mises en œuvre électrique spécifique. Les paramètres caractérisant les
verrous sont : la largeur minimum d’impulsion d’horloge, le retard du verrou de l’horloge à la sortie,
le retard du verrou de l’entrée à la sortie, le temps de configuration, et le temps de verrouillage.
b. Largeur minimum de l'impulsion d'horloge
𝐿
La largeur minimale de l'impulsion d'horloge, notée πΆπ‘Šπ‘š
, est la largeur minimale admissible
de la partie du signal d'horloge au cours de laquelle le verrou est transparent. L'augmentation de la
11
𝐿
𝐿
valeur de πΆπ‘Šπ‘š
n'affecte pas les valeurs de 𝐷𝐷𝑄
, 𝛿𝑆𝐿 , et 𝛿𝐻𝐿 (défini ci-après). La largeur minimale de
𝐿
l'impulsion d'horloge, πΆπ‘Šπ‘š
= 𝑑6 − 𝑑1, est illustré sur la Fig.1.8. (avec 𝑇𝐢𝑃 = 𝑑8 − 𝑑1 ).
c. Retard Horloge/Sortie
𝐿
Le retard de l'horloge à la sortie 𝐷𝐢𝑄
(généralement appelé le retard de l'horloge à Q) est le
retard de propagation de la bascule à partir du front montant du signal d'horloge aux bornes de la sortie.
𝐿
La valeur de 𝐷𝐢𝑄
= 𝑑2 − 𝑑1 est représenté sur la Fig.1.8, et est défini en supposant que le signal d'entrée
de données atteint une valeur stable suffisamment tôt, c'est-à-dire que régler le signal d'entrée de
𝐿
données arrivant tôt par rapport au front l'horloge de premier plan n'affectera pas la valeur de 𝐷𝐢𝑄
.
d. Retard Données/Sortie
𝐿
Le retard de données à la sortie 𝐷𝐷𝑄
(généralement appelé le retard des données à Q) est le
retard de propagation du verrou depuis la borne du signal de données à la borne de sortie. La valeur de
𝐿
𝐷𝐷𝑄
est défini en supposant que le signal d'horloge signal a mis le verrou à l'état transparent
suffisamment tôt, c'est-à-dire que avancer la venue du front au premier plan du signal d’horloge ne
𝐿
𝐿
changera pas la valeur de 𝐷𝐷𝑄
. Le retard des données à la sortie 𝐷𝐷𝑄
= 𝑑4 − 𝑑3 (Fig.1.8).
e. Temps de configuration
Le temps de configuration du verrou 𝛿𝑆𝐿 = 𝑑6 − 𝑑5 (Fig.1.8), est le temps minimum entre un
changement du signal de données et le front de fuite du signal d’horloge, de tel sorte que la nouvelle
valeur de D puisse arrivée jusqu’à Q et être stockée durant l’état opaque.
f. Temps de verrouillage
Le temps de verrouillage 𝛿𝐻𝐿 est le temps minimum après le front de fuite d'horloge où le signal
de données doit rester constant de sorte que cette valeur de D soit stockée avec succès dans le verrou
durant l'état opaque. Cette définition de 𝛿𝐻𝐿 suppose que le dernier changement de la valeur de D ne
s’est pas faite après 𝛿𝑆𝐿 avant le front de fuite du signal d’horloge. Le terme 𝛿𝐻𝐿 = 𝑑7 − 𝑑6 est représenté
sur la Fig.1.8.
Figure 1.8 : Paramètres d'un verrou
12
1.4.4. Bascules
Un registre à déclenchement par front ou bascule est un type de registre qui, à la différence des
verrous, n'est jamais transparent par rapport au signal d'entrée de données. La sortie d'une bascule,
normalement, ne suit pas à tout moment le signal d’entrée de données au cours d'opérations du registre,
mais plutôt tient compte de la valeur de la donnée précédemment mémorisée jusqu'à ce qu'un nouveau
signal de données soit stocké dans la bascule. Un type simple de bascule avec un signal d'horloge C et
un signal d'entrée D est montré dans la Fig.1.9.a; semblable aux verrous, la sortie d'une bascule est
habituellement notée Q. Son fonctionnement est illustré sur la Fig.1.9.b.
Figure 1.9 : Représentation et principe de fonctionnement d'un registre à déclenchement par front. a)
Bascule ; b) Fonctionnement idéalisée de la bascule en a).
Avec les bascules typiques, les données sont stockées soit lors du front montant soit lors du
front descendant du signal d'horloge. Ces bascules sont respectivement appelées bascule à
déclenchement par front positif et bascule à déclenchement par front négatif. Les termes verrouillage,
stockage, et front positif sont utilisés pour identifier le front du signal d'horloge à laquelle le stockage
dans la bascule se produit. Le front de verrouillage du signal d’horloge est aussi appelé front de premier
plan ou front d’attaque. En outre, notez que certaines bascules, appelées bascules à déclenchement par
double front, peuvent stocker des données à chaque front du signal d'horloge. Cependant, la complexité
de ces bascules est trop grande pour des registres et elles sont donc rarement utilisées.
Comme représenté sur le chronogramme de la Fig.1.9.b, la sortie de la bascule reste inchangée
la plus part du temps, quelles que soient les transitions dans le signal de données. Seules les valeurs du
signal de données au voisinage du front d’arrêt de stockage du signal d'horloge peuvent affecter la
sortie de la bascule. Par conséquent, les changements de la sortie ne seront observés que lorsque les
données actuellement stockées a une valeur logique π‘₯, et que le front de mémorisation du signal
d'horloge se produit pendant que le signal d'entrée de données a une valeur logique π‘₯Μ… .
a. Paramètres des bascules
Les paramètres de temps significatifs pour une bascule sont identiques à ceux des verrous et
sont illustrés à la Fig.1.10.
b. Largeur minimum de l'impulsion d'horloge
𝐹
La largeur minimale de l'impulsion d'horloge πΆπ‘Šπ‘š
est la largeur minimale admissible de
l'intervalle de temps entre le front d’attaque et le front de déverrouillage du signal d'horloge. La largeur
𝐹
minimale de l'impulsion d'horloge πΆπ‘Šπ‘š
= 𝑑6 − 𝑑3 (Fig.1.10) est définie comme étant l'intervalle
minimum entre les fronts d’attaque et de déverrouillage du signal d’horloge de sorte que la bascule
13
𝐹
puisse fonctionner correctement. Accroître πΆπ‘Šπ‘š
n'affectera pas les valeurs des temps de configuration
et de verrouillage. La période d'horloge étant 𝑇𝐢𝑃 = 𝑑6 − 𝑑1 (Fig.1.10).
c. Retard Horloge/sortie
𝐹
Comme le montre la Fig. 1.10, le retard de la bascule de l’horloge à la sortie est 𝐷𝐢𝑄
= 𝑑5 − 𝑑3 .
Ce paramètre de retard de propagation est le temps de propagation depuis le signal d’horloge aux
bornes de sorties.
d. Temps de configuration
Le temps de configuration 𝛿𝑆𝐹 = 𝑑3 − 𝑑2 (Fig.1.10). Ce paramètre 𝛿𝑆𝐹 est défini comme étant le
minimum de temps entre un changement du signal de données et le front d’attaque du signal d'horloge
de telle sorte que la nouvelle valeur de D se propage à la sortie Q de la bascule et est verrouillée avec
succès au sein de la bascule.
e. Temps de verrouillage
Le temps de verrouillage 𝛿𝐻𝐹 d’une bascule est le temps minimum après l'arrivée du front de
verrouillage de l'horloge durant lequel le signal d’entré de données doit rester constant afin de pouvoir
stocker le signal D à l'intérieur de la bascule. Le temps de verrouillage 𝛿𝐻𝐹 = 𝑑4 − 𝑑3 (Fig.1.10). Cette
définition de 𝛿𝐻𝐹 suppose que le dernier changement de D s'est produit au plus tard avant l'arrivée du
front de verrouillage du signal d’horloge.
Figure 1.10 : Paramètres d'une bascule
1.4.5. Signal d'horloge
Le signal d'horloge est systématiquement fourni à chaque élément de stockage au sein d'un
circuit. Ce signal est crucial pour le bon fonctionnement d’un système numérique entièrement
synchrone. Un signal d’horloge typique 𝑐(𝑑) et sa période 𝑇𝐢𝑃 d’un système numérique synchrone est
illustré sur la Fig.1.11. Afin d'assurer la plus haute fréquence d'horloge possible, l'objectif pour 𝑇𝐢𝑃
est d’avoir la plus petite valeur possible tel que :
∀𝑑 ∢ 𝑐(𝑑) = 𝑐(𝑑 + 𝑛𝑇𝐢𝑃 )
(1.12)
où n est un nombre entier. La largeur de l'impulsion d'horloge CW est illustrée sur la Fig.1.11.
14
πœ•π‘‡
Typiquement, 𝑇𝐢𝑃 est constante, soit πœ•π‘‘πΆπ‘ƒ = 0. Si 𝑐(𝑑) a un retard τ depuis un point de référence,
alors le front d’attaque de 𝑐(𝑑) se produisent aux instants :
𝜏 + π‘šπ‘‡πΆπ‘ƒ pour π‘š ∈ {… , −2, −1,0,1,2, … }
(1.13)
et les bords de fuite se produisent aux instants :
𝜏 + 𝐢𝑀 + π‘šπ‘‡πΆπ‘ƒ pour π‘š ∈ {… , −2, −1,0,1,2, … }
(1.14)
Cependant, en pratique, il est possible pour les fronts d’avoir des fluctuations dans le temps,
c’est-à-dire qu’ils ne se produisent pas aux instants décrits par les Eq.1.13 et Eq.1.14. Ce phénomène
est connu comme étant le décalage d'horloge et peut être dû à diverses causes, telles que des variations
dans les caractéristiques des procédés de fabrication, la température ambiante, le bruit d'alimentation,
et l'oscillateur. Pour tenir compte du décalage d'horloge, les paramètres suivants sont introduits:
• L'écart maximal βˆ†πΏ du front d'attaque : qui permet de situer le front d’attaque dans l’intervalle
[𝜏 + π‘˜π‘‡πΆπ‘ƒ − βˆ†πΏ ; 𝜏 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏ ].
• L'écart maximal βˆ† 𝑇 T du front de fuite : qui permet de situer le front d’attaque dans l’intervalle
[𝜏 + 𝐢𝑀 + π‘˜π‘‡πΆπ‘ƒ − βˆ† 𝑇 ; 𝜏 + 𝐢𝑀 + π‘˜π‘‡πΆπ‘ƒ + βˆ† 𝑇 ].
Figure 1.11 : Signal d'horloge typique.
Décalage d’horloge
Considérons le chemin local de données représenté sur la Fig.1.1.b, et supposons que les
registres qui y sont présentés sont des bascules. Le signal d'horloge de période 𝑇𝐢𝑃 est délivré à chacun
des registres Ri et Rf. Soient le signal d'horloge Ci pilotant le registre Ri, et Cf celui pilotant Rf . Aussi,
𝑓
𝑖
posons 𝑑𝑐𝑑
et 𝑑𝑐𝑑 les retards de Ci et de Cf. Tel que décrit par l'Eq.1.13, les fronts de verrouillage et
d’attaques de Ci se produisent aux instants :
𝑖
𝑖
𝑖
… , 𝜏 + 𝑑𝑐𝑑
− 𝑇𝐢𝑃 , 𝜏 + 𝑑𝑐𝑑
, 𝜏 + 𝑑𝑐𝑑
+ 𝑇𝐢𝑃 , …
De même, les fronts de verrouillage et d’attaques de Cf se produisent aux instants :
𝑓
𝑓
𝑓
… , 𝜏 + 𝑑𝑐𝑑 − 𝑇𝐢𝑃 , 𝜏 + 𝑑𝑐𝑑 , 𝜏 + 𝑑𝑐𝑑 + 𝑇𝐢𝑃 , …
tel que décrit par l'Eq.1.14.
𝑓
𝑖
Le décalage de l'horloge π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 𝑑𝑐𝑑
− 𝑑𝑐𝑑 entre Ci et Cf est présenté comme étant la
différence de temps d'arrivée de Ci et de Cf. Ce concept est illustré par la Fig.1.12. On notera que,
𝑓
𝑖
dépendamment des valeurs de 𝑑𝑐𝑑
et de 𝑑𝑐𝑑 , le décalage peut être nul, négatif, ou positif. En outre, le
décalage défini ici n’est valable que pour des registres adjacents de manière séquentielle.
Figure 1.12 : Décalage d’horloge nul, négatif ou positif.
15
1.4.6. Analyse d'une phase unique d’un chemin local de données avec des bascules
Un chemin local de données composé de deux bascules ainsi que la logique combinatoire entre
les bascules sont représentés à la Fig.1.13. La bascule initiale Ri, est à l'origine du signal de données,
et la bascule finale Rf est la destination. Le bloc combinatoire bloc Lif entre Ri et Rf accepte
les signaux d’entrée de données fournies par Ri, et d’autres registres et portes logiques opèrent afin de
transmettre les signaux à Rf. La période du signal d'horloge est noté TCP, et les retards des signaux Ci
𝑓
𝑖
et Cf des bascules Ri et Rf sont désignés respectivement par 𝑑𝑐𝑑
et 𝑑𝑐𝑑 . Les données d'entrée et de sortie
de Ri et Rf sont désignés respectivement par Di, Qi, Df, et Qf.
Figure 1.13 : Chemin local de données à phase unique.
a. Prévention du retard de signal de données dans un chemin local de données
Le fonctionnement du chemin local 𝑅𝑖 → 𝑅𝑓 représenté sur la Fig.1.13 exige que tout signal de
données devant être stocké dans 𝑅𝑓 arrive au plus tard, à l'entrée de données Df, à 𝛿𝑆𝐹𝑑 avant que le front
de verrouillage de Cf. Il est possible que le cas inverse se produise, c'est-à-dire que Df n'arrive pas
suffisamment tôt pour être correctement stocké dans 𝑅𝑓 . Si cette situation se produit, le chemin local
de données représenté sur la Fig.1.13 ne fonctionne pas comme prévu, et on dit qu’il y a défaut de
synchronisation ou violation de synchronisation a été créé. Cette forme de violation est généralement
appelée une violation de configuration (ou violation de chemin long). Une violation de configuration
est représentée sur la Fig.1.14 et est utilisé dans pour illustré ce qui suit.
Les périodes d'horloge Ci et Cf sont surlignés dans la Fig.1.15, et il en est de même pour les
parties des signaux de données Di, Qi, et Df qui sont pertinents pour le fonctionnement du chemin local
représentée sur la Fig.1.14. Plus précisément, la partie ombragée de Di correspond aux données devant
être stockées dans Ri, au début de la k-ième période d'horloge. Ce signal de données se propage vers
la sortie du Ri et est indiqué par la partie surlignée de Qi. Le bloc logique combinatoire opère sur Qi
durant la k-ième période d'horloge. Le résultat de cette opération est la partie surlignée de Df qui doit
être stocké dans 𝑅𝑓 durant la (k+1)-ème période d'horloge.
𝑖
Le front d'attaque de Ci qui initie la k-ième période d'horloge se produit à l’instant 𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ .
𝑓
De même, le front d'attaque de Cf qui initie la (k +1)-ème période d'horloge se produit à l’instant 𝑑𝑐𝑑 +
(π‘˜ + 1)𝑇𝐢𝑃 . Par conséquent, le dernier instant d'arrivée de Df sur 𝑅𝑓 doit satisfaire :
𝐹𝑓
𝑓
𝐹𝑓
𝑑𝐴𝑀 ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 − βˆ†πΉπΏ ] − 𝛿𝑆
(1.15)
𝑓
Le terme [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 − βˆ†πΉπΏ ] de l'Eq.1.15 correspond à la situation critique du front
𝐹𝑓
d'attaque de Cf arrivant avec l’avance maximale possible βˆ†πΉπΏ . Le terme −𝛿𝑆 est le temps de
𝐹𝑓
configuration de 𝑅𝑓 . La valeur de 𝑑𝐴𝑀 , est constitué de deux composants:
𝐹𝑖
1. Le dernier temps d'arrivée 𝑑𝑄𝑀
où un signal valide Qi apparaît à la sortie de Ri : qui est la
𝑖
𝐹𝑖
𝐹𝑖
𝐹
somme 𝑑𝑄𝑀 = 𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏ + 𝐷𝐢𝑄𝑀 du dernier instant d'arrivée possible du front d'attaque de Ci
et de l’écart maximum de l’horloge à Q de Ri.
𝑖,𝑓
2. Le retard de propagation maximal 𝐷𝑃𝑀 des signaux de données dans le bloc logique
combinatoire 𝐿𝑖𝑓 et l’interconnexion sur le chemin 𝑅𝑖 → 𝑅𝑓 .
16
𝐹𝑓
Par conséquent, 𝑑𝐴𝑀 peut être décrit par l’Eq.1.16.
𝐹𝑓
𝑖,𝑓
𝑖,𝑓
𝑖
𝐹𝑖
𝐹𝑖
𝑑𝐴𝑀 = 𝑑𝑄𝑀
+ 𝐷𝑃𝑀 = (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΉπΏ + 𝐷𝐢𝑄𝑀
) + 𝐷𝑃𝑀
(1.16)
En substituant l'Eq.1.16 dans l'Eq.1.15, la condition de synchronisation garantissant l'arrivée
correcte du signal à l’entrée des données D de l'entrée D de 𝑅𝑓 est :
𝑖,𝑓
𝑖,𝑓
𝑓
𝐹𝑓
𝑖
(𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΉπΏ + 𝐷𝑃𝑀 ) + 𝐷𝑃𝑀 ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 − βˆ†πΉπΏ ] − 𝛿𝑆
(1.17)
De l’équation 1.17 ont obtient :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) + 2βˆ†πΉπΏ ≤ 𝑇𝐢𝑃 − (𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 )
(1.18)
La violation de l'Eq.1.18 est illustrée à la Fig.1.14. La relation temporelle de l’Eq.1.18
représente trois résultats, décrivant l'arrivée tardive de Df à l'entrée de 𝑅𝑓 dans le chemin 𝑅𝑖 → 𝑅𝑓 :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
1. Compte tenu de toutes les valeurs de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓), βˆ†πΉπΏ , 𝐷𝑃𝑀 , 𝛿𝑆 , et 𝐷𝐢𝑄𝑀
, l'arrivée tardive de Df peut
être évitée en contrôlant la valeur de 𝑇𝐢𝑃 . Une valeur suffisamment grande de 𝑇𝐢𝑃 peut être choisie
afin d’assouplir Eq.1.18 en augmentant la limite supérieure décrite à sa droite.
2. Pour un fonctionnement correct, 𝑇𝐢𝑃 ne doit pas nécessairement être supérieure à la durée
𝑖,𝑓
𝐹𝑓
𝐹𝑖
(𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 ). Si π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) est bien contrôlé, le choix d’une valeur négative particulière pour
le décalage de l'horloge détend le côté gauche de l'Eq.1.18, ce qui permet de satisfaire l’équation malgré
𝑖,𝑓
𝐹𝑓
𝐹𝑖
que 𝑇𝐢𝑃 − (𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 ) < 0.
𝑖,𝑓
𝐹𝑓
𝐹𝑖
3. 2βˆ†πΉπΏ et (𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 ) sont nuisibles dans sens que ces termes imposent une limite inférieure
sur la période d'horloge 𝑇𝐢𝑃 . Bien que le décalage négatif puisse être utilisé pour assouplir l'inégalité
de l'Eq.1.18, ces deux termes vont à l'encontre de l’assouplissement des valeurs de 𝑇𝐢𝑃 et de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓).
L’équation 1.18 peut être réécrite sous une forme qui précise la limite supérieure de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≤ 𝑇𝐢𝑃 − (𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 ) − 2βˆ†πΉπΏ
(1.19)
Figure 1.15 : Chronogramme d'un chemin local de données à bascules avec violation de la contrainte
configuration
17
b. Prévention de l'arrivée précoce du signal de données dans un chemin local de
données
Nous allons analyser les relations de synchronisation du chemin local de données 𝑅𝑖 → 𝑅𝑓 pour
éviter l’arrivée prématurée de Df. Pour ce faire, rappelons que tout signal Df devant être stocké dans
𝑅𝑓 doit devancer le front de verrouillage de Cf d’au moins 𝛿𝑆𝐹𝑑 . Il est possible que l’événement opposé
se produise, pour de nouvelles données 𝐷𝑓𝑁𝑒𝑀 devant écraser la valeur de 𝐷𝑓 et devant être stockées
dans 𝑅𝑓 . Si cette situation se produit, le chemin local de données représenté sur la Fig.1.13 ne
fonctionnera pas comme escompté en raison de la violation de synchronisation catastrophique connu
comme violation de maintien (ou violation de chemin court). Une violation de maintien est plus
dangereuse qu’une violation de configuration, car une violation de maintien ne peut être dissoute par
simple réglage de la période d’horloge 𝑇𝐢𝑃 . Une violation de maintien est représentée sur la Fig.1.15.
La situation représentée sur la Fig.1.15 est différente de celle représentée sur la Fig.1.14. Dans
la Fig.1.14, un signal de données stocké dans 𝑅𝑖 au cours de la k-ième période d'horloge arrive trop
tard pour être stocké dans 𝑅𝑓 au cours de la (k +1)-ième période d'horloge. Dans la Fig.1.15, cependant,
les données stockées dans 𝑅𝑖 au cours de la k-ième période d'horloge arrive dans 𝑅𝑓 trop tôt et détruisent
les données qui doivent être stockées dans 𝑅𝑓 pendant la k-ième période d'horloge.
Comme illustré sur la Fig. 1.15, le front d’attaque (ou de verrouillage) de 𝐢𝑖 qui déclenche la k𝑖
ième période d'horloge se produit à l’instant 𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ . De même, le front de verrouillage de 𝐢𝑓 qui
𝑓
initie la k-ième période d'horloge se produit à l’instant 𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ . Par conséquent, le plus tôt temps
𝐹𝑓
d’arrivée π‘‘π΄π‘š du signal de données 𝐷𝑓 dans 𝑅𝑓 doit satisfaire à la condition suivante:
𝐹𝑓
𝑓
𝐹𝑓
π‘‘π΄π‘š ≥ (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΉπΏ ) + 𝛿𝐻
(1.120)
𝑓
Le terme (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΉπΏ ) de l'Eq.1.20 correspond à la situation critique du front d’attaque à
la k-ième période d’horloge de 𝐢𝑓 arrivant tardivement avec l'écart maximal possible βˆ†πΉπΏ . La valeur de
𝐹𝑓
π‘‘π΄π‘š a deux composantes:
𝐹𝑖
1. Le premier instant d’arrivé π‘‘π‘„π‘š
où un signal valide de données 𝑄𝑖 apparaît à la sortie de 𝑅𝑖 : qui est,
𝐹𝑓
𝑖
𝐹𝑖
la somme π‘‘π‘„π‘š = 𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ − βˆ†πΉπΏ + π·πΆπ‘„π‘š
de l’instant d’arrivée le plus tôt du front d’attaque de 𝐢𝑖 et
de l’écart minimum Horloge/Sortie de 𝑅𝑖 .
𝑖,𝑓
2. Le retard de propagation minimal π·π‘ƒπ‘š des signaux au sein du bloc de logique combinatoire 𝐿𝑖𝑓 et
dans les fils d'interconnexion le long de la trajectoire 𝑅𝑖 → 𝑅𝑓 .
𝐹𝑓
Par conséquent, π‘‘π΄π‘š peut être décrit comme étant :
𝐹𝑓
𝐹𝑓
𝑖,𝑓
𝑖,𝑓
𝑖
𝐹𝑖
π‘‘π΄π‘š = π‘‘π‘„π‘š + π·π‘ƒπ‘š = (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ − βˆ†πΉπΏ + π·πΆπ‘„π‘š
) + π·π‘ƒπ‘š
(1.21)
La condition de synchronisation qui garantit que 𝐷𝑓 n'arrive pas trop tôt dans 𝑅𝑓 est :
𝑖,𝑓
𝑓
𝐹𝑓
𝑖
𝐹𝑖
(𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ − βˆ†πΉπΏ + π·πΆπ‘„π‘š
) + π·π‘ƒπ‘š ≥ (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΉπΏ ) + 𝛿𝐻
(1.22)
L’équation 1.22 peut encore être simplifiée pour avoir :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) − 2βˆ†πΉπΏ ≥ −(π·πΆπ‘„π‘š
+ π·π‘ƒπ‘š ) + 𝛿𝐻
(1.23)
La relation de synchronisation décrit par l'Eq.1.23 fournit certains faits importants, décrivant
l’instant d’arrivée au plus tôt de 𝐷𝑓 à l’entrée de 𝑅𝑓 dans un chemin local :
1. Contrairement à l'équation. 1.18, l'inégalité de l’Eq.1.23 ne dépend pas de 𝑇𝐢𝑃 . Par conséquent, une
violation de l'équation ne peut pas être corrigée en manipulant simplement la valeur de 𝑇𝐢𝑃 .
18
2. La relation dans l'Eq.1.23 peut être satisfaite avec une valeur suffisamment grande de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓).
𝐹𝑓
Cependant, les termes 2βˆ†πΉπΏ et 𝛿𝐻 sont nuisibles dans le sens que ces termes imposent
une borne inférieure pour π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓).
La relation dans l'Eq.1.23 peut être réécrite pour mettre en exergue la limite inférieure imposée
sur le décalage d'horloge :
𝑖,𝑓
𝐹𝑓
𝐹𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≥ −(π·πΆπ‘„π‘š
+ π·π‘ƒπ‘š ) + 𝛿𝐻 + 2βˆ†πΉπΏ
(1.24)
Figure 1.15 : Chronogramme d'un chemin local de données composé da bascules avec une violation
de la contrainte de verrouillage.
1.4.7. Analyse d'une phase unique d’un chemin local de données avec des verrous
Un chemin local de données composé de deux loquets ainsi que la logique combinatoire entre
les loquets sont représentés à la Fig.1.16. Le verrou initial Ri, est à l'origine du signal de données, et le
verrou final Rf est la destination. Le bloc combinatoire bloc Lif entre Ri et Rf accepte
les signaux d’entrée de données fournies par Ri, et d’autres registres et portes logiques opèrent afin de
transmettre les signaux à Rf. La période du signal d'horloge est noté TCP, et les retards des signaux Ci
𝑓
𝑖
et Cf des bascules Ri et Rf sont désignés respectivement par 𝑑𝑐𝑑
et 𝑑𝑐𝑑 . Les données d'entrée et de sortie
de Ri et Rf sont désignés respectivement par Di, Qi, Df, et Qf.
Figure 1.16 : Un chemin local de données à phase unique avec des verrous.
a. Prévention de l'arrivée tardive du signal de données
La donnée 𝐷𝑖 , est stocké dans 𝑅𝑖 au cours de la k-ième période d'horloge. La donnée 𝑄𝑖 dans 𝑅𝑖
se propage le long de 𝐿𝑖𝑓 ainsi que dans les interconnexions de 𝑅𝑖 → 𝑅𝑓 . Lors de la (k+1)-ième période
d'horloge, le résultat de calcul 𝐷𝑓 de 𝐿𝑖𝑓 est stocké dans 𝑅𝑓 . Le signal 𝐷𝑓 doit avoir au moins une avance
19
de temps 𝛿𝑆𝐿 avant le bord de fuite de 𝐢𝑓 de la (k+1)-ième période d'horloge. Le dernier instant d’arrivée
𝐿𝑓
𝑑𝐴𝑀 de 𝐷𝑓 à l’entrée de 𝑅𝑓 doit satisfaire :
𝐿𝑓
𝑓
𝐿𝑓
𝐿
𝑑𝐴𝑀 ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] − 𝛿𝑆
(1.25)
𝑓
Dans l'équation 1.15, le premier terme du côté droit est [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 − βˆ†πΏπ‘‡ ], tandis que
𝐿
𝐿
dans l'Eq.1.25, le premier terme du côté droit a un terme additionnel πΆπ‘Šπ‘š
. Cet addition de πΆπ‘Šπ‘š
correspond à la notion que, contrairement aux bascules, le signal de données est stocké dans un verrou
𝑓
𝐿
(Fig.1.16) durant le front de fuite du signal d'horloge. Le terme [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] de
l’Eq.1.25 correspond à la situation critique où le front de fuite du signal d'horloge arrivant plus tôt avec
le maximum d’écart possible βˆ†πΏπ‘‡ .
𝐿𝑓
La valeur 𝑑𝐴𝑀 de l'Eq.1.25 est constituée de deux composants:
𝐿𝑖
1. L'instant limite d'arrivée 𝑑𝑄𝑀
d’un signal de données valide 𝑄𝑖 à la sortie de 𝑅𝑖 .
2. Le retard maximum de propagation du signal à travers le bloc 𝐿𝑖𝑓 et les interconnexions.
𝐿𝑓
Par conséquent, 𝑑𝐴𝑀 peut être décrit à l’Eq.1.26.
𝐿𝑓
𝑖,𝑓
𝐿𝑖
𝑑𝐴𝑀 = 𝐷𝑃𝑀 + 𝑑𝑄𝑀
(1.26)
𝐿𝑖
Cependant, contrairement aux bascules, le terme 𝑑𝑄𝑀
de l’Eq.1.26 n'est pas la somme des
𝐿𝑖
retards à travers 𝑅𝑖 . La raison en est que la valeur de 𝑑𝑄𝑀 dépend du cas où 𝐷𝑖 arrive avant ou pendant
𝐿𝑖
l'état transparent de 𝑅𝑖 lors de la k-ième période d'horloge. Par conséquent, la valeur de 𝑑𝑄𝑀
de
l'équation est la plus grande de deux quantités :
𝑖
𝐿𝑖
𝐿𝑖
𝐿𝑖
𝐿𝑖
𝑑𝑄𝑀
= π‘šπ‘Žπ‘₯[(𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
), (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏπΏ + 𝐷𝐢𝑄𝑀
)]
(1.27)
Il y a deux termes sur le côté droit de l'Eq.1.27:
𝐿𝑖
𝐿𝑖
1. L'expression (𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
) correspond à la situation où 𝐷𝑖 arrive à 𝑅𝑖 après le front de verrouillage
de la k-ième période d'horloge.
𝑖
𝐿𝑖
2. L'expression (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏπΏ + 𝐷𝐢𝑄𝑀
) correspond à la situation où 𝐷𝑖 arrive à 𝑅𝑖 avant l’arrivée
du front de verrouillage de la k-ième période d'horloge.
Le temps limite d’arrivée est :
𝐿𝑓
𝑖,𝑓
𝑖
𝐿𝑖
𝐿𝑖
𝐿𝑖
𝑑𝐴𝑀 = 𝐷𝑃𝑀 + π‘šπ‘Žπ‘₯[(𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
), (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏπΏ + 𝐷𝐢𝑄𝑀
)]
Et on obtient :
𝑖,𝑓
𝑖
𝐿𝑖
𝐿𝑖
𝐿𝑖
𝐷𝑃𝑀 + π‘šπ‘Žπ‘₯[(𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
), (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏπΏ + 𝐷𝐢𝑄𝑀
)]
𝑓
𝐿𝑓
𝐿
≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] − 𝛿𝑆
(1.28)
(1.29)
En satisfaisant l'Eq.1.29, la violation de configuration dans le chemin local de données avec des
verrous représentés sur la Fig. 1.17 sont évités. L'opération max dans l'Eq.1.29 crée une situation
mathématiquement difficile car on ne sait pas qui des quantités dans l'opération max est supérieure.
Pour surmonter cet obstacle, cette opération max peut être divisé en deux conditions:
𝑖,𝑓
𝑓
𝐿𝑓
𝐿𝑖
𝐿𝑖
𝐿
𝐷𝑃𝑀 + (𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
) ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] − 𝛿𝑆
(1.30)
𝑖,𝑓
𝑓
𝐿𝑓
𝑖
𝐿𝑖
𝐿
𝐿
𝐿
𝐷𝑃𝑀 + (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + βˆ†πΏ + 𝐷𝐢𝑄𝑀 ) ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š − βˆ† 𝑇 ] − 𝛿𝑆
(1.31)
𝑓
𝑖
En tenant compte du fait que π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) = 𝑑𝑐𝑑
− 𝑑𝑐𝑑 , Eq.1.30 et Eq.1.31 deviennent :
𝑖,𝑓
𝑓
𝐿𝑓
𝐿𝑖
𝐿𝑖
𝐿
𝐷𝑃𝑀 + (𝑑𝐴𝑀 + 𝐷𝐷𝑄𝑀 ) ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] − 𝛿𝑆
𝑖,𝑓
𝐿𝑓
𝐿𝑖
𝐿 )
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) + (βˆ†πΏπΏ + βˆ†πΏπ‘‡ ) ≤ (𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− (𝐷𝐢𝑄𝑀
+ 𝐷𝑃𝑀 + 𝛿𝑆 )
20
(1.32)
(1.33)
L'équation 1.33 peut être réécrite sous une forme qui précise la limite supérieure du décalage
d'horloge :
𝑖,𝑓
𝑓
𝐿𝑓
𝐿𝑖
𝐿𝑖
𝐿
𝐷𝑃𝑀 + (𝑑𝐴𝑀
+ 𝐷𝐷𝑄𝑀
) ≤ [𝑑𝑐𝑑 + (π‘˜ + 1)𝑇𝐢𝑃 + πΆπ‘Šπ‘š
− βˆ†πΏπ‘‡ ] − 𝛿𝑆
(1.34)
𝑖,𝑓
𝐿𝑓
𝐿𝑖
𝐿
𝐿
𝐿
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≤ (𝑇𝐢𝑃 + πΆπ‘Šπ‘š − βˆ†πΏ − βˆ† 𝑇 ) − (𝐷𝐢𝑄𝑀 + 𝐷𝑃𝑀 + 𝛿𝑆 )
(1.35)
b. Prévention de l'arrivée précoce du signal de données
Rappelons la différence entre l'arrivée tardive et l’arrivée précoce d'un signal de données sur
𝑅𝑓 . Dans le premier cas, la donnée stockée dans 𝑅𝑖 au cours de la k-ième période d'horloge arrive trop
tard pour être stockée dans 𝑅𝑓 durant la (k +1)-ième période d'horloge. Dans second cas, la donnée
mémorisée dans 𝑅𝑖 au cours de la k-ième période d'horloge arrive trop tôt sur 𝑅𝑓 et écrase la donnée
stocké dans 𝑅𝑓 durant la k-ième période d'horloge.
Pour que le signal de données soit verrouillé avec succès dans 𝑅𝑓 au cours de la k-ième période
d'horloge, il ne devrait pas avoir de changement du signal 𝐷𝑓 jusqu'à ce qu'au moins le temps de
maintien après l'arrivée du front de fuite de 𝐢𝑓 arrive. Par conséquent, l’instant d’arrivé au plus tôt de
𝐷𝑓 sur 𝐷𝑓 doit satisfaire la condition suivante :
𝐿𝑓
𝑓
𝐿𝑓
𝐿
π‘‘π΄π‘š ≥ (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + πΆπ‘Šπ‘š
+ βˆ†πΏπ‘‡ ) + 𝛿𝐻
(1.36)
𝑓
𝐿
Le terme (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + πΆπ‘Šπ‘š
+ βˆ†πΏπ‘‡ ) de l’Eq.1.36 correspond à la situation critique où le front
𝐿𝑓
de fuite de la k-ième période d'horloge 𝐢𝑓 arrive avec un retard maximum de βˆ†πΏπ‘‡ . La valeur de π‘‘π΄π‘š est
constitué de deux composants:
𝑖
𝐿𝑖
1. L’instant le plus tôt d'arrivée de 𝑄𝑖 apparaissant à la sortie de 𝑅𝑖 : est la somme π‘‘π‘„π‘š
= 𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ −
𝐿𝑖
𝐿
βˆ†πΏ + π·πΆπ‘„π‘š de l’instant d’arrivée le plus tôt du front de verrouillage de 𝐢𝑖 et du retard minimum
horloge/Q de 𝐢𝑓 .
2. Le retard de propagation minimale du signal à travers 𝐿𝑖𝑓 et les interconnexions.
𝐿𝑓
Par conséquent, π‘‘π΄π‘š peut être décrit comme suit :
𝐿𝑓
𝑖,𝑓
𝑖,𝑓
𝑖
𝐿𝑖
𝐿𝑖
π‘‘π΄π‘š = π‘‘π‘„π‘š
+ π·π‘ƒπ‘š = (𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ − βˆ†πΏπΏ + π·πΆπ‘„π‘š
) + π·π‘ƒπ‘š
(1.37)
La condition de synchronisation garantissant que 𝐷𝑓 n'arrive pas trop tard sur 𝑅𝑓 .
𝑖,𝑓
𝑓
𝐿𝑓
𝑖
𝐿𝑖
𝐿
(𝑑𝑐𝑑
+ π‘˜π‘‡πΆπ‘ƒ − βˆ†πΏπΏ + π·πΆπ‘„π‘š
) + π·π‘ƒπ‘š ≥ (𝑑𝑐𝑑 + π‘˜π‘‡πΆπ‘ƒ + πΆπ‘Šπ‘š
+ βˆ†πΏπ‘‡ ) + 𝛿𝐻
(1.38)
Soit :
𝑖,𝑓
𝐿𝑓
𝐿𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) − (βˆ†πΏπΏ + βˆ†πΏπ‘‡ ) ≥ −(π·πΆπ‘„π‘š
+ π·π‘ƒπ‘š ) + 𝛿𝐻
(1.39)
La relation de synchronisation décrit par l’Eq.1.39 représente deux résultats importants :
1. La relation de l'Eq.1.39 ne dépend pas de la valeur de la période d'horloge
2. La relation dans l'Eq.1.39 peut être satisfaite avec une valeur suffisamment grande de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓).
En outre, l'Eq.1.39 peut être réécrite afin de mettre en exergue la borne inférieure de π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓)
imposée :
𝑖,𝑓
𝐿𝑓
𝐿𝑖
π‘‡π‘ π‘˜π‘’π‘€ (𝑖, 𝑓) ≥ (βˆ†πΏπΏ + βˆ†πΏπ‘‡ ) − (π·πΆπ‘„π‘š
+ π·π‘ƒπ‘š ) + 𝛿𝐻
(1.40)
21
Download