stringtranslate.com

Nivel de transferencia de registro

En el diseño de circuitos digitales , el nivel de transferencia de registros ( RTL ) es una abstracción de diseño que modela un circuito digital sincrónico en términos del flujo de señales digitales ( datos ) entre registros de hardware y las operaciones lógicas realizadas en esas señales.

La abstracción a nivel de transferencia de registros 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 de transferencia de registros es una práctica típica 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 sobre la que operan los diseñadores de circuitos. De hecho, 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 de destino . A diferencia de la lista de conexiones, están disponibles 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

Ejemplo de un circuito simple con la salida alternando en cada flanco ascendente de la entrada. El inversor forma la lógica combinacional en este circuito y el registro mantiene el estado.

Un circuito síncrono consta de dos tipos de elementos: registros (lógica secuencial) y lógica combinacional . Los registros (generalmente implementados como flip-flops D ) sincronizan el funcionamiento del circuito con los flancos de la señal de reloj y son los únicos elementos del circuito que tienen propiedades de memoria. La lógica combinacional realiza todas las funciones lógicas del circuito y, por lo general, 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 del registro, D, para crear un circuito que cambia su estado en cada flanco ascendente del reloj, clk. En este circuito, la lógica combinacional consta del inversor.

Al diseñar circuitos integrados digitales con un lenguaje de descripción de hardware (HDL), los diseños suelen diseñarse a un nivel de abstracción más alto que el nivel de transistor ( familias lógicas ) o el nivel de compuerta lógica. En los HDL, el diseñador declara los registros (que corresponden aproximadamente a las variables en los lenguajes de programación informática) y describe la lógica combinacional mediante construcciones que son familiares en los lenguajes de programación, como if-then-else y las operaciones aritméticas. Este nivel se denomina nivel de transferencia de registros . El término se refiere al hecho de que el RTL se centra en describir el flujo de señales entre registros.

A modo de ejemplo, el circuito mencionado anteriormente se puede describir en VHDL de la siguiente manera:

D <= no Q ; proceso ( clk ) comienza si borde_ascendente ( clk ) entonces Q <= D ; fin si ; fin proceso ;             

Si se utiliza una herramienta EDA para la síntesis, esta descripción 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 un camino cíclico de lógica 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 puede decirse que es lógica secuencial . Si existen caminos lógicos desde un registro hasta otro sin un ciclo, se denomina pipeline .

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 suele convertirse en una descripción a nivel de compuerta del circuito mediante una herramienta de síntesis lógica . Los resultados de la síntesis se utilizan luego mediante 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 exactitud.

Técnicas de estimación de potencia para RTL

Las herramientas de análisis de potencia más precisas están disponibles para el nivel de circuito, pero desafortunadamente, incluso con el modelado a nivel de interruptor en lugar de a nivel de dispositivo, las herramientas a nivel de circuito tienen desventajas como que son demasiado lentas o requieren demasiada memoria, lo que inhibe el manejo de chips grandes. La mayoría de estos son simuladores como SPICE y han sido utilizados por los diseñadores durante muchos años como herramientas de análisis de rendimiento. Debido a estas desventajas, las herramientas de estimación de potencia a nivel de compuerta han comenzado a ganar cierta aceptación, donde las técnicas más rápidas y probabilísticas han comenzado a ganar terreno. Pero también tiene su desventaja, ya que la aceleración se logra a costa de la precisión, especialmente en presencia de señales correlacionadas. A lo largo de los años se ha comprendido que las mayores ganancias en el diseño de bajo consumo no pueden provenir de optimizaciones a nivel de circuito y compuerta, mientras que las optimizaciones de arquitectura, sistema y algoritmo tienden a tener el mayor impacto en el consumo de energía. Por lo tanto, ha habido un cambio en la inclinación de los desarrolladores de herramientas hacia herramientas de análisis y optimización de alto nivel para la energía.

Motivación

Es bien sabido que es posible lograr reducciones de potencia más significativas si se realizan optimizaciones en niveles de abstracción, como el nivel arquitectónico y algorítmico, que son más altos que el nivel de circuito o compuerta [3]. Esto proporciona la motivación necesaria para que los desarrolladores se concentren en el desarrollo de nuevas herramientas de análisis de potencia a nivel arquitectónico. Esto de ninguna manera implica que las herramientas de nivel inferior no sean importantes. En cambio, 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 a 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 arquitectural

