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.
- 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 - 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 - 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 = 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 - 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:
0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 - Paso 5: A continuación, de la tabla anterior tratamos de expresar como funciones booleanas de .
En este caso la expresión para ambos es trivial.
El circuito secuencial final se muestra a continuación:
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. |