¿Cuál es el proceso de diseño de IC (digital)?

0

Si va a diseñar un IC digital desde abajo hacia arriba, comenzando con los transistores reales (y los componentes de IC pasivos) que forman las puertas lógicas, primero simule las puertas lógicas, flip-flops, mux / demuxes. ¿Como circuitos compuestos de componentes discretos para garantizar que funcionan correctamente antes de simularlos como un circuito integrado real? He intentado hacer esto con compuertas lógicas CMOS al construirlas a partir de componentes discretos utilizando NI MULTISIM 14, pero tales simulaciones no producen diseños funcionales. ¿O hay un enfoque diferente para diseñar un IC y simular el circuito para ver si funciona en teoría antes de que luego se fabrique y se pruebe?

    
pregunta Mr X

5 respuestas

6

Diría que el diseño de IC digital correcto no se hace de abajo hacia arriba sino de de arriba hacia abajo

Usted comienza con una especificación de la función que necesita. Obtienes esto de alguien más o escribes el tuyo.

Luego lo traduces en Verilog o VHDL y simulas hasta que haga lo que crees que debería hacer.

Luego, genera la lista de redes desde Verilog o VHDL.

Es muy probable que simules esa lista de redes para verificar que funciona como se esperaba.

Desde la lista de redes se sintetiza un diseño utilizando las bibliotecas del fabricante de IC. Estas bibliotecas contienen los diseños de todas las puertas necesarias (inversores, AND, OR puertas, etc.) y contienen información sobre el retraso de estas puertas.

Por lo general, a los diseñadores digitales no les molestan los transistores reales, ya que las puertas son bloques que están listos para usar.

El diseño sintetizado se envía al fabricante para su posterior procesamiento y creación de máscaras.

Las obleas luego se procesan usando estas máscaras.

Lo que escribí puede estar mal en algunos aspectos, ya que soy un diseñador de IC analógico, no uno digital. Cuando necesito algo digital simplemente dibujo un esquema con puertas directamente. Esto solo es adecuado para funciones simples con solo unas pocas puertas. Aunque a veces dispongo mis propias puertas de nivel de transistor.

    
respondido por el Bimpelrekkie
1

El diseño digital generalmente se divide en varias partes. Una parte de eso es el diseño de los transistores, y luego los componentes de la biblioteca (puertas lógicas, RAM, etc.) junto con los modelos de temporización. La fab descubre la mejor manera de hacer los transistores ejecutando muchas estructuras de prueba y midiendo sus características, luego construyendo modelos de dispositivos que capturen ese comportamiento. Luego, los diseñadores de bibliotecas toman los diseños de transistores y los convierten en bibliotecas de componentes.

Las bibliotecas consistirán en una gran cantidad de variaciones de compuertas estándar con diferentes tamaños de transistores (capacidad de carga y resistencia del variador) y voltajes de umbral para que puedan 'intercambiarse' más adelante en el proceso de diseño para ajustar la sincronización y el consumo de energía. Los componentes de la biblioteca también contendrán modelos simplificados que se derivan de simulaciones de nivel de transistor que se pueden usar para el análisis de temporización estática y el análisis de potencia de un diseño digital complejo. Todo esto generalmente se envuelve en un 'kit de diseño' de la fábrica de semiconductores.

Los diseñadores digitales diseñarán su sistema a un alto nivel, generalmente con un lenguaje de descripción de hardware, y realizarán simulaciones para asegurarse de que la lógica sea correcta. Entonces esto será sintetizado en puertas de la biblioteca de la fab. A continuación, se realiza la planificación del suelo para descubrir cómo colocar los componentes principales del chip. Luego se colocan las puertas, se enrutan el reloj y otras señales de alto fanout, luego se enruta todo lo demás. Se realizan varios análisis para asegurarse de que el diseño funcionará correctamente: tiempo, energía, electromigración, etc. A veces se deben hacer cambios en etapas anteriores (es decir, RTL) para mejorar el rendimiento. Todas las simulaciones se realizan en diferentes condiciones de proceso, voltaje y temperatura para asegurar que el diseño tenga el mejor rendimiento posible. Se realizan simulaciones posteriores al enrutamiento que toman en cuenta los retrasos de enrutamiento y propagación. Finalmente, los archivos de diseño de GDSII que definen todas las diferentes capas se generarán para enviar a la fábrica para su fabricación.

    
respondido por el alex.forencich
0

Usualmente comienzas en el nivel RTL. Después de eso, puede sintetizar el IC para un proceso de fabricación específico. La fab te dará su modelo de simulación. A continuación, puede simular en el nivel de transistor.

En el nivel de transistor, debe hacer principalmente: cierre de tiempo; asegúrese de que la red del reloj sea buena, es decir, monotónica, etc .; la impedancia coincide con las señales; mover las cosas para un mejor rendimiento, etc.