Equivalentes de compuertas[4]

Se trata de una técnica basada en el concepto de equivalentes de compuerta. La complejidad de la arquitectura de un chip se puede describir aproximadamente en términos de equivalentes de compuerta, donde el recuento de equivalentes de compuerta especifica el número promedio de compuertas de referencia que se requieren para implementar la función particular. La potencia total requerida para la función particular se calcula multiplicando el número aproximado de equivalentes de compuerta por la potencia promedio consumida por compuerta. La compuerta de referencia puede ser cualquier compuerta, por ejemplo, una compuerta NAND de 2 entradas.

Ejemplos de técnica de compuerta equivalente

Pasos:
  1. Identificar los bloques funcionales como contadores, decodificadores, multiplicadores, memorias, etc.
  2. Asignar una complejidad en términos de equivalentes de compuerta. La cantidad de GE para cada tipo de unidad se toma directamente como entrada del usuario o se ingresa desde una biblioteca.
Donde E typ es la energía disipada promedio asumida por una compuerta equivalente, cuando está activa. El factor de actividad, A int , denota el porcentaje promedio de compuertas que cambian por ciclo de reloj y se permite que varíe de una función a otra. La carga capacitiva, C L , es una combinación de carga de distribución y cableado. Se puede utilizar 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:
  1. Se toma una única puerta de referencia como base para todas las estimaciones de potencia, sin tener en cuenta diferentes estilos de circuitos, estrategias de reloj o técnicas de diseño.
  2. Se supone que el porcentaje de conmutación de puertas por ciclo de reloj indicado por factores de actividad es fijo independientemente de los patrones de entrada.
  3. La energía de conmutación de compuerta típica 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 que el circuito esté inactivo o con carga máxima, ya que este modelo UWN ignora cómo las diferentes distribuciones de entrada afectan el consumo de energía de las compuertas y los módulos. [5]
Donde C wire denota la capacitancia del cableado de la línea de bits por unidad de longitud y C cell denota la carga debido a una sola celda que cuelga de la línea de bits. La capacitancia del reloj se basa en el supuesto de una red de distribución de árbol H. La actividad se modela utilizando un modelo UWN. Como se puede ver en la ecuación, el consumo de energía de cada componente está relacionado con la cantidad de columnas (N col ) y filas (N row ) en la matriz de memoria.
Desventajas:
  1. Las actividades del circuito no se modelan con precisión, ya que se supone un factor de actividad general para todo el chip, que tampoco es confiable, ya que lo proporciona el usuario. De hecho, los factores de actividad varían en todo el chip, por lo que no es muy preciso y es propenso a errores. Esto genera el problema de que, incluso si el modelo brinda una estimación correcta del consumo total de energía del chip, la distribución de energía por módulo es bastante inexacta.
  2. El factor de actividad elegido 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 es muy diferente ni mejor en comparación con CES.

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 independiente para la lógica, la memoria y la 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 a una puerta para los bloques "lógicos".
La potencia de 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 y denota la frecuencia de activación.

Ejemplo

G i, que denota la complejidad del hardware del multiplicador, está relacionada 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 velocidad a la que se realizan las multiplicaciones mediante el algoritmo denotado por y 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 los supuestos anteriores es:

Ventajas:

Debilidad:

Se ha realizado un experimento con el error de estimación (en relación con la simulación a nivel de conmutación) para un multiplicador de 16x16 y se ha observado que cuando el rango dinámico de las entradas no ocupa por completo la longitud de palabra del multiplicador, el modelo UWN se vuelve extremadamente inexacto. [6] Es cierto que los buenos diseñadores intentan maximizar la utilización de la longitud de palabra, pero no son raros los errores en el rango del 50-100 %. La figura sugiere claramente una falla en el modelo UWN.

Véase también

Estimación de potencia

Referencias

  1. ^ Frank Vahid (2010). Diseño digital con diseño RTL, Verilog y VHDL (2.ª ed.). John Wiley and Sons. pág. 247. ISBN 978-0-470-53108-2.
  2. ^ Manual de Yosys (RTLIL)
  3. ^ "Técnicas de estimación de potencia para circuitos integrados"
  4. ^ "Metodologías de diseño arquitectónico de bajo consumo"
  5. ^ "Técnicas de estimación del nivel de transferencia de registros para la actividad de conmutación y el consumo de energía"
  6. ^ "Macromodelado de potencia para estimación de potencia de alto nivel"