Qu'est-ce que cela signifie de «déclencher l'horloge»?
11
Dans mes notes de cours, je continue à lire "ne pas faire tourner l'horloge". J'ai essayé de chercher sur Internet, mais je n'arrive pas à trouver la signification exacte de cette phrase.
@ user129048 il y a d'autres questions qui traitent de ce sujet sur ce site. En bref, si vous déclenchez l'horloge, vous aurez un retard qui est mauvais. La plupart des FPGA ont des lignes d'horloge dédiées, et le déclenchement de l'horloge n'utilisera pas ces lignes.
Voltage Spike
1
Tout comme vous utilisez une porte pour laisser entrer et sortir votre chien / cheval / etc., ils peuvent passer si la porte est ouverte. L'horloge et la réinitialisation ne sont que des signaux transmis à un module logique comme les autres signaux. Vous pouvez autoriser ou empêcher cette horloge de continuer, sans la laisser passer. Empêcher la logique de l'autre côté d'avoir ce signal en entrée.
old_timer
Réponses:
19
Pour "déclencher l'horloge" signifie mettre une porte logique dans la ligne d'horloge pour l'activer ou la désactiver.
Les diagrammes ci-dessus montrent et ET et OU utilisés pour déclencher l'horloge. L'un force l'horloge à descendre, l'autre à haut.
Pour éviter des impulsions d'horloge qui sont «trop courtes», hautes ou basses («impulsions runt»), nous devons nous assurer que:
Le signal de commande de la porte ET ne doit changer que lorsque l'horloge est basse .
Le signal de commande de la porte OU ne doit changer que lorsque l'horloge est haute .
Les horloges fermées sont très utiles pour réduire la puissance en CMOS car la logique reste «silencieuse» pendant que l'horloge est arrêtée. Vous constaterez que les outils de synthèse modernes ont une option spéciale pour insérer automatiquement la synchronisation d'horloge.
Au-dessus se trouvent deux circuits qui génèrent en toute sécurité une horloge fermée. Les circuits reposent sur le fait qu'il existe un petit retard (horloge à Q) pour que le signal de commande sorte du registre. Ainsi, le signal de commande change à la porte lorsque l'horloge a une polarité connue.
Très belle réponse. Je vais juste développer les avantages énergétiques des horloges à portes. Le réseau d'horloge dans un circuit intégré, en particulier dans les complexes comme les microprocesseurs, peut être très vaste. Si vaste qu'il a été démontré (désolé, je n'ai pas la référence à portée de main) que la commutation du réseau d'horloge peut représenter à elle seule 30% de la consommation totale d'énergie. Ceci est consommé même si la logique réelle qu'il synchronise n'a rien à voir, par exemple. les registres et les sorties ne changent pas du tout. Le déclenchement de l'horloge peut désactiver complètement l'horloge dans les parties affectées du réseau, réduisant ainsi considérablement la consommation d'énergie.
ultimA
4
@Curd: Lorsque l'OP indique "ne pas déclencher l'horloge", le professeur signifie "ne pas déclencher l'horloge littéralement comme avec une seule porte logique". Voilà de bons conseils. En pratique, bien que "synchronisation d'horloge" signifie "désactivation de l'horloge" ou être en mesure de le faire, et il est fortement recommandé de le faire pour des raisons d'alimentation tant que vous savez comment le faire correctement (c'est-à-dire, pas avec une logique (mais avec une logique suffisante pour éviter les ruptures et les pépins sur la ligne d'horloge)
ultimA
8
Je dois deviner ici pourquoi le professeur dit ceci: la synchronisation d'horloge, bien que présentée ici comme simple, présente de nombreux pièges. Par conséquent, il est très mal vu. Dans la conception ASIC (d'où je viens), cela ne se fait que par les outils, qui sont censés être approuvés, ou par les principaux ingénieurs, également supposés avoir confiance pour savoir ce qu'ils font.
Oldfart
4
@oldfart C'est très probablement l'explication. Surtout si OP est dans une classe FPGA, il est peu probable qu'ils devraient jamais être une horloge de déclenchement.
mbrig
3
@MITURAJ, la synchronisation d'horloge peut très certainement être effectuée dans l'entrée de conception. Je pense que vous décrivez ce qui devrait être fait, pas ce qui est «habituellement» fait. La liberté des FPGA permet à quiconque de mettre en œuvre de mauvaises idées. Beaucoup de mauvais dessins là-bas.
TonyM
6
Gating, dans ce contexte, signifie passer un signal à travers une porte logique pour le contrôler.
Le passage à travers une entrée d'une porte ET à 2 entrées permet à un bit de commande sur l'autre entrée de forcer la sortie de la porte ET à un niveau bas ou de laisser passer et sortir le signal. Une fonction similaire peut être effectuée par une porte OU, le signal étant forcé haut ou laissé passer.
Donc, déclencher une horloge signifie la forcer à descendre / monter ou la laisser passer.
Ne pas déclencher les horloges est un bon conseil. Cela peut être fait avec soin et une compréhension approfondie des conséquences possibles. Celles-ci incluent la métastabilité lors de la prise de signaux cadencés dans le domaine de l'horloge fermée et les pires résultats de la synthèse / disposition pilotée par le timing.
Mais il existe presque toujours d'autres façons d'obtenir le même contrôle sur un circuit que le déclenchement de l'horloge, sans tous ces risques et pénalités.
Cela signifie:
N'utilisez pas de porte ET ou OU (ou tout terme combinatoire plus complexe) pour dériver un signal d'horloge à partir d'un autre signal d'horloge.
La raison de cette règle est que les conditions de concurrence entre les multiples entrées du terme combinatoire peuvent provoquer plusieurs fronts d'horloge (pépins) où vous vous attendez à un seul front d'horloge.
Ce serait bien si le votant était en mesure d'expliquer ce qu'il considère mal avec cette réponse.
Curd le
4
Pour une vitesse élevée, cela implique de ne pas ajouter de portes logiques qui ajoutent un retard de propagation à l'horloge car cela peut provoquer des conditions de concurrence avec le travail avec des données utilisant l'horloge d'origine.
C'était ma première pensée de ne pas avoir entendu le terme utilisé auparavant, mais il y a des moments où la mise en mémoire tampon sera nécessaire et la synchronisation est probablement destinée à signifier plus que la mise en mémoire tampon dans ce cas. Les caractéristiques d'orientation et de bord peuvent changer avec une simple mise en mémoire tampon et doivent être prises en compte dans tous les cas.
Réponses:
Pour "déclencher l'horloge" signifie mettre une porte logique dans la ligne d'horloge pour l'activer ou la désactiver.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Les diagrammes ci-dessus montrent et ET et OU utilisés pour déclencher l'horloge. L'un force l'horloge à descendre, l'autre à haut.
Pour éviter des impulsions d'horloge qui sont «trop courtes», hautes ou basses («impulsions runt»), nous devons nous assurer que:
Les horloges fermées sont très utiles pour réduire la puissance en CMOS car la logique reste «silencieuse» pendant que l'horloge est arrêtée. Vous constaterez que les outils de synthèse modernes ont une option spéciale pour insérer automatiquement la synchronisation d'horloge.
simuler ce circuit
Au-dessus se trouvent deux circuits qui génèrent en toute sécurité une horloge fermée. Les circuits reposent sur le fait qu'il existe un petit retard (horloge à Q) pour que le signal de commande sorte du registre. Ainsi, le signal de commande change à la porte lorsque l'horloge a une polarité connue.
la source
Gating, dans ce contexte, signifie passer un signal à travers une porte logique pour le contrôler.
Le passage à travers une entrée d'une porte ET à 2 entrées permet à un bit de commande sur l'autre entrée de forcer la sortie de la porte ET à un niveau bas ou de laisser passer et sortir le signal. Une fonction similaire peut être effectuée par une porte OU, le signal étant forcé haut ou laissé passer.
Donc, déclencher une horloge signifie la forcer à descendre / monter ou la laisser passer.
Ne pas déclencher les horloges est un bon conseil. Cela peut être fait avec soin et une compréhension approfondie des conséquences possibles. Celles-ci incluent la métastabilité lors de la prise de signaux cadencés dans le domaine de l'horloge fermée et les pires résultats de la synthèse / disposition pilotée par le timing.
Mais il existe presque toujours d'autres façons d'obtenir le même contrôle sur un circuit que le déclenchement de l'horloge, sans tous ces risques et pénalités.
la source
Cela signifie:
N'utilisez pas de porte ET ou OU (ou tout terme combinatoire plus complexe) pour dériver un signal d'horloge à partir d'un autre signal d'horloge.
La raison de cette règle est que les conditions de concurrence entre les multiples entrées du terme combinatoire peuvent provoquer plusieurs fronts d'horloge (pépins) où vous vous attendez à un seul front d'horloge.
la source
Pour une vitesse élevée, cela implique de ne pas ajouter de portes logiques qui ajoutent un retard de propagation à l'horloge car cela peut provoquer des conditions de concurrence avec le travail avec des données utilisant l'horloge d'origine.
la source