SlideShare una empresa de Scribd logo
1 de 325
Descargar para leer sin conexión
Capítulo 1:
   Sistemas Numéricos y Códigos.

             SISTEMAS DIGITALES I




22/10/2008        Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS AL
     DISEÑO DIGITAL


 Representaciones analógicas: Las cantidades análogas pueden
variar gradualmente sobre un intervalo continuo de valores.
 Representaciones digitales: Las cantidades varían en etapas
discretas a o largo del tiempo.

 Señal Digital                                               Señal Análogica



 Sistema Digital: Un sistema digital es una combinación de
dispositivos, diseñada para manipular cantidades físicas o
información que estén representados en forma digital.
 Sistema Analógico:       Un sistema analógico contiene
dispositivos que manipulan cantidades físicas representadas
en forma analógica.
     22/10/2008        Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEÑO DIGITAL
Ventajas de las técnicas digitales

    Mas fácil de diseñar (V,I,P,Vmax , Vmin, vs Fanout, Vmax).
    Facilidad de almacenar información (memorias vs relés)
    Control de precisión y exactitud (control de bits en la conversión )
    Programación de la operación (en memorias)
    El ruido afecta en forma mínima.




    Alto grado de integración (Corta, Mediana ---> Larga SI)



22/10/2008               Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEÑO DIGITAL

Limites en las Técnicas Digitales
         “El mundo real es analógico”
Convertidores Digitales Analógicos (DAC) y Analógicos a Digitales
(ADC)
  Convertir las entradas analógicas “del mundo real” a la forma
digital.
  Procesar la información digital.
  Convertir las salidas digitales a la forma analógica “del mundo
real”




22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEÑO DIGITAL

Sistemas de Numeración
Un sistema de numeración es un conjunto ordenado de símbolos
llamados dígitos con leyes definidas para la suma, resta,
multiplicación.

(N)r= (parte entera   . parte fraccionaria)
                                                       Octal
                                  Punto base           Binario
N= número                                              Decimal
r= base del sistema
Los números se representan en cualquier sistema de numeración
de 2 formas: Notación Posicional y Notación Polinomial.

22/10/2008             Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

      Notación Posicional: Implica la colocación de dígitos a ambos
      lados del punto base, por ende sus posiciones no se pueden
      alterar.
      ( N) r= ( a n-1 a n-2 a n- 3 …a i…a 1 a 0   .   a -1 a -2 …a -f …a -m ) r   base

                        Parte entera              Parte fraccionaria
                                          Punto base
r= base del sistema                           m= número de dígitos en la parte
                                              fraccionaria
a= los dígitos del set
                                                  an-1= dígito más significativo
n= número de dígitos en la
parte entera                                      a-m = dígito menos significativo
Ej.: (1531.75)10                                  Ej.: (5131.75)10 no son lo mismo
     22/10/2008                   Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
   AL DISEÑO DIGITAL

Base del Sistema: Número de dígitos que tiene el sistema.

Sistema   Decimal: 10 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Sistema   Binario: 2 dígitos: 0, 1
Sistema   Octal:    8 dígitos: 0, 1, 2, 3, 4, 5, 6, 7
Sistema   Hexadecimal: 16 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
                                    C, D, E, F

Ej.: Sistema Binario: (110011. 1101)2
     Sistema Octal:    (1437. 64)8
     Sistema Hexadecimal: (AF10. B04)16
     Sistema Decimal: (1531. 46)10
   22/10/2008              Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEÑO DIGITAL
      Decimal    Binario               Octal             Hexadecimal

             0    0000                   0                    0
             1    0001                   1                    1
             2    0010                   2                    2
             3    0011                   3                    3
             4    0100                   4                    4
             5    0101                   5                    5
             6    0110                   6                    6
             7    0111                   7                    7
          8       1000                   10                  8
          9       1001                   11                  9
         10       1010                   12                  A
         11       1011                   13                  B
         12       1100                   14                  C
         13       1101                   15                  D
         14       1110                   16                  E
         15       1111                   17                  F
22/10/2008         Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
         AL DISEÑO DIGITAL

Notación Polinomial: Se expresa como una sumatoria de los dígitos
multiplicada por un factor que es la base elevada a un exponente.
                                               n-1
                                   (N)r=             aj rj
                                              J=-m
=   an-1rn-1 + an-2rn-2 + … + a1r1 + a0r0+ a-1r-1 + a-2r-2 + …+ a-mr   -m



Ej.: (1748.75)10 = 1x103 + 7x102 + 4x101 + 8x100 + 7x10-1 + 5x10-2
     n= 4 y m = 2

(1011.101) 2 = 1x1011 + 0x1010 + 1x101 + 1x100 + 1x10-1 + 0x10-10 + 1x10-11
      n=4ym=3

         22/10/2008              Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
   AL DISEÑO DIGITAL

Método de Conversión de Base por Sustitución:
Sirve para convertir de cualquier base a decimal. Se usa la notación
polinomial.

Binario a Decimal:

Ej.: (1011.101)2 = 1x23 + 0x22+ 1x21+ 1x20 + 1x2-1 + 0x2-2 + 1x2-3
                 = 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125
                  = (11.625)10




   22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
   AL DISEÑO DIGITAL

Octal a Decimal
Ej.: (150.1)8 = 1x82 + 5x81 + 0x80 + 1x8-1
 n=3          = 64 + 40 + 0 + 0.125
 m=1           = (104.125)10


Hexadecimal a Decimal
                              (10x160)
Ej.: (32A)16 = 3x162 + 2x161 + A x 160
             = 768 + 32 +10
             = (810)10

   22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
 AL DISEÑO DIGITAL
Método de Conversión de Base por Multiplicación y División para la Base
Utilizado para convertir de decimal a cualquier otra base
                             (N)10= (E10 . F10)
Por separado la parte entera de la fraccionaria.

De Decimal a Binaria
La parte entera la dividimos sucesivamente para 2 hasta cuando el
cociente sea igual a 0 .
Ej.: (19.75)10      ()2

       19 2
   LSD -1- 9 2                      (19)10 = (10011. )2
          -1- 4 2
             -0- 2 2
                -0- 1 2
                   -1- 0                Cociente = 0 fin de la conversión
 22/10/2008             Sistemas Digitales I - Ing. S. Ríos
                  MSD
CAPITULO1: CONCEPTOS INTRODUCTORIOS
   AL DISEÑO DIGITAL
De Decimal a Octal
La parte entera la dividimos para 8 sucesivamente hasta cuando el cociente
sea igual a 0
Ej.: (19.75)10     ()8

        19 8                   (19)10 = (23)8
  LSD   -3- 2 8
            -2- 0           Cociente = 0
          MSD

De Decimal a Hexadecimal
Dividimos para 16 la parte entera
Ej.: (423)10    ()16
     423 16
LSD -7- 26 16                  (423)10 = (1A7)16
          -10- 1 16
               -1- 0
   22/10/2008              Sistemas Digitales I - Ing. S. Ríos
              MSD
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL
La parte fraccionaria se la trabaja multiplicando por la base a la cual
queremos llegar. Puede darse conversión exacta e inexacta.
Si es inexacta: racionales – periódicos

        = 0 exacta
Cj
          0 inexacta
Cj es el último valor fraccionario
De Decimal a Binario: Multiplicamos por 2
Ej.: (0.75)10 = (0.11)2
                          MSD

          0.75x2 = 1 +0.5
                            LSD
           0.5x2 = 1+ 0           Cj=0           EXACTA


     22/10/2008               Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

De Decimal a Octal: Multiplicamos por 8
Ej.: (0.75)10 = (0.6)8
          0.75x8 = 6 + 0.0
               Cj =0                       EXACTA

De Decimal a Hexadecimal: Multiplicamos por 16
Ej.: (19.75)10 = (13.C)16

         19 16                   0.75x16 = 12 + 0
         -3- 1 16                        =C+0                      EXACTA
             -1- 0



    22/10/2008               Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL
Caso: De Binario a Octal: de 3 en 3 porque el mayor dígito octal = 7
se puede escribir con 3 dígitos binarios (7)8 = (111)2
Ej.: ( 100 111 010 .)2     (472)8

       4   7       2

Caso: De Binario a Hexadecimal: de 4 en 4 porque el mayor dígito
hexadecimal = 15 se puede escribir con 4 dígitos binarios (F)16 =
(1111)2
Ej.: 00(11 1010 0110. )2      (3A6)16

      3        A       6


     22/10/2008             Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL
Caso: (N)7       (N)6: Aplico sustitución y luego multiplicación y división para la
base.
Ej.: (B2F)16     ( )8
(1011 0010 1111.)2           ( 101 100 101 111.)2            (5457)8
                                5   4   5 7
Ej.: (4310.3)5      ( )8

(4310.3)5 = 4x53 + 3x52 + 1x51 + 0x50 + 3x5-1
          = 500 + 75 +5 + 0.6
            = (580.6)10                       MSD
                                    0.6x8 = 4+ 0.8
          580 8                     0.8x8 = 6 + 0.4                     (1104.4631…)8
           -4- 72 8                 0.4x8 = 3 + 0.2
               -0- 9 8              0.2x8 = 1 + 0.6
                  - 1- 1 8          0.6x8 = 4 + 0.8
                        -1- 0                  LSD                      Inexacta Periódica
      22/10/2008                  Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL
                     Operaciones Aritméticas
Suma
De números Decimales                     De números Binarios
      1111 1   acarreo                          1111 11      acarreo
Ej.: 2954.764                             Ej.: 10111.1011
   + 3875.643                                  10110.1110
    0 6830.407                               1 01110.1001
acarreo final                            acarreo final

De números Octales                       De números Hexadecimales
      111 1
Ej.: 134.76                           Ej.: F 0 1 . A
   + 257.34                               +13C.1
    0 414.32                              103D.B
acarreo final                       acarreo final
    22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL
Resta
Se realiza de 2 formas diferentes: -Tradicional
                                  - Por complementos

Ej.: 1958.03 Minuendo      Si préstamo final = 0 => Resultado positivo
    - 1767.96 Sustraendo Si préstamo final = 1 => Recomplementamos
    0 0190.07                                       (Negativo)
Repuesta +
Préstamo final

Ej.: 1011.11 Minuendo
    - 1001.01 Sustraendo
    0 0010.10
Repuesta +
Préstamo final
     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL

Complemento
Tenemos 2 tipos: - Complemento a la base
                 - Complemento a la base -1

Complemento a la Base (Complemento a la r):
( N) r,c = r n – ( N) r (Complemento a r de un número N en una base r)

r: base      n: número de dígitos de la parte entera de N

Decimal:

Ej.: ( 1958.03)10 ( 1958.03)10,c = 104 -1958.03
     r = 10 n = 4                = 8041.97

      22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL

Binario:

Ej.: (10001.11)2  (10001.11)2,c = 25 - 10001.11
                                = 32 -10001.11
                                = 100000- 10001.11
     r=2      n=5               = 01110.01

Regla en Binario

De derecha a izquierda escribo igual los números binarios hasta que
encuentro al 1er “1” lo escribo igual y los demás números los invierto.




      22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Complemento a la Base -1 (Complemento a la r-1):
( N) r-1,c = r n – r -m - ( N) r

Decimal:
Ej.: ( 1958.03)10 (1958.03)9,c = 104 - 10-2 - 1958.03
 n =4 r =10 m=2                 = 8041.96
Regla: Para cada dígito se coloca un número que sumado de 9.

Binario:
Ej.: (10001.11)2 (10001.11)1,c = 25 - 2-2 – 10001.11
 n =5 r =2 m =2                     = 100000 – 0.01 – 10001.11
                                    = 01110.00
Regla: Para cada dígito se coloca un número que sumado de “1”
     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Resta de Números por complemento a r (a la base)

Cuando restamos números sin signo por complemento a la base
si el resultado nos da acarreo = “1”, a este 1 se lo ignora y los
restantes dígitos son la respuesta con signo +. Por otro lado si la
respuesta da acarreo = 0 el resultado es negativo y deberá
recomplementarse. La única diferencia con el complemento a r-
1, es que es valor del acarreo los sumamos al dígito menos
significativo.




     22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Decimales Complemento a 10

Ej.: 1958.03 Minuendo       Se la realiza sacando el complemento al
    - 1767.96 Sustraendo sustraendo y sumando ese valor al minuendo
  =>
        1958.03
     + 8232.04            (1767.96)10,c = 104 – 1767.96 = 8232.04
      1 0190.07
       acarreo Final = 1 => Respuesta = + (0190.07)10




     22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Decimales Complemento a 10

Ej.: 1767.96 Minuendo
    - 1958.03 Sustraendo

     1767.96
   + 8041.97         (1958.03)10,c = 104 – 1958.03 = 8041.97
   0 9809.93
    acarreo Final = 0 => Respuesta = - y recomplementada
       (9809.93)10,c = 104 – 9809.93 = 0190.07
                       Respuesta = - (0190.07)10

     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL

Binarios por Complementos a 2
Ej.: 100111.01 Minuendo
    - 100100.11 Sustraendo

     100111.01
   + 011011.01
   1 000010.10
    acarreo Final = 1 => R = + (000010.10)

Ej.: 10001.11
    - 10111.10

     10001.11
   + 01000.10
   0 11010.01
    Recomplementar      R= - (00101.11)2
      22/10/2008                Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Resta de Números por Complemento a r-1 (a la base -1)

Decimales: Complemento a 9: El complemento sale colocando un
número que sumando sea = 9

Ej.: 1767.96 Minuendo                  1767.96
    - 1958.03 Sustraendo            + 8041.96
                                     0 9809.92
                                    acarreo final = 0 => Recomplemento
                                    Respuesta = - 0190.07




     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL


Producto:

       Ej.:    0101 = 5
             x 1101 = 13
               0101
              0000
             0101
            0101
            1000001 = 65

Números con signo
       0    +         Convención
       1     -
     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL

Sobrecarga
Cuando un resultado se va fuera del rango.                El rango en binario se
define como: -2n + 1 (N)10 2n – 1

Ej.: n = 7 => -27 + 1   (N)10    27 – 1

                - 127 (N)10 127
Para sobrecarga en binario nos fijamos en el acarreo final y el acarreo
sobre el dígito del signo. Si los 2 acarreos son iguales => no hay
sobrecarga y analizo el resultado tanto en signo como en magnitud.

Si ambos acarreos son diferentes => sobrecarga => añada una
columna más => expando con 0 para que siga siendo +
                             1 para que siga siendo -
      22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL

Suma con Signos

En las sumas con signo se trabaja con la columna del signo normalmente y se
procede a la suma binaria. Para analizar el resultado primero nos fijamos si hay
o no sobrecarga.

Si no hay sobrecarga observamos el bit del signo en la respuesta. Si el bit es 0
=> la respuesta es positiva y es la encontrada. Si el bit del signo es 1 => la
respuesta es negativa y debe recomplementarse.

Ej.: (+6)10 + (+10)10 = +(16)10
                       111                                    0111
(+6)10 = 0110           00110                                 000110 No hay
(+10)10 = 01010 + 01010                                   + 001010   Sobrecarga
(+16)10 = 010000 0 10000                                  0 010000
                    Sobrecarga = expando             bit signo R= +(10000)2
      22/10/2008               Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
       AL DISEÑO DIGITAL
Ej.: (+6)10 + (-10)10 = -(4)10
      (-10)10 = 10110

     011
     00110
   + 10110
   0 11100
                bit del signo         R = -(0100)2
                No hay sobrecarga
Ej.: Realice la siguiente suma. Las cantidades indicadas ya contienen el signo.
             11111 1                             011111 1
             01110101                            001110101
          + 01011101                          + 001011101
          0 11010010                           0 011010010
          Sobrecarga => expando                     Signo +    R= +(11010010)2
       22/10/2008                Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL
Restas con Signo
Se realiza la resta con complemento a la base 2. Se analiza si existe
sobrecarga. Si no la hay => se estudia el bit del signo y se escribe el
resultado. Si hay sobrecarga se expande una columna.
Ej.: Realice la siguiente resta de números con signo por complemento:
                                         0    111
       01010111      Minuendo            01010111
     - 11011111      Sustraendo       + 00100001
                                      0 01111000
                                                   Signo +
                                                No hay sobrecarga

                                           R= + (1111000)2

     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
        AL DISEÑO DIGITAL
Ej: Realice la siguiente resta de números con signo por complemento:
                          0
      11001001            11001001
    - 01111111         + 10000001
                        1 01001010
                 Sobrecarga => expando
                                                1
                   111001001                     111001001
                 - 001111111                  + 110000001
                                    No hay   1 101001010
                                  Sobrecarga
                                                   Signo - => recomplemento

                                                      R= - (10110110)2
        22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
      AL DISEÑO DIGITAL
Códigos

Codificar es dar un orden, es traducir una información
Código: es un grupo de dígitos que representan una información.
Existe códigos binario, BCD, de reflexión, etc.
Código Binario: 2n = número de combinaciones
                n = número de dígitos del código
Ej.: 23 = 8 combinaciones con 3 dígitos
 +        -         .     ,         *
001      011       010   100       101
¿Y si quiero codificar más de 8 símbolos distintos?

      22/10/2008               Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
     AL DISEÑO DIGITAL
Códigos BCD (o NBCD): Cuando cada dígito de un número decimal se
representa con su equivalente binario => BCD. Ya que el mayor dígito
decimal es el 9 => se utilizan 4 bits siempre.

Ej.: ( 8      7    4 )10    ()       BCD
     1000 0111 0100
      (1000 0111 0100 ) NBCD

Ej.: ( 0110 1000 0011 1001) BCD
         6    8   3    9
        (6839)10

No es lo mismo un binario que un BCD o NBCD
Ej.: (137)10 = (10001001)2
                    8 bits
                 = (000100110111) BCD
      22/10/2008              Sistemas Digitales I - Ing. S. Ríos
                    12 bits
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

Código de Exceso de 3
Es un código NBCD porque la conversión se la hace para cada dígito.
A cada uno de los bits se le suma 3 antes de codificarlo en binario.

Ej.: (48)10      ( )xs3

    4                   8
  +3                 +3
    7                  11
  (0111)2           (1011)2                      (0111 1011)xs3

De Reflexión: se repiten ciertos dígitos y se cambia el primero

    22/10/2008                Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

Código de Distancia Unitaria: Ocurre cuando de uno a otro código
cambia solo un bit a la vez

Código Gray: Es un código de distancia unitaria

De Gray a Binario: de izquierda a derecha busco el 1er “1” y lo
escribo igual. Luego escribo 1´s hasta que el siguiente 1 es
encontrado, en cuyo caso escribo un “0”. Entonces escribo 0´s
hasta encontrar el siguiente 1 en cuyo caso escribo un “1” y así
sucesivamente.

Ej.: (101010)Gray

    (110011)2

    22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
   AL DISEÑO DIGITAL

De Binario a Gray: Colocar un “0” al lado del MSD y comenzando por
la izquierda realice EXOR entre los bits adyacentes.

2 iguales    => 0        A B A+ B
2 diferentes => 1        0 0      0
                         0 1      1
                         1 0      1
                         1 1      0
Ej.: 0(1 1 0 0 1)2 => (10101)GRAY

    10 101

Ej.: 0(1 0 1 0 1 0 0)2 => (1111110)Gray

     1 1 1 1 1 10
    22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

Códigos Alfanuméricos:

ASCII(American Standar Code for Information Interchange) 7 dígitos

EBCDIC (Extended Binary Coded Decimal Interchange Code) 8 dígitos

Ej.: A   1000001 ASCII 7 dígitos

    A 1 1000001 EBCDIC 8 dígitos

          Extendido


    22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

Código de Detección de Errores:
Se añade un dígito más a una palabra

          X                                  Y

    Transmisión       Medio de            Recepción
                     transmisión

Paridad Par: se añade un cero en caso par de unos
Ej.: 01000001 A con paridad par

Paridad Impar: se añade un cero en caso de que exista un número
impar de unos
Ej.: 11000001 A con paridad impar
    22/10/2008            Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
    AL DISEÑO DIGITAL

Bloque de información (con paridad par):


Ej.: 1   00100            Bloques Par x Par
     1   10000            ó Impar x Impar
     0   01010
     1   10101
     1   10000
     0   11011




    22/10/2008           Sistemas Digitales I - Ing. S. Ríos
CAPITULO1: CONCEPTOS INTRODUCTORIOS
         AL DISEÑO DIGITAL

    Ej.: Realice la operación indicada
    (1100 0110)xs3 + ( 10 10 11 11)gray = ( )2
      12      6            (11001010)2
     - 3 -3                            1 11
        9     3                        01011101
       (93)10 = (1011101)2           + 11001010
                                     1 00100111
    93 2
LSD -1- 46 2
         -0- 23 2
              -1- 11 2                          R= ( 100100111)2
                    -1- 5 2
                        -1- 2     2
                            -0- 1 2
                                 -1- 0
         22/10/2008             Sistemas Digitales I - Ing. S. Ríos
                         MSD
Capítulo 2.- Fundamentos Del Diseño Digital


Lógica: es el proceso de clasificación de la información; en donde la
información tiene que estar relacionada con aseveraciones y no puede
ser interrogaciones o exclamaciones. Nos interesa la lógica binaria:


                           F => 0 y V => 1

Los pensamientos se expresan como proposiciones. Los proposiciones se
representan por variables lógicas que pueden ser verdaderas o falsas.

Ej.: primeras letras del alfabeto mayúsculas: A, B, C, D, E, F.
     últimas letras del alfabeto minúsculas: p, q, r, s, t,…, x, y, z.

       22/10/2008              Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Además se debe especificar el tipo de lógica o la condición
de polarización.
Ej.:
(Variable lógica).(Condición de Polarización de la variable)
     (Nemónico) . (Condición de la Polarización)
                      A. L       MS . H
                      B.H        MB . L




      22/10/2008        Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Tabla de Verdad: Es una manera de tabular o listar todas las posibles
combinaciones que forman las variables de entrada con sus
respectivas salidas.

          A        B   F
          0        0   0               A                     Circuito   F
                                       B                     digital
          0        1   0
          1        0   1
          1        1   1                      2n = # de combinaciones

Para unir las variables lógicas se usan conectores:
Conectores Naturales: And, or, no
Conectores No Naturales: Exor, Nexor
      22/10/2008             Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Conectores Naturales: Tablas de Verdad

AND (Multiplicación Lógica)
  A    B     A AND B                     A      B         A.B
  F   F            F                      0      0           0
  F   V            F                      0      1           0
  V   F            F                      1      0           0
  V   V            V                      1      1           1




      22/10/2008              Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Conectores Naturales: Tablas de Verdad
OR (Suma Lógica)
  A       B     A OR B
                                       A      B         A +B
  F       F            F
                                        0      0           0
  F       V            V
                                        0      1           1
  V       F            V
                                        1      0           1
  V       V            V
                                        1      1           1
NO (Negación Lógica)
      A       NO A                      A          A
      F         V                                                A   A Teorema de
                                        0           1
      V          F                                                    Involución
                                        1           0
          22/10/2008       Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Condición de Polarización
                         V       Depende de los niveles de voltaje
Sabemos que A                   o del tipo de lógica usada sabremos
                         F      cuando es V o F


           L       A es Falso                             L    A es Verdadero
A.H                                          A.L
           H       A es Verdadero                         H      A es Falso

          Lógica Positiva                                 Lógica Negativa


      22/10/2008                  Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Lógica Mixta: Mezcla de las 2 lógicas
                                            L           Falso
                         Positiva
 A.L         A.H                            H            Verdadero

 A.H A.L
                                             L          Verdadero
                           Negativo
                                             H           Falso


    22/10/2008           Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Tablas de Voltaje:

AND ( Puertas de Producto)

Tabla de Verdad              Tabla de Voltaje                 Puerta Lógica AND


A    B      A.B              A.H B.H (A.B).H

0    0        0              L       L        L             A.H
                             L       H         L                           (A . B) .H
0    1        0
                                                             B.H
1    0        0              H       L         L

1    1        1              H       H        H



      22/10/2008             Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Tablas de Voltaje:

NAND

Tabla de Verdad      Tabla de Voltaje                 Puerta Lógica NAND
A    B    A NAND B   A.H B.H (A.B).L
0    0        1       L      L         H             A.H
0    1        1                                                  (A . B) L
                      L      H         H
                                                      B.H
1    0        1       H      L         H
1    1        0       H      H         L



      22/10/2008      Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

 OR

Tabla de Voltaje          Puerta Lógica OR
A.L B.L   A.B.L
                   A.L
H     H     H                          (A . B). L
H     L     H       B.L
L     H     H
L     L     L




      22/10/2008     Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


 NOR

Tabla de Voltaje         Puerta Lógica NOR

A.L B.L    A.B.H
                     A.L
H      H     L                                        A . B. H
H      L     L
                      B.L
L      H     L
L      L     H




       22/10/2008     Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


OR (Puertas de Suma)

Tabla de Verdad          Tabla de Voltaje                     Puerta Lógica OR

A    B    A+B              A.H B.H          A+B.H
                                                                 A.H
0    0        0             L       L           L                          A+B.H
                                                                 B.H
0    1        1             L       H           H

1    0        1             H        L          H

1    1        1             H        H         H

Tabla de voltaje para OR da iguales valores ya sea puerta de suma o de
producto
      22/10/2008                Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


NOR (Puertas de Suma)

Tabla de Verdad     Tabla de Voltaje                      Puerta Lógica NOR

A   B    A NOR B        A.H B.H         A+B.L
                                                             A.H
0   0        1          L       L           H                          A+B.L
                                                             B.H
0   1        0          L       H           L

1   0        0          H        L          L

1   1        0          H        H         L




     22/10/2008             Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


NAND

  Tabla de Voltaje           Puerta Lógica NAND

  A.L B.L           A+B.H
   H        H        L         A.L
                                                      (A+B).H
   L       H         H
                                B.L
   H        L        H
   L       L         H




       22/10/2008           Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


AND

  Tabla de Voltaje              Puerta Lógica AND

  A.L B.L              A+B.L
      H        H        H
                                  A.L
      H        L        L                                (A+B).L
                                   B.L
      L        H        L
      L        L        L




          22/10/2008           Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


NO

     Tabla de Verdad                                           Inversor
        A          A                             A.H                       A.L
        0          1   A.H        A .L
        1          0
                       A.L       A .H
                                                  A.L                     A.H




      22/10/2008         Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

Operadores No Naturales

OR EXCLUSIVO

Tabla de Verdad        Tabla de Voltaje                  Puerta Lógica EXOR
A   B      A       B   A.H B.H    A     B.H               A.H
                                                                      A   B.H
0   0          0       L    L          L                B.H
0   1          1       L    H          H
1   0          1       H    L          H
1   1          0       H    H          L



     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


NEXOR

Tabla de Verdad      Tabla de Voltaje                  Puerta Lógica NEXOR
 A   B   A NEXOR B   A.H B.H       A       B.L
                                                        A.H
                                                                   A   B.L
0    0       1       L     L           H
                                                      B.H
0    1       0       L     H           L
1    0       0       H     L           L
1    1       1       H     H           H




     22/10/2008          Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Coincidencia

Tabla de Verdad        Tabla de Voltaje                  Puerta Lógica
                                                         Coincidencia
 A   B    A    .   B   A.H B.H       A   . B.H
0    0        1        L     L           H            A.H
0    1        0        L     H           L                        (A . B) H
                                                        B.H
1    0        0        H     L           L
1    1        1        H     H           H




     22/10/2008            Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Inversor de Voltaje ¿que hacer cuando no lo encontramos en el mercado?
      A.H                      A.L

- Con NAND: corto circuito o puenteo las entradas o conecto a +Vcc una
entrada




- Con NOR:


    A.L                A.H

          22/10/2008         Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Implementación de Circuitos Digitales
         A.H
         B.H            Circuito                         F.H
         C.H            Digital


Existen diferentes maneras de implementar el circuito lógico dependiendo
de la lógica y puertas usadas


                    F     ABC AB BC
       22/10/2008            Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Usando solo And, Or, e Inversores
                       A.H             AB C .H
                       B.H
           C.H
                 A.H         A.L       A B.H                               F.H
                       B.H
            B.H                      B C.H
                   C.H

Usando And, Nand (suma) e Inversores
                               A.H
                                         ABC.H
                             B.H
                       C.H                                 ABC.L
                                                                                     F.H
                                        AB.H            AB.L
                       A.H
                       B.H

                       B.H             BC.H                 BC.L
       22/10/2008 C.H                          Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Usando solo Nand




      22/10/2008     Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital


Usando solo Puertas NAND de 2 Entradas




      22/10/2008          Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
                    Puertas Lógicas Resumen
Producto         Suma        Nombre                 ECG        Descripción

                                 AND                7408      4 And, 2
                                                              entradas
                                NAND                7400      4 Nand, 2
                                                              entradas
                                 NOR                7402      4 Nor, 2
                                                              entradas
                                  OR                7432      4 Or, 2 entradas

                                EXOR                7486      4 Exor

                               NEXOR               74266      4 Nexor

                            INVERSOR                7404      6 Inversores
    22/10/2008          Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
Circuitos Integrados
Los C. I. digitales son una colección de resistores, diodos y
transistores fabricados sobre una pieza de material semiconductor
(Si) denominada sustrato. El C.I. se encuentra dentro de un
encapsulado plástico o de cerámica con terminales. El más común
encapsulado es el Dip (Dual in line package)




 22/10/2008           Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
   Algebra de Boole
   Postulados de Huntington
   Axiomas
   1.- Sobre un conjunto S de elementos que es cerrado con respeto a
       un operador, si para cada par de elementos en S, el operador
       especifica un único resultado el cual también es un elemento de S.
            A, B S
            C=A.B
            C S
   2.a.- Existe un elemento 0 en S tal que para cada A en S A+0=A
   2.b.- Existe un elemento 1 en S tal que para cada A en S A.1= A
   3.a.- Leyes Conmutativas           A+B = B+A
   3.b.-                                A.B = B.A
   4.a.- Leyes Distributivas          A+(B.C) = (A+B).(A+C)
   4.b.-                              A.(B+C) = (A.B)+(A.C)
   5.- Para cada A en S existe un elemento A tal que A+A = 1
                                                          A.A = 0
   22/10/2008              Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital

   Identidades
      0.A=0             1+A=1
      1.A=A             0+A=A
      A.A=A             A+A=A
      A.A=0             A+A=1
      A=A

   Teoremas
   A+AB=A Absorción
   A+AB=A+B Absorción
   AB+AB=A Adyacencia Lógica

   A+B+C+… = A . B . C ….. De Morgan

   A.B.C……= A + B + C +…. De Morgan
  22/10/2008         Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
   Representación de expresiones Lógicas
   Productos Lógicos (Minitérminos) SOP
   Suma de productos en la forma canónica
                                    F1=f(A,B,C)
   A         Circuito
                              F1    F2=g(A,B,C)
   B
             Digital
   C                          F2
   Partimos de la tabla de verdad
   Minitérminos        A   B   C    F1   F2               F1 = (minitérminos = 1)
         m0            0   0   0    0     1               F1 = (1,2,6,7)
         m1            0   0   1    1     0               F1 = m1 + m2 + m6 + m7
         m2            0   1   0    1     1               Para que m1 = 1 los valores
         m3            0   1   1    0     0               de verdad de los productos
         m4            1   0   0    0     1               deben ser iguales a 1
         m5            1   0   1    0     0               m1 = 1 Con A=0; B=0; C=1
         m6            1   1   0    1     1               m1 = A B C
         m7            1   1   1    1     1
  22/10/2008                   Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
   m2 = A B C                   m6 = A B C                         m7 = A B C

   F1   =   A   BC+ABC+ABC+ABC
   F1   =   A   (B C + B C) + A (B C + B C)
   F1   =   A   (B C) + A B (C + C)
   F1   =   A   (B C) + A B

   F2   = (minitérminos = 1)
   F2   = (0,2,4,6,7)
   F2   = m0 + m2 + m4 + m6 + m7
   F2   =ABC+ABC+ABC+ABC+ABC




   22/10/2008                Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño Digital
      Sumas Lógicas (Maxitérminos) POS Productos de Sumas en la
      forma canónica

Maxitérminos       A   B   C   F1   F2               F1 = (Maxitérminos = 0)
        M0         0   0   0   0     1               F1 = (0,3,4,5)
        M1         0   0   1   1     0               F1 = M0 . M3 . M4 . M5
        M2         0   1   0   1     1               Para que M0 = 0 los valores
        M3         0   1   1   0     0               de verdad de los sumandos
        M4         1   0   0   0     1               deben ser iguales a 0
        M5         1   0   1   0     0               M0 = 0 Con A=0; B=0; C=0
        M6         1   1   0   1     1               M0 = A + B + C
        M7         1   1   1   1    1

F1 = (A + B + C).(A + B + C).(A + B + C).(A + B + C)

0 valor no negado en los POS
1 valor no negado en los SOP


      22/10/2008                    Sistemas Digitales I - Ing. S. Ríos
Ejercicio: Para la siguiente tabla de verdad encuentre la
función lógica mínima.
    ABCD     F1      F1 =      (miniterminos = 1)
    0000     1       F1 =      (0,1,2,3,8,9,10,11)
    0001     1
    0010     1
    0011     1
    0100     0
    0101     0
    0110     0
    0111     0
    1000     1
    1001     1
    1010     1
    1011     1
    1100     0
    1101     0
    1110     0
    1111     0
22/10/2008          Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

 Mapa de dos variables


      A B F          Con SOP:                               A       A
 m0                  F= (1,3)
      0      0   0                                              0       2
                     F= m1 +m3                       B      0       0
 m1   0      1   1   F= B+AB
                                                     B      1   1   1   3
                     F=B( +A)
 m2   1      0   0   F=B
 m3   1      1   1                                Con el mapa F=B




22/10/2008            Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

    Cada Celda corresponde a cada minitérmino.
    Se agrupan los 1 para trabajar con SOP.
    Se realizan agrupamientos de 1’s adyacentes.
    No existen adyacencia en las diagonales.
    Se realizan agrupamientos de 1’s en 2n celdas:
    1,2,4,8,16 etc celdas.
    El número de variables eliminadas de la expresión =n
    La variable constante permanece como parte del
    agrupamiento. La(s) variable(s) que cambia(n) de valor
    se eliminan del resultado.
    Por lo menos un 1 del agrupamiento debe quedar
    cubierto solo una vez.

22/10/2008          Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh




      A       A                     A                         A                   A

B     0   0   1   2       0   0     1   2             1   0   1   2           1   0

B     0   1   1   3   B   1   1     1   3       B     1   1   1   3     B     0   1


    F=A                   F=A+B                           F=1               F= B + A B
                                                                            F= A + B




    22/10/2008                    Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

 Mapa de tres Variables
   A    B   C    F

   0    0   0    1
                                                                          A
   0    0   1    1                                     10     12     16   14
   0    1   0    1                                C 11        13     17   05
   0    1   1    1
                                                                     B
   1    0   0    0

   1    0   1    0                                 F= +B+C
   1    1   0    0

   1    1   1    0                                                        A
                          A                            1      0      0    1
   10       12       06   04                      C 1         0      0    1
C 11        13       07   05                                         B
                                                   F=B
                     B
F=A
22/10/2008                     Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

          Mapa de cuatro variables
                                                                             A
                                                         1                       1
                             A

     10     14         012       08                                                  D
                                                 C       1                       1
     11     15         113       19
                                       D                               B
     13     17         115       111
                                               F= B D
C
     02     06         014       010
                                                                             A
                   B                                         1                   1
                                                             1                   1
                                                             1                   1   D
    F= C + D
                                                     C       1                   1
                                                                       B
                                             F=B
      22/10/2008                       Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

        Mapa de 5 variables

                                                                                              A
                              B                                                      B
                         12        8                                            28       24
    1    0   1   4                                        1   16   1   20


                         13        9                                                     25
    1    1   1   5                                        1   17   1   21       29


                 7                11   E                               23                27       E
         3               15                                   19                31

D                6                10             D                     22                26
         2               14                                   18                30



                     C                                                      C


    F= B D




    22/10/2008                         Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

 Mapa de 6 variables

              B                                          B




                                                        AB
             AB




22/10/2008        Sistemas Digitales I - Ing. S. Ríos
Mapa de Karnaugh

Implicante Primo: es cualquier agrupamiento que no esté cubierto
por un agrupamiento más grande.

Implicante Esencial: es un agrupamiento primo que tiene 1’s que
están cubiertos por un solo agrupamiento (Agrupamientos que se
realizan de una sola manera posible).

Implicante Necesario: Es el que nos ayuda a reducir la expresión
lógica.

Implicante Opcional: varias expresiones lógicas mínimas de las
cuales solo una es válida.

Implicante Redundante: es el que no es necesario.
22/10/2008            Sistemas Digitales I - Ing. S. Ríos
Condiciones sin importancia (Don’t Care)


                                         La salida Ø se produce para cierta
      A                                  combinación de entrada que en el
                    Circuito
      B
                    Digital
                                   F     mundo real es inexistente.
      C
                                                                                            A

                                                           -Ø            0      0       1       Ø
                                       Don´t Care          -x        C   0      Ø       1       1
 A        B    C         F                                 -d
                               0                                                    B
 0        0    0         Ø
                               1
 0        0    1         0                                               F= A
 0        1    0         1
 0        1    1         0               Da lo mismo tener un cero que un uno
 1        0    0         1               al hacer la implementación o el diseño
                               0
 1        0    1         Ø               ya que por lo general son condiciones
                               1
 1        1    0         0               que en las entradas no suceden.
 1       1      1        0
     22/10/2008                    Sistemas Digitales I - Ing. S. Ríos
Ejemplo
         Caso típico
                                                                       0 apagado
                                 Diodos emisores de luz                1 encendido
                             a

                             b          a
   x1                        c
            Decodificador           f       b
   x2                        d          g
            para Display
   x3                        e
            de 7 segmentos
   x4                        f      e       c
                             g
                                        d
 NBCD                                                                  Pantalla Típica
                                    Punto decimal

Para este decodificador las entradas son X1, X2, X3, X4 y las salidas son a,
b, c, d, e, f, g. Los números NBCD están en el rango de 0 a 9. Las
combinaciones posibles con 4 entradas son 16 pero solo 10 serán
ocupadas. Las combinaciones que no se ocupan en las salidas serán Ø.
        22/10/2008               Sistemas Digitales I - Ing. S. Ríos
NBCD

                    x1   x2   x3   x4    a     b     c    d     e   f   g
                0   0    0    0    0     1     1     1    1     1   1   0
                1   0    0    0    1     0     1     1    0     0   0   0
                2   0    0    1    0     1     1     0    1     1   0   1
                3   0    0    1    1     1     1     1    1     0   0   1
                4   0    1    0    0     0     1     1    0     0   1   1
                5   0    1    0    1     1     0     1    1     0   1   1
                6   0    1    1    0     1     0     1    1     1   1   1
                7   0    1    1    1     1     1     1    0     0   0   0
                8   1    0    0    0     1     1     1    1     1   1   1
                9   1    0    0    1     1     1     1    1     0   1   1
                    1    0    1    0     Ø     Ø     Ø    Ø     Ø   Ø   Ø
                    1    0    1    1     Ø     Ø     Ø    Ø     Ø   Ø   Ø
                    1    1    0    0     Ø     Ø     Ø    Ø     Ø   Ø   Ø

    Fuera del       1    1    0    1     Ø     Ø     Ø    Ø     Ø   Ø   Ø
    rango
                    1    1    1    0     Ø     Ø     Ø    Ø     Ø   Ø   Ø
                    1    1    1    1     Ø     Ø     Ø    Ø     Ø   Ø   Ø

22/10/2008                    Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño
      Digital

                            X1                                                              X1
     1        0        Ø         1                                   1         1        Ø        1
     0        1        Ø         1                                   1         0        Ø        1
     1        1        Ø         Ø       X4                          1         1        Ø        Ø   X4
X3   1        1        Ø         Ø                          X3       1         0        Ø        Ø
                  X2                                                               X2
 a=x1 + x3 + x2x4 + x2x4                                                 b=x2 + x3x4 + x3x4
                                                            X1
                                     1        1         Ø        1
                                     1        1         Ø        1
                                     1        1         Ø        Ø        X4
                           X3        0        1         Ø        Ø
                                                   X2
                                                                         c=x3 + x4 + x2
         22/10/2008                           Sistemas Digitales I - Ing. S. Ríos
Método de la variable entrante en el mapa ( VEM)
            En un mapa se introduce la variable y se reduce una variable en el mapa.
            Para ingresar la variable C agrupo sus 2 posibilidades conservando iguales
            las combinaciones de A y B y multiplico por el valor de la función.
A   B   C    F                   A                                               A
0   0   0    1             C+C   0                                1      0   1    0
0   0   1    1              1                                 C 1        1   0    Ø
                     B     c     c
0   1   0    0                                                               B
                           VEM   VEM
0   1   1    1

1   0   0    0
                 Se agrupan celdas adyacentes y que tengan variables iguales, la
                 suma de variables únicas o grupos de productos iguales. Solo
1   0   1    Ø
                 variables en el Paso 1 y de no haber con quien agrupar entonces
1   1   0    1   se agrupan con 1 o con Ø. Si alguien falta de agrupar, se lo
1   1   1    0   realizará en el paso 2. Se agrupan variables VEM o VEM en el
                 paso 1 obligatoriamente. No es obligatorio para VEMØ o VEMØ

            22/10/2008                 Sistemas Digitales I - Ing. S. Ríos
Método de la variable entrante en el mapa ( VEM)


Paso 1
a) Agrupamos todas las VEM o VEM únicas que no pueden agruparse con otra VEM ó VEM idéntica
    o con un “1” o con “Ø” (islas).
b) Agrupamos todas los MEV dobles (formamos grupos de 2 VEM).
c) Formamos grupos de una VEM con un “1”
d) Formamos grupos de una VEM con un “Ø”
e) Formamos grupos de 4 VEM idénticos o con 1 o Ø; 8,16 ect.
Paso 2
a)   Reemplazar las VEM o VEM por un “0”
b) Reemplazar 0      0; Ø     Ø
c)   Reemplazar 1    1 Si no está completamente cubierto: A + A = 1
                       Ø Si está completamente cubierto.
d) Reemplazar VEM Ø ó VEM Ø          “0”.
e)   Reemplazar VEM + VEM Ø        1 Si no está cubierto o si solo el Ø está cubierto.
                VEM + VEM Ø        Ø Si está completamente cubierto o si solo el VEM está cubierto.
                                                                                 VEM
               c Ø+c     c Ø+c
 22/10/2008                       Sistemas Digitales I - Ing. S. Ríos
Capítulo 2.- Fundamentos Del Diseño
           Digital

Ejemplo: I ngrese c al mapa y obtenga la expresión lógica mínima para F ( celdas con
variables únicas se agrupan primero)

                        Ø c+ Ø c = Ø
   A   B    C   F
   0   0    0   0
                                           Paso 1                         Paso 2
   0   0    1   0
                                                    A
   0   1    0   1
   0   1    1   1
                                                                                   A
   1   0    0   1
                                       0            c
                                                                             0     0
   1   0    1   0
   1   1    0   Ø          B           c+c1         cØ+cØ
                                                                      B      1     Ø
   1   1    1   Ø                      1            Ø

                                                                F=C A + B

           22/10/2008                       Sistemas Digitales I - Ing. S. Ríos
Capítulo 3: Lenguaje de
Descripción del Hardware (VHDL)

     SISTEMAS DIGITALES I
HDL: Lenguaje de Descripción
del Hardware
 Similar a un lenguaje de computadora excepto que un
 HDL describe Hardware que luego de simulado puede ser
 construido.
 Existen 2 HDL que son estándares IEEE: VHDL (Very High
 Speed Integrated Circuit Hardware Description Lenguage)
 y Verilog HDL.
 El VHDL es más popular pero ambos se usan a nivel
 industrial.
 Inicio en 1980 en el Departamento de Defensa (DoD).
 Luego en 1983 formalmente empezaron el proyecto VHDL
 con: Intermetrics, Texas Instruments e IBM.
 IEEE empezó la estandarización en 1984 que luego se
 aprobó en 1987 con el número 1076.
 En 1994 el IEEE publicó la revisión del estandar IEEE Std
 1076-1993 que es la que se encuentra vigente.
VHDL
Trabaja con diseño jerárquico: top – down o down - top.
Independencia tecnológica que permite diseñar circuitos
cuya descripción no depende de la forma de
implementación física posterior.
Universalidad, es decir compatibilidad con un gran
número de herramientas CAD.
Diferentes tipos de Descripciones: Sistema, algorítmico,
RTL, Lógico, Conmutación, Eléctrico, Físico.
Características: Se declara una caja negra (entity) con
un identificador para el circuito, y sus terminales de
entrada y salida. También se declaran las direcciones de
los terminales (in, out) y el tipo de datos que admiten.
Luego se describe el circuito en sí dentro del cuerpo de
una arquitectura. Esta descripción difiere según el nivel.
Estructura de un programa en
        VHDL
Cuando se utiliza VHDL, un sistema digital se divide en varios bloques para
efectuar el proceso lo más comprensible y que sea fácil de probar y de dar
mantenimiento. En VHDL, cada porción del diseño es considerado un
bloque, que es descrito en el lenguaje, mediante una entidad y una
arquitectura.
La entidad me describe el exterior de mi circuito y la arquitectura su
comportamiento interno.
                                                             entidad 1

               Bloque 1                             arquitectura 1
                                     entidad 2                                  entidad 3

    Bloque 2              Bloque 3     arquitectura 2                    Arquitectura 3

                                                                  entidad 4
               Bloque 4
                                                        arquitectura 4
Ejemplo de entidad y arquitectura
ENTI TY nand2 I S                            A
       PORT(I1,I2:     I N BIT;                             F
                O:     OUT BIT);             B
END nand2;

ARCHI TECTURE C1 OF nand2 I S
BEGI N
       O<=NOT(I1 AND I2)
END C1;

Adicionalmente el archivo de texto creado se graba con extensión vhd.
   Para nuestro ejemplo: nand2.vhd
Estructura Básica de un programa VHDL.
   Se inicia declarando las bibliotecas que se usarán en el
   programa.
Ej:    LIBRARY ieee;
       USE ieee.std_logic_1164.all;
       USE ieee.std_logic_unsigned.all;
   Luego se indica la entidad con sus entradas, salidas y los
   modos y tipos de datos.
   Modo: IN        OUT       BUFFER              INOUT
       Entrada Salida Salida realimentada Bidireccional
   Tipo: BIT, STD_LOGGIC, STD_LOGIC_VECTOR
   Después se lista la arquitectura.
Estructura Básica de un programa VHDL.
LI BRARY ieee;
    USE ieee.std_logic_1164.all;
    USE ieee.std_logic_unsigned.all;

ENTI TY <nombre_entidad> I S
        PORT(<nombre_pin>:   <modo><tipo>;
             <nombre_pin>: <modo><tipo>);
END <nombre_entidad>;

ARCHI TECTURE <nombre_arquitectura> OF <nombre_entidad> I S
BEGI N
       <sentencia>; <comentario>
       <sentencia>; <comentario>
END <nombre_arquitectura>;
Tipos de datos
Ejemplos de tipos de datos
   BIT: describe valores binarios. Rango: ‘0’, ‘1’
Ejemplo:
ENTI TY nand2 I S
         PORT(A,B:        I N BIT;
                  F:      OUT BIT);
END nand2;
   BIT_VECTOR: describe cadenas de bits. Rango: conjunto de
   bits. Se escribe entre comillas: “1010”
Ejemplo:
ENTI TY manejador I S
         PORT (S: IN BIT_VECTOR (3 DOWNTO 0);
                 X: OUT BIT_VECTOR (1 TO 7));
END manejador;
Ejemplos de tipos de datos
      CHARACTER: describe caracteres. Rango:
      son los 256 caracteres del estandar ISO
      8859-1: 1987 los 128 primeros son los
      caracteres ASCII.
‘a’
  STRING: describe cadenas de caracteres.
  Rango: conjunto de caracteres.
“abcde”
Estructura de un programa
      escrito en VHDL
En VHDL una arquitectura        ARCHI TECTURE nombre_arq OF nombre_ent I S
tiene dos partes:         La
región de las declaraciones     [Declaración de señales]
                                [Declaración de tipos]
y    el   cuerpo      de   la   [Declaración de variables]
arquitectura.                   [Declaración de constantes]
                                [Declaración de componentes]
La región de declaraciones      [Especificación de atributos]
precede la palabra clave
BEGIN. Puede ser usada          BEGI N

para    declarar     señales,   {Instanciación de componentes}
variables y constantes.         {Enunciado concurrente}
                                {Enunciado secuencial [Proceso]}
También puede ser usada
para declarar componentes       END nombre_arq;
y especificar atributos.
Tipos de descripciones dentro
de la arquitectura
 Estructural o lógica: Descripción exacta
 del esquema lógico que resuelve la
 función objeto del diseño.
 De flujo de datos o RTL.
 Comportamental o algorítmica
 (descripción funcional).
Descripción Estructural o lógica
En la descripción estructural el cuerpo
de la arquitectura se transforma en una    component nombre_componente
descripción exacta del esquema lógico.
Para la descripción estructural el VHDL    port (señales_entrada: modo tipo;
se apoya en las declaraciones de
componentes                                     señales_salida: modo tipo);

La cantidad de declaraciones de
componentes debe de corresponder con       end component;
la cantidad de componentes distintas
que formarán parte del circuito físico
que realiza la función lógica a diseñar.
La declaración component posee una
estructura similar a la de una entidad,
pero no tiene la misma connotación.
Descripción Estructural o lógica
En la sección de declaraciones de la
arquitectura (región ubicada entre la       ARCHI TECTURE nombre_arq OF nombre_ent I S

palabra reservada architecture y la         [ Declaración de tipos]
palabra begin) puede existir la necesidad   [ Declaración de señales]
                                            [ Declaración de variables]
de realizar algunas declaraciones de        [ Declaración de constantes]
señales internas, las cuales intervienen    [ Declaración de componentes]
                                            [ Especificación de atributos]
en la descripción del circuito, pero que
no tienen acceso a los terminales           BEGI N
externos del diseño (no están declaradas    I nstanciación de componentes
en la entidad.
                                                          ...
Aparecen en mayúsculas las palabras
                                            I nstanciación de componentes
reservadas del lenguaje VHDL para
resaltarlas, pero no es necesario ya que    END nombre_arq;
el VHDL no es sensible al tipo de letra
Descripción Estructural o lógica
  Ej: Realizar la
  descripción en VHDL de     A

  tipo estructural de la     B
                                   Y

  operación EXOR
  Y = AB + AB
ENTITY XOR IS
       PORT (A,B: IN BIT;
              Y: OUT BIT);
END XOR;
Descripción Estructural o lógica
La arquitectura puede ser la siguiente:
  Architecture XOR1 of XOR is
  - - declaración de señales
  signal AN, BN : bit;
  signal ANB, ABN : bit;
  - - declaración de componentes
                                      A    AN   ANB
  component INV
              port (I: in bit;        B
                                                      Y
                   O: out bit);
  end component;
  component AND2
              port (I1, I2: in bit;             ABN
                       O: out bit);       BN
  end component;
  component OR2
              port (I1, I2: in bit;
                       O: out bit);
  end component;
Descripción Estructural o lógica
 Estamos usando 3 tipos      begin
 de    componentes:    un    -- instanciación de componentes
 inversor (declarado INV),   U1: INV port map (A,AN);
 una compuerta AND de        U2: INV port map (B,BN);
 dos entradas (declarada     U3: AND2 port map (AN,B,ANB);
 AND2) y una compuerta       U4: AND2 port map (A,BN,ABN);
 OR de dos entradas          U5: OR2 port map (ANB,ABN,Y);
 (declarada OR2).            end XOR1;
 Para la descripción de la
 función lógica XOR se
 emplearon dos instancias,
 U1 y U2 de INV; dos
 instancias U3 y U4 de
 AND2 y una instancias U5
 de OR2.
Descripción Estructural o lógica
En la asociación nominal o    component OR2
explícita     se     vuelve          port (I1, I2: in bit;
                                               O: out bit);
irrelevante el orden de los   end component;
parámetros, por cuanto
dentro del paréntesis se      begin
indican explícitamente las    ...
señales que se conectan a     - - asociación explícita
los terminales de las
                              U5: OR2 port map(O=>Y, I1=>ANB,
componentes, mediante el      I2=>ABN);
símbolo => de asignación
                              end XOR1;
Descripción Estructural o lógica

     ENTI TY XOR I S                 component AND2
           PORT (A, B: I N BIT;                  port (I1, I2: in bit;
                   Y: OUT BIT);                          O: out bit);
     END XOR;                        end component;
                                     component OR2
     Architecture XOR1 of XOR is                 port (I1, I2: in bit;
     - declaración de señales                            O: out bit);
     signal AN, BN : bit;            end component;
     signal ANB, ABN : bit;          begin
     - declaración de componentes    - instanciación de componentes
                                     U1: INV port map(A,AN);
     component INV                   U2: INV port map(B,BN);
             port (I: in bit;        U3: AND2 port map(AN,B,ANB);
                  O: out bit);       U4: AND2 port map(A,BN,ABN);
     end component;                  U5: OR2 port map(ANB,ABN,Y);
                                     end XOR1;

Evidentemente, el estilo estructural de la escritura de una arquitectura
es extenso, incluso para circuitos relativamente pequeños, por lo que si
el circuito es grande su escritura puede ser tediosa y propensa a
cometer errores.
Descripción Estructural o lógica
Uno de los tipos de señales
con que trabaja en VHDL es
el arreglo de señales, tanto
del tipo bit_vector, como del
tipo std_logic_vector. Esto
permite escribir de forma
más compacta los diseños en
VHDL.
Ellos representan un arreglo
de bits y se utilizan con
dispositivos multiterminales.
Descripción Estructural o lógica
Ej:       Realizar     la
descripción VHDL de
tipo estructural de un
decodificador de 2
entradas y 4 salidas,
activadas con el nivel
bajo, y una entrada
de          habilitación,
también activa en el
nivel bajo.
Descripción Estructural o lógica
Lo primero es realizar la        architecture decod_a of decod2x4 is
declaración de la entidad. La    -- declaración de señales
declaración de la arquitectura   signal AN(1),AN(0), EN: bit;
del decodificador, en su
                                 -- declaración de componentes
primera parte, corresponde a
la    declaración     de   los   component INV
                                         port (I: in bit;
diferentes       tipos      de                O: out bit);
componentes. Se usan dos         end component;
tipos de componentes: INV,       component NAND3
un inversor y NAND3, una                 port (I1, I2, I3: in bit;
compuerta     NAND      de   3                         O: out bit);
                                 end component;
entradas.
Descripción Estructural o lógica
                             begin
                             --instanciación de componentes
En el cuerpo de la           U1: INV port map (A(0),AN(0));
arquitectura se observa la   U2: INV port map (A(1),AN(1));
instanciación de los 7       U3: INV port map (NEN,EN);
componentes, los cuales      U4: NAND3 port map (EN, AN(1), AN(0), NY(0));
son conectados usando la     U5: NAND3 port map (EN, AN(1), A(0), NY(1));
cláusula port map con        U6: NAND3 port map (EN, A(1), AN(0), NY(2));
asociación implícita.        U7: NAND3 port map (EN, A(1), A(0), NY(3));
                             end decod_a;
Descripción por flujo de datos
 o RTL
En la descripción por flujo de datos, la
arquitectura describe como fluyen las
señales de entrada por el circuito hacia
los terminales de salida.
Este estilo de escritura de la
arquitectura es llamada descripción de
transferencia de registros RTL (Register
Transfer Language).
Descripción por flujo de datos
    o RTL
                                  Ejemplo: La arquitectura por descripción
En la aproximación por flujo de   de flujo de datos de una compuerta XOR
                                  de dos entradas es:
datos se utilizan declaraciones
                                  architecture XOR2 of XOR is
de asignación de señales, así
                                  begin
como operadores lógicos que
                                  --asignación de señales
no se emplean en el estilo de
                                  Y <= (not A and B) or (A and not B);
escritura estructural.            end XOR2;
Los operadores lógicos que        A
tiene el VHDL en sus librerías    B
                                                                         Y
son: not, and, or, nand, nor,
xor y xnor.
Descripción por flujo de datos
     o RTL
La forma de descripción de la
arquitectura        mediante     la   Ejemplo: La existencia del operador XOR
aproximación por flujo de datos       compacta extraordinariamente el cuerpo
simplifica los diseños VHDL, pues     de la arquitectura de la entity XOR
los hace más compactos.               Architecture XOR3 of XOR is
Después de la palabra clave begin     Begin
se produce la asignación del flujo    - asignación de señales
de datos de las señales del
miembro de la derecha hacia la        Y < = A xor B;
señal Y, del miembro de la            End XOR3
izquierda (salida).
El miembro de la derecha del
operador de asignación <= se le
conoce como expresión, cuyo valor
se obtiene evaluándola completa.
Descripción por flujo de datos
   o RTL
El   VHDL,     como    otros   Lógicos: AND, OR, XOR, NOT, NAND,
lenguajes de programación               NOR y XNOR
posee un conjunto de           Aritméticos: +, -, * (multiplicación solo
operadores que se usan con                           por 2)

las señales o con las          De relación: =, /=, <, >, <=, >=
variables declaradas en sus    De concatenación: &
diseños.
Descripción por flujo de datos
     o RTL
La tabla presentada a          Operadores       Definidos para los tipos
continuación      contiene
una clasificación de los
operadores definidos en                       Bit, Boolean, Bit_vector,
el lenguaje VHDL, así            Lógicos:     std_logic y std_logic_vector
como los tipos de datos
sobre los que se pueden        De relación:   Integer, Bit, y Bit_vector
operar los mismos.             Aritméticos:   Integer
Los operadores lógicos
han sido extendidos al       Concatenación: Bit, Bit_vector y para las
                                            cadenas
uso en cualquier tipo de
señal lógica, ya sea
bit_vector, std_logic, o
std_logic_vector.
Descripción por flujo de datos
   o RTL
Cuando los operadores lógicos
se usan con los tipos de
señales std_logic o bit, ellos
poseen su significado usual.        Un ejemplo de operaciones lógicas con el
                                    tipo de datos vector es el siguiente:
Los valores '0' y '1' son valores
                                    ’’01100101’’xor’’10101101’’=’’11001000’’
constantes y deben estar
encerrados entre apóstrofes.
Cuando el tipo de señal usada
es declarada std_logic_vector
o bit_vector, entonces los
valores deben estar encerrados
entre comillas.
Descripción por flujo de datos
    o RTL
                                   Ejemplo: Sean las siguientes
Existe un operador interno del     declaraciones:
VHDL, que es el signo & y que
                                   Signal a: bit_vector(1 to 4);
realiza la concatenación de
señales o variables de distinta    Signal b: bit_vector(1 to 8);
“longitud”.                        b<=’’0000’’&a;

En el ejemplo para concatenar la señal a, a la mitad de la
derecha del vector b y no tener incongruencias en los
resultados con vectores se realizan las asignaciones
siguientes. El símbolo & añade el vector a (de 4 bits) al
final de una secuencia de 4 ceros “0000” para realizar
exitosamente la asignación al vector b, que fue declarado
como un vector de 8 bits.
Descripción por flujo de datos
      o RTL
En el cuerpo de la arquitectura de un     -- asignación de señales
diseño VHDL por RTL se usan,              Nombre de la señal<=expresion;
sentencias concurrentes de asignación
                                          -- asignación condicional de señales
de señales, cuyo formato se presenta
                                          Nombre de la señal<=expresión
a continuación.                           when expresión booleana else
En una descripción RTL, el valor de la    Nombre de la señal<=expresión
expresión del miembro de la derecha       when expresión booleana else
de la asignación de señales ( < = ), se   …
lo transfiere al nombre de la señal del   Nombre de la señal<=expresión
miembro de la izquierda.                  when expresión booleana else
                                          Expresión;
Ambos miembros deben ser del
mismo tipo, para que no existan
incompatibilidades.
Descripción por flujo de datos
         o RTL
Ejemplo 8:
                                          Entity comp is
   Realice una descripción en VHDL de        Port ( a, b: in bit_vector ( 3 dow nto 0) ;
   la arquitectura de un comparador                    E: out bit) ;
   de dos entradas, a y b, de 4 bits      End comp;
   cada una y una salida E de 1 bit.
                                          Architecture comparador_1 of comp is
   En esta arquitectura se describe
   cómo los datos se mueven desde         Begin
   los terminales de entrada, de señal    --asignación de señales
   en señal, hasta la salida.
                                          E< = not( a( 0) xorb( 0) )
   Se necesita del conocimiento del           and not( a( 1) xorb( 1) )
   circuito lógico del comparador, del        and not( a( 2) xorb( 2) )
   cual obtener la función E de salida:       and not( a( 3) xorb( 3) )
                                          end comparador_1;
  E=(a0 b0)(a1 b1)(a2 b2)(a3 b3)
Descripción por flujo de datos
      o RTL
                                     Library ieee;
Ejemplo 8:                                     Use ieee.std_logic_1164.all;
   Realice una descripción en
   VHDL de la arquitectura de        Entity comp is
   un comparador de dos                 Port ( a, b: in bit_vector( 3 dow nto 0) ;
   entradas, a y b, de 4 bits                     E: out bit) ;
   cada una y una salida E de 1      End comp;
   bit.
                                     Architecture comparador_2 of comp is
   Otra solución más compacta        Begin
   se puede construir usando la      --asignación de señales
   estructura when – else. Esta
   solución no necesita del          E< = ‘1’ w hen ( a= b) else ‘0’;
   conocimiento    del    circuito
   lógico del comparador.            end comparador_2;
Descripción por flujo de datos
   o RTL
En VHDL, cuando una señal cambia de valor se dice que
se ha producido un evento. La existencia de eventos da
lugar a otro evento (cambio de valores en las expresiones
en los miembros de la derecha de los operadores de
asignación). De esta manera se actualizan los valores de
las señales.
En el ejemplo anterior, un cambio en las entradas a o b,
o en ambas provocará un cambio en la expresión. Este
cambio es asignado a la señal de salida E, actualizando
su valor.
E <= '1' when (a=b) else '0';
Descripción por flujo de datos
       o RTL
Otro tipo de sentencia de asignación
concurrente usada en la descripción
por flujo de datos es la asignación     --asignación de señal seleccionada
de señal seleccionada, cuya sintaxis
se expresa a continuación. Este tipo    with expresión select
de declaración de asignación utiliza
la estructura with – select – when      señal <= valor1 de la señal when alternativa 1,
En esta estructura se evalúa la                  valor2 de la señal when alternativa 2,
expresión que acompaña a la                                     ...
declaración with y cuando el valor               valorn de la señal when alternativa n;
coincide con una de las alternativas
señaladas después de la palabra
clave when, entonces el valor
correspondiente a esta alternativa se
lo asigna al nombre de la señal.
Descripción por flujo de datos
   o RTL
Las alternativas contenidas      Valor de la señal when alternativa1 |
después de la palabra clave
when pueden ser varias o una     alternativa2 | alternativa3 | …..
sola.     Si son varias, las     | alternativaN,
alternativas deben ser todas
                                 Las barras verticales (| ) tienen el
distintas y cubrir todos los
                                 mismo significado que la operación OR
posibles valores de éstas.
Cuando el valor de la señal
para varias alternativas es el
mismo,         pueden      ser
expresadas como una lista de
valores separados por barras
verticales ( | )
Descripción por flujo de datos
    o RTL
Cuando no se cubren todos
los posibles valores de las     --asignación de señal seleccionada
alternativas, se debe usar la
                                with expresión select
palabra clave de VHDL
others, con el último when      señal <= valor1 de la señal when alternativa 1,
                                         valor2 de la señal when alternativa 2,
en este tipo de asignación                              ...
de señales.                              valorn de la señal when others;

Este tipo de declaración de
asignación       utiliza   la
estructura with – select –
when others
Descripción por flujo de datos
     o RTL
Ejemplo 9:                      Entity circuito is

   Escriba en VHDL una              port (m: in integer range (31 downto 0);

   descripción de la                        T: out std_logic);

   siguiente función:           End circuito;
                                Architecture RTL of circuito is
T(x,y,z,u,v) =
    (0,4,18,19,22,23,25,29) +   Begin
       (14,16,20,24)            -- asignación de señal seleccionada
                                With m select
                                T <= ‘1’ when 0 | 4 | 18 | 19 | 22 | 23 | 25 | 29,
                                        ‘-’ when 14 | 16 | 20 | 24, -- opcionales
                                        ‘0’ when others;
                                end RTL;
Descripción por flujo de datos
      o RTL
Ejemplo 10:                          entity detector is
                                          port (N: in integer range (15 downto 0);
   Escriba     en    VHDL       la              P: out std_logic);
                                     end detector;
   descripción de un circuito
   combinacional, el cual recibe     architecture num_par of detector is
                                     Begin
   en sus entradas los dígitos del   -- asignación de señal seleccionada
   sistema decimal codificados       with N select
                                     P <= ‘1’ when 0 | 2 | 4 | 6 | 8,
   en NBCD y tiene una salida P,            ‘0’ when 1 | 3 | 5 | 7 | 9,
   que va a ‘1’ cuando se detecta           ‘-’ when others; -- opcionales
                                     end num_par;
   en sus entradas un dígito par.
Descripción por flujo de datos
     o RTL
Ejemplo 11:
  Realizar la descripción por
  flujo de datos de un MUX
  4 a 1.
Descripción por flujo de datos
  o RTL
                           architecture MUX1 of MUX is

                           signal x: bit_vector(3 downto 0);

                           Begin
                           --asignación de señales

                           X(3)   <=   S(1) and S(0) and D(3);
                           X(2)   <=   S(1) and not S(0) and D(2);
                           X(1)   <=   not S(1) and S(0) and D(1);
                           X(0)   <=   not S(1) and not S(0) and D(0);

                           F <= x(3) or x(2) or x(1) or x(0);

                           end MUX1;

La arquitectura basada en flujo de datos utilizando
operadores lógicos necesita del circuito final de este MUX
Descripción por flujo de datos
        o RTL
Ejemplo 12: Otra solución usando        architecture mux2 of mux is
   with – select.
   Como      se     observa,     esta   begin
   descripción de la arquitectura
                                        -- asignación de señal seleccionada
   es más simple que la anterior y
   no necesita del conocimiento         with S select
   de la lógica interna del circuito.        F <= D(0) when “00”,
                                                   D(1) when “01”,
                                                   D(2) when “10”,
                                                   D(3) when “11”;
                                        end mux2
Descripción por flujo de datos
 o RTL
Ejemplo 13: Diseñe un
buffer con tercer estado
cuyo circuito se           --file: ejemplo13.vhd
muestra.                   library ieee;
                           use ieee.std_logic_1164.all;

                           entity ejemplo13 is
                                port (EN_L, A: in std_logic;
                                           Y : out std_logic);
                           end ejemplo13;

                           architecture buffer of ejemplo13 is
                           begin
                           Y <= A when EN_L = ‘1’ else ‘Z’;
                           end buffer;
Descripción por flujo de datos
    o RTL
Ejemplo 14: Diseñe un        --file: ejemplo14.vhd
                             library ieee;
circuito que multiplique     use ieee.std_logic_1164.all;
dos     números    enteros   use ieee.std_logic_unsigned.all;
positivos de dos bits cada   entity ejemplo14 is
uno. Debe tener además            port (EN_L: in bit;
una entrada habilitadora                A, B: in std_logic_vector(1 downto 0);
                                        P: out std_logic_vector(3 downto 0));
EN_L activa en nivel bajo,   end ejemplo14;
tal que la salida esté en
                             architecture producto of ejemplo14 is
un tercer estado de alta     begin
impedancia si EN_L = H       with EN_L select
                                  P <= A*B       when ‘1’,
                                        ’’ZZZZ’’ when ‘0’;
                             end producto;
Descripción por flujo de datos
o RTL
 Ejemplo               15:    library ieee;
                              use ieee.std_logic_1164.all;
 Empaquetar el diseño
 del buffer con tercer        PACKAGE bufferPCK is
 estado cuyo circuito se      component ejemplo13
                              port( EN_L, A: in std_logic;
 muestra en la figura.
                                     Y: out std_logic);
                              end component;
                              end bufferPCK;


                             File: bufferPCK.vhd
Sentencias Concurrentes

I ntroducción
   Las sentencias concurrentes son aquellas que se
  ejecutan simultáneamente en la simulación. Se utilizan
  para el modelado del hardware, deben formar parte
  siempre del cuerpo de arquitecturas o de bloques y son
  las siguientes:
  Procesos
  Asignaciones concurrentes a señal
  Llamadas concurrentes o procedimientos
  Instanciaciones de componentes
Sentencia w hen - else
Permite realizar asignaciones condicionales de valores, expresiones u
objetos o señales. Su sintaxis de declaración es:

[etiqueta:] señal <= valor_1 w hen condición_1 else
                     valor_2 [w hen condición_2] [else
                     …                        ] [else
                     valor_n w hen condición_n] [else unaffected];

La señal recibe una asignación u otra (valor_1…valor_n) en función de
las condiciones que aparecen tras w hen. Para la opción de no
asignación puede (no cambio en la función) utilizarse la keyword
unaffected
Ejemplo de sentencia w hen - else
Modelo de un sumador de un bit con retención de la suma
entity SUMADOR is:
   port(A, B: in bit; ENABLE: in bit ;
        SUMA: out bit_vector (1 downto 0));
end SUMADOR;
architecture CON_WHEN of SUMADOR is
begin
   SUMA <=      “00”w hen (A=‘0’ and B= ‘0’ and ENABLE = ‘1’) else
                “01”w hen (A=‘1’ and B= ‘0’ and ENABLE = ‘1’) else
                “01”w hen (A=‘0’ and B= ‘1’ and ENABLE = ‘1’) else
                “10”w hen (A=‘1’ and B= ‘1’ and ENABLE = ‘1’) else
                unaffected;
end CON_WHEN
Sentencia w ith-select
Su sintaxis es la siguiente:

[etiqueta:] w ith expresión select
                 señal <= valor_1 w hen resultado_1[,
                          valor_2 w hen resultado_2] [,
                          ……..] [,
                          valor_n w hen resultado_n] [,
                          unaffected w hen others];

El valor asignado depende de la evaluación de la expresión que aparece
entre las palabras reservadas with y select. El resultado se compara con
los valores tras when y se ejecuta la asignación que resulta verdadera.
Ejemplo de sentencia w ith-select
El sumador anterior puede ser descrito también del siguiente modo:

architecture CON_WITH_SELECT of SUMADOR is
begin
   w ith (ENABLE & A & B ) select
   SUMA <=      “00” w hen “100”,
                “01” w hen “101”,
                “01” w hen “110”,
                “10” w hen “111”,
               unaffected w hen others;
end CON_WITH_SELECT;
Sentencias Secuenciales

I ntroducción
   Las sentencias secuenciales son aquellas que
   solamente pueden aparecer dentro de procesos y
   subprogramas. Se ejecutan ordenadamente, de tal
   manera que el simulador finaliza completamente
   una sentencia antes de pasar a la siguiente.
   Todo lo contrario de lo que ocurre en las sentencias
   concurrentes en donde no importa el orden.
Sentencia w ait

Es una de las más utilizadas en el modelado de circuitos síncronos,
w ait detiene la ejecución de un proceso o un procedimiento en
espera de que se satisfaga una determinada condición. Su sintaxis es
la siguiente:

[etiqueta:] w ait [on señal_1, señal_2,…..]
                  [until condición]
                  [for expresión_temporal];

Por tanto puede haber tres tipos de argumentos de ellos, o bien
ninguno. En este último caso el proceso queda detenido hasta el final
de la simulación.
Sentencia Wait on
Wait on produce el mismo efecto que la lista de sensibilidad de un
proceso. Por ejemplo:

PROCESO_1: process(A,B)
begin
     …
end process PROCESO_1;
PROCESO_2: process
begin
     …
     w ait on A,B;
end process PROCESO_2
Case - w hen
La sentencia case-when permite seleccionar una entre varias
alternativas excluyentes entre sí de una expresión determinada, su
sintaxis general es la siguiente:

[etiqueta:] case expresión is
     w hen caso_1[ caso_2 ……] => sentencias secuenciales
     ....
end case [etiqueta];

De este modo una arquitectura alternativa para el mismo sumador
anterior podría ser como se muestra a continuación.
Ejemplo de Case-When
architecture CON_CASE of SUMADOR is
begin
   process
       variable X: bit_vector(2 downto 0);
   begin
       X<= ENABLE & A & B;
       case X is
               w hen “100”=> SUMA <=“00”;
               w hen “101”| “110” => SUMA <=“01”;
               w hen “111” => SUMA <= “10”;
               w hen others => null;
       end case;
   end process;
end CON_CASE
Bucles


Para la ejecución de bucles en VHDL se utiliza la palabra reservada
loop. Existen tres formas de definir un bucle:
- Con for-loop siempre se hace referencia a un bucle finito,
-Con w hile-loop a uno finito o infinito (depende de la condición) y
-Con simplemente loop a uno infinito

A continuación analizaremos estas tres opciones.
For - Loop

Esta sentencia causa la ejecución de un bucle un numero fijo de veces,
su sintaxis es la siguiente:

     [etiqueta:] for indice in rango loop
             sentencias secuenciales
     end loop [etiqueta];

Es necesaria las indicaciones de un índice y un rango. El índice es una
variable discreta, enumerada o entera, que no es preciso declarar y que
cambia su valor en una unidad por cada ejecución del bucle a lo largo
del rango especificado.
Ejemplo For-loop

Contar el numero de unos de una señal binaria de 32 bits.

  ….
  for I in 0 to 31 loop
       if SENAL (I)=‘1’ then NUMERO_UNOS:= NUMERO_UNOS+1;
       end if;
  end loop;
  ….
While - Loop

El siguiente tipo de bucle utiliza la palabra reservada w hile para
imponer la condición de repetición. Su sintaxis es la siguiente:

[etiqueta:] w hile condición loop
     sentencias secuenciales
end loop [etiqueta];

El bucle se repite en tanto que la condición que aparece tras while sea
verdadera.
Ejemplo While-loop

….
I:=0;
w hile (I>32) loop
     if SEÑAL (I)=‘1’ then NUMERO_UNOS:= NUMERO_UNOS+1;
     end if
     I:= I+1;
end loop;
....
Ahora si se nesecita declarar una variable (I) para poder establecer la
condición del bucle, no resulta ventajosa con respecto a for loop.
Loop


Ejecuta un bucle infinito y su sintaxis es así:



   [etiqueta:] loop
        sentencias secuenciales
   end loop [etiqueta];
Capítulo 4:
Familias Lógicas TTL y CMOS

        Ing. S. Ríos
       FIEC - ESPOL
Clasificación de los Circuitos integrados

                                            Circuitos Integrados

                          Digitales                                Lineales

            Monolíticos                         Híbridos

Bipolares                      Unipolares

   RTL
                                  P-MOS
   DTL
                                  N-MOS
   TTL
                                  CMOS
   ECL
   IIL
Operación circuital de una
puerta básica TTL estandar
                     Nand 7400
                     Q1 con Emisor múltiple.
                     Q3 y Q4 poste totémico.
                     Q2 seguidor de Q4.

                 C      Q2      Q3      Q4
                 L      sat    corte    sat
                 H     corte    sat    corte
Diodos Fijadores de Entradas(Input
Clamping Diodes)
  Los diodos actúan como “fijadores de nivel” de entrada para suprimir la
  oscilación parásita que resulta de las rápidas transiciones de voltaje que se
  producen en los sistemas TTL.
  Por ejemplo, consideremos que el voltaje de salida de una puerta TTL cambie
  de uno lógico a cero lógico. El conductor que conecta esta puerta con la otra
  conduce esta señal. Si el conductor que actúa como una línea de transmisión no
  esta terminado correctamente resulta una oscilación parásita (“ringing”).




 Vout                                               Vin

                    t                                                         t
Los diodos de entrada fijan el impulso negativo en aproximadamente -0.75v y
 absorben una cantidad suficiente de energía de la señal aplicada para evitar un
 gran sobreimpulso positivo que podría poner nuevamente en conducción a la
 puerta.




Vout                                              Vin

                   t                                                         t
Características de la Serie Estándar TTL
(54/74…)
La más importante ayuda para entender hojas de especificaciones de CI es
conocer todos lo términos y símbolos usados.
   La columna nominal nos indica los mejores valores para el voltaje de fuente de
   poder y temperatura de operación.
   Las columnas Min y Max determinan el rango de variación recomendado.
   Cuando estas condiciones no son respetadas, el dispositivo puede operar
   erradamente.
   VIH o Vin(1) .-Voltaje de entrada de nivel alto. Si cualquiera entrada o ambas
   tienen aplicado el voltaje igual o mayor que 2v.
   VIL o Vin(0) .-Voltaje de entrada de nivel bajo. Cualquier voltaje aplicado a la
   entrada menor o igual que 0.8v.
   IOH o Iout(1) .-Corriente de salida de nivel alto. No debe ser mayor que -0.4mA.
Datos del fabricante
 IOL o Iout(0) .-Corriente de salida de nivel bajo. No debe ser mayor que 16mA.
 VOH o Vout(1) .-Voltaje de salida de nivel alto. Cuando el voltaje de salida es
 mayor o igual a 2.4v.
 VOL o Vout(0) .-Voltaje de salida de nivel bajo. Cuando el voltaje de salida es
 menor o igual a 0.4v.
 IIH o Iin(1) .-Corriente de entrada de nivel alto. Cuando la entrada tiene el nivel de
 voltaje Alto max corriente que circula en la entrada es 40uA.
 IIL o Iin(0) .-Corriente de entrada de nivel bajo. La max corriente que puede
 circular en la entrada es -1.6mA.
 ICCH o ICC(1) .-Corriente de fuente de poder para salidas Altas.
 ICCL o ICC(0) .- Corriente de fuente de poder para salidas Bajas.
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales
Sistemas digitales

Más contenido relacionado

La actualidad más candente

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yEvelyn Ruiz
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasCarlos Gascón
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Sumador de 4 bits
Sumador de 4 bitsSumador de 4 bits
Sumador de 4 bitsAbril Bello
 
Ejercicios de suma y resta binaria
Ejercicios de suma y resta binariaEjercicios de suma y resta binaria
Ejercicios de suma y resta binariaTere Suarez
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalCarlos Cardelo
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaEdgar Rivera
 
Ejercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_daEjercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_daCesar Gil Arrieta
 
Ejercicios de decimal a octal
Ejercicios de decimal a octalEjercicios de decimal a octal
Ejercicios de decimal a octalcarmita88
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Sistema de numeración
Sistema de numeraciónSistema de numeración
Sistema de numeraciónlaura1352
 

La actualidad más candente (20)

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal y
 
Practica 1
Practica 1Practica 1
Practica 1
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicas
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Sumador de 4 bits
Sumador de 4 bitsSumador de 4 bits
Sumador de 4 bits
 
Ejercicios de suma y resta binaria
Ejercicios de suma y resta binariaEjercicios de suma y resta binaria
Ejercicios de suma y resta binaria
 
Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digital
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logica
 
Ejercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_daEjercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_da
 
Ejercicios de decimal a octal
Ejercicios de decimal a octalEjercicios de decimal a octal
Ejercicios de decimal a octal
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Transistor bjt y polarizacion
Transistor bjt y polarizacionTransistor bjt y polarizacion
Transistor bjt y polarizacion
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Señales analogicas
Señales analogicasSeñales analogicas
Señales analogicas
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Complemento A Dos
Complemento A DosComplemento A Dos
Complemento A Dos
 
Sistema de numeración
Sistema de numeraciónSistema de numeración
Sistema de numeración
 

Destacado

Electronica digital unidad 1
Electronica digital unidad 1Electronica digital unidad 1
Electronica digital unidad 1Eram Stefano
 
Tema 1 sistemas operativos
Tema 1 sistemas operativosTema 1 sistemas operativos
Tema 1 sistemas operativosquirul9995
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blogPEDRO VAL MAR
 
Sistemas digitales principios y aplicaciones ronald tocci - 5º edición
Sistemas digitales principios y aplicaciones   ronald tocci - 5º ediciónSistemas digitales principios y aplicaciones   ronald tocci - 5º edición
Sistemas digitales principios y aplicaciones ronald tocci - 5º ediciónAlex Soto
 
Presentación e introducción a la electrónica digital
Presentación e introducción a la electrónica digitalPresentación e introducción a la electrónica digital
Presentación e introducción a la electrónica digitalTeodoro Ibarra
 

Destacado (7)

Electronica digital unidad 1
Electronica digital unidad 1Electronica digital unidad 1
Electronica digital unidad 1
 
Tema 1 sistemas operativos
Tema 1 sistemas operativosTema 1 sistemas operativos
Tema 1 sistemas operativos
 
Fltros gimp
Fltros gimpFltros gimp
Fltros gimp
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blog
 
Sistemas digitales principios y aplicaciones ronald tocci - 5º edición
Sistemas digitales principios y aplicaciones   ronald tocci - 5º ediciónSistemas digitales principios y aplicaciones   ronald tocci - 5º edición
Sistemas digitales principios y aplicaciones ronald tocci - 5º edición
 
Presentación e introducción a la electrónica digital
Presentación e introducción a la electrónica digitalPresentación e introducción a la electrónica digital
Presentación e introducción a la electrónica digital
 
Grupo6 monografía
Grupo6 monografíaGrupo6 monografía
Grupo6 monografía
 

Similar a Sistemas digitales

Sistemas Digitales capitulo1
Sistemas Digitales capitulo1Sistemas Digitales capitulo1
Sistemas Digitales capitulo1Jaime Moscoso
 
Asignacion #3
Asignacion #3Asignacion #3
Asignacion #3UAM
 
Sistemas de Numeracion
Sistemas de NumeracionSistemas de Numeracion
Sistemas de Numeracionirishayde1822
 
Sistemas de numeración binaria grado 6
Sistemas de numeración binaria grado 6Sistemas de numeración binaria grado 6
Sistemas de numeración binaria grado 6Ramiro Muñoz
 
Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binariosgluiss
 
Representación de la información
Representación de la informaciónRepresentación de la información
Representación de la informaciónElisleila González
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalLuisICM
 
Sistemas de numeración
Sistemas de numeraciónSistemas de numeración
Sistemas de numeraciónmanuel59
 
Ensamblador
EnsambladorEnsamblador
Ensambladorzero0174
 
LaminasCalculoNumerico.pdf
LaminasCalculoNumerico.pdfLaminasCalculoNumerico.pdf
LaminasCalculoNumerico.pdfjose264879
 
Repaso de Sistemas Numéricos y Códigos
Repaso de Sistemas Numéricos y CódigosRepaso de Sistemas Numéricos y Códigos
Repaso de Sistemas Numéricos y CódigosMario Bressano
 

Similar a Sistemas digitales (20)

Sistemas Digitales capitulo1
Sistemas Digitales capitulo1Sistemas Digitales capitulo1
Sistemas Digitales capitulo1
 
Sd1
Sd1Sd1
Sd1
 
Capitulo I Sistemas Númericos
Capitulo I  Sistemas NúmericosCapitulo I  Sistemas Númericos
Capitulo I Sistemas Númericos
 
Sistemas Numéricos y Códigos Digitales
Sistemas Numéricos y Códigos DigitalesSistemas Numéricos y Códigos Digitales
Sistemas Numéricos y Códigos Digitales
 
1.0 numeración
1.0 numeración1.0 numeración
1.0 numeración
 
Asignacion #3
Asignacion #3Asignacion #3
Asignacion #3
 
Guía de Sistemas numericos
Guía de Sistemas numericosGuía de Sistemas numericos
Guía de Sistemas numericos
 
Sistemas de Numeracion
Sistemas de NumeracionSistemas de Numeracion
Sistemas de Numeracion
 
Sistemas de numeración binaria grado 6
Sistemas de numeración binaria grado 6Sistemas de numeración binaria grado 6
Sistemas de numeración binaria grado 6
 
Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binarios
 
Representación de la información
Representación de la informaciónRepresentación de la información
Representación de la información
 
Sistemas Numericos
Sistemas NumericosSistemas Numericos
Sistemas Numericos
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimal
 
Sistemas de numeración
Sistemas de numeraciónSistemas de numeración
Sistemas de numeración
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Semana I Clase 2
Semana I Clase 2Semana I Clase 2
Semana I Clase 2
 
Semana I Clase 2
Semana I Clase 2Semana I Clase 2
Semana I Clase 2
 
LaminasCalculoNumerico.pdf
LaminasCalculoNumerico.pdfLaminasCalculoNumerico.pdf
LaminasCalculoNumerico.pdf
 
Sistemas de Numeración decimal y binaria
Sistemas de Numeración decimal y binariaSistemas de Numeración decimal y binaria
Sistemas de Numeración decimal y binaria
 
Repaso de Sistemas Numéricos y Códigos
Repaso de Sistemas Numéricos y CódigosRepaso de Sistemas Numéricos y Códigos
Repaso de Sistemas Numéricos y Códigos
 

Último

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 

Último (20)

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 

Sistemas digitales

  • 1. Capítulo 1: Sistemas Numéricos y Códigos. SISTEMAS DIGITALES I 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 2. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Representaciones analógicas: Las cantidades análogas pueden variar gradualmente sobre un intervalo continuo de valores. Representaciones digitales: Las cantidades varían en etapas discretas a o largo del tiempo. Señal Digital Señal Análogica Sistema Digital: Un sistema digital es una combinación de dispositivos, diseñada para manipular cantidades físicas o información que estén representados en forma digital. Sistema Analógico: Un sistema analógico contiene dispositivos que manipulan cantidades físicas representadas en forma analógica. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 3. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Ventajas de las técnicas digitales Mas fácil de diseñar (V,I,P,Vmax , Vmin, vs Fanout, Vmax). Facilidad de almacenar información (memorias vs relés) Control de precisión y exactitud (control de bits en la conversión ) Programación de la operación (en memorias) El ruido afecta en forma mínima. Alto grado de integración (Corta, Mediana ---> Larga SI) 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 4. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Limites en las Técnicas Digitales “El mundo real es analógico” Convertidores Digitales Analógicos (DAC) y Analógicos a Digitales (ADC) Convertir las entradas analógicas “del mundo real” a la forma digital. Procesar la información digital. Convertir las salidas digitales a la forma analógica “del mundo real” 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 5. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Sistemas de Numeración Un sistema de numeración es un conjunto ordenado de símbolos llamados dígitos con leyes definidas para la suma, resta, multiplicación. (N)r= (parte entera . parte fraccionaria) Octal Punto base Binario N= número Decimal r= base del sistema Los números se representan en cualquier sistema de numeración de 2 formas: Notación Posicional y Notación Polinomial. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 6. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Notación Posicional: Implica la colocación de dígitos a ambos lados del punto base, por ende sus posiciones no se pueden alterar. ( N) r= ( a n-1 a n-2 a n- 3 …a i…a 1 a 0 . a -1 a -2 …a -f …a -m ) r base Parte entera Parte fraccionaria Punto base r= base del sistema m= número de dígitos en la parte fraccionaria a= los dígitos del set an-1= dígito más significativo n= número de dígitos en la parte entera a-m = dígito menos significativo Ej.: (1531.75)10 Ej.: (5131.75)10 no son lo mismo 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 7. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Base del Sistema: Número de dígitos que tiene el sistema. Sistema Decimal: 10 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Sistema Binario: 2 dígitos: 0, 1 Sistema Octal: 8 dígitos: 0, 1, 2, 3, 4, 5, 6, 7 Sistema Hexadecimal: 16 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Ej.: Sistema Binario: (110011. 1101)2 Sistema Octal: (1437. 64)8 Sistema Hexadecimal: (AF10. B04)16 Sistema Decimal: (1531. 46)10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 8. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Decimal Binario Octal Hexadecimal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 9. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Notación Polinomial: Se expresa como una sumatoria de los dígitos multiplicada por un factor que es la base elevada a un exponente. n-1 (N)r= aj rj J=-m = an-1rn-1 + an-2rn-2 + … + a1r1 + a0r0+ a-1r-1 + a-2r-2 + …+ a-mr -m Ej.: (1748.75)10 = 1x103 + 7x102 + 4x101 + 8x100 + 7x10-1 + 5x10-2 n= 4 y m = 2 (1011.101) 2 = 1x1011 + 0x1010 + 1x101 + 1x100 + 1x10-1 + 0x10-10 + 1x10-11 n=4ym=3 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 10. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Método de Conversión de Base por Sustitución: Sirve para convertir de cualquier base a decimal. Se usa la notación polinomial. Binario a Decimal: Ej.: (1011.101)2 = 1x23 + 0x22+ 1x21+ 1x20 + 1x2-1 + 0x2-2 + 1x2-3 = 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = (11.625)10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 11. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Octal a Decimal Ej.: (150.1)8 = 1x82 + 5x81 + 0x80 + 1x8-1 n=3 = 64 + 40 + 0 + 0.125 m=1 = (104.125)10 Hexadecimal a Decimal (10x160) Ej.: (32A)16 = 3x162 + 2x161 + A x 160 = 768 + 32 +10 = (810)10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 12. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Método de Conversión de Base por Multiplicación y División para la Base Utilizado para convertir de decimal a cualquier otra base (N)10= (E10 . F10) Por separado la parte entera de la fraccionaria. De Decimal a Binaria La parte entera la dividimos sucesivamente para 2 hasta cuando el cociente sea igual a 0 . Ej.: (19.75)10 ()2 19 2 LSD -1- 9 2 (19)10 = (10011. )2 -1- 4 2 -0- 2 2 -0- 1 2 -1- 0 Cociente = 0 fin de la conversión 22/10/2008 Sistemas Digitales I - Ing. S. Ríos MSD
  • 13. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL De Decimal a Octal La parte entera la dividimos para 8 sucesivamente hasta cuando el cociente sea igual a 0 Ej.: (19.75)10 ()8 19 8 (19)10 = (23)8 LSD -3- 2 8 -2- 0 Cociente = 0 MSD De Decimal a Hexadecimal Dividimos para 16 la parte entera Ej.: (423)10 ()16 423 16 LSD -7- 26 16 (423)10 = (1A7)16 -10- 1 16 -1- 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos MSD
  • 14. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL La parte fraccionaria se la trabaja multiplicando por la base a la cual queremos llegar. Puede darse conversión exacta e inexacta. Si es inexacta: racionales – periódicos = 0 exacta Cj 0 inexacta Cj es el último valor fraccionario De Decimal a Binario: Multiplicamos por 2 Ej.: (0.75)10 = (0.11)2 MSD 0.75x2 = 1 +0.5 LSD 0.5x2 = 1+ 0 Cj=0 EXACTA 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 15. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL De Decimal a Octal: Multiplicamos por 8 Ej.: (0.75)10 = (0.6)8 0.75x8 = 6 + 0.0 Cj =0 EXACTA De Decimal a Hexadecimal: Multiplicamos por 16 Ej.: (19.75)10 = (13.C)16 19 16 0.75x16 = 12 + 0 -3- 1 16 =C+0 EXACTA -1- 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 16. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Caso: De Binario a Octal: de 3 en 3 porque el mayor dígito octal = 7 se puede escribir con 3 dígitos binarios (7)8 = (111)2 Ej.: ( 100 111 010 .)2 (472)8 4 7 2 Caso: De Binario a Hexadecimal: de 4 en 4 porque el mayor dígito hexadecimal = 15 se puede escribir con 4 dígitos binarios (F)16 = (1111)2 Ej.: 00(11 1010 0110. )2 (3A6)16 3 A 6 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 17. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Caso: (N)7 (N)6: Aplico sustitución y luego multiplicación y división para la base. Ej.: (B2F)16 ( )8 (1011 0010 1111.)2 ( 101 100 101 111.)2 (5457)8 5 4 5 7 Ej.: (4310.3)5 ( )8 (4310.3)5 = 4x53 + 3x52 + 1x51 + 0x50 + 3x5-1 = 500 + 75 +5 + 0.6 = (580.6)10 MSD 0.6x8 = 4+ 0.8 580 8 0.8x8 = 6 + 0.4 (1104.4631…)8 -4- 72 8 0.4x8 = 3 + 0.2 -0- 9 8 0.2x8 = 1 + 0.6 - 1- 1 8 0.6x8 = 4 + 0.8 -1- 0 LSD Inexacta Periódica 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 18. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Operaciones Aritméticas Suma De números Decimales De números Binarios 1111 1 acarreo 1111 11 acarreo Ej.: 2954.764 Ej.: 10111.1011 + 3875.643 10110.1110 0 6830.407 1 01110.1001 acarreo final acarreo final De números Octales De números Hexadecimales 111 1 Ej.: 134.76 Ej.: F 0 1 . A + 257.34 +13C.1 0 414.32 103D.B acarreo final acarreo final 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 19. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Resta Se realiza de 2 formas diferentes: -Tradicional - Por complementos Ej.: 1958.03 Minuendo Si préstamo final = 0 => Resultado positivo - 1767.96 Sustraendo Si préstamo final = 1 => Recomplementamos 0 0190.07 (Negativo) Repuesta + Préstamo final Ej.: 1011.11 Minuendo - 1001.01 Sustraendo 0 0010.10 Repuesta + Préstamo final 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 20. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Complemento Tenemos 2 tipos: - Complemento a la base - Complemento a la base -1 Complemento a la Base (Complemento a la r): ( N) r,c = r n – ( N) r (Complemento a r de un número N en una base r) r: base n: número de dígitos de la parte entera de N Decimal: Ej.: ( 1958.03)10 ( 1958.03)10,c = 104 -1958.03 r = 10 n = 4 = 8041.97 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 21. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Binario: Ej.: (10001.11)2 (10001.11)2,c = 25 - 10001.11 = 32 -10001.11 = 100000- 10001.11 r=2 n=5 = 01110.01 Regla en Binario De derecha a izquierda escribo igual los números binarios hasta que encuentro al 1er “1” lo escribo igual y los demás números los invierto. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 22. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Complemento a la Base -1 (Complemento a la r-1): ( N) r-1,c = r n – r -m - ( N) r Decimal: Ej.: ( 1958.03)10 (1958.03)9,c = 104 - 10-2 - 1958.03 n =4 r =10 m=2 = 8041.96 Regla: Para cada dígito se coloca un número que sumado de 9. Binario: Ej.: (10001.11)2 (10001.11)1,c = 25 - 2-2 – 10001.11 n =5 r =2 m =2 = 100000 – 0.01 – 10001.11 = 01110.00 Regla: Para cada dígito se coloca un número que sumado de “1” 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 23. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Resta de Números por complemento a r (a la base) Cuando restamos números sin signo por complemento a la base si el resultado nos da acarreo = “1”, a este 1 se lo ignora y los restantes dígitos son la respuesta con signo +. Por otro lado si la respuesta da acarreo = 0 el resultado es negativo y deberá recomplementarse. La única diferencia con el complemento a r- 1, es que es valor del acarreo los sumamos al dígito menos significativo. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 24. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Decimales Complemento a 10 Ej.: 1958.03 Minuendo Se la realiza sacando el complemento al - 1767.96 Sustraendo sustraendo y sumando ese valor al minuendo => 1958.03 + 8232.04 (1767.96)10,c = 104 – 1767.96 = 8232.04 1 0190.07 acarreo Final = 1 => Respuesta = + (0190.07)10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 25. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Decimales Complemento a 10 Ej.: 1767.96 Minuendo - 1958.03 Sustraendo 1767.96 + 8041.97 (1958.03)10,c = 104 – 1958.03 = 8041.97 0 9809.93 acarreo Final = 0 => Respuesta = - y recomplementada (9809.93)10,c = 104 – 9809.93 = 0190.07 Respuesta = - (0190.07)10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 26. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Binarios por Complementos a 2 Ej.: 100111.01 Minuendo - 100100.11 Sustraendo 100111.01 + 011011.01 1 000010.10 acarreo Final = 1 => R = + (000010.10) Ej.: 10001.11 - 10111.10 10001.11 + 01000.10 0 11010.01 Recomplementar R= - (00101.11)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 27. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Resta de Números por Complemento a r-1 (a la base -1) Decimales: Complemento a 9: El complemento sale colocando un número que sumando sea = 9 Ej.: 1767.96 Minuendo 1767.96 - 1958.03 Sustraendo + 8041.96 0 9809.92 acarreo final = 0 => Recomplemento Respuesta = - 0190.07 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 28. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Producto: Ej.: 0101 = 5 x 1101 = 13 0101 0000 0101 0101 1000001 = 65 Números con signo 0 + Convención 1 - 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 29. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Sobrecarga Cuando un resultado se va fuera del rango. El rango en binario se define como: -2n + 1 (N)10 2n – 1 Ej.: n = 7 => -27 + 1 (N)10 27 – 1 - 127 (N)10 127 Para sobrecarga en binario nos fijamos en el acarreo final y el acarreo sobre el dígito del signo. Si los 2 acarreos son iguales => no hay sobrecarga y analizo el resultado tanto en signo como en magnitud. Si ambos acarreos son diferentes => sobrecarga => añada una columna más => expando con 0 para que siga siendo + 1 para que siga siendo - 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 30. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Suma con Signos En las sumas con signo se trabaja con la columna del signo normalmente y se procede a la suma binaria. Para analizar el resultado primero nos fijamos si hay o no sobrecarga. Si no hay sobrecarga observamos el bit del signo en la respuesta. Si el bit es 0 => la respuesta es positiva y es la encontrada. Si el bit del signo es 1 => la respuesta es negativa y debe recomplementarse. Ej.: (+6)10 + (+10)10 = +(16)10 111 0111 (+6)10 = 0110 00110 000110 No hay (+10)10 = 01010 + 01010 + 001010 Sobrecarga (+16)10 = 010000 0 10000 0 010000 Sobrecarga = expando bit signo R= +(10000)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 31. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Ej.: (+6)10 + (-10)10 = -(4)10 (-10)10 = 10110 011 00110 + 10110 0 11100 bit del signo R = -(0100)2 No hay sobrecarga Ej.: Realice la siguiente suma. Las cantidades indicadas ya contienen el signo. 11111 1 011111 1 01110101 001110101 + 01011101 + 001011101 0 11010010 0 011010010 Sobrecarga => expando Signo + R= +(11010010)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 32. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Restas con Signo Se realiza la resta con complemento a la base 2. Se analiza si existe sobrecarga. Si no la hay => se estudia el bit del signo y se escribe el resultado. Si hay sobrecarga se expande una columna. Ej.: Realice la siguiente resta de números con signo por complemento: 0 111 01010111 Minuendo 01010111 - 11011111 Sustraendo + 00100001 0 01111000 Signo + No hay sobrecarga R= + (1111000)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 33. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Ej: Realice la siguiente resta de números con signo por complemento: 0 11001001 11001001 - 01111111 + 10000001 1 01001010 Sobrecarga => expando 1 111001001 111001001 - 001111111 + 110000001 No hay 1 101001010 Sobrecarga Signo - => recomplemento R= - (10110110)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 34. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Códigos Codificar es dar un orden, es traducir una información Código: es un grupo de dígitos que representan una información. Existe códigos binario, BCD, de reflexión, etc. Código Binario: 2n = número de combinaciones n = número de dígitos del código Ej.: 23 = 8 combinaciones con 3 dígitos + - . , * 001 011 010 100 101 ¿Y si quiero codificar más de 8 símbolos distintos? 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 35. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Códigos BCD (o NBCD): Cuando cada dígito de un número decimal se representa con su equivalente binario => BCD. Ya que el mayor dígito decimal es el 9 => se utilizan 4 bits siempre. Ej.: ( 8 7 4 )10 () BCD 1000 0111 0100 (1000 0111 0100 ) NBCD Ej.: ( 0110 1000 0011 1001) BCD 6 8 3 9 (6839)10 No es lo mismo un binario que un BCD o NBCD Ej.: (137)10 = (10001001)2 8 bits = (000100110111) BCD 22/10/2008 Sistemas Digitales I - Ing. S. Ríos 12 bits
  • 36. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Código de Exceso de 3 Es un código NBCD porque la conversión se la hace para cada dígito. A cada uno de los bits se le suma 3 antes de codificarlo en binario. Ej.: (48)10 ( )xs3 4 8 +3 +3 7 11 (0111)2 (1011)2 (0111 1011)xs3 De Reflexión: se repiten ciertos dígitos y se cambia el primero 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 37. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Código de Distancia Unitaria: Ocurre cuando de uno a otro código cambia solo un bit a la vez Código Gray: Es un código de distancia unitaria De Gray a Binario: de izquierda a derecha busco el 1er “1” y lo escribo igual. Luego escribo 1´s hasta que el siguiente 1 es encontrado, en cuyo caso escribo un “0”. Entonces escribo 0´s hasta encontrar el siguiente 1 en cuyo caso escribo un “1” y así sucesivamente. Ej.: (101010)Gray (110011)2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 38. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL De Binario a Gray: Colocar un “0” al lado del MSD y comenzando por la izquierda realice EXOR entre los bits adyacentes. 2 iguales => 0 A B A+ B 2 diferentes => 1 0 0 0 0 1 1 1 0 1 1 1 0 Ej.: 0(1 1 0 0 1)2 => (10101)GRAY 10 101 Ej.: 0(1 0 1 0 1 0 0)2 => (1111110)Gray 1 1 1 1 1 10 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 39. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Códigos Alfanuméricos: ASCII(American Standar Code for Information Interchange) 7 dígitos EBCDIC (Extended Binary Coded Decimal Interchange Code) 8 dígitos Ej.: A 1000001 ASCII 7 dígitos A 1 1000001 EBCDIC 8 dígitos Extendido 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 40. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Código de Detección de Errores: Se añade un dígito más a una palabra X Y Transmisión Medio de Recepción transmisión Paridad Par: se añade un cero en caso par de unos Ej.: 01000001 A con paridad par Paridad Impar: se añade un cero en caso de que exista un número impar de unos Ej.: 11000001 A con paridad impar 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 41. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Bloque de información (con paridad par): Ej.: 1 00100 Bloques Par x Par 1 10000 ó Impar x Impar 0 01010 1 10101 1 10000 0 11011 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 42. CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEÑO DIGITAL Ej.: Realice la operación indicada (1100 0110)xs3 + ( 10 10 11 11)gray = ( )2 12 6 (11001010)2 - 3 -3 1 11 9 3 01011101 (93)10 = (1011101)2 + 11001010 1 00100111 93 2 LSD -1- 46 2 -0- 23 2 -1- 11 2 R= ( 100100111)2 -1- 5 2 -1- 2 2 -0- 1 2 -1- 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos MSD
  • 43. Capítulo 2.- Fundamentos Del Diseño Digital Lógica: es el proceso de clasificación de la información; en donde la información tiene que estar relacionada con aseveraciones y no puede ser interrogaciones o exclamaciones. Nos interesa la lógica binaria: F => 0 y V => 1 Los pensamientos se expresan como proposiciones. Los proposiciones se representan por variables lógicas que pueden ser verdaderas o falsas. Ej.: primeras letras del alfabeto mayúsculas: A, B, C, D, E, F. últimas letras del alfabeto minúsculas: p, q, r, s, t,…, x, y, z. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 44. Capítulo 2.- Fundamentos Del Diseño Digital Además se debe especificar el tipo de lógica o la condición de polarización. Ej.: (Variable lógica).(Condición de Polarización de la variable) (Nemónico) . (Condición de la Polarización) A. L MS . H B.H MB . L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 45. Capítulo 2.- Fundamentos Del Diseño Digital Tabla de Verdad: Es una manera de tabular o listar todas las posibles combinaciones que forman las variables de entrada con sus respectivas salidas. A B F 0 0 0 A Circuito F B digital 0 1 0 1 0 1 1 1 1 2n = # de combinaciones Para unir las variables lógicas se usan conectores: Conectores Naturales: And, or, no Conectores No Naturales: Exor, Nexor 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 46. Capítulo 2.- Fundamentos Del Diseño Digital Conectores Naturales: Tablas de Verdad AND (Multiplicación Lógica) A B A AND B A B A.B F F F 0 0 0 F V F 0 1 0 V F F 1 0 0 V V V 1 1 1 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 47. Capítulo 2.- Fundamentos Del Diseño Digital Conectores Naturales: Tablas de Verdad OR (Suma Lógica) A B A OR B A B A +B F F F 0 0 0 F V V 0 1 1 V F V 1 0 1 V V V 1 1 1 NO (Negación Lógica) A NO A A A F V A A Teorema de 0 1 V F Involución 1 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 48. Capítulo 2.- Fundamentos Del Diseño Digital Condición de Polarización V Depende de los niveles de voltaje Sabemos que A o del tipo de lógica usada sabremos F cuando es V o F L A es Falso L A es Verdadero A.H A.L H A es Verdadero H A es Falso Lógica Positiva Lógica Negativa 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 49. Capítulo 2.- Fundamentos Del Diseño Digital Lógica Mixta: Mezcla de las 2 lógicas L Falso Positiva A.L A.H H Verdadero A.H A.L L Verdadero Negativo H Falso 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 50. Capítulo 2.- Fundamentos Del Diseño Digital Tablas de Voltaje: AND ( Puertas de Producto) Tabla de Verdad Tabla de Voltaje Puerta Lógica AND A B A.B A.H B.H (A.B).H 0 0 0 L L L A.H L H L (A . B) .H 0 1 0 B.H 1 0 0 H L L 1 1 1 H H H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 51. Capítulo 2.- Fundamentos Del Diseño Digital Tablas de Voltaje: NAND Tabla de Verdad Tabla de Voltaje Puerta Lógica NAND A B A NAND B A.H B.H (A.B).L 0 0 1 L L H A.H 0 1 1 (A . B) L L H H B.H 1 0 1 H L H 1 1 0 H H L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 52. Capítulo 2.- Fundamentos Del Diseño Digital OR Tabla de Voltaje Puerta Lógica OR A.L B.L A.B.L A.L H H H (A . B). L H L H B.L L H H L L L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 53. Capítulo 2.- Fundamentos Del Diseño Digital NOR Tabla de Voltaje Puerta Lógica NOR A.L B.L A.B.H A.L H H L A . B. H H L L B.L L H L L L H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 54. Capítulo 2.- Fundamentos Del Diseño Digital OR (Puertas de Suma) Tabla de Verdad Tabla de Voltaje Puerta Lógica OR A B A+B A.H B.H A+B.H A.H 0 0 0 L L L A+B.H B.H 0 1 1 L H H 1 0 1 H L H 1 1 1 H H H Tabla de voltaje para OR da iguales valores ya sea puerta de suma o de producto 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 55. Capítulo 2.- Fundamentos Del Diseño Digital NOR (Puertas de Suma) Tabla de Verdad Tabla de Voltaje Puerta Lógica NOR A B A NOR B A.H B.H A+B.L A.H 0 0 1 L L H A+B.L B.H 0 1 0 L H L 1 0 0 H L L 1 1 0 H H L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 56. Capítulo 2.- Fundamentos Del Diseño Digital NAND Tabla de Voltaje Puerta Lógica NAND A.L B.L A+B.H H H L A.L (A+B).H L H H B.L H L H L L H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 57. Capítulo 2.- Fundamentos Del Diseño Digital AND Tabla de Voltaje Puerta Lógica AND A.L B.L A+B.L H H H A.L H L L (A+B).L B.L L H L L L L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 58. Capítulo 2.- Fundamentos Del Diseño Digital NO Tabla de Verdad Inversor A A A.H A.L 0 1 A.H A .L 1 0 A.L A .H A.L A.H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 59. Capítulo 2.- Fundamentos Del Diseño Digital Operadores No Naturales OR EXCLUSIVO Tabla de Verdad Tabla de Voltaje Puerta Lógica EXOR A B A B A.H B.H A B.H A.H A B.H 0 0 0 L L L B.H 0 1 1 L H H 1 0 1 H L H 1 1 0 H H L 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 60. Capítulo 2.- Fundamentos Del Diseño Digital NEXOR Tabla de Verdad Tabla de Voltaje Puerta Lógica NEXOR A B A NEXOR B A.H B.H A B.L A.H A B.L 0 0 1 L L H B.H 0 1 0 L H L 1 0 0 H L L 1 1 1 H H H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 61. Capítulo 2.- Fundamentos Del Diseño Digital Coincidencia Tabla de Verdad Tabla de Voltaje Puerta Lógica Coincidencia A B A . B A.H B.H A . B.H 0 0 1 L L H A.H 0 1 0 L H L (A . B) H B.H 1 0 0 H L L 1 1 1 H H H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 62. Capítulo 2.- Fundamentos Del Diseño Digital Inversor de Voltaje ¿que hacer cuando no lo encontramos en el mercado? A.H A.L - Con NAND: corto circuito o puenteo las entradas o conecto a +Vcc una entrada - Con NOR: A.L A.H 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 63. Capítulo 2.- Fundamentos Del Diseño Digital Implementación de Circuitos Digitales A.H B.H Circuito F.H C.H Digital Existen diferentes maneras de implementar el circuito lógico dependiendo de la lógica y puertas usadas F ABC AB BC 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 64. Capítulo 2.- Fundamentos Del Diseño Digital Usando solo And, Or, e Inversores A.H AB C .H B.H C.H A.H A.L A B.H F.H B.H B.H B C.H C.H Usando And, Nand (suma) e Inversores A.H ABC.H B.H C.H ABC.L F.H AB.H AB.L A.H B.H B.H BC.H BC.L 22/10/2008 C.H Sistemas Digitales I - Ing. S. Ríos
  • 65. Capítulo 2.- Fundamentos Del Diseño Digital Usando solo Nand 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 66. Capítulo 2.- Fundamentos Del Diseño Digital Usando solo Puertas NAND de 2 Entradas 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 67. Capítulo 2.- Fundamentos Del Diseño Digital Puertas Lógicas Resumen Producto Suma Nombre ECG Descripción AND 7408 4 And, 2 entradas NAND 7400 4 Nand, 2 entradas NOR 7402 4 Nor, 2 entradas OR 7432 4 Or, 2 entradas EXOR 7486 4 Exor NEXOR 74266 4 Nexor INVERSOR 7404 6 Inversores 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 68. Capítulo 2.- Fundamentos Del Diseño Digital Circuitos Integrados Los C. I. digitales son una colección de resistores, diodos y transistores fabricados sobre una pieza de material semiconductor (Si) denominada sustrato. El C.I. se encuentra dentro de un encapsulado plástico o de cerámica con terminales. El más común encapsulado es el Dip (Dual in line package) 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 69. Capítulo 2.- Fundamentos Del Diseño Digital Algebra de Boole Postulados de Huntington Axiomas 1.- Sobre un conjunto S de elementos que es cerrado con respeto a un operador, si para cada par de elementos en S, el operador especifica un único resultado el cual también es un elemento de S. A, B S C=A.B C S 2.a.- Existe un elemento 0 en S tal que para cada A en S A+0=A 2.b.- Existe un elemento 1 en S tal que para cada A en S A.1= A 3.a.- Leyes Conmutativas A+B = B+A 3.b.- A.B = B.A 4.a.- Leyes Distributivas A+(B.C) = (A+B).(A+C) 4.b.- A.(B+C) = (A.B)+(A.C) 5.- Para cada A en S existe un elemento A tal que A+A = 1 A.A = 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 70. Capítulo 2.- Fundamentos Del Diseño Digital Identidades 0.A=0 1+A=1 1.A=A 0+A=A A.A=A A+A=A A.A=0 A+A=1 A=A Teoremas A+AB=A Absorción A+AB=A+B Absorción AB+AB=A Adyacencia Lógica A+B+C+… = A . B . C ….. De Morgan A.B.C……= A + B + C +…. De Morgan 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 71. Capítulo 2.- Fundamentos Del Diseño Digital Representación de expresiones Lógicas Productos Lógicos (Minitérminos) SOP Suma de productos en la forma canónica F1=f(A,B,C) A Circuito F1 F2=g(A,B,C) B Digital C F2 Partimos de la tabla de verdad Minitérminos A B C F1 F2 F1 = (minitérminos = 1) m0 0 0 0 0 1 F1 = (1,2,6,7) m1 0 0 1 1 0 F1 = m1 + m2 + m6 + m7 m2 0 1 0 1 1 Para que m1 = 1 los valores m3 0 1 1 0 0 de verdad de los productos m4 1 0 0 0 1 deben ser iguales a 1 m5 1 0 1 0 0 m1 = 1 Con A=0; B=0; C=1 m6 1 1 0 1 1 m1 = A B C m7 1 1 1 1 1 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 72. Capítulo 2.- Fundamentos Del Diseño Digital m2 = A B C m6 = A B C m7 = A B C F1 = A BC+ABC+ABC+ABC F1 = A (B C + B C) + A (B C + B C) F1 = A (B C) + A B (C + C) F1 = A (B C) + A B F2 = (minitérminos = 1) F2 = (0,2,4,6,7) F2 = m0 + m2 + m4 + m6 + m7 F2 =ABC+ABC+ABC+ABC+ABC 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 73. Capítulo 2.- Fundamentos Del Diseño Digital Sumas Lógicas (Maxitérminos) POS Productos de Sumas en la forma canónica Maxitérminos A B C F1 F2 F1 = (Maxitérminos = 0) M0 0 0 0 0 1 F1 = (0,3,4,5) M1 0 0 1 1 0 F1 = M0 . M3 . M4 . M5 M2 0 1 0 1 1 Para que M0 = 0 los valores M3 0 1 1 0 0 de verdad de los sumandos M4 1 0 0 0 1 deben ser iguales a 0 M5 1 0 1 0 0 M0 = 0 Con A=0; B=0; C=0 M6 1 1 0 1 1 M0 = A + B + C M7 1 1 1 1 1 F1 = (A + B + C).(A + B + C).(A + B + C).(A + B + C) 0 valor no negado en los POS 1 valor no negado en los SOP 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 74. Ejercicio: Para la siguiente tabla de verdad encuentre la función lógica mínima. ABCD F1 F1 = (miniterminos = 1) 0000 1 F1 = (0,1,2,3,8,9,10,11) 0001 1 0010 1 0011 1 0100 0 0101 0 0110 0 0111 0 1000 1 1001 1 1010 1 1011 1 1100 0 1101 0 1110 0 1111 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 75. Mapa de Karnaugh Mapa de dos variables A B F Con SOP: A A m0 F= (1,3) 0 0 0 0 2 F= m1 +m3 B 0 0 m1 0 1 1 F= B+AB B 1 1 1 3 F=B( +A) m2 1 0 0 F=B m3 1 1 1 Con el mapa F=B 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 76. Mapa de Karnaugh Cada Celda corresponde a cada minitérmino. Se agrupan los 1 para trabajar con SOP. Se realizan agrupamientos de 1’s adyacentes. No existen adyacencia en las diagonales. Se realizan agrupamientos de 1’s en 2n celdas: 1,2,4,8,16 etc celdas. El número de variables eliminadas de la expresión =n La variable constante permanece como parte del agrupamiento. La(s) variable(s) que cambia(n) de valor se eliminan del resultado. Por lo menos un 1 del agrupamiento debe quedar cubierto solo una vez. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 77. Mapa de Karnaugh A A A A A B 0 0 1 2 0 0 1 2 1 0 1 2 1 0 B 0 1 1 3 B 1 1 1 3 B 1 1 1 3 B 0 1 F=A F=A+B F=1 F= B + A B F= A + B 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 78. Mapa de Karnaugh Mapa de tres Variables A B C F 0 0 0 1 A 0 0 1 1 10 12 16 14 0 1 0 1 C 11 13 17 05 0 1 1 1 B 1 0 0 0 1 0 1 0 F= +B+C 1 1 0 0 1 1 1 0 A A 1 0 0 1 10 12 06 04 C 1 0 0 1 C 11 13 07 05 B F=B B F=A 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 79. Mapa de Karnaugh Mapa de cuatro variables A 1 1 A 10 14 012 08 D C 1 1 11 15 113 19 D B 13 17 115 111 F= B D C 02 06 014 010 A B 1 1 1 1 1 1 D F= C + D C 1 1 B F=B 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 80. Mapa de Karnaugh Mapa de 5 variables A B B 12 8 28 24 1 0 1 4 1 16 1 20 13 9 25 1 1 1 5 1 17 1 21 29 7 11 E 23 27 E 3 15 19 31 D 6 10 D 22 26 2 14 18 30 C C F= B D 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 81. Mapa de Karnaugh Mapa de 6 variables B B AB AB 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 82. Mapa de Karnaugh Implicante Primo: es cualquier agrupamiento que no esté cubierto por un agrupamiento más grande. Implicante Esencial: es un agrupamiento primo que tiene 1’s que están cubiertos por un solo agrupamiento (Agrupamientos que se realizan de una sola manera posible). Implicante Necesario: Es el que nos ayuda a reducir la expresión lógica. Implicante Opcional: varias expresiones lógicas mínimas de las cuales solo una es válida. Implicante Redundante: es el que no es necesario. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 83. Condiciones sin importancia (Don’t Care) La salida Ø se produce para cierta A combinación de entrada que en el Circuito B Digital F mundo real es inexistente. C A -Ø 0 0 1 Ø Don´t Care -x C 0 Ø 1 1 A B C F -d 0 B 0 0 0 Ø 1 0 0 1 0 F= A 0 1 0 1 0 1 1 0 Da lo mismo tener un cero que un uno 1 0 0 1 al hacer la implementación o el diseño 0 1 0 1 Ø ya que por lo general son condiciones 1 1 1 0 0 que en las entradas no suceden. 1 1 1 0 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 84. Ejemplo Caso típico 0 apagado Diodos emisores de luz 1 encendido a b a x1 c Decodificador f b x2 d g para Display x3 e de 7 segmentos x4 f e c g d NBCD Pantalla Típica Punto decimal Para este decodificador las entradas son X1, X2, X3, X4 y las salidas son a, b, c, d, e, f, g. Los números NBCD están en el rango de 0 a 9. Las combinaciones posibles con 4 entradas son 16 pero solo 10 serán ocupadas. Las combinaciones que no se ocupan en las salidas serán Ø. 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 85. NBCD x1 x2 x3 x4 a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 1 0 1 0 Ø Ø Ø Ø Ø Ø Ø 1 0 1 1 Ø Ø Ø Ø Ø Ø Ø 1 1 0 0 Ø Ø Ø Ø Ø Ø Ø Fuera del 1 1 0 1 Ø Ø Ø Ø Ø Ø Ø rango 1 1 1 0 Ø Ø Ø Ø Ø Ø Ø 1 1 1 1 Ø Ø Ø Ø Ø Ø Ø 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 86. Capítulo 2.- Fundamentos Del Diseño Digital X1 X1 1 0 Ø 1 1 1 Ø 1 0 1 Ø 1 1 0 Ø 1 1 1 Ø Ø X4 1 1 Ø Ø X4 X3 1 1 Ø Ø X3 1 0 Ø Ø X2 X2 a=x1 + x3 + x2x4 + x2x4 b=x2 + x3x4 + x3x4 X1 1 1 Ø 1 1 1 Ø 1 1 1 Ø Ø X4 X3 0 1 Ø Ø X2 c=x3 + x4 + x2 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 87. Método de la variable entrante en el mapa ( VEM) En un mapa se introduce la variable y se reduce una variable en el mapa. Para ingresar la variable C agrupo sus 2 posibilidades conservando iguales las combinaciones de A y B y multiplico por el valor de la función. A B C F A A 0 0 0 1 C+C 0 1 0 1 0 0 0 1 1 1 C 1 1 0 Ø B c c 0 1 0 0 B VEM VEM 0 1 1 1 1 0 0 0 Se agrupan celdas adyacentes y que tengan variables iguales, la suma de variables únicas o grupos de productos iguales. Solo 1 0 1 Ø variables en el Paso 1 y de no haber con quien agrupar entonces 1 1 0 1 se agrupan con 1 o con Ø. Si alguien falta de agrupar, se lo 1 1 1 0 realizará en el paso 2. Se agrupan variables VEM o VEM en el paso 1 obligatoriamente. No es obligatorio para VEMØ o VEMØ 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 88. Método de la variable entrante en el mapa ( VEM) Paso 1 a) Agrupamos todas las VEM o VEM únicas que no pueden agruparse con otra VEM ó VEM idéntica o con un “1” o con “Ø” (islas). b) Agrupamos todas los MEV dobles (formamos grupos de 2 VEM). c) Formamos grupos de una VEM con un “1” d) Formamos grupos de una VEM con un “Ø” e) Formamos grupos de 4 VEM idénticos o con 1 o Ø; 8,16 ect. Paso 2 a) Reemplazar las VEM o VEM por un “0” b) Reemplazar 0 0; Ø Ø c) Reemplazar 1 1 Si no está completamente cubierto: A + A = 1 Ø Si está completamente cubierto. d) Reemplazar VEM Ø ó VEM Ø “0”. e) Reemplazar VEM + VEM Ø 1 Si no está cubierto o si solo el Ø está cubierto. VEM + VEM Ø Ø Si está completamente cubierto o si solo el VEM está cubierto. VEM c Ø+c c Ø+c 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 89. Capítulo 2.- Fundamentos Del Diseño Digital Ejemplo: I ngrese c al mapa y obtenga la expresión lógica mínima para F ( celdas con variables únicas se agrupan primero) Ø c+ Ø c = Ø A B C F 0 0 0 0 Paso 1 Paso 2 0 0 1 0 A 0 1 0 1 0 1 1 1 A 1 0 0 1 0 c 0 0 1 0 1 0 1 1 0 Ø B c+c1 cØ+cØ B 1 Ø 1 1 1 Ø 1 Ø F=C A + B 22/10/2008 Sistemas Digitales I - Ing. S. Ríos
  • 90. Capítulo 3: Lenguaje de Descripción del Hardware (VHDL) SISTEMAS DIGITALES I
  • 91. HDL: Lenguaje de Descripción del Hardware Similar a un lenguaje de computadora excepto que un HDL describe Hardware que luego de simulado puede ser construido. Existen 2 HDL que son estándares IEEE: VHDL (Very High Speed Integrated Circuit Hardware Description Lenguage) y Verilog HDL. El VHDL es más popular pero ambos se usan a nivel industrial. Inicio en 1980 en el Departamento de Defensa (DoD). Luego en 1983 formalmente empezaron el proyecto VHDL con: Intermetrics, Texas Instruments e IBM. IEEE empezó la estandarización en 1984 que luego se aprobó en 1987 con el número 1076. En 1994 el IEEE publicó la revisión del estandar IEEE Std 1076-1993 que es la que se encuentra vigente.
  • 92. VHDL Trabaja con diseño jerárquico: top – down o down - top. Independencia tecnológica que permite diseñar circuitos cuya descripción no depende de la forma de implementación física posterior. Universalidad, es decir compatibilidad con un gran número de herramientas CAD. Diferentes tipos de Descripciones: Sistema, algorítmico, RTL, Lógico, Conmutación, Eléctrico, Físico. Características: Se declara una caja negra (entity) con un identificador para el circuito, y sus terminales de entrada y salida. También se declaran las direcciones de los terminales (in, out) y el tipo de datos que admiten. Luego se describe el circuito en sí dentro del cuerpo de una arquitectura. Esta descripción difiere según el nivel.
  • 93. Estructura de un programa en VHDL Cuando se utiliza VHDL, un sistema digital se divide en varios bloques para efectuar el proceso lo más comprensible y que sea fácil de probar y de dar mantenimiento. En VHDL, cada porción del diseño es considerado un bloque, que es descrito en el lenguaje, mediante una entidad y una arquitectura. La entidad me describe el exterior de mi circuito y la arquitectura su comportamiento interno. entidad 1 Bloque 1 arquitectura 1 entidad 2 entidad 3 Bloque 2 Bloque 3 arquitectura 2 Arquitectura 3 entidad 4 Bloque 4 arquitectura 4
  • 94. Ejemplo de entidad y arquitectura ENTI TY nand2 I S A PORT(I1,I2: I N BIT; F O: OUT BIT); B END nand2; ARCHI TECTURE C1 OF nand2 I S BEGI N O<=NOT(I1 AND I2) END C1; Adicionalmente el archivo de texto creado se graba con extensión vhd. Para nuestro ejemplo: nand2.vhd
  • 95. Estructura Básica de un programa VHDL. Se inicia declarando las bibliotecas que se usarán en el programa. Ej: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; Luego se indica la entidad con sus entradas, salidas y los modos y tipos de datos. Modo: IN OUT BUFFER INOUT Entrada Salida Salida realimentada Bidireccional Tipo: BIT, STD_LOGGIC, STD_LOGIC_VECTOR Después se lista la arquitectura.
  • 96. Estructura Básica de un programa VHDL. LI BRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTI TY <nombre_entidad> I S PORT(<nombre_pin>: <modo><tipo>; <nombre_pin>: <modo><tipo>); END <nombre_entidad>; ARCHI TECTURE <nombre_arquitectura> OF <nombre_entidad> I S BEGI N <sentencia>; <comentario> <sentencia>; <comentario> END <nombre_arquitectura>;
  • 98. Ejemplos de tipos de datos BIT: describe valores binarios. Rango: ‘0’, ‘1’ Ejemplo: ENTI TY nand2 I S PORT(A,B: I N BIT; F: OUT BIT); END nand2; BIT_VECTOR: describe cadenas de bits. Rango: conjunto de bits. Se escribe entre comillas: “1010” Ejemplo: ENTI TY manejador I S PORT (S: IN BIT_VECTOR (3 DOWNTO 0); X: OUT BIT_VECTOR (1 TO 7)); END manejador;
  • 99. Ejemplos de tipos de datos CHARACTER: describe caracteres. Rango: son los 256 caracteres del estandar ISO 8859-1: 1987 los 128 primeros son los caracteres ASCII. ‘a’ STRING: describe cadenas de caracteres. Rango: conjunto de caracteres. “abcde”
  • 100. Estructura de un programa escrito en VHDL En VHDL una arquitectura ARCHI TECTURE nombre_arq OF nombre_ent I S tiene dos partes: La región de las declaraciones [Declaración de señales] [Declaración de tipos] y el cuerpo de la [Declaración de variables] arquitectura. [Declaración de constantes] [Declaración de componentes] La región de declaraciones [Especificación de atributos] precede la palabra clave BEGIN. Puede ser usada BEGI N para declarar señales, {Instanciación de componentes} variables y constantes. {Enunciado concurrente} {Enunciado secuencial [Proceso]} También puede ser usada para declarar componentes END nombre_arq; y especificar atributos.
  • 101. Tipos de descripciones dentro de la arquitectura Estructural o lógica: Descripción exacta del esquema lógico que resuelve la función objeto del diseño. De flujo de datos o RTL. Comportamental o algorítmica (descripción funcional).
  • 102. Descripción Estructural o lógica En la descripción estructural el cuerpo de la arquitectura se transforma en una component nombre_componente descripción exacta del esquema lógico. Para la descripción estructural el VHDL port (señales_entrada: modo tipo; se apoya en las declaraciones de componentes señales_salida: modo tipo); La cantidad de declaraciones de componentes debe de corresponder con end component; la cantidad de componentes distintas que formarán parte del circuito físico que realiza la función lógica a diseñar. La declaración component posee una estructura similar a la de una entidad, pero no tiene la misma connotación.
  • 103. Descripción Estructural o lógica En la sección de declaraciones de la arquitectura (región ubicada entre la ARCHI TECTURE nombre_arq OF nombre_ent I S palabra reservada architecture y la [ Declaración de tipos] palabra begin) puede existir la necesidad [ Declaración de señales] [ Declaración de variables] de realizar algunas declaraciones de [ Declaración de constantes] señales internas, las cuales intervienen [ Declaración de componentes] [ Especificación de atributos] en la descripción del circuito, pero que no tienen acceso a los terminales BEGI N externos del diseño (no están declaradas I nstanciación de componentes en la entidad. ... Aparecen en mayúsculas las palabras I nstanciación de componentes reservadas del lenguaje VHDL para resaltarlas, pero no es necesario ya que END nombre_arq; el VHDL no es sensible al tipo de letra
  • 104. Descripción Estructural o lógica Ej: Realizar la descripción en VHDL de A tipo estructural de la B Y operación EXOR Y = AB + AB ENTITY XOR IS PORT (A,B: IN BIT; Y: OUT BIT); END XOR;
  • 105. Descripción Estructural o lógica La arquitectura puede ser la siguiente: Architecture XOR1 of XOR is - - declaración de señales signal AN, BN : bit; signal ANB, ABN : bit; - - declaración de componentes A AN ANB component INV port (I: in bit; B Y O: out bit); end component; component AND2 port (I1, I2: in bit; ABN O: out bit); BN end component; component OR2 port (I1, I2: in bit; O: out bit); end component;
  • 106. Descripción Estructural o lógica Estamos usando 3 tipos begin de componentes: un -- instanciación de componentes inversor (declarado INV), U1: INV port map (A,AN); una compuerta AND de U2: INV port map (B,BN); dos entradas (declarada U3: AND2 port map (AN,B,ANB); AND2) y una compuerta U4: AND2 port map (A,BN,ABN); OR de dos entradas U5: OR2 port map (ANB,ABN,Y); (declarada OR2). end XOR1; Para la descripción de la función lógica XOR se emplearon dos instancias, U1 y U2 de INV; dos instancias U3 y U4 de AND2 y una instancias U5 de OR2.
  • 107. Descripción Estructural o lógica En la asociación nominal o component OR2 explícita se vuelve port (I1, I2: in bit; O: out bit); irrelevante el orden de los end component; parámetros, por cuanto dentro del paréntesis se begin indican explícitamente las ... señales que se conectan a - - asociación explícita los terminales de las U5: OR2 port map(O=>Y, I1=>ANB, componentes, mediante el I2=>ABN); símbolo => de asignación end XOR1;
  • 108. Descripción Estructural o lógica ENTI TY XOR I S component AND2 PORT (A, B: I N BIT; port (I1, I2: in bit; Y: OUT BIT); O: out bit); END XOR; end component; component OR2 Architecture XOR1 of XOR is port (I1, I2: in bit; - declaración de señales O: out bit); signal AN, BN : bit; end component; signal ANB, ABN : bit; begin - declaración de componentes - instanciación de componentes U1: INV port map(A,AN); component INV U2: INV port map(B,BN); port (I: in bit; U3: AND2 port map(AN,B,ANB); O: out bit); U4: AND2 port map(A,BN,ABN); end component; U5: OR2 port map(ANB,ABN,Y); end XOR1; Evidentemente, el estilo estructural de la escritura de una arquitectura es extenso, incluso para circuitos relativamente pequeños, por lo que si el circuito es grande su escritura puede ser tediosa y propensa a cometer errores.
  • 109. Descripción Estructural o lógica Uno de los tipos de señales con que trabaja en VHDL es el arreglo de señales, tanto del tipo bit_vector, como del tipo std_logic_vector. Esto permite escribir de forma más compacta los diseños en VHDL. Ellos representan un arreglo de bits y se utilizan con dispositivos multiterminales.
  • 110. Descripción Estructural o lógica Ej: Realizar la descripción VHDL de tipo estructural de un decodificador de 2 entradas y 4 salidas, activadas con el nivel bajo, y una entrada de habilitación, también activa en el nivel bajo.
  • 111. Descripción Estructural o lógica Lo primero es realizar la architecture decod_a of decod2x4 is declaración de la entidad. La -- declaración de señales declaración de la arquitectura signal AN(1),AN(0), EN: bit; del decodificador, en su -- declaración de componentes primera parte, corresponde a la declaración de los component INV port (I: in bit; diferentes tipos de O: out bit); componentes. Se usan dos end component; tipos de componentes: INV, component NAND3 un inversor y NAND3, una port (I1, I2, I3: in bit; compuerta NAND de 3 O: out bit); end component; entradas.
  • 112. Descripción Estructural o lógica begin --instanciación de componentes En el cuerpo de la U1: INV port map (A(0),AN(0)); arquitectura se observa la U2: INV port map (A(1),AN(1)); instanciación de los 7 U3: INV port map (NEN,EN); componentes, los cuales U4: NAND3 port map (EN, AN(1), AN(0), NY(0)); son conectados usando la U5: NAND3 port map (EN, AN(1), A(0), NY(1)); cláusula port map con U6: NAND3 port map (EN, A(1), AN(0), NY(2)); asociación implícita. U7: NAND3 port map (EN, A(1), A(0), NY(3)); end decod_a;
  • 113. Descripción por flujo de datos o RTL En la descripción por flujo de datos, la arquitectura describe como fluyen las señales de entrada por el circuito hacia los terminales de salida. Este estilo de escritura de la arquitectura es llamada descripción de transferencia de registros RTL (Register Transfer Language).
  • 114. Descripción por flujo de datos o RTL Ejemplo: La arquitectura por descripción En la aproximación por flujo de de flujo de datos de una compuerta XOR de dos entradas es: datos se utilizan declaraciones architecture XOR2 of XOR is de asignación de señales, así begin como operadores lógicos que --asignación de señales no se emplean en el estilo de Y <= (not A and B) or (A and not B); escritura estructural. end XOR2; Los operadores lógicos que A tiene el VHDL en sus librerías B Y son: not, and, or, nand, nor, xor y xnor.
  • 115. Descripción por flujo de datos o RTL La forma de descripción de la arquitectura mediante la Ejemplo: La existencia del operador XOR aproximación por flujo de datos compacta extraordinariamente el cuerpo simplifica los diseños VHDL, pues de la arquitectura de la entity XOR los hace más compactos. Architecture XOR3 of XOR is Después de la palabra clave begin Begin se produce la asignación del flujo - asignación de señales de datos de las señales del miembro de la derecha hacia la Y < = A xor B; señal Y, del miembro de la End XOR3 izquierda (salida). El miembro de la derecha del operador de asignación <= se le conoce como expresión, cuyo valor se obtiene evaluándola completa.
  • 116. Descripción por flujo de datos o RTL El VHDL, como otros Lógicos: AND, OR, XOR, NOT, NAND, lenguajes de programación NOR y XNOR posee un conjunto de Aritméticos: +, -, * (multiplicación solo operadores que se usan con por 2) las señales o con las De relación: =, /=, <, >, <=, >= variables declaradas en sus De concatenación: & diseños.
  • 117. Descripción por flujo de datos o RTL La tabla presentada a Operadores Definidos para los tipos continuación contiene una clasificación de los operadores definidos en Bit, Boolean, Bit_vector, el lenguaje VHDL, así Lógicos: std_logic y std_logic_vector como los tipos de datos sobre los que se pueden De relación: Integer, Bit, y Bit_vector operar los mismos. Aritméticos: Integer Los operadores lógicos han sido extendidos al Concatenación: Bit, Bit_vector y para las cadenas uso en cualquier tipo de señal lógica, ya sea bit_vector, std_logic, o std_logic_vector.
  • 118. Descripción por flujo de datos o RTL Cuando los operadores lógicos se usan con los tipos de señales std_logic o bit, ellos poseen su significado usual. Un ejemplo de operaciones lógicas con el tipo de datos vector es el siguiente: Los valores '0' y '1' son valores ’’01100101’’xor’’10101101’’=’’11001000’’ constantes y deben estar encerrados entre apóstrofes. Cuando el tipo de señal usada es declarada std_logic_vector o bit_vector, entonces los valores deben estar encerrados entre comillas.
  • 119. Descripción por flujo de datos o RTL Ejemplo: Sean las siguientes Existe un operador interno del declaraciones: VHDL, que es el signo & y que Signal a: bit_vector(1 to 4); realiza la concatenación de señales o variables de distinta Signal b: bit_vector(1 to 8); “longitud”. b<=’’0000’’&a; En el ejemplo para concatenar la señal a, a la mitad de la derecha del vector b y no tener incongruencias en los resultados con vectores se realizan las asignaciones siguientes. El símbolo & añade el vector a (de 4 bits) al final de una secuencia de 4 ceros “0000” para realizar exitosamente la asignación al vector b, que fue declarado como un vector de 8 bits.
  • 120. Descripción por flujo de datos o RTL En el cuerpo de la arquitectura de un -- asignación de señales diseño VHDL por RTL se usan, Nombre de la señal<=expresion; sentencias concurrentes de asignación -- asignación condicional de señales de señales, cuyo formato se presenta Nombre de la señal<=expresión a continuación. when expresión booleana else En una descripción RTL, el valor de la Nombre de la señal<=expresión expresión del miembro de la derecha when expresión booleana else de la asignación de señales ( < = ), se … lo transfiere al nombre de la señal del Nombre de la señal<=expresión miembro de la izquierda. when expresión booleana else Expresión; Ambos miembros deben ser del mismo tipo, para que no existan incompatibilidades.
  • 121. Descripción por flujo de datos o RTL Ejemplo 8: Entity comp is Realice una descripción en VHDL de Port ( a, b: in bit_vector ( 3 dow nto 0) ; la arquitectura de un comparador E: out bit) ; de dos entradas, a y b, de 4 bits End comp; cada una y una salida E de 1 bit. Architecture comparador_1 of comp is En esta arquitectura se describe cómo los datos se mueven desde Begin los terminales de entrada, de señal --asignación de señales en señal, hasta la salida. E< = not( a( 0) xorb( 0) ) Se necesita del conocimiento del and not( a( 1) xorb( 1) ) circuito lógico del comparador, del and not( a( 2) xorb( 2) ) cual obtener la función E de salida: and not( a( 3) xorb( 3) ) end comparador_1; E=(a0 b0)(a1 b1)(a2 b2)(a3 b3)
  • 122. Descripción por flujo de datos o RTL Library ieee; Ejemplo 8: Use ieee.std_logic_1164.all; Realice una descripción en VHDL de la arquitectura de Entity comp is un comparador de dos Port ( a, b: in bit_vector( 3 dow nto 0) ; entradas, a y b, de 4 bits E: out bit) ; cada una y una salida E de 1 End comp; bit. Architecture comparador_2 of comp is Otra solución más compacta Begin se puede construir usando la --asignación de señales estructura when – else. Esta solución no necesita del E< = ‘1’ w hen ( a= b) else ‘0’; conocimiento del circuito lógico del comparador. end comparador_2;
  • 123. Descripción por flujo de datos o RTL En VHDL, cuando una señal cambia de valor se dice que se ha producido un evento. La existencia de eventos da lugar a otro evento (cambio de valores en las expresiones en los miembros de la derecha de los operadores de asignación). De esta manera se actualizan los valores de las señales. En el ejemplo anterior, un cambio en las entradas a o b, o en ambas provocará un cambio en la expresión. Este cambio es asignado a la señal de salida E, actualizando su valor. E <= '1' when (a=b) else '0';
  • 124. Descripción por flujo de datos o RTL Otro tipo de sentencia de asignación concurrente usada en la descripción por flujo de datos es la asignación --asignación de señal seleccionada de señal seleccionada, cuya sintaxis se expresa a continuación. Este tipo with expresión select de declaración de asignación utiliza la estructura with – select – when señal <= valor1 de la señal when alternativa 1, En esta estructura se evalúa la valor2 de la señal when alternativa 2, expresión que acompaña a la ... declaración with y cuando el valor valorn de la señal when alternativa n; coincide con una de las alternativas señaladas después de la palabra clave when, entonces el valor correspondiente a esta alternativa se lo asigna al nombre de la señal.
  • 125. Descripción por flujo de datos o RTL Las alternativas contenidas Valor de la señal when alternativa1 | después de la palabra clave when pueden ser varias o una alternativa2 | alternativa3 | ….. sola. Si son varias, las | alternativaN, alternativas deben ser todas Las barras verticales (| ) tienen el distintas y cubrir todos los mismo significado que la operación OR posibles valores de éstas. Cuando el valor de la señal para varias alternativas es el mismo, pueden ser expresadas como una lista de valores separados por barras verticales ( | )
  • 126. Descripción por flujo de datos o RTL Cuando no se cubren todos los posibles valores de las --asignación de señal seleccionada alternativas, se debe usar la with expresión select palabra clave de VHDL others, con el último when señal <= valor1 de la señal when alternativa 1, valor2 de la señal when alternativa 2, en este tipo de asignación ... de señales. valorn de la señal when others; Este tipo de declaración de asignación utiliza la estructura with – select – when others
  • 127. Descripción por flujo de datos o RTL Ejemplo 9: Entity circuito is Escriba en VHDL una port (m: in integer range (31 downto 0); descripción de la T: out std_logic); siguiente función: End circuito; Architecture RTL of circuito is T(x,y,z,u,v) = (0,4,18,19,22,23,25,29) + Begin (14,16,20,24) -- asignación de señal seleccionada With m select T <= ‘1’ when 0 | 4 | 18 | 19 | 22 | 23 | 25 | 29, ‘-’ when 14 | 16 | 20 | 24, -- opcionales ‘0’ when others; end RTL;
  • 128. Descripción por flujo de datos o RTL Ejemplo 10: entity detector is port (N: in integer range (15 downto 0); Escriba en VHDL la P: out std_logic); end detector; descripción de un circuito combinacional, el cual recibe architecture num_par of detector is Begin en sus entradas los dígitos del -- asignación de señal seleccionada sistema decimal codificados with N select P <= ‘1’ when 0 | 2 | 4 | 6 | 8, en NBCD y tiene una salida P, ‘0’ when 1 | 3 | 5 | 7 | 9, que va a ‘1’ cuando se detecta ‘-’ when others; -- opcionales end num_par; en sus entradas un dígito par.
  • 129. Descripción por flujo de datos o RTL Ejemplo 11: Realizar la descripción por flujo de datos de un MUX 4 a 1.
  • 130. Descripción por flujo de datos o RTL architecture MUX1 of MUX is signal x: bit_vector(3 downto 0); Begin --asignación de señales X(3) <= S(1) and S(0) and D(3); X(2) <= S(1) and not S(0) and D(2); X(1) <= not S(1) and S(0) and D(1); X(0) <= not S(1) and not S(0) and D(0); F <= x(3) or x(2) or x(1) or x(0); end MUX1; La arquitectura basada en flujo de datos utilizando operadores lógicos necesita del circuito final de este MUX
  • 131. Descripción por flujo de datos o RTL Ejemplo 12: Otra solución usando architecture mux2 of mux is with – select. Como se observa, esta begin descripción de la arquitectura -- asignación de señal seleccionada es más simple que la anterior y no necesita del conocimiento with S select de la lógica interna del circuito. F <= D(0) when “00”, D(1) when “01”, D(2) when “10”, D(3) when “11”; end mux2
  • 132. Descripción por flujo de datos o RTL Ejemplo 13: Diseñe un buffer con tercer estado cuyo circuito se --file: ejemplo13.vhd muestra. library ieee; use ieee.std_logic_1164.all; entity ejemplo13 is port (EN_L, A: in std_logic; Y : out std_logic); end ejemplo13; architecture buffer of ejemplo13 is begin Y <= A when EN_L = ‘1’ else ‘Z’; end buffer;
  • 133. Descripción por flujo de datos o RTL Ejemplo 14: Diseñe un --file: ejemplo14.vhd library ieee; circuito que multiplique use ieee.std_logic_1164.all; dos números enteros use ieee.std_logic_unsigned.all; positivos de dos bits cada entity ejemplo14 is uno. Debe tener además port (EN_L: in bit; una entrada habilitadora A, B: in std_logic_vector(1 downto 0); P: out std_logic_vector(3 downto 0)); EN_L activa en nivel bajo, end ejemplo14; tal que la salida esté en architecture producto of ejemplo14 is un tercer estado de alta begin impedancia si EN_L = H with EN_L select P <= A*B when ‘1’, ’’ZZZZ’’ when ‘0’; end producto;
  • 134. Descripción por flujo de datos o RTL Ejemplo 15: library ieee; use ieee.std_logic_1164.all; Empaquetar el diseño del buffer con tercer PACKAGE bufferPCK is estado cuyo circuito se component ejemplo13 port( EN_L, A: in std_logic; muestra en la figura. Y: out std_logic); end component; end bufferPCK; File: bufferPCK.vhd
  • 135. Sentencias Concurrentes I ntroducción Las sentencias concurrentes son aquellas que se ejecutan simultáneamente en la simulación. Se utilizan para el modelado del hardware, deben formar parte siempre del cuerpo de arquitecturas o de bloques y son las siguientes: Procesos Asignaciones concurrentes a señal Llamadas concurrentes o procedimientos Instanciaciones de componentes
  • 136. Sentencia w hen - else Permite realizar asignaciones condicionales de valores, expresiones u objetos o señales. Su sintaxis de declaración es: [etiqueta:] señal <= valor_1 w hen condición_1 else valor_2 [w hen condición_2] [else … ] [else valor_n w hen condición_n] [else unaffected]; La señal recibe una asignación u otra (valor_1…valor_n) en función de las condiciones que aparecen tras w hen. Para la opción de no asignación puede (no cambio en la función) utilizarse la keyword unaffected
  • 137. Ejemplo de sentencia w hen - else Modelo de un sumador de un bit con retención de la suma entity SUMADOR is: port(A, B: in bit; ENABLE: in bit ; SUMA: out bit_vector (1 downto 0)); end SUMADOR; architecture CON_WHEN of SUMADOR is begin SUMA <= “00”w hen (A=‘0’ and B= ‘0’ and ENABLE = ‘1’) else “01”w hen (A=‘1’ and B= ‘0’ and ENABLE = ‘1’) else “01”w hen (A=‘0’ and B= ‘1’ and ENABLE = ‘1’) else “10”w hen (A=‘1’ and B= ‘1’ and ENABLE = ‘1’) else unaffected; end CON_WHEN
  • 138. Sentencia w ith-select Su sintaxis es la siguiente: [etiqueta:] w ith expresión select señal <= valor_1 w hen resultado_1[, valor_2 w hen resultado_2] [, ……..] [, valor_n w hen resultado_n] [, unaffected w hen others]; El valor asignado depende de la evaluación de la expresión que aparece entre las palabras reservadas with y select. El resultado se compara con los valores tras when y se ejecuta la asignación que resulta verdadera.
  • 139. Ejemplo de sentencia w ith-select El sumador anterior puede ser descrito también del siguiente modo: architecture CON_WITH_SELECT of SUMADOR is begin w ith (ENABLE & A & B ) select SUMA <= “00” w hen “100”, “01” w hen “101”, “01” w hen “110”, “10” w hen “111”, unaffected w hen others; end CON_WITH_SELECT;
  • 140. Sentencias Secuenciales I ntroducción Las sentencias secuenciales son aquellas que solamente pueden aparecer dentro de procesos y subprogramas. Se ejecutan ordenadamente, de tal manera que el simulador finaliza completamente una sentencia antes de pasar a la siguiente. Todo lo contrario de lo que ocurre en las sentencias concurrentes en donde no importa el orden.
  • 141. Sentencia w ait Es una de las más utilizadas en el modelado de circuitos síncronos, w ait detiene la ejecución de un proceso o un procedimiento en espera de que se satisfaga una determinada condición. Su sintaxis es la siguiente: [etiqueta:] w ait [on señal_1, señal_2,…..] [until condición] [for expresión_temporal]; Por tanto puede haber tres tipos de argumentos de ellos, o bien ninguno. En este último caso el proceso queda detenido hasta el final de la simulación.
  • 142. Sentencia Wait on Wait on produce el mismo efecto que la lista de sensibilidad de un proceso. Por ejemplo: PROCESO_1: process(A,B) begin … end process PROCESO_1; PROCESO_2: process begin … w ait on A,B; end process PROCESO_2
  • 143. Case - w hen La sentencia case-when permite seleccionar una entre varias alternativas excluyentes entre sí de una expresión determinada, su sintaxis general es la siguiente: [etiqueta:] case expresión is w hen caso_1[ caso_2 ……] => sentencias secuenciales .... end case [etiqueta]; De este modo una arquitectura alternativa para el mismo sumador anterior podría ser como se muestra a continuación.
  • 144. Ejemplo de Case-When architecture CON_CASE of SUMADOR is begin process variable X: bit_vector(2 downto 0); begin X<= ENABLE & A & B; case X is w hen “100”=> SUMA <=“00”; w hen “101”| “110” => SUMA <=“01”; w hen “111” => SUMA <= “10”; w hen others => null; end case; end process; end CON_CASE
  • 145. Bucles Para la ejecución de bucles en VHDL se utiliza la palabra reservada loop. Existen tres formas de definir un bucle: - Con for-loop siempre se hace referencia a un bucle finito, -Con w hile-loop a uno finito o infinito (depende de la condición) y -Con simplemente loop a uno infinito A continuación analizaremos estas tres opciones.
  • 146. For - Loop Esta sentencia causa la ejecución de un bucle un numero fijo de veces, su sintaxis es la siguiente: [etiqueta:] for indice in rango loop sentencias secuenciales end loop [etiqueta]; Es necesaria las indicaciones de un índice y un rango. El índice es una variable discreta, enumerada o entera, que no es preciso declarar y que cambia su valor en una unidad por cada ejecución del bucle a lo largo del rango especificado.
  • 147. Ejemplo For-loop Contar el numero de unos de una señal binaria de 32 bits. …. for I in 0 to 31 loop if SENAL (I)=‘1’ then NUMERO_UNOS:= NUMERO_UNOS+1; end if; end loop; ….
  • 148. While - Loop El siguiente tipo de bucle utiliza la palabra reservada w hile para imponer la condición de repetición. Su sintaxis es la siguiente: [etiqueta:] w hile condición loop sentencias secuenciales end loop [etiqueta]; El bucle se repite en tanto que la condición que aparece tras while sea verdadera.
  • 149. Ejemplo While-loop …. I:=0; w hile (I>32) loop if SEÑAL (I)=‘1’ then NUMERO_UNOS:= NUMERO_UNOS+1; end if I:= I+1; end loop; .... Ahora si se nesecita declarar una variable (I) para poder establecer la condición del bucle, no resulta ventajosa con respecto a for loop.
  • 150. Loop Ejecuta un bucle infinito y su sintaxis es así: [etiqueta:] loop sentencias secuenciales end loop [etiqueta];
  • 151. Capítulo 4: Familias Lógicas TTL y CMOS Ing. S. Ríos FIEC - ESPOL
  • 152. Clasificación de los Circuitos integrados Circuitos Integrados Digitales Lineales Monolíticos Híbridos Bipolares Unipolares RTL P-MOS DTL N-MOS TTL CMOS ECL IIL
  • 153. Operación circuital de una puerta básica TTL estandar Nand 7400 Q1 con Emisor múltiple. Q3 y Q4 poste totémico. Q2 seguidor de Q4. C Q2 Q3 Q4 L sat corte sat H corte sat corte
  • 154. Diodos Fijadores de Entradas(Input Clamping Diodes) Los diodos actúan como “fijadores de nivel” de entrada para suprimir la oscilación parásita que resulta de las rápidas transiciones de voltaje que se producen en los sistemas TTL. Por ejemplo, consideremos que el voltaje de salida de una puerta TTL cambie de uno lógico a cero lógico. El conductor que conecta esta puerta con la otra conduce esta señal. Si el conductor que actúa como una línea de transmisión no esta terminado correctamente resulta una oscilación parásita (“ringing”). Vout Vin t t
  • 155. Los diodos de entrada fijan el impulso negativo en aproximadamente -0.75v y absorben una cantidad suficiente de energía de la señal aplicada para evitar un gran sobreimpulso positivo que podría poner nuevamente en conducción a la puerta. Vout Vin t t
  • 156. Características de la Serie Estándar TTL (54/74…) La más importante ayuda para entender hojas de especificaciones de CI es conocer todos lo términos y símbolos usados. La columna nominal nos indica los mejores valores para el voltaje de fuente de poder y temperatura de operación. Las columnas Min y Max determinan el rango de variación recomendado. Cuando estas condiciones no son respetadas, el dispositivo puede operar erradamente. VIH o Vin(1) .-Voltaje de entrada de nivel alto. Si cualquiera entrada o ambas tienen aplicado el voltaje igual o mayor que 2v. VIL o Vin(0) .-Voltaje de entrada de nivel bajo. Cualquier voltaje aplicado a la entrada menor o igual que 0.8v. IOH o Iout(1) .-Corriente de salida de nivel alto. No debe ser mayor que -0.4mA.
  • 157. Datos del fabricante IOL o Iout(0) .-Corriente de salida de nivel bajo. No debe ser mayor que 16mA. VOH o Vout(1) .-Voltaje de salida de nivel alto. Cuando el voltaje de salida es mayor o igual a 2.4v. VOL o Vout(0) .-Voltaje de salida de nivel bajo. Cuando el voltaje de salida es menor o igual a 0.4v. IIH o Iin(1) .-Corriente de entrada de nivel alto. Cuando la entrada tiene el nivel de voltaje Alto max corriente que circula en la entrada es 40uA. IIL o Iin(0) .-Corriente de entrada de nivel bajo. La max corriente que puede circular en la entrada es -1.6mA. ICCH o ICC(1) .-Corriente de fuente de poder para salidas Altas. ICCL o ICC(0) .- Corriente de fuente de poder para salidas Bajas.