Obviamente lo estoy simplificando mucho, pero deberías tener una idea general. En el nivel RTL, se asegura de que funcione como se especifica. En el nivel de transistor, te aseguras de que funcione en la vida real.

Además, la verificación es una parte importante del proceso. Para la mayoría de los circuitos integrados probablemente tenga 2 intentos para hacerlo bien. La verificación formal es bastante común hoy en día.

    
respondido por el user110971
0

Puede depender de la escala de su circuito digital, pero toda la premisa del diseño digital es que la gran mayoría del diseño del circuito solo requiere una validación lógica con un simulador digital (2 o 4 estados), en lugar de una validación analógica usando especia Modelos y análisis de monte-carlo.

Para hacer que esta abstracción funcione, debe hacer muchas suposiciones y diseñar en algún margen. Esto se captura en una pequeña cantidad de parámetros para cada celda estándar (configuración, retención, tiempo de subida, retardo, etc.), pero incluso las personas que trabajan en el diseño a nivel de chip no se involucran con los modelos de especias muy a menudo.

Las abstracciones son seguras de realizar en diseños grandes porque hay muchas rutas típicamente críticas y muchos componentes eventuales, todos con tolerancias de fabricación individuales, por lo que el rendimiento del circuito completo en un lote tiende (según las estadísticas de grandes números) hacia un comportamiento lo suficientemente consistente (y las herramientas de análisis están bien sintonizadas ahora en comparación con hace 40 años).

Esta es la norma a menos que esté trabajando en una nueva vanguardia en la que pueda tomar un buen diseño lógico conocido como una de las entradas para algún análisis de alguna variación de flujo, o quiera analizar por qué una abstracción dio un resultado inexacto. en prueba de silicio.

    
respondido por el Sean Houlihane
0

Déjame poner mi variante de respuesta. Si vas a diseñar un IC digital ... lo diseñas desde arriba hacia abajo.

Primero, su personal técnico senior de marketing define lo que debe tener el IC para ser comercializable y potencialmente rentable.

Luego, su jefe de diseño / arquitecto senior determina qué bloques funcionales deben estar allí para cumplir los objetivos comerciales, y escribe las especificaciones de la arquitectura del dispositivo. Al mismo tiempo, la alta gerencia, contando los gastos futuros, decide qué fundición / proceso usar para lograr estos objetivos.

Entonces, estos bloques funcionales están diseñados según las especificaciones deseadas, o la administración decide comprar la propiedad intelectual (IP) de alguna empresa externa de diseño. Comprar IP externa puede ser preferible si el proveedor es de confianza. La selección y calificación de IP externa es un proceso en sí mismo.

Luego, los ingenieros de integración enganchan todos estos bloques de IP con buses internos o matrices de conmutación, agregan envoltorios a las celdas de E / S, etc., y los ingenieros de verificación ejecutan todo lo virtual a través de simulaciones de comportamiento para garantizar que todas las configuraciones / configuraciones y el acceso de registro Se ajustan a las especificaciones arquitectónicas. Todo este trabajo se realiza virtualmente en una u otra variante de RTL Register Transfer Language, Verilog o VHDL.

El proceso de diseño de "las puertas lógicas, flip-flops, mux / demuxes como circuitos compuestos de componentes discretos para garantizar que funcionen correctamente" se realiza normalmente por la fundición, como parte del llamado "proceso de calificación" para en particular, el "nodo de proceso", para garantizar que todos los elementos de esta "biblioteca" funcionen de manera confiable a través de los rangos de proceso, voltaje, temperatura de PVT, lo que da como resultado datos específicos del controlador de puerta / bloque, y anota la información de temporización. Estas bibliotecas forman parte del servicio de fundición, y las fundiciones hacen un esfuerzo enorme para producir bibliotecas que funcionen bien. Esto es si el diseño apunta a ASIC. Si el diseño puede implementarse en FPGA, todo este "trabajo duro de biblioteca" lo realiza el proveedor de FPGA, pero la idea es la misma.

Luego, los ingenieros de diseño sugieren la colocación de bloques sintetizados de RTL en una biblioteca de elementos interconectados (llamada mapeo), luego "colocados y enrutados" utilizando herramientas CAD bastante caras. Dado que ahora los elementos de la biblioteca no son solo funciones lógicas, sino que también tienen cierto tiempo de propagación (también conocido como "tiempo anotado atrás"), el diseño completo se ejecuta nuevamente a través del conjunto de pruebas de verificación, para garantizar que toda la lógica secuencial cumpla con los retrasos combinatorios para el reloj deseado. tarifa. El cierre de los problemas de tiempo puede requerir algunos cambios en el diseño, y requiere tiempo y buena atención.

Cuando el diseño cumple con los objetivos deseados, se "graba", lo que significa que los archivos de diseño se generan y envían a la fundición para producir el conjunto necesario de máscaras y comenzar el proceso de fabricación.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas