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 síncrono 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 RTL es una práctica típica del 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 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 del registro de entrada y la lista de red de destino. A diferencia de netlist, están disponibles construcciones como celdas, funciones y registros de varios bits. [2] Los ejemplos incluyen 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 conmutándose 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 bordes de la señal del reloj y son los únicos elementos del circuito que tienen propiedades de memoria. La lógica combinacional realiza todas las funciones lógicas en el 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 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 está formada por el inversor.

Al diseñar circuitos integrados digitales con un lenguaje de descripción de hardware (HDL), los diseños generalmente se diseñan en un nivel de abstracción más alto que el nivel de transistor ( familias lógicas ) o el nivel de puerta lógica. En los HDL, el diseñador declara los registros (que corresponden aproximadamente a variables en los lenguajes de programación de computadoras) y describe la lógica combinacional mediante el uso de construcciones que son familiares de los lenguajes de programación como if-then-else y operaciones aritméticas. Este nivel se llama nivel de transferencia de registro . El término se refiere al hecho de que 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 ; el proceso ( clk ) comienza si rise_edge ( clk ) entonces Q <= D ; terminara si ; proceso finalizado ;             

Utilizando una herramienta EDA para 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 optimización lógica .

En el nivel de transferencia de registros, se pueden reconocer algunos tipos de circuitos. Si hay una ruta lógica cíclica desde la salida de un registro a su entrada (o desde un conjunto de salidas de registros a sus entradas), el circuito se llama máquina de estados o se puede decir que es lógica secuencial . Si hay caminos lógicos de un registro a otro sin ciclo, se llama canalización .

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 generalmente se convierte en una descripción a nivel de puerta del circuito mediante una herramienta de síntesis lógica . Los resultados de la síntesis luego son utilizados por 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 ellos son simuladores como SPICE y los diseñadores los han utilizado 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 puerta han comenzado a ganar cierta aceptación donde las técnicas probabilísticas más rápidas han comenzado a ganar terreno. Pero también tiene su contrapartida, 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 descubierto que los mayores beneficios en el diseño de bajo consumo no pueden provenir de optimizaciones a nivel de circuito y puerta, 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 el poder.

Motivación

Es bien sabido que son posibles 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 superiores al nivel del circuito o de la puerta [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 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 en un nivel inferior se pueden utilizar en un nivel superior con ligeras modificaciones.

Ventajas de realizar estimación de potencia a nivel RTL o arquitectónico

Equivalentes de puerta [4]

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

Ejemplos de técnica de equivalente de puerta

Pasos:
  1. Identificar los bloques funcionales como contadores, decodificadores, multiplicadores, memorias, etc.
  2. Asigne una complejidad en términos de equivalentes de puerta. El número de GE para cada tipo de unidad se toma directamente como entrada del usuario o se alimenta desde una biblioteca.
Donde E typ es la energía disipada promedio supuesta por una puerta equivalente, cuando está activa. El factor de actividad, A int , denota el porcentaje promedio de compuertas que cambian por ciclo de reloj y puede variar de una función a otra. La carga capacitiva, C L , es una combinación de carga en abanico 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 utilizando un derivado de la Regla del alquiler.
Supuestos:
  1. Se toma una única puerta de referencia como base para todas las estimaciones de potencia sin tener en cuenta diferentes estilos de circuito, estrategias de sincronización o técnicas de diseño.
  2. Se supone que el porcentaje de conmutación de puertas por ciclo de reloj indicado por los factores de actividad es fijo independientemente de los patrones de entrada.
  3. La energía de conmutación de puerta 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 puertas y módulos. [5]
Donde el cable C denota la capacitancia del cableado de la línea de bits por unidad de longitud y la celda C denota la carga debida 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 puede verse 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 fila ) 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 según lo proporcionado por el usuario. De hecho, los factores de actividad variarán a lo largo del chip, por lo que esto no es muy preciso y propenso a errores. Esto lleva al 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 del 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 mejorada 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 separado 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. de un modelo equivalente a una única puerta para bloques “lógicos”.
El poder sobre todo el chip se aproxima mediante la expresión:

Donde K i es la constante de proporcionalidad de 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 indicado por y la constante PFA, se extrae empíricamente de diseños de multiplicadores anteriores y se muestra 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 experimenta el error de estimación (en relación con la simulación de nivel de conmutación) 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 inexacto. [6] Por supuesto, los buenos diseñadores intentan maximizar la utilización de la longitud de las palabras. Aún así, los errores en el rango del 50-100% no son infrecuentes. La figura sugiere claramente una falla en el modelo UWN.

Ver también

Estimación de potencia

Referencias

  1. ^ Frank Vahid (2010). Diseño Digital con RTL Design, Verilog y VHDL (2ª ed.). John Wiley e hijos. pag. 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 registro para la actividad de conmutación y el consumo de energía"
  6. ^ "Macromodelado de potencia para estimación de potencia de alto nivel"