¿Qué puede salir mal al producir un ASIC a partir de un diseño de verilog verificado por FPGA?

7

Dado un diseño Verilog completamente validado en un sistema de creación de prototipos FPGA, y alguien que nunca ha hecho un ASIC antes, ¿cuáles son las posibilidades de que un servicio como CMP enviará chips totalmente utilizables en el primer intento? Por lo que puedo decir, proporcionan la biblioteca de células y las herramientas, y hacen un DRC, por lo que en teoría parece que simplemente tomar la RTL y compilar el diseño con sus bibliotecas de células debería resultar en una chip utilizable.

¿Qué tipo de cosas pueden salir mal al mover un diseño validado por FPGA a un proceso básico como el proceso CMOS de 0.35μm de CMP?

Si el diseño funciona en FPGA pero no en el chip, ¿se puede depurar sin servicios muy especializados como desencapsulación y microprobación?

    
pregunta Tim

3 respuestas

4

Lotes ...

Una verificación FPGA es solo una verificación funcional o algo que puede usar para emular el chip final en el sistema antes de obtener el silicio final.

Hay compañías que proporcionan conversiones de FPGA a Si y lo hacen a través de diferentes métodos. O bien tienen una estructura que asigna 1: 1 a la estructura FPGA (en realidad, solo un cambio de metal y de enrutamiento) O saben cómo obtener el cierre de tiempo con celdas estándar.

El enlace al sitio web es para celdas estándar, así que, a menos que sepa lo que está haciendo, esté preparado para hacerlo mal. El cierre de tiempo, las regresiones y las restricciones utilizadas en la síntesis de FPGA son un subconjunto de lo que necesita para obtener una célula estándar fuera de la puerta. Así que puede tener RTL, que sin duda va a cambiar. El P & R estará impulsado por restricciones muy diferentes a las que utiliza un FPGA. Tendrá que ser más explícito y detallado en las rutas críticas que en un FPGA.

La debuggablility es un factor que determina si tiene inserción de escaneo, interfaces JTAG y soporte de depuración integrado. Si crees que puedes confiar en una estación de sondeo y herramientas avanzadas para probar dentro del chip, ya has perdido el juego. La mayoría de las señales no están disponibles o solo están disponibles una vez que el chip está muy deshabilitado. Y algunas señales ni siquiera son probables ya que la capacidad de la sonda es demasiado grande.

Debes diseñar en prueba desde el principio. Parada completa Así que la RTL ya no es la misma RTL con la que empezaste.

    
respondido por el placeholder
4

Parece que CMP toma archivos GDSII, así que parece que todo el flujo de back-end de la producción de RTL depende de usted.

Para obtener un chip que funcione, deberías hacerlo (esta no es una lista completa, solo por encima de mi cabeza):

  • Realizar correctamente el análisis de tiempo de su circuito en busca de problemas de configuración y retención
  • Realizar una verificación de nivel de puerta en su diseño (un estilo de codificación RTL deficiente puede llevar a problemas en los que la simulación se aparta de la operación de nivel de puerta real, es necesario comprobar si hay propagación de x)
  

Si el diseño funciona en FPGA pero no en el chip, ¿se puede depurar sin servicios muy especializados como desencapsulación y microprobación?

Es debuggable si diseñas tu chip para que sea fácil de depurar. Si su chip tiene una entrada y una salida y la salida falla, entonces tendrá un tiempo muy difícil. Típicamente, los diseños profesionales incluyen cosas como modos de prueba y cadenas de escaneo (donde puede serializar y escanear cada registro en su diseño a través de una interfaz jtag, así como ingresar un flujo serial para inicializar los registros en su diseño a un estado específico). Sin embargo, se requiere una gran cantidad de tiempo para codificar correctamente un chip para una buena depuración, por lo que puede decidir si la inversión de tiempo vale la pena según la complejidad de su chip.

    
respondido por el Tim
4

Consulte ¿Cómo es el diseño ASIC? ¿Diferente de la síntesis de FPGA HDL?

El proceso de diseño y creación de instancias es muy diferente entre los dos; ¿está utilizando uno de los servicios de "copia impresa" de ASIC o está resintetizando toda la lógica?

Tendrá que hacer todo el cierre de tiempo y el diseño usted mismo, y volver a estimular la lista de redes final de nivel de puerta. Suponiendo que funcione, también deberá verificar su consumo de energía, incluida la corriente de arranque; es posible que obtenga algo que funcione pero que queme el cable de enlace único que usó para su pin de alimentación, o de lo contrario se sobrecalienta y falla.

Si tiene partes analógicas en su chip (reguladores, PLL de reloj), tendrá que volver a validar su uso.

Como dice la otra respuesta, deseará algún tipo de arreglo DFT; como mínimo, necesita una exploración suficiente para identificar los defectos de fabricación.

Edit: vale mucho la pena contratar a una empresa "backend" para que haga esto por usted. Le costará de £ 10 a £ 50k, pero le ahorrará al menos esa cantidad en la producción fallida de IC.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas