Aperçu
Tout système de circuit numérique moderne, en particulier certains grands systèmes de traitement numérique, est souvent impossible de traiter toutes les données à la fois, donc dans le processus de traitement Certaines données et codes qui doivent être traités doivent être enregistrés en premier, afin qu'ils puissent être consultés à tout moment en cas de besoin.
Dans le processus de fonctionnement du système de circuit numérique, l'opération de stockage temporaire des données binaires ou du code en cours de traitement est appelée enregistrement, et le circuit qui réalise la fonction d'enregistrement est appelé registre. Le registre est l'un des circuits logiques séquentiels les plus élémentaires. Il est presque omniprésent dans divers systèmes de circuits numériques et est largement utilisé. Les registres de circuits intégrés couramment utilisés sont nommés en fonction du nombre de bits pouvant stocker des données, tels que des registres à 4 bits, des registres à 8 bits et des registres à 16 bits.
Selon ses fonctions, les registres peuvent être divisés en deux catégories : les registres numériques et les registres à décalage. Si distingué selon les différents types de transistors utilisés dans le circuit interne du registre, il peut être divisé en de nombreux types tels que la logique transistor-transistor (TTL) et la logique à transistor à effet de champ complémentaire (CMOS). A l'heure actuelle, les registres TTL et les registres CMOS sont les plus utilisés. Ce sont tous des dispositifs de circuits intégrés à moyenne et petite échelle.
Le circuit de registre est le module de base du circuit logique numérique. Les registres sont utilisés pour stocker un ensemble de codes binaires, qui sont largement utilisés dans divers systèmes numériques et ordinateurs numériques. Étant donné qu'une bascule peut stocker un code binaire à un bit, N bascules peuvent stocker un code binaire à N bits. Pour les bascules du registre, elles n'ont qu'une fonction de mise au niveau haut 1 et de mise au niveau bas 0. Par conséquent, qu'il s'agisse d'un trigger avec une structure RS synchrone, ou d'un trigger avec une structure maître-esclave ou une structure de déclenchement sur front Tous les appareils peuvent former un circuit de registre.
Dans le CPU de l'ordinateur, afin de coopérer avec le fonctionnement arithmétique de l'additionneur complet, N bascules peuvent être connectées en série pour former un registre à décalage. Par exemple, un registre à décalage avec décalage de données composé de bascules D à quatre bits et un diagramme de forme d'onde de décalage sont illustrés à la figure 1.
Circuit de registre de base
Définition
Le registre de base est composé de bascules, une bascule est un registre, elle peut stocker un nombre binaire. Lorsqu'il est nécessaire de stocker des nombres binaires à quatre bits, tant que quatre bascules sont connectées en parallèle, un registre binaire à quatre bits peut être formé, qui peut accepter et stocker des nombres binaires à quatre bits. La figure 2 est un circuit logique de registre de base composé de 4 bascules D, l'extrémité cP de chaque bascule est connectée en parallèle comme extrémité de commande. Le nombre à stocker est ajouté à la borne d'entrée D du déclencheur. Les bornes CP des quatre bascules sont connectées ensemble pour devenir la borne de contrôle du registre, et le nombre à stocker est ajouté à la borne d'entrée D de la bascule.
Caractéristiques
Selon la nature des bascules D, les registres précités présentent les caractéristiques de base suivantes.
(1)CP=0
Lorsque CP=0, le trigger conserve son état d'origine, à savoir :.
(2)CP=1
Lorsque CP=1 (front montant), l'état de la bascule est l'état de la borne d'entrée D, à savoir :.
On peut voir que la bascule D ne recevra et ne stockera des nombres que lorsque CP=1 (front montant).
De plus, car les bornes des 4 bascules sont également connectées en parallèle. Par conséquent, si une impulsion négative est ajoutée à la borne watt D, toutes les bascules peuvent être mises à l'état 0. Ce processus est généralement appelé effacement, également appelé réglage du terminal 0.
Principe de fonctionnement
Si vous souhaitez stocker le nombre binaire 1001, ils sont respectivement ajoutés à l'entrée D de la bascule. Lorsque l'impulsion d'horloge CP arrive, car la caractéristique de la bascule D est lorsque CP=1, donc au front montant de l'impulsion CP, l'état des 4 bascules est mis à 1001 de haut en bas, comme tant qu'il n'y a pas d'effacement d'impulsion zéro ou de nouvelle impulsion et numéro reçus, le registre restera toujours dans cet état, c'est-à-dire que le code binaire d'entrée 1001 est stocké dans ce registre. Si vous souhaitez retirer le numéro 1001 du registre, vous pouvez l'obtenir à partir de chaque borne de sortie Q du registre.
Déplacer le circuit de registre
Définition
Le circuit de registre à décalage est le même que le circuit de verrouillage, les deux stockant temporairement des données. Les circuits numériques doivent souvent effectuer des opérations d'addition, de soustraction, de multiplication et de division. Les opérations d'addition et de soustraction sont généralement complétées par des additionneurs et des soustracteurs, tandis que les opérations de multiplication et de division sont complétées par des décalages puis des additions et des soustractions. Lorsque le signal numérique est transmis, la méthode de transmission des chiffres un par un en séquence est appelée transmission en série, et la transmission de plusieurs chiffres en même temps est appelée transmission parallèle. Par conséquent, en plus de lui demander de recevoir, de stocker et de transmettre des nombres, le circuit de registre est parfois requis de décaler les nombres. Ce type de circuit de registre est appelé circuit de registre à décalage.
Occasions applicables
Le registre à décalage est une partie importante du système numérique et est largement utilisé. Par exemple, en fonctionnement série, un registre à décalage est nécessaire pour envoyer des données binaires bit par bit en séquence, puis un additionneur complet est utilisé pour effectuer l'opération. Le résultat de l'opération est stocké bit par bit dans le registre à décalage. Dans certains appareils numériques, il est nécessaire de convertir les données transmises en parallèle en transmission série, ou de convertir les données transmises en transmission série en transmission parallèle, et pour compléter ces conversions, un registre à décalage est également nécessaire.
Caractéristiques du circuit
Du point de vue de la structure logique, le circuit de registre à décalage présente les deux caractéristiques notables suivantes.
(1) Composé de la même unité de registre
Le registre à décalage est composé de la même unité de registre. De manière générale, le nombre d'unités de registre est le nombre de bits du registre à décalage. Afin de remplir différentes fonctions de décalage, la connexion entre la sortie de chaque unité de registre et l'entrée de l'unité de registre suivante adjacente à celle-ci est également différente.
(2) Horloge commune
Toutes les unités de registre partagent une horloge. Sous l'action de l'horloge commune, le travail de chaque unité de registre est synchronisé. Chaque fois qu'une impulsion d'horloge est entrée, les données du registre 7 seront décalées séquentiellement d'un bit vers la gauche ou la droite. L'unité de registre est généralement une bascule d'une structure maître-esclave.
Types de registres à décalage
Les registres à décalage CMOS sont des circuits intégrés à moyenne échelle, qui peuvent généralement être classés selon différentes méthodes de transmission de données. Du point de vue des méthodes d'entrée de données, les registres à décalage ont La différence entre l'entrée série et l'entrée parallèle. L'entrée série consiste à envoyer les données à entrer dans le registre bit à bit depuis une borne d'entrée sous l'action d'une impulsion d'horloge. L'entrée parallèle consiste à envoyer les données à entrer de plusieurs bornes d'entrée dans le registre en même temps.
Dans le registre à décalage CMOS, certaines variétés n'ont qu'une seule méthode d'entrée, par exemple, n'ont qu'une méthode d'entrée en série, mais certaines variétés ont à la fois deux méthodes parallèle et série. Les données d'entrée série sont ajoutées à la borne d'entrée de la première unité de registre et sont entrées sous l'action de l'impulsion d'horloge ; la vitesse de transmission des données est plus lente. Les données d'entrée parallèles sont généralement envoyées par les extrémités R et S de l'unité de registre, et la vitesse de transmission est plus rapide.
Modélisation de circuit de registre
Les registres et la logique combinatoire sont les deux éléments de base des circuits logiques numériques. Les registres sont généralement associés à une logique séquentielle synchrone, et leur caractéristique est que ce n'est que lorsque le front de l'horloge (front montant ou descendant) arrive que la sortie peut changer. Selon les différents objectifs de réalisation, la structure de modélisation du registre est légèrement différente et les points suivants doivent être pris en compte :
Déclaration de signal de registre : La définition de registre est de type reg. Mais veuillez noter que l'anti-proposition de cette proposition n'est pas nécessairement vraie. Bien que certains signaux soient définis comme du type reg, le résultat final de la réalisation intégrée n'est pas un registre. Par exemple, bien que "cnt-out-plus" soit désigné comme type reg, il s'agit d'une pure logique combinatoire lorsqu'elle est implémentée. Ce signal est un registre uniquement lorsqu'il est défini comme un type reg et que la table toujours sensible est une opération sensible au front de pose ou de negedge.
②Entrée d'horloge : Traitez les données sur le front positif ou négatif de chaque horloge. Le front positif ou négatif des données fonctionne, ce qui est spécifié par poseedge et negedge dans la table toujours sensible.
③Réinitialisation/configuration asynchrone : la plupart des modèles de registre des appareils cibles incluent des terminaux de réinitialisation/configuration asynchrone. Un reset/set asynchrone signifie que peu importe si le front d'horloge est valide ou non, lorsque le front valide du signal de reset/set arrive, le reset/set fonctionne immédiatement. Lors de la spécification d'un reset/set asynchrone, il vous suffit d'ajouter le front valide du signal reset/set à la table toujours sensible. Le circuit de réinitialisation asynchrone décrit dans l'exemple suivant est l'une des formes de réinitialisation de registre les plus couramment utilisées.
Réinitialisation/configuration synchrone : n'importe quel registre peut réaliser la fonction de réinitialisation/configuration synchrone. Lorsqu'un reset/set synchrone est spécifié, il n'y a qu'un signal de front d'horloge dans la table sensible de toujours. Lorsque le signal de réinitialisation/définition synchrone change, la réinitialisation/définition synchrone ne se produit pas immédiatement, uniquement lorsque le front d'horloge est amené à la réinitialisation/définition synchrone Lorsque le niveau effectif du front d'horloge est atteint, l'opération de réinitialisation/définition sera effectuée au moment où le front d'horloge arrive.
Le problème de l'utilisation simultanée des fronts montants et descendants de l'horloge : parfois en raison d'exigences d'échantillonnage de données ou d'ajustement de phase de données, le concepteur utilisera le bord de pose et le bord de l'horloge dans une table toujours sensible, ou dans les deux. table toujours sensible, le poseedge et le negedge de l'horloge sont utilisés pour faire fonctionner certains circuits de registre. Selon ces deux descriptions, lorsque le front supérieur ou inférieur de l'horloge arrive, le circuit registre fera l'opération correspondante. Ce circuit à double bord peut souvent être équivalent à un circuit de fonctionnement à un seul bord qui utilise une horloge multipliée en fréquence de l'horloge d'origine. Pour la conception implémentée dans le PLD, il est souvent déconseillé d'utiliser les bords supérieur et inférieur de l'horloge en même temps, car la PLL/DLL intégrée et certains circuits d'horloge du PLD ne peuvent garantir de très bons indicateurs que pour un bord de l'horloge. La gigue, l'inclinaison, la pente et d'autres indicateurs de l'autre bord peuvent ne pas être très optimisés. Parfois, l'utilisation simultanée des fronts positifs et négatifs de l'horloge entraînera une certaine dégradation des performances en raison de la gigue de l'horloge, du décalage, du cycle de service, de la pente et d'autres problèmes. Par conséquent, l'approche recommandée consiste à multiplier l'horloge d'origine par PLL/DLL, puis à utiliser le front unique (tel que le front montant) de l'horloge multipliée pour fonctionner. Cependant, la conception du circuit ne peut pas être généralisée. Si les deux fronts de l'horloge doivent être utilisés pour faire fonctionner le même registre, le concepteur doit être clair que cela équivaut à utiliser une horloge multiplicatrice de fréquence.