En el diseño de circuitos digitales , el nivel de transferencia de registros ( RTL , por sus siglas en inglés) es una abstracción de diseño que modela un circuito digital síncrono en términos del flujo de señales digitales ( datos ) entre los registros de hardware y las operaciones lógicas realizadas sobre esas señales.
La abstracción a nivel de transferencia de registros (RTL) se utiliza en lenguajes de descripción de hardware (HDL) como Verilog y VHDL para crear representaciones de alto nivel de un circuito, a partir de las cuales se pueden derivar representaciones de nivel inferior y, en última instancia, el cableado real. El diseño a nivel RTL es una práctica habitual en el diseño digital moderno. [ 1 ]
A diferencia del diseño de compiladores de software, donde el nivel de transferencia de registros es una representación intermedia y, en el nivel más bajo, el nivel RTL es la entrada habitual con la que trabajan los diseñadores de circuitos, en la síntesis de circuitos a veces se utiliza un lenguaje intermedio entre la representación del nivel de transferencia de registros de entrada y la lista de conexiones objetivo . A diferencia de la lista de conexiones, se dispone de construcciones como celdas, funciones y registros multibit. [ 2 ] Algunos ejemplos son FIRRTL y RTLIL.
El modelado a nivel de transacción es un nivel superior de diseño de sistemas electrónicos .
Descripción RTL

