¿Qué método sugiere para la creación de prototipos de circuitos asíncronos?

8

Me sorprendió y en cierto modo me sorprendió descubrir que no existe una herramienta adecuada para diseñar y crear prototipos de circuitos asíncronos.

Sigo haciendo búsquedas utilizando google y otros medios para encontrar un buen método para diseñar circuitos asíncronos VLSI, pero hasta ahora las búsquedas no han logrado dar una respuesta.

Hay algunas herramientas abandonadas como Balsa, etc. para automatizar los diseños VLSI, pero son totalmente indocumentadas y difíciles de usar. Lo que estoy buscando es algo así como los FPGA que tenemos en el mundo sincrónico.

De todos modos, lo aprecio si comparte el nombre de una herramienta confiable y el hardware de creación de prototipos que facilita la carga del diseño de circuitos asíncronos.

    
pregunta Ehsan

4 respuestas

3

Se ha mencionado la NCL de la lógica de Theseus, también hubo sistemas Handshake (Philips spin off), así como Fulcrum Microsystems y Caltech. También había un procesador ARM asíncrono llamado Amulet. Y SUN Microsystems también tenía un equipo de diseño de procesadores para SPARC sin reloj.

Llamaría a estos diseños sin reloj para evitar la confusión entre el diseño lógico como los contadores de ondulación y este tipo de circuitos. Pero en general cualquiera de los dos términos se usa.

DC (compilador de diseño) de Synopsys, así como Merlin de sistemas FTL que también estaban disponibles.

Sin embargo, si tiene una biblioteca de celdas centrales adecuadamente diseñada, esta abstracción / descripción de nivel superior puede volverse trivial. El problema central es que si ha diseñado un sistema que permite que cada celda se propague hacia adelante, una señal que diga "buen resultado", así como la propagación hacia atrás "del sistema disponible", los relojes automáticos del sistema y, como tal, pueden diseñarse simplemente Software sin preocuparse por las condiciones de la carrera o el calendario para esa materia.

Por lo tanto, las herramientas utilizadas serían tan simples como SPICE para el diseño a nivel de celda (nivel de transistor) y C para compilar en un conjunto de primitivas para colocar. Por mi vida, no puedo encontrar la herramienta basada en C (código abierto) que se usó.

Mire a gente como Wesley Clark (falleció recientemente) y también a Ivan Sutherland y Karl Fant (también mencionados en otros lugares).

    
respondido por el placeholder
2

Si un registro está sincronizado con un reloj del sistema, se consideraría sincrónico. Si ese mismo registro se sincronizara directamente desde una puerta, un circuito lógico o, en general, cualquier cosa además del reloj del sistema, sería asíncrono. Los registros de Altera se pueden sincronizar desde varios relojes del sistema o por lógica. Usted puede construir cualquier tipo de circuito de puerta que desee. . . Según mi experiencia con la mayoría de los tipos de ASIC o FPGA, cada vez que se compila, algo se enruta de manera diferente. Así, los retrasos de propagación están siempre cambiando.

    
respondido por el JimTech
2

Un FPGA es el hardware correcto. Pero no podrá utilizar el software de síntesis con enfoque síncrono, ya que realiza las transformaciones incorrectas.

Por ejemplo, un FPGA es perfectamente capaz de formar un oscilador construido con una cadena de inversores. Pero si define la cadena del inversor en, por ejemplo, Con VHDL y use uno de los compiladores estándar, "NOT-gate pushback" eliminará los inversores por pares y le dejará solo uno, y el dispositivo no oscilará.

Es posible que tenga que escribir algunos de sus propios software de síntesis, que serán posibles si obtiene suficiente información en el flujo de bits. Estudiaría otros esfuerzos de investigación que operan en el flujo de bits en lugar de en la descripción del comportamiento: cosas como la detección de fallas y los análisis de confiabilidad dependen en gran medida del mapeo elegido por el sintetizador. Probablemente, algunos trabajos en el área de la lógica redundante tolerante a fallos ya hayan desarrollado algunas técnicas de mapeo personalizadas, ya que la eliminación de términos de productos comunes es una de las transformaciones estándar realizadas por un sintetizador tradicional y destruye absolutamente un diseño redundante.

Cuando controla el uso de los primitivos del elemento lógico FPGA, como las tablas de búsqueda y la interconexión local y global, podrá utilizar los retrasos inherentes para realizar su diseño asíncrono. Su problema de optimización es mucho más difícil que encajar con el objetivo de cumplir con los tiempos de configuración y mantenimiento, pero eso es lo que lo hace investigar.

    
respondido por el Ben Voigt
1

Dependiendo de la complejidad de su circuito. Si su diseño es mayormente digital, podría considerar el uso del sistema Quartus de Altera. Ingrese su diseño con herramientas gráficas y / o VHDL usando registros cronometrados asíncronamente o use solo puertas lógicas. Agregue búferes, puertas, pines de señal, etc., según sea necesario para retrasar las rutas de señal para que coincidan con lo que necesite. (Suponiendo que su diseño sea más lento que sus retardos de puerta CPLD más rápidos < 5 ns)

Muchos años de diseño con sus chips, nunca encontré un resultado de simulador errante. Se pueden hacer diseños más pequeños con sus herramientas gratuitas.

    
respondido por el JimTech

Lea otras preguntas en las etiquetas