Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Maîtriser la synchronisation de réinitialisation asynchrone dans les ASIC et FPGA

Introduction

Les réinitialisations asynchrones sont la première ligne de défense dans les circuits VLSI, assurant que toute la logique synchrone démarre d'un état connu après la mise sous tension. Lorsque la libération du signal de réinitialisation n'est pas soigneusement coordonnée avec les domaines d'horloge, les concepteurs peuvent rencontrer des défaillances intermittentes, difficiles à tracer — surtout dans les grands ASICs multi-domaines d'horloge ou dans les FPGA où les signaux de réinitialisation doivent être routés vers des millions de bascules.

Défis de la réinitialisation asynchrone

Au-delà de la synchronisation, l'étendue même d'un réseau de réinitialisation asynchrone pose un défi significatif de routage et de surface. Le problème s'échelonne avec le nombre de domaines d'horloge et le fan-out requis, exigeant des solutions qui ressemblent à la synthèse d'arbre d'horloge (CTS) en termes d'allocation de ressources.

Vue d'ensemble de la série

2. Techniques de convergence temporelle pour réinitialisation asynchrone

Les grands designs avec réseaux de réinitialisation à haute latence peinent souvent avec les courts cycles d'horloge requis par la logique moderne. L'optimisation par analyse de timing statique (STA) conventionnelle peut devenir prohibitivement coûteuse, voire infaisable. Deux techniques éprouvées — le pipelining de réinitialisation et la limitation de fan-out — offrent un chemin évolutif vers la convergence pour les implémentations ASIC et FPGA.

2.1. Pipelining de réinitialisation asynchrone

L'idée centrale est d'échanger un délai d'un cycle dans la libération de la réinitialisation contre un budget de timing assoupli. En insérant une bascule à mise asynchrone additionnelle (P1) après chaque synchroniseur, les entrées SET et D reçoivent le même signal de réinitialisation actif haut (RSTO). Quand RSTO se désactive, les contraintes de setup et hold du nouvel étage sont satisfaites comme s'il s'agissait d'un chemin synchrone régulier.

cliquer pour agrandir
Maîtriser la synchronisation de réinitialisation asynchrone dans les ASIC et FPGA
Figure 6 : Réinitialisation asynchrone avec pipelining (Source : vSync Circuits)

Fonctionnellement, le pipeline se comporte comme l'arbre de réinitialisation standard décrit dans la Partie 1, à l'exception d'une latence d'un cycle sur la libération. Cette latence supplémentaire est généralement négligeable car elle ne se produit qu'une fois par mise sous tension.

Les contraintes de conception jouent un rôle crucial. Alors que les bascules de synchronisation doivent être protégées contre la duplication (pour éviter les problèmes de chemins de re-convergence discutés dans la Partie 1), l'étage P1 est contraint par une règle MAX_FANOUT. Par exemple, un fan-out de 8 est souvent suffisant pour la sortie du synchroniseur. Quand l'étage P1 atteint sa limite de fan-out, l'outil de synthèse duplique automatiquement la bascule, créant plusieurs sous-réseaux chacun avec une latence plus faible, comme illustré en Figure 6b.

Comme la duplication est gérée automatiquement, la technique s'échelonne sans heurt à mesure que le design grandit ou change. Si un seul étage de pipeline n'atteint pas la convergence temporelle, des étages additionnels (P2 – PN) peuvent être insérés, chacun contraint par sa propre valeur MAX_FANOUT.

Une illustration de cette technique dans un vrai design est montrée en Figure 7. Ici, l'étage P1 — nommé PORT6 — a été dupliqué environ 40 fois par l'outil de synthèse pour satisfaire la contrainte de fan-out. Chaque sous-réseau a respecté le timing requis, confirmant l'efficacité de la méthode dans les designs grands et complexes.

cliquer pour agrandir
Maîtriser la synchronisation de réinitialisation asynchrone dans les ASIC et FPGA
Figure 7 : Exemple de pipelining de réinitialisation asynchrone (Source : vSync Circuits)

Embarqué

  1. Structures C++ vs Classes : guide pratique pour développeurs embarqués
  2. Boîtes aux lettres dans Nucleus SE : Guide pratique de configuration et d'utilisation
  3. Sémaphores dans Nucleus SE : Vue d'ensemble, configuration et API essentielles
  4. Anvo-Systems et Mouser forgent un partenariat de distribution mondial
  5. Mouser Electronics Étend sa Portée Mondiale avec Partenariat Distribution Inventek Systems
  6. Rutronik devient distributeur exclusif européen de la RAM IoT d'AP Memory sous accord global
  7. Albis Plastics sépare distribution et compoundage sous le groupe Otto Krahn
  8. Maîtriser la sélection de sites de distribution : guide stratégique pour dirigeants
  9. Stratégies pratiques pour réduire les émissions dans l'entreposage et la distribution