Skip to content
Circuits digitalsLogo Càtedra Chip

Busos

En circuits digitals, un bus de bits (o simplement bus) és un conjunt de línies de comunicació que transporten bits de dades de manera paral·lela. Serveix per interconnectar diferents components d’un sistema transferint senyals digitals.

El desplaçament de bits és una operació fonamental en el processament de dades d’un bus. Consisteix a moure tots els bits d’un registre (o paraula binària) cap a l’esquerra o cap a la dreta.

Notació

En aquest apartat treballarem amb variables que representen nombres binaris de N bits. Per referir-nos a una variable, farem servir una notació com A[3:0], que descriu un conjunt de 4 bits anomenat A.

El rang [3:0] especifica que els bits estan indexats des del 3 fins al 0. Aquesta variable es pot descompondre en els seus bits individuals:

A=A[3:0]=[A3 A2 A1 A0]

On A3 és el bit de més pes (Most Significant Bit o MSB) i A0 és el bit de menys pes (Less Significant Bit o LSB). Aquesta notació permet referir-nos tant al conjunt complet (A) com a cadascun dels seus bits (Ai).

Exemple: Disseny d’un circuit desplaçador de bus a l’esquerra (N bits)

Suposem que treballem amb dades binàries i necessitem moure tots els bits d’una seqüència una posició cap a l’esquerra.

Per exemple, 1010 binari és 10 en decimal:

10102=1010

Si el desplacem una posició cap a l'esquerra n'obtenim 10100, això equival a multiplicar el seu valor per 2.

101002=2010

Una taula de veritat completa per a un nombre de bits N elevat és inviable (tindria 2N files). Ens centrarem en un cas de N=4 bits, on la taula encara és manejable.

A continuació es mostra la taula de veritat d’un circuit desplaçador a l’esquerra. L’entrada és A[3:0]=[A3A2A1A0] i la sortida és B[3:0]=[B3B2B1B0].

Entrada ASortida B
00000000
00010010
00100100
00110110
01001000
01011010
01101100
01111110
10000000
10010010
10100100
10110110
11001000
11011010
11101100
11111110

El nostre objectiu és dissenyar un circuit desplaçador de 4 bits. Tenim dues opcions:

En aquesta secció utilitzarem multiplexors. El circuit és el següent:

Circuit desplaçador

El senyal de control Sel determina si s’efectua el desplaçament:

  • Si Sel=0, la sortida és igual a l’entrada (no hi ha desplaçament).
  • Si Sel=1, els multiplexors realitzen un desplaçament a l’esquerra d’una posició.

Per a cada bit de sortida Bi, utilitzarem un multiplexor 2-a-1:

  • MUX per B3
    • Entrada 0: A3
    • Entrada 1: A2
    • Sortida: B3
  • MUX per B2
    • Entrada 0: A2
    • Entrada 1: A1
    • Sortida: B2
  • MUX per B1
    • Entrada 0: A1
    • Entrada 1: A0
    • Sortida: B1
  • MUX per B0
    • Entrada 0: A0
    • Entrada 1: 0 (bit d’entrada)
    • Sortida: B0

Exercicis a Jutge.org: Introduction to Digital Circuit Design

Recorda que per accedir als exercicis i perquè el Jutge valori les teves solucions has d'estar inscrit al curs. Trobaràs totes les instruccions aquí.



Logos Càtedra Chip

Xavier Casas, Francesc Madrid
Lliçons.jutge.org
© Universitat Politècnica de Catalunya, 2025

lliçons.jutge.org