Capas de abstracción de diseño
Antes de ver más detalles del lenguaje Verilog, sería bueno comprender las diferentes capas de abstracción en el diseño de chips.
La capa superior es la arquitectura a nivel del sistema que define los diversos subbloques y los agrupa en función de la funcionalidad. Por ejemplo, un clúster de procesadores tendría múltiples núcleos, bloques de caché y lógica de coherencia de caché. Todo esto será encapsulado y representado como un solo bloque con señales de entrada y salida.
En el siguiente nivel, cada subbloque está escrito en un lenguaje de descripción de hardware para describir con precisión la funcionalidad de cada bloque individual. Los detalles de implementación de nivel inferior, como esquemas de circuitos, bibliotecas de tecnología, se ignoran en esta etapa. Por ejemplo, un bloque de controlador terminará teniendo múltiples archivos Verilog, cada uno de los cuales describe un componente más pequeño de su funcionalidad.
Luego, los HDL se convierten en esquemas de nivel de puerta que también involucran bibliotecas de tecnología que caracterizan elementos digitales como flip-flops. Por ejemplo, el circuito digital para un latch D contiene compuertas NAND dispuestas de cierta manera de modo que todas las combinaciones de entradas D y E produzcan una salida Q dada por la tabla de verdad.
Una tabla de verdad esencialmente proporciona la permutación de todos los niveles de señal de entrada y el nivel de salida resultante, y el que se proporciona a continuación es para un pestillo D con un pin de habilitación. El esquema de hardware también se puede derivar de la tabla de verdad usando lógica booleana y K-maps. Sin embargo, no es práctico seguir este método para bloques digitales más complejos como procesadores y controladores.
La implementación de una puerta NAND se realiza mediante la conexión de transistores CMOS en un formato particular. En este nivel, los anchos de canal del transistor, Vdd y la capacidad de impulsar la carga capacitiva de salida se tienen en cuenta durante el proceso de diseño.
El paso final es el diseño de estos transistores en silicio utilizando herramientas EDA para que pueda fabricarse. En este nivel, se requeriría algún conocimiento de dispositivos y tecnología porque diferentes diseños terminan teniendo diferentes propiedades físicas como resistencia y capacitancia, entre otras implicaciones.
Estilos de diseño
A continuación, se siguen principalmente dos estilos en el diseño de bloques digitales, que son metodologías de arriba hacia abajo y de abajo hacia arriba.
De arriba hacia abajoEn este estilo, primero se define un bloque de nivel superior junto con la identificación de los submódulos necesarios para construir el bloque superior. De manera similar, cada uno de los subbloques se divide en componentes más pequeños y el proceso continúa hasta que llegamos a la celda hoja o a una etapa en la que no se puede dividir más.
De abajo hacia arribaEn este caso, la primera tarea es identificar los componentes básicos disponibles. Luego se juntan y conectan de cierta manera para construir celdas más grandes y se usan para armar el bloque de nivel superior.
Normalmente, se utiliza una combinación de ambos flujos. Los arquitectos definen la vista del nivel del sistema del diseño, y los diseñadores implementan la lógica de cada uno de los bloques funcionales y se sintetizan en puertas. Se sigue un estilo de arriba hacia abajo hasta este punto. Sin embargo, estas puertas se han construido siguiendo un flujo de abajo hacia arriba donde se comienza con el diseño físico del bloque más pequeño en la mejor área, rendimiento y potencia posibles. Estas celdas estándar también tienen un esquema de hardware y se pueden usar para obtener información diversa, como tiempos de subida y bajada, potencia y otros retrasos. Estas celdas se ponen a disposición de la herramienta de síntesis que las selecciona y las instancia cuando es necesario.
Verilog
- Los desafíos del diseño de productos
- Cambiar diseño de contacto
- Bloque de hormigón
- Ámbito variable de C#
- Tutorial de Verilog
- Bloques de control Verilog
- Modelado de nivel de puerta
- Ejemplos de nivel de puerta de Verilog
- Modelado de nivel de interruptor
- ¿Qué es el diseño arquitectónico?
- Cómo nivelar un torno