PREVIEW
Shift Register (8-bit)

Shift Register (8-bit)

Memory signal_cellular_alt_2_bar Intermediate schedule 25 min

Interactive Circuit

Registre à décalage 8 bits

Vue d'ensemble

  • Objectif : le registre à décalage 8 bits est un circuit numérique séquentiel qui stocke et décale 8 bits de données binaires soit à gauche soit à droite, permettant la conversion série-parallèle et parallèle-série, le stockage temporaire et la manipulation de bits.
  • Symbole : typiquement représenté par un bloc rectangulaire avec une entrée série (SI), des entrées de données parallèles (D0-D7), des entrées de contrôle (CLK, LOAD, SCLR), des sorties parallèles (Q0-Q7) et une sortie série (SO).
  • Rôle dans DigiSim.io : sert de bloc de construction essentiel pour la transmission de données, les interfaces de communication et les opérations numériques séquentielles où les données doivent être décalées, stockées ou converties entre formats série et parallèle.

composant registre à décalage 8 bits

Description fonctionnelle

Comportement logique

Le registre à décalage 8 bits effectue trois opérations principales : chargement parallèle (capture de 8 bits simultanément), décalage série (déplacement des bits à travers le registre) et sortie (fournit l'accès aux données stockées sous forme parallèle ou série). Son fonctionnement est contrôlé par les signaux d'horloge, de chargement et d'effacement.

Table de vérité (registre à décalage universel 8 bits) :

CLK DIR S/L SI D7..D0 Q7..Q0 (suivant) Notes
X 1 X d7..d0 d7..d0 Chargement parallèle
0 0 si X si, Q7, Q6, Q5, Q4, Q3, Q2, Q1 Décalage à droite
1 0 si X Q6, Q5, Q4, Q3, Q2, Q1, Q0, si Décalage à gauche
X X X X Q7..Q0 (pas de changement) Pas de changement

Note : ↑ représente un front montant d'horloge, ↓ front descendant, X peu importe, si entrée série, d7..d0 entrées de données parallèles. Qn est l'état actuel.

Entrées et sorties

  • Entrées (12 au total) :

    • SI (Serial Input) : entrée 1 bit pour la saisie de données série.
    • CLK (Clock) : entrée 1 bit ; les opérations se produisent sur le front montant.
    • DIR (Direction) : entrée 1 bit ; contrôle la direction de décalage (0 = droite, 1 = gauche) lorsque S/L est 0.
    • S/L (Shift/Load) : entrée 1 bit ; contrôle de mode (0 = décalage, 1 = chargement parallèle).
    • D0, D1, D2, D3, D4, D5, D6, D7 : huit entrées de données parallèles 1 bit pour charger les données simultanément lorsque S/L est 1.
  • Sorties (9 au total) :

    • Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 : huit sorties parallèles 1 bit représentant les bits stockés actuels du registre.
    • SO (Serial Output) : sortie 1 bit. Le comportement dépend de la direction de décalage :
      • Pendant le décalage à droite (DIR=0) : SO reflète typiquement Q0.
      • Pendant le décalage à gauche (DIR=1) : SO reflète typiquement Q7.

Paramètres configurables

  • Front d'horloge : si les opérations sont déclenchées sur le front montant ou descendant de l'horloge.
  • Direction de décalage : décalage à droite, à gauche ou bidirectionnel (dans certaines implémentations).
  • Type d'effacement : fonctionnalité d'effacement synchrone (cadencé) ou asynchrone.
  • Logique des signaux de contrôle : si les signaux de contrôle sont actifs à l'état haut ou actifs à l'état bas.
  • Configuration E/S série : quelle extrémité du registre sert d'entrée et de sortie série.
  • Paramètres de calage : temps de mise en place, temps de maintien et délais de propagation.

Représentation visuelle dans DigiSim.io

Le registre à décalage 8 bits est affiché sous la forme d'un bloc rectangulaire avec des broches d'entrée de données (D0-D7 et SI) sur le côté gauche, des signaux de contrôle (CLK, DIR, S/L) en bas et des broches de sortie de données (Q0-Q7 et SO) sur le côté droit. Lorsqu'il est connecté dans un circuit, le composant indique visuellement les valeurs stockées et les opérations de décalage via les changements de couleur sur les fils de connexion.

Valeur pédagogique

Concepts clés

  • Logique séquentielle : démontre comment les données peuvent être stockées et manipulées au fil du temps dans les circuits numériques.
  • Décalage de données : illustre les opérations de mouvement et de rotation de bits dans les systèmes numériques.
  • Conversion de format : montre comment les données peuvent être converties entre les formats série et parallèle.
  • Fonctionnement cadencé : souligne l'importance du calage et de la synchronisation dans les circuits séquentiels.
  • Stockage temporaire : présente le concept de mise en tampon de données et de traitement par étapes.
  • Communication numérique : introduit les concepts fondamentaux pour la transmission de données série et parallèle.

Objectifs d'apprentissage

  • Comprendre comment les registres à décalage convertissent entre les formats de données série et parallèle.
  • Apprendre les opérations séquentielles basées sur l'horloge dans les systèmes numériques.
  • Reconnaître l'importance des registres à décalage dans les interfaces de communication.
  • Appliquer les concepts de registres à décalage dans la conception de systèmes de transmission de données.
  • Comprendre la relation entre les signaux de contrôle et les opérations du registre.
  • Développer des compétences dans l'analyse et la conception de circuits séquentiels avec plusieurs modes de fonctionnement.
  • Maîtriser les relations de calage dans les opérations de données série.

Exemples d'utilisation / scénarios

  • Communication série : implémentation d'interfaces UART, SPI ou I²C pour la conversion entre protocoles série et bus de données parallèles.
  • Contrôle d'affichage LED : pilotage de plusieurs affichages LED avec moins de lignes de contrôle en décalant en série les données d'affichage.
  • Acquisition de données : capture de données série de capteurs et conversion au format parallèle pour traitement.
  • Filtres numériques : création de lignes à retard pour les applications de traitement numérique du signal.
  • Balayage de clavier : balayage de claviers matriciels en décalant un seul bit actif.
  • Génération de motifs : création de motifs de bits répétitifs pour les applications de test ou de contrôle.
  • Calcul CRC : implémentation de la division polynomiale pour la vérification d'erreur dans les systèmes de communication.
  • Conversion parallèle-série : transmission de données parallèles sur des canaux de communication série.

Notes techniques

  • L'implémentation utilise typiquement huit bascules D connectées en série, avec des multiplexeurs supplémentaires pour le chargement parallèle.
  • Les registres à décalage peuvent être mis en cascade pour créer des longueurs de bits plus grandes en connectant la sortie série de l'un à l'entrée série d'un autre.
  • Les paramètres de calage critiques incluent le temps de mise en place (5-15 ns avant le front d'horloge) et le temps de maintien (0-5 ns après le front d'horloge).
  • Différentes configurations incluent SISO (Serial-In, Serial-Out), SIPO (Serial-In, Parallel-Out), PISO (Parallel-In, Serial-Out) et universel (bidirectionnel avec chargement parallèle).
  • Les implémentations IC courantes incluent le 74HC164 (SIPO), 74HC165 (PISO) et 74HC595 (SIPO avec verrou de sortie).
  • La fréquence de décalage maximale est limitée par les délais de propagation à travers la chaîne de bascules.
  • Dans DigiSim.io, la simulation du registre à décalage modélise avec précision les dépendances de calage et les opérations de mouvement de bits des composants de registre à décalage réels.

Caractéristiques

  • Configuration des entrées :

    • Huit entrées de données parallèles (D0-D7)
    • Entrée série (SI) pour le décalage des données
    • Entrée d'horloge (CLK) — typiquement déclenchée sur front montant
    • Entrée d'effacement synchrone (SCLR) pour réinitialiser le registre
    • Autorisation de chargement parallèle (LOAD) pour charger les données parallèles
    • Peut inclure un contrôle de direction de décalage dans les types bidirectionnels
    • Compatible avec les niveaux logiques numériques standard
  • Configuration des sorties :

    • Huit sorties de données parallèles (Q0-Q7)
    • Sortie série (SO) — typiquement Q0 pour les registres à décalage à droite
    • Chaque sortie représente l'état actuel de l'étage correspondant
    • Capable de piloter les charges numériques standard
    • Peut inclure des sorties complémentaires dans certaines implémentations
    • Change d'état de manière synchrone avec les transitions d'horloge
  • Fonctionnalité :

    • Stocke et décale 8 bits de données binaires
    • Permet le chargement de données en parallèle ou en série
    • Fournit l'accès aux données au format parallèle ou série
    • Décale les données vers la droite (ou la gauche, dans les variantes bidirectionnelles)
    • Convertit entre les formats de données série et parallèle
    • Implémente les opérations serial-in/serial-out, serial-in/parallel-out, parallel-in/serial-out ou parallel-in/parallel-out
    • Peut être mise en cascade pour des largeurs de bits plus grandes
  • Délai de propagation :

    • Horloge à sortie (tCO) : 10-25 ns typique
    • Temps de mise en place (tS) : 5-15 ns avant le front d'horloge
    • Temps de maintien (tH) : 0-5 ns après le front d'horloge
    • Effacement à sortie (tCLR) : 5-20 ns
    • Dépendant de la technologie (TTL, CMOS, etc.)
    • Paramètres critiques pour les opérations série haute vitesse
    • Cohérent à travers tous les bits dans les conceptions synchrones
  • Sortance :

    • Pilote typiquement 10-20 charges standard
    • La charge de sortie affecte le délai de propagation
    • Peut nécessiter une mise en tampon pour les applications à forte sortance
    • Sortie série souvent conçue pour piloter les étages suivants
  • Consommation :

    • Consommation statique minimale dans les implémentations CMOS
    • La consommation dynamique augmente avec la fréquence d'horloge
    • Consommation proportionnelle à l'activité de décalage
    • Pics de consommation pendant les transitions multiples de bits
    • Gestion d'alimentation par verrouillage d'horloge
    • Dépendant de la technologie (CMOS la consommation statique la plus faible)
  • Complexité du circuit :

    • Complexité modérée
    • Nécessite huit bascules plus la logique de contrôle
    • Multiplexeurs supplémentaires pour le chargement parallèle
    • Logique de contrôle d'entrée pour la sélection de mode
    • La complexité augmente avec les fonctionnalités ajoutées (bidirectionnel, etc.)
    • Les implémentations intégrées réduisent le nombre de composants externes

Méthodes d'implémentation

  1. Chaîne de bascules D

    • Huit bascules D en cascade avec horloge commune
    • Implémentation la plus simple pour serial-in/serial-out
    • Sortie de chaque bascule connectée à l'entrée de la suivante
    • Multiplexeurs supplémentaires pour la capacité de chargement parallèle
    • Logique de contrôle de mode pour sélectionner l'opération
    • Exemple pédagogique courant du fonctionnement d'un registre à décalage
  2. Implémentation par circuits intégrés

    • CI registres à décalage 8 bits dédiés
    • Exemples : 74HC164 (serial-in/parallel-out), 74HC165 (parallel-in/serial-out), 74HC595 (serial-in/parallel-out avec verrous de sortie)
    • Diverses fonctionnalités : chargement parallèle, sorties trois états, etc.
    • Disponibles dans différentes familles logiques (TTL, CMOS, etc.)
    • Nombre de composants et espace de carte réduits
    • Caractéristiques de calage bien définies
  3. Registre à décalage universel

    • Configurable pour décalage à gauche, décalage à droite, chargement parallèle
    • Logique de contrôle et chemins internes plus complexes
    • Flexibilité maximale pour différentes opérations
    • Les exemples incluent 74HC194, 74HC299
    • Les entrées de sélection de mode déterminent l'opération
    • Plus complexe mais très polyvalent
  4. Registre à décalage bidirectionnel

    • Capable de décaler les données à gauche ou à droite
    • Entrée de contrôle de direction sélectionne la direction de décalage
    • Multiplexeurs supplémentaires pour le contrôle de direction
    • Courant dans les opérations arithmétiques (multiplication, division)
    • Souvent implémenté avec des registres à décalage universels
    • Complexité accrue pour la capacité bidirectionnelle
  5. Configuration SIPO (Serial-In/Parallel-Out)

    • Les données entrent en série, lues en parallèle
    • Courant pour la conversion série-parallèle
    • Permet la capture de flux de données série
    • Utilisée dans les interfaces de communication série
    • Plus simple que la conception universelle si dédiée à cette fonction
    • Exemple typique : 74HC164
  6. Configuration PISO (Parallel-In/Serial-Out)

    • Les données entrent en parallèle, sortent en série
    • Permet la conversion parallèle-série
    • Utilisée dans les émetteurs et interfaces série
    • Nécessite une capacité de chargement parallèle
    • Contrôle d'horloge pour le décalage série
    • Exemple typique : 74HC165
  7. Implémentation FPGA/ASIC

    • Implémentée à l'aide de bascules et multiplexeurs
    • Options de conception hautement configurables
    • Peut être optimisée pour des exigences spécifiques
    • Peut tirer parti des fonctionnalités spécialisées de la technologie cible
    • Souvent synthétisée à partir de descriptions HDL
    • Fonctionnalités personnalisées facilement ajoutées

Applications

  1. Conversion série-parallèle

    • Interfaçage de périphériques série à des systèmes de bus parallèles
    • Implémentation de récepteur UART/USART
    • Interfaces esclaves SPI
    • Récepteurs esclaves I²C
    • Acquisition de données série de capteurs
    • Désérialiseurs de données série
  2. Conversion parallèle-série

    • Interfaçage de systèmes de bus parallèles à des périphériques série
    • Implémentation d'émetteur UART/USART
    • Interfaces maîtres SPI
    • Sérialisation des données pour transmission
    • Interfaces de pilote d'affichage
    • Sérialiseurs de données série
  3. Mise en tampon et stockage temporaire de données

    • Registres pipeline dans les chemins de données
    • Capture et conservation de données d'entrée
    • Adaptation du débit de données entre systèmes
    • Tampons multi-étages pour les flux de données
    • Stockage temporaire pour traitement
    • Mise en tampon de données par octet
  4. Traitement numérique du signal

    • Filtres numériques (implémentation FIR/IIR)
    • Lignes à retard pour le traitement du signal
    • Opérations de corrélation et convolution
    • Génération de formes d'onde numériques
    • Détection de motifs dans les flux série
    • Reconnaissance de séquences
  5. Opérations arithmétiques

    • Multiplication et division binaires
    • Unités arithmétiques série
    • Division polynomiale (calcul CRC)
    • Opérations de manipulation de bits
    • Accélérateurs matériels pour algorithmes spécifiques
    • Implémentations de registre à décalage à rétroaction linéaire
  6. Calage et contrôle

    • Génération de séquences
    • Machines à états avec séquences fixes
    • Implémentation de délai temporel
    • Contrôle de séquence d'impulsions
    • Générateurs de motifs
    • Générateurs de séquences pseudo-aléatoires
  7. Communication de données

    • Synchronisation de trame
    • Encapsulation de protocole
    • Formatage de données
    • Bourrage et débourrage de bits
    • Empaquetage de données
    • Génération de codes de détection d'erreur

Limitations

  1. Contraintes de calage

    • Exigences de temps de mise en place et de maintien
    • Limitations de fréquence d'horloge maximale
    • Calage des transitions de données critique pour les flux série
    • Sensibilité au décalage d'horloge dans les systèmes en cascade
    • Délais de propagation limitant la vitesse maximale
    • Problèmes de synchronisation avec les systèmes externes
  2. Capacité de données

    • Limité à 8 bits sans mise en cascade
    • Nécessite plusieurs périphériques pour des chemins de données plus larges
    • La mise en cascade augmente le temps de propagation
    • Largeur de données fixée après implémentation
    • Capacité de stockage inférieure aux mémoires dédiées
    • Surcharge pour la logique de contrôle dans les applications à petites données
  3. Contraintes opérationnelles

    • Direction de décalage fixe dans les types non universels
    • Perte de données pendant le décalage sans stockage externe
    • Exigences de calage du contrôle de mode
    • Accès séquentiel aux données décalées
    • Accessibilité limitée aux étages internes
    • Capacités de réinitialisation/préréglage variant entre implémentations
  4. Consommation

    • Le cadençage continu augmente la consommation
    • Le fonctionnement à haute fréquence augmente la consommation dynamique
    • Consommation active proportionnelle aux transitions de bits
    • La gestion de l'alimentation nécessite un contrôle d'horloge
    • Les applications alimentées par batterie nécessitent une conception soignée
    • Le décalage à grande vitesse augmente les besoins en consommation
  5. Complexité de conception

    • Complexité de mise en cascade pour des largeurs de bits plus grandes
    • Coordination des signaux de contrôle
    • Surcharge de la logique de sélection de mode
    • Considérations de distribution d'horloge
    • Défis de test et de vérification
    • Intégration avec les systèmes asynchrones

Détail de l'implémentation du circuit

Registre à décalage série-entrée/parallèle-sortie 8 bits de base

graph LR
    SI[Serial In] --> FF0[D FF 0]
    CLK[Clock] --> FF0
    FF0 -->|Q0| OUT0[Q0]
    FF0 --> FF1[D FF 1]
    CLK --> FF1
    FF1 -->|Q1| OUT1[Q1]
    FF1 --> FF2[D FF 2]
    CLK --> FF2
    FF2 -->|Q2| OUT2[Q2]
    FF2 --> FF7[D FF 7]
    CLK --> FF7
    FF7 -->|Q7| OUT7[Q7]

Fonctionnement : les données décalent vers la droite à chaque front d'horloge, sorties parallèles disponibles à toutes les bascules.

Registre à décalage 74HC595 série-entrée/parallèle-sortie 8 bits avec verrous de sortie

Configuration des broches :

Broche Signal Fonction
SER Entrée série Entrée de données
SRCLK Horloge de décalage Décale les données sur le front montant
RCLK Horloge de registre Verrouille le registre à décalage à la sortie
/SRCLR Effacement Effacement actif à l'état bas
/OE Autorisation de sortie Autorisation de sortie active à l'état bas
QA-QH Sorties Sorties de données parallèles Q0-Q7
QH' Sortie série Sortie de mise en cascade
VCC, GND Alimentation +5 V et masse

Caractéristiques :

  • Double étage : registre à décalage + verrou de sortie
  • Cascade : QH' permet de chaîner plusieurs périphériques
  • Contrôle de sortie : sorties trois états via /OE

Registre à décalage 74HC165 parallèle-entrée/série-sortie 8 bits

Configuration des broches :

Broche Signal Fonction
A-H Entrées de données Entrées de données parallèles D0-D7
SER Entrée série Entrée de données série/cascade
CLK Horloge Entrée d'horloge de décalage
CLK INH Inhibition d'horloge Arrête l'horloge lorsque HIGH
SH//LD Décalage/chargement LOW=chargement parallèle, HIGH=décalage
QH Sortie série Sortie de données série
QH' Sortie complémentaire Sortie série inversée
VCC, GND Alimentation +5 V et masse

Fonctionnement :

  • Mode chargement (SH//LD=LOW) : données parallèles chargées
  • Mode décalage (SH//LD=HIGH) : les données sortent en série

CLK = horloge, CLK INH = inhibition d'horloge, SH/LD = décalage/chargement, SER = entrée série, QH = sortie série, QH' = sortie série complémentaire

Composants associés

  • Registre à décalage 4 bits : version plus petite pour les opérations de la taille d'un quartet
  • Registre à décalage 16 bits : version étendue pour les opérations de la taille d'un mot
  • Registre à décalage universel : registre flexible avec plusieurs modes de décalage
  • Registre à décalage bidirectionnel : peut décaler les données à gauche ou à droite
  • Registre SIPO (Serial-In/Parallel-Out) : spécialisé pour la conversion série-parallèle
  • Registre PISO (Parallel-In/Serial-Out) : spécialisé pour la conversion parallèle-série
  • Registre SISO (Serial-In/Serial-Out) : registre à décalage simple avec entrée et sortie série
  • Registre PIPO (Parallel-In/Parallel-Out) : registre de base sans capacité de décalage
  • Compteur Johnson : registre à décalage avec rétroaction inversée pour la génération de séquences
  • Compteur en anneau : registre à décalage avec rétroaction directe pour la génération de séquences

school Parcours d'apprentissage

arrow_forward Prochaines étapes

help_outline Foire aux questions

Où sont utilisés les registres à décalage 8 bits ?

Communication série (SPI, UART), contrôleurs d'affichage LED, générateurs de nombres pseudo-aléatoires et conversion entre formats de données série et parallèle.

play_arrow Exécuter le circuit en direct

Voir d'autres composants