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.