Un circuito síncrono consta de dos tipos de elementos: registros (lógica secuencial) y lógica combinacional . Los registros (generalmente implementados como biestables D ) sincronizan el funcionamiento del circuito con los flancos de la señal de reloj y son los únicos elementos del circuito que poseen propiedades de memoria. La lógica combinacional realiza todas las funciones lógicas del circuito y normalmente consta de puertas lógicas .
Por ejemplo, en la figura se muestra un circuito síncrono muy simple. El inversor está conectado desde la salida Q de un registro a la entrada D del mismo, creando un circuito que cambia de estado con cada flanco ascendente del reloj clk. En este circuito, la lógica combinacional consiste en el inversor.
Al diseñar circuitos integrados digitales con un lenguaje de descripción de hardware (HDL), los diseños suelen elaborarse con un nivel de abstracción superior al de los transistores ( familias lógicas ) o las puertas lógicas. En los HDL, el diseñador declara los registros (que se corresponden aproximadamente con las variables en los lenguajes de programación) y describe la lógica combinacional mediante construcciones familiares de los lenguajes de programación, como las estructuras condicionales (if-then-else) y las operaciones aritméticas. Este nivel se denomina nivel de transferencia de registros (RTL ). El término se refiere al hecho de que el RTL se centra en describir el flujo de señales entre registros.
Como ejemplo, el circuito mencionado anteriormente se puede describir en VHDL de la siguiente manera:
D <= no Q ; proceso ( clk ) inicio si flanco ascendente ( clk ) entonces Q <= D ; fin si ; fin proceso ;Utilizando una herramienta EDA para la síntesis, esta descripción generalmente se puede traducir directamente a un archivo de implementación de hardware equivalente para un ASIC o un FPGA . La herramienta de síntesis también realiza la optimización lógica .
A nivel de transferencia de registros, se pueden reconocer algunos tipos de circuitos. Si existe una ruta lógica cíclica desde la salida de un registro hasta su entrada (o desde las salidas de un conjunto de registros hasta sus entradas), el circuito se denomina máquina de estados o lógica secuencial . Si existen rutas lógicas de un registro a otro sin ciclo, se denomina tubería .
RTL en el ciclo de diseño de circuitos
RTL se utiliza en la fase de diseño lógico del ciclo de diseño de circuitos integrados .
Una descripción RTL se suele convertir en una descripción del circuito a nivel de compuertas mediante una herramienta de síntesis lógica . Los resultados de la síntesis se utilizan posteriormente en herramientas de colocación y enrutamiento para crear un diseño físico .
Las herramientas de simulación lógica pueden utilizar la descripción RTL de un diseño para verificar su corrección.
Técnicas de estimación de potencia para RTL
Las herramientas de análisis de potencia más precisas están disponibles a nivel de circuito, pero, lamentablemente, incluso con el modelado a nivel de interruptor en lugar de a nivel de dispositivo, las herramientas a nivel de circuito presentan desventajas, como su lentitud o el consumo excesivo de memoria, lo que dificulta el manejo de chips de gran tamaño. La mayoría de estas herramientas son simuladores como SPICE , que los diseñadores han utilizado durante años como herramientas de análisis de rendimiento. Debido a estas desventajas, las herramientas de estimación de potencia a nivel de puerta lógica han comenzado a ganar aceptación, donde las técnicas probabilísticas más rápidas han comenzado a afianzarse. Sin embargo, esto también tiene su contrapartida, ya que la velocidad se logra a costa de la precisión, especialmente en presencia de señales correlacionadas. Con el paso de los años, se ha constatado que las mayores ventajas en el diseño de bajo consumo no provienen de optimizaciones a nivel de circuito y puerta lógica, mientras que las optimizaciones de arquitectura, sistema y algoritmo tienden a tener el mayor impacto en el consumo de energía. Por lo tanto, se ha producido un cambio en la tendencia de los desarrolladores de herramientas hacia herramientas de análisis y optimización de alto nivel para la potencia.
Motivación
Es bien sabido que se pueden lograr reducciones de potencia más significativas si se realizan optimizaciones en niveles de abstracción, como el arquitectónico y el algorítmico, que son superiores al nivel de circuito o puerta lógica [ 3 ]. Esto proporciona la motivación necesaria para que los desarrolladores se centren en el desarrollo de nuevas herramientas de análisis de potencia a nivel arquitectónico. Esto no implica en absoluto que las herramientas de nivel inferior sean irrelevantes. Por el contrario, cada capa de herramientas proporciona una base sobre la cual se puede construir el siguiente nivel. Las abstracciones de las técnicas de estimación de un nivel inferior se pueden utilizar en un nivel superior con ligeras modificaciones.
Ventajas de realizar la estimación de potencia a nivel RTL o arquitectónico.
- Los diseñadores utilizan una descripción del diseño a nivel de transferencia de registros (RTL, por sus siglas en inglés) para realizar optimizaciones y tomar decisiones de compromiso muy al principio del flujo de diseño.
- La presencia de bloques funcionales en una descripción RTL hace que la complejidad del diseño arquitectónico sea mucho más manejable, incluso para chips grandes, porque RTL tiene una granularidad suficientemente mayor que las descripciones a nivel de compuerta o de circuito.
Equivalentes de compuertas
Fuente: [ 4 ]
Se trata de una técnica basada en el concepto de compuertas equivalentes. La complejidad de la arquitectura de un chip se puede describir aproximadamente en términos de compuertas equivalentes, donde el número de compuertas equivalentes indica la cantidad promedio de compuertas de referencia necesarias para implementar la función específica. La potencia total requerida para dicha función se estima multiplicando la cantidad aproximada de compuertas equivalentes por la potencia promedio consumida por compuerta. La compuerta de referencia puede ser cualquier compuerta, por ejemplo, una compuerta NAND de dos entradas.
Ejemplos de técnicas de compuertas equivalentes
- Modelado de potencia independiente de la clase: Esta técnica intenta estimar el área, la velocidad y la disipación de potencia del chip basándose en información sobre la complejidad del diseño en términos de compuertas equivalentes. La funcionalidad se divide entre diferentes bloques, pero no se distingue entre ellos; es decir, es básicamente independiente de la clase. Esta es la técnica utilizada por el sistema de estimación de chips (CES).
- Pasos:
- Identifica los bloques funcionales como contadores, decodificadores, multiplicadores, memorias, etc.
- Asigne una complejidad en términos de compuertas equivalentes. El número de compuertas equivalentes para cada tipo de unidad se obtiene directamente del usuario o de una biblioteca.
- Pasos:
- Donde E typ es la energía disipada promedio supuesta por un equivalente de puerta, cuando está activo. El factor de actividad, A int , denota el porcentaje promedio de puertas que conmutan por ciclo de reloj y puede variar de una función a otra. La carga capacitiva, C L , es una combinación de carga de fan-out y cableado. Se puede usar una estimación de la longitud promedio del cable para calcular la capacitancia del cableado. Esto lo proporciona el usuario y se verifica mediante una derivada de la regla de Rent .
- Supuestos:
- Para todas las estimaciones de potencia se toma como base una única puerta de referencia, sin tener en cuenta los diferentes estilos de circuito, estrategias de reloj o técnicas de diseño.
- Se supone que el porcentaje de compuertas que cambian de estado por ciclo de reloj, denotado por los factores de actividad, es fijo independientemente de los patrones de entrada.
- La energía típica de conmutación de puertas se caracteriza por una distribución de ruido blanco uniforme (UWN) completamente aleatoria de los datos de entrada. Esto implica que la estimación de potencia es la misma independientemente de si el circuito está inactivo o a carga máxima, ya que este modelo UWN ignora cómo las diferentes distribuciones de entrada afectan el consumo de energía de las puertas y los módulos. [ 5 ]
- Supuestos:
- Modelado de potencia dependiente de la clase: Este enfoque es ligeramente mejor que el anterior, ya que considera técnicas de estimación personalizadas para los diferentes tipos de bloques funcionales, lo que aumenta la precisión del modelado, algo que no ocurría con la técnica anterior (como lógica, memoria, interconexión y reloj), de ahí su nombre. La estimación de potencia se realiza de forma muy similar al caso independiente. La energía de conmutación básica se basa en una puerta AND de tres entradas y se calcula a partir de parámetros tecnológicos, como el ancho de la puerta, la toxicidad y el ancho del metal, proporcionados por el usuario.
- Donde C wire denota la capacitancia del cableado de la línea de bits por unidad de longitud y C cell denota la carga debida a una sola celda conectada a la línea de bits. La capacitancia del reloj se basa en la suposición de una red de distribución en árbol H. La actividad se modela utilizando un modelo UWN. Como se puede observar en la ecuación, el consumo de energía de cada componente está relacionado con el número de columnas (N col ) y filas (N row ) en la matriz de memoria.
- Desventajas:
- Las actividades del circuito no se modelan con precisión, ya que se asume un factor de actividad global para todo el chip, el cual, al ser proporcionado por el usuario, no es del todo fiable. De hecho, los factores de actividad varían a lo largo del chip, por lo que este modelo no es muy preciso y es propenso a errores. Esto conlleva el problema de que, incluso si el modelo proporciona una estimación correcta del consumo total de energía del chip, la distribución de energía por módulo es bastante imprecisa.
- El factor de actividad seleccionado proporciona la potencia total correcta, pero el desglose de la potencia en lógica, reloj, memoria, etc., es menos preciso. Por lo tanto, esta herramienta no difiere mucho ni supone una mejora significativa en comparación con CES.
- Desventajas:
Bibliotecas de células precaracterizadas
Esta técnica personaliza aún más la estimación de potencia de varios bloques funcionales al tener un modelo de potencia separado para lógica, memoria e interconexión, lo que sugiere un método de aproximación del factor de potencia (PFA) para caracterizar individualmente una biblioteca completa de bloques funcionales como multiplicadores, sumadores, etc., en lugar de un único modelo equivalente de puerta para los bloques "lógicos". La potencia en todo el chip se aproxima mediante la expresión:
Donde K i es la constante de proporcionalidad PFA que caracteriza al i -ésimo elemento funcional.es la medida de la complejidad del hardware, yindica la frecuencia de activación.
Ejemplo
G i que denota la complejidad del hardware del multiplicador está relacionado con el cuadrado de la longitud de la palabra de entrada, es decir N 2 donde N es la longitud de la palabra. La frecuencia de activación es la tasa a la que el algoritmo realiza las multiplicaciones, denotada pory la constante PFA,, se extrae empíricamente de diseños de multiplicadores anteriores y se ha demostrado que es de aproximadamente 15 fW/bit2-Hz para una tecnología de 1,2 μm a 5 V. El modelo de potencia resultante para el multiplicador sobre la base de las suposiciones anteriores es:
Ventajas:
- Es posible personalizar los parámetros de complejidad según corresponda a cada bloque. Por ejemplo, para un multiplicador, el cuadrado de la longitud de palabra era apropiado. Para la memoria, se utiliza la capacidad de almacenamiento en bits, y para los controladores de E/S, la longitud de palabra por sí sola es suficiente.
Debilidad:
- Existe la suposición implícita de que las entradas no afectan la actividad del multiplicador, lo cual es contradictorio con el hecho de que la constante PFASu objetivo es capturar la actividad interna intrínseca asociada con la operación de multiplicación, ya que se considera una constante.
Se experimenta con el error de estimación (en relación con la simulación a nivel de interruptor) para un multiplicador de 16x16 y se observa que cuando el rango dinámico de las entradas no ocupa completamente la longitud de palabra del multiplicador, el modelo UWN se vuelve extremadamente impreciso. [ 6 ] Si bien es cierto que los buenos diseñadores intentan maximizar la utilización de la longitud de palabra, no es raro encontrar errores del 50 al 100 %. La figura sugiere claramente una deficiencia en el modelo UWN.
Véase también
- Ruta de datos
- Automatización del diseño electrónico (EDA)
- Nivel de sistema electrónico
- Máquina de estados finitos con ruta de datos
- Diseño de circuitos integrados
- Circuito síncrono
- Máquina de estados algorítmica
Estimación de potencia
Referencias
- ↑ Frank Vahid (2010). Diseño digital con RTL Design, Verilog y VHDL (2.ª ed.). John Wiley and Sons. pág. 247. ISBN 978-0-470-53108-2.
- ↑ Manual de Yosys (RTLIL)
- ↑ "Técnicas de estimación de potencia para circuitos integrados"
- ↑ "Metodologías de diseño arquitectónico de bajo consumo energético"
- ↑ "Técnicas de estimación del nivel de transferencia de registros para la actividad de conmutación y el consumo de energía"
- ↑ "Macromodelado de potencia para la estimación de potencia de alto nivel"
- Automatización del diseño electrónico