De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

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 de nivel de transferencia de registro 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, cableado real. El diseño a nivel RTL es una práctica típica en el diseño digital moderno. [1]

A diferencia del diseño del compilador de software, donde el nivel de transferencia de registro es una representación intermedia y en el nivel más bajo, el nivel RTL es la entrada habitual en 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 conexiones de destino . A diferencia de netlist, están disponibles construcciones como celdas, funciones y registros de múltiples bits. [2] Los ejemplos incluyen FIRRTL y RTLIL.

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 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 se conecta 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 consiste en el inversor.

Al diseñar circuitos integrados digitales con un lenguaje de descripción de hardware (HDL), los diseños generalmente se diseñan a un nivel de abstracción más alto que el nivel de transistor ( familias lógicas ) o el nivel de puerta lógica. En HDL, el diseñador declara los registros (que corresponden aproximadamente a variables en 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 denomina 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  rising_edge ( clk )  luego  Q  <=  D ;  terminar  si ; terminar el  proceso ;

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 una optimización lógica .

En el nivel de transferencia de registro, se pueden reconocer algunos tipos de circuitos. Si hay una ruta cíclica de lógica desde la salida de un registro a su entrada (o desde un conjunto de salidas de registros a sus entradas), el circuito se denomina máquina de estado o se puede decir que es lógica secuencial . Si hay rutas lógicas de un registro a otro sin ciclo, se denomina 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 . Las herramientas de colocación y enrutamiento utilizan los resultados de la síntesis para crear un diseño físico .

Las herramientas de simulación lógica pueden usar 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 SPICEy 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 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 compensación ya que se logra acelerar el costo de la precisión, especialmente en presencia de señales correlacionadas. A lo largo de los años, se ha descubierto que los mayores logros en el diseño de bajo consumo de energía 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 la energía.

Motivación

Es bien sabido que son posibles reducciones de energía 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 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 que 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 estimaciones de potencia a nivel RTL o arquitectónico

  • Los diseñadores utilizan una descripción de nivel de transferencia de registro (RTL) del diseño para realizar optimizaciones y compensaciones muy temprano en el 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 puerta o circuito.

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 Gate Equivalent

  • Modelado de potencia independiente de la clase: es una técnica que intenta estimar el área del chip, la velocidad y la disipación de potencia basándose en información sobre la complejidad del diseño en términos de equivalentes de puerta. La funcionalidad se divide entre diferentes bloques, pero no se hace distinción sobre la funcionalidad de los bloques, es decir, es básicamente independiente de la clase. Esta es la técnica utilizada por el Chip Estimation System (CES).
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 una entrada del usuario o se alimenta de una biblioteca.
Donde E typ es la energía disipada promedio asumida por un equivalente de puerta, cuando está activo. El factor de actividad, A int , denota el porcentaje medio de cambios de puertas 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 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 un derivado de la Regla de alquiler.
Supuestos:
  1. Se toma una única puerta de referencia como base para todas las estimaciones de potencia sin tener en cuenta los diferentes estilos de circuito, estrategias de reloj o técnicas de distribución.
  2. Se supone que el porcentaje de cambio 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 aleatorio 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]
  • Modelado de potencia dependiente de la clase: este enfoque es ligeramente mejor que el enfoque anterior, ya que tiene en cuenta técnicas de estimación personalizadas para los diferentes tipos de bloques funcionales, tratando de aumentar la precisión del modelado, lo que no era el caso en la técnica anterior, como la lógica. , memoria, interconexión y reloj, de ahí el nombre. La estimación de la potencia se realiza de manera 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, por ejemplo, ancho de puerta, tox y ancho de metal proporcionados por el usuario.
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 conduce 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 o mejorada en comparación con CES.

Bibliotecas de células caracterizadas previamente

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 de puerta única para bloques "lógicos".
El poder sobre 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, G i es la medida de la complejidad del hardware y f i denota 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 velocidad a la que se realizan las multiplicaciones mediante el algoritmo denotado por f mult y la constante PFA, K mult , 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 en 5V. El modelo de potencia resultante para el multiplicador sobre la base de los supuestos anteriores es:

Ventajas:

  • La personalización es posible en términos de cualquier parámetro de complejidad que sea apropiado para ese bloque. Por ejemplo, para un multiplicador, el cuadrado de la longitud de la palabra era apropiado. Para la memoria, se utiliza la capacidad de almacenamiento en bits y para los controladores de E / S, la longitud de la palabra por sí sola es adecuada.

Debilidad:

  • Existe la suposición implícita de que las entradas no afectan la actividad del multiplicador, lo que contradice el hecho de que la constante de PFA K mult está destinada a capturar la actividad interna intrínseca asociada con la operación de multiplicación, ya que se considera una constante.

Se experimenta el error de estimación (relativo a la simulación de 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 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

  • Ruta de datos
  • Automatización de diseño electrónico (EDA)
  • Nivel de sistema electrónico
  • Máquina de estados finitos con ruta de datos
  • Diseño de circuito integrado
  • Circuito sincrónico
  • Máquina de estado algorítmica

Estimación de potencia

  • Equivalente de puerta
  • Optimización de energía (EDA)
  • Ruido gaussiano

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 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"