Diseño RTL (nivel de transferencia de registros) frente a diseño de lógica secuencial

En este artículo tratamos de explicar las diferencias fundamentales entre el diseño de nivel de transferencia de registro (RTL) y el diseño de lógica secuencial.

En la metodología de diseño RTL , se utilizan diferentes tipos de registros, como contadores, registro de desplazamiento, SIPO (entrada en serie, salida en paralelo), PISO (entrada en paralelo, salida en serie) como bloques de construcción básicos para cualquier circuito lógico secuencial.

Por otro lado , la metodología de Diseño Lógico Secuencial Síncrono utiliza diferentes puertas lógicas y diferentes elementos de memoria como flip flops (para almacenar el estado del circuito en cualquier momento) como bloques de construcción básicos para los circuitos lógicos secuenciales.

El proceso de diseño de lógica secuencial síncrona que utiliza el diagrama de estado y sus deficiencias se explican en el siguiente ejemplo:

Digamos que vamos a diseñar un contador ascendente binario síncrono de 2 bits cuya secuencia de conteo es:

00 -> 01 -> 10 -> 11 -> 00 -> 01 -> ..... so on.
  1. Paso 1: en el primer paso, dibujamos un diagrama de estado que representa el circuito secuencial anterior.
    El diagrama de estado que representa el contador anterior se muestra a continuación:

    Figura – Diagrama de estado para contador ascendente de 2 bits
  2. Paso 2: en el siguiente paso, derivamos la tabla de estado del diagrama de estado dado anteriormente

    La tabla de estados es la siguiente:

    Estado actual Q(n) Estado siguiente Q(n+1) Producción
    00 01 01
    01 10 10
    10 11 11
    11 00 00

  3. Paso 3: En el tercer paso, debemos elegir el tipo de flip flop que usaremos para almacenar el estado del circuito; para simplificar, consideraremos el Flip-Flop tipo D activado por borde positivo. También necesitamos para determinar el número de flip-flops necesarios para representar el estado interno del circuito. La fórmula general para el número de flip-flops necesarios:
    Total Number of Flip-Flops =  \lceil log_2 N \rceil 
         Where,
                N = Total Number of States in State Table   

    Luego, debemos anotar la Tabla de excitación para el Flip-Flop elegido. La tabla de excitación para el flip-flop tipo D se muestra a continuación:

    Estado actual Q(n) Estado siguiente Q(n+1) D
    X 0 0
    X 1 1

  4. Paso 4: en este paso combinamos la tabla de estado del segundo paso con la tabla de excitación del paso anterior de la siguiente manera:

     Q_A (n)  Q_B (n)  Q_A (n+1)  Q_B (n+1)  D_A  D_B
    0 0 0 1 0 1
    0 1 1 0 1 0
    1 0 1 1 1 1
    1 1 0 0 0 0

  5. Paso 5: A continuación, de la tabla anterior tratamos de expresar  D_A, D_Bcomo funciones booleanas de Q_A (n), Q_B (n).

    En este caso la expresión para ambos D_A, D_Bes trivial.

    D_A = Q_A \oplus Q_B \hspace{2.5cm}       D_B = \overline Q_B

  6. El circuito secuencial final se muestra a continuación:

    Figura – El circuito final

Deficiencias del proceso anterior:

  • Del ejemplo anterior, observamos que el proceso de diseño lógico secuencial síncrono es un proceso bastante complicado y requiere que pasemos por una secuencia de pasos bien definidos, incluso para circuitos simples como el anterior.
  • En segundo lugar, si el número de estados aumenta, este proceso se vuelve engorroso y lento, y en ocasiones incluso imposible.

Para abordar los inconvenientes anteriores del proceso de diseño lógico secuencial y permitir que los diseñadores digitales diseñen circuitos de mayor complejidad con facilidad, se introdujo la metodología de diseño RTL . El ejemplo más popular de diseño RTL es el de un procesador, que no es más que una máquina de estados finitos muy sofisticada con una gran cantidad de estados.

Las principales diferencias entre el diseño RTL y el diseño lógico secuencial se resumen a continuación:

Diseño RTL Diseño Lógico Secuencial
En RTL Design, los bloques de construcción básicos son registros, multiplexores, sumadores. En el Diseño Lógico Secuencial, los componentes básicos son las Puertas Lógicas, Flip-Flops.
El diseño RTL está mucho más cerca del diseño de comportamiento de un circuito lógico, ya que modela el flujo de datos entre diferentes registros y, por lo tanto, es mucho más intuitivo. El proceso de diseño lógico secuencial es de naturaleza más mecánica en comparación con el proceso de diseño RTL
Finalmente, el Modelado RTL nos permite sintetizar circuitos complejos con una gran cantidad de Estados con mucha más facilidad en comparación con el Diseño Lógico Secuencial. Las técnicas de Diseño Lógico Secuencial solo son aplicables a circuitos que tienen un pequeño número de estados.

Publicación traducida automáticamente

Artículo escrito por ArnaMaity y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *