El proceso de resolución en partes componentes o análisis, interpretación, traducción, optimización (reorganización o reescritura para mejorar la eficiencia) y asignación de código RTL (nivel de transferencia de registro) en una biblioteca de celdas particular e indicada.
Producción programada de componentes lógicos en un circuito digital específico que puede involucrar varios tipos de combinaciones complejas de puertas lógicas y transistores. Si un diseño digital se encuentra en la síntesis lógica de nivel de transferencia de registro, conviértalo en una implementación de nivel de puerta . Desempeña un papel importante en la eliminación de la brecha y la vinculación de la síntesis de alto nivel y la mecanización del diseño físico.
Historia de la Síntesis Lógica:
En las primeras etapas del desarrollo de la Síntesis lógica, los ingenieros solían diseñar y optimizar circuitos electrónicos utilizando lápiz y papel (el método tradicional) y hacían las iteraciones de la tabla de verdad con la ayuda de los mapas de Karnaugh . Después de los desarrollos tecnológicos, se hizo a través de sistemas informáticos para hacer la minimización lógica.
Inconvenientes del sistema existente:
- Los diseños de código y lógica tenían que escribirse manualmente en papel.
- Existía una limitación en el número de variables que podían utilizarse en el diseño lógico.
- Solo podía diseñar diseños muy pequeños y simples que no podían resolver problemas complejos.
Necesidad de síntesis lógica:
Implementando la síntesis lógica podemos utilizar un mayor número de dispositivos electrónicos. Según la Ley de Moore, la cantidad de componentes electrónicos, como puertas lógicas y transistores, continúa duplicándose en un lapso de 18 meses, lo que conduce a requisitos de diseño más compactos y una densidad muy alta de circuitos integrados.
Para un mayor rendimiento, tenemos que fabricar diseños más compactos y poner puertas y otros componentes lo más cerca posible para reducir la distancia entre ellos. En última instancia, esto conducirá a una conducción más rápida, reducirá los retrasos y provocará una operación de mayor frecuencia.
El desarrollo de Logic Design condujo a una reducción en el ciclo de diseño de ASIC.
Diseño ASIC:
El diseño ASIC es un procedimiento para la reducción del costo y tamaño de un circuito electrónico a través de la contracción e integración de varios tipos de chips electrónicos en un solo elemento, esto se denomina – Circuito Integrado Específico de Aplicación.
El ciclo de diseño de ASIC incluye pasos como:
- Conceptualización del diseño
- Optimización de chips
- Implementación lógica y física
- Validación y verificación del diseño.
- Especificación del chip: se definen la microarquitectura, las especificaciones, las funcionalidades y las características.
- Verificación funcional: ejecuta la simulación a nivel de diseño y verifica la funcionalidad del circuito.
- Síntesis de bloques RTL: traduce el código RTL en una lista de conexiones a nivel de puerta mediante síntesis lógica bajo las restricciones.
- Particionamiento del chip: el chip se divide en numerosos bloques funcionales, todos vinculados entre sí en un orden jerárquico de tal manera que el chip es energéticamente eficiente, ocupa un área pequeña y no es costoso.
- Floor planning: es el anteproyecto de la implantación física del chip.
- Síntesis del árbol del reloj: configurar el árbol del reloj y consultar el tiempo predefinido, los requisitos de energía y el área.
- Verificación final: el paso final de la verificación física es solo verificar si hay algún error en el circuito.
Ciclo de diseño ASIC
Requisito previo para la síntesis de la puerta lógica:
- Deberíamos saber querer lo que queremos como salida
- Identificar las especificaciones del circuito.
- Debemos conocer su eficiencia, frecuencia, potencia utilizada, tiempo de uso, tamaño y factibilidad de fabricación.
- Qué tipo de tecnología se tiene que implementar para la síntesis.
- Ponga el diseño en forma de código Verilog que se llama RTL.
RTL: Nivel de transferencia de registro:
Es un lenguaje de descripción de hardware (HDL) para la síntesis de circuitos digitales. Los circuitos se pueden definir como una colección de registros, ecuaciones booleanas y declaraciones de lógica de control.
Por ejemplo, las declaraciones if-then-else se pueden utilizar para realizar funciones controladas que se pueden combinar para realizar una operación compleja. Se utiliza para crear representaciones de circuitos de alto nivel.
Diseño lógico:
Las computadoras no entienden ningún idioma excepto el binario, trabajan en un sistema lógico de 2 valores de 1 y 0. Las computadoras deben ejecutar varias operaciones aritméticas que llevan a cabo a través de puertas lógicas.
Las puertas lógicas están construidas con circuitos integrados que tienen señales de entrada y señales de salida y funcionan en sistemas numéricos binarios. Se utilizan diferentes tipos de combinaciones de puertas lógicas para ejecutar diferentes tipos de programas.
Por ejemplo, suma, resta, multiplicación (suma repetida), inversión, etc.
Hay siete tipos de puertas lógicas:
- Y PUERTA
- O PUERTA
- NO PUERTA
- PUERTA NAND
- PUERTA NI
- PUERTA XOR
- PUERTA XNOR
Al conectar diferentes secuencias de puertas lógicas de diferentes maneras, se pueden construir nuevos dispositivos que pueden realizar funciones aritméticas básicas o incluso complejas.
Objetivos de la síntesis lógica:
- Minimice el tamaño del conteo de celdas de la puerta lógica y el tamaño de celda
- Minimice la energía mientras cambia entre puertas
- Maximice el rendimiento en términos de rendimiento de reloj de sistemas síncronos y rendimiento para sistemas asíncronos
- Produzca rápidamente modelos funcionales precisos
- Producir resultados predecibles y precisos El área de tiempo y los cálculos de consumo de energía deben corresponder con los valores reales medidos en el dispositivo físico una vez fabricado.
Flujo de síntesis lógica:
- Análisis de sintaxis: toma la entrada de archivos HDL y comprueba si hay errores de sintaxis.
- Definición de biblioteca: proporciona y asigna celdas estándar y bibliotecas de IP.
- Elaboración y encuadernación: traduce RTL a la estructura booleana. Vincula todas las celdas y hace que las bibliotecas estén disponibles.
- Definición de restricción: para construir un chip personalizado y específico, necesitamos definir restricciones según las cuales funcionará el chip. Por ejemplo, frecuencia de reloj, eficiencia energética, etc.
- Optimización de asignación previa: realiza la asignación a celdas genéricas en la biblioteca.
- Asignación de tecnología: realiza la asignación de las bibliotecas genéricas a las bibliotecas de tecnología.
- Optimización posterior al mapeo: cambia los diseños de las puertas para cumplir con las restricciones.
- Informe y exportación: proporcione los resultados finales con informes sobre tiempos y exportación.
Implementación de Síntesis Lógica:
1. O multiplexor:
/*Register transfer Language*/ module OR (i, j, s0, s1, k); input [3:0] i; input [3:0] j; input s0, s1; output [3:0] k; reg k; always @ (i or j or s0 or s1) if (!s0 && s1 || s0) k=i; else k=j; endmodule
2. Sumador completo:
/*Register Transfer Language*/ module fulladder (input [3:0] a, input [3:0] b, input c_in, output c_out, output [3:0] sum); assign {c_out, sum} = a+b+c_in; endmodule
Publicación traducida automáticamente
Artículo escrito por rajvardhandas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA