Articulo de referencia

Circuito casi insensible al retardo

Un circuito cuasi-insensible al retardo (circuito QDI) es una metodología de diseño de circuitos asíncronos empleada en el diseño de lógica digital . Desarrollados en respuesta ...

Un circuito cuasi-insensible al retardo (circuito QDI) es una metodología de diseño de circuitos asíncronos empleada en el diseño de lógica digital . Desarrollados en respuesta a los desafíos de rendimiento que plantea la construcción de arquitecturas multinúcleo submicrométricas con diseños síncronos convencionales, los circuitos QDI presentan un menor consumo de energía, una segmentación extremadamente fina , una alta robustez frente a las variaciones de proceso, voltaje y temperatura , funcionamiento bajo demanda (basado en eventos) y un tiempo de finalización dependiente de los datos.

Descripción general

Ventajas

  • Resistente a variaciones de proceso , fluctuaciones de temperatura, rediseño de circuitos y reasignación de FPGA .
  • La secuenciación de eventos naturales facilita la creación de circuitos de control complejos.
  • La limitación automática del reloj y el tiempo de ciclo dependiente del cálculo pueden ahorrar energía dinámica y aumentar el rendimiento al optimizar las características de la carga de trabajo en el caso promedio en lugar del peor caso.

Desventajas

  • Las codificaciones insensibles al retardo generalmente requieren el doble de cables para la misma cantidad de datos.
  • Los protocolos y codificaciones de comunicación generalmente requieren el doble de dispositivos para la misma funcionalidad.

Papas fritas

Los circuitos QDI se han utilizado para fabricar un gran número de chips de investigación, de los cuales a continuación se muestra una pequeña selección.

Teoría

Circuito de tuberías QDI
Sistema de reglas de eventos de canalización QDI

El circuito QDI más simple es un oscilador de anillo implementado mediante un ciclo de inversores . Cada puerta lógica controla dos eventos en su nodo de salida. La red de polarización ascendente (pull-up) lleva la tensión del nodo de GND a Vdd, o bien la red de polarización descendente (pull-down) de VDD a GND. Esto proporciona al oscilador de anillo un total de seis eventos.

Se pueden conectar varios ciclos mediante una puerta lógica de múltiples entradas. Un elemento c , que espera a que sus entradas coincidan antes de copiar el valor a su salida, puede utilizarse para sincronizar varios ciclos. Si un ciclo llega al elemento c antes que otro, se ve obligado a esperar. La sincronización de tres o más de estos ciclos crea una secuencia que permite que los ciclos se activen uno tras otro.

Si se sabe que los ciclos son mutuamente excluyentes , se pueden conectar mediante lógica combinacional ( AND , OR ). Esto permite que el ciclo activo continúe independientemente de los ciclos inactivos y se utiliza generalmente para implementar codificaciones insensibles a la latencia .

Para sistemas más grandes, esto es demasiado difícil de gestionar. Por lo tanto, se dividen en procesos . Cada proceso describe la interacción entre un conjunto de ciclos agrupados en canales , y el límite del proceso divide estos ciclos en puertos de canal . Cada puerto tiene un conjunto de nodos de solicitud que tienden a codificar datos y nodos de acuse de recibo que tienden a no contener datos. El proceso que impulsa la solicitud es el emisor, mientras que el proceso que impulsa el acuse de recibo es el receptor . Ahora bien, el emisor y el receptor se comunican utilizando ciertos protocolos [ síntesis 1 ] y el desencadenamiento secuencial de acciones de comunicación de un proceso al siguiente se modela como un token que recorre la tubería.

Estabilidad y no interferencia

El correcto funcionamiento de un circuito QDI requiere que los eventos se limiten a transiciones digitales monótonas . La inestabilidad ( fallo ) o la interferencia ( cortocircuito ) pueden forzar al sistema a estados ilegales, causando resultados incorrectos/inestables, interbloqueo y daños en el circuito. La estructura cíclica descrita anteriormente que garantiza la estabilidad se denomina reconocimiento . Una transición T1reconoce a otra T2si existe una secuencia causal de eventos de T1a T2que impide T2que ocurra hasta T1que se haya completado. [ temporización 1 ] [ temporización 2 ] [ temporización 3 ] Para un circuito DI, cada transición debe reconocer cada entrada a su puerta asociada. Para un circuito QDI, existen algunas excepciones en las que la propiedad de estabilidad se mantiene utilizando supuestos de temporización garantizados con restricciones de diseño en lugar de causalidad. [ diseño 1 ]

Suposición de bifurcación isocrónica

Una bifurcación isocrónica es una bifurcación de cable en la que un extremo no reconoce la transición que impulsa el cable. Un buen ejemplo de dicha bifurcación se puede encontrar en la implementación estándar de un medio búfer de precarga . Hay dos tipos de bifurcaciones isocrónicas. Una bifurcación isocrónica asimétrica supone que la transición en el extremo que no reconoce ocurre antes o cuando la transición ha sido observada en el extremo que reconoce. Una bifurcación isocrónica simétrica garantiza que ambos extremos observan la transición simultáneamente. En los circuitos QDI, cada transición que impulsa una bifurcación de cable debe ser reconocida por al menos un extremo de esa bifurcación. Este concepto fue introducido por primera vez por AJ Martin para distinguir entre circuitos asíncronos que satisfacen los requisitos QDI y aquellos que no. Martin también estableció que es imposible diseñar sistemas útiles sin incluir al menos algunas bifurcaciones isocrónicas dadas suposiciones razonables sobre los elementos de circuito disponibles. [ temporización 3 ] Durante mucho tiempo se pensó que las bifurcaciones isocrónicas eran el compromiso más débil lejos de los sistemas totalmente insensibles al retardo.

De hecho, cada puerta CMOS tiene una o más bifurcaciones isocrónicas internas entre las redes de polarización ascendente y descendente. La red de polarización descendente solo reconoce las transiciones ascendentes de las entradas, mientras que la red de polarización ascendente solo reconoce las transiciones descendentes.

Suposición de trayectoria adversaria

La suposición de la ruta adversaria también aborda las bifurcaciones de cables, pero es en última instancia más débil que la suposición de bifurcación isocrónica. En algún punto del circuito después de una bifurcación de cables, las dos rutas deben volver a fusionarse en una sola. La ruta adversaria es la que no reconoce la transición en la bifurcación de cables. Esta suposición establece que la transición que se propaga por la ruta de reconocimiento llega al punto de fusión después de que lo hubiera hecho por la ruta adversaria. [ temporización 2 ] Esto extiende efectivamente la suposición de bifurcación isocrónica más allá de los límites del cable bifurcado y a las rutas conectadas de las compuertas.

Suposición de sincronización de medio ciclo

Esta suposición flexibiliza aún más los requisitos de QDI en la búsqueda del rendimiento. El elemento c es, en efecto, tres compuertas: la lógica, el controlador y la retroalimentación, y no es inversor. Esto se vuelve engorroso y costoso si se necesita una gran cantidad de lógica. El teorema de reconocimiento establece que el controlador debe reconocer la lógica. La suposición de temporización de medio ciclo supone que el controlador y la retroalimentación se estabilizarán antes de que se permita la conmutación de las entradas a la lógica. [ temporización 4 ] Esto permite al diseñador usar la salida de la lógica directamente, omitiendo el controlador y logrando ciclos más cortos para un procesamiento de mayor frecuencia.

Compuertas de complejos atómicos

Gran parte de la literatura sobre síntesis automática utiliza compuertas complejas atómicas . Se supone que un árbol de compuertas realiza una transición completa antes de que cualquiera de las entradas en las hojas del árbol pueda volver a cambiar. [ temporización 5 ] [ temporización 6 ] Si bien esta suposición permite que las herramientas de síntesis automática eviten el problema de la reorganización de burbujas, la fiabilidad de estas compuertas suele ser difícil de garantizar.

Sincronización relativa

La sincronización relativa es un marco para formular e implementar suposiciones de temporización arbitrarias en circuitos QDI. Representa una suposición de temporización como un arco de causalidad virtual para completar un ciclo interrumpido en el grafo de eventos. Esto permite a los diseñadores razonar sobre las suposiciones de temporización como un método para lograr circuitos con mayor rendimiento y eficiencia energética, sacrificando sistemáticamente la robustez. [ timing 7 ] [ timing 8 ]

Representaciones

Procesos de hardware comunicantes (CHP)

Los procesos de hardware comunicantes (CHP) son una notación de programación para circuitos QDI inspirada en los procesos secuenciales comunicantes (CSP) de Tony Hoare y los comandos protegidos de Edsger W. Dijkstra . La sintaxis se describe a continuación en orden descendente de precedencia. [ síntesis 2 ]

  • Skipskip no hace nada. Simplemente actúa como un marcador de posición para las condiciones de paso.
  • La asignación sin datosa+ establece el voltaje del nodo aa Vdd mientras que a-establece el voltaje de aa GND.
  • La asignación evalúa la expresión y luego asigna el valor resultante a la variable .a := eea
  • SendX!e evalúa la expresión ey luego envía el valor resultante a través del canalX . X!Es un envío sin datos.
  • La recepciónX?a espera hasta que haya un valor válido en el canalX y luego asigna ese valor a la variablea . X?Es una recepción sin datos.
  • La sonda#X devuelve el valor que está esperando en el canalX sin ejecutar la recepción.
  • La composición simultáneaS * T ejecuta los fragmentos del procesoS al Tmismo tiempo.
  • La composición paralela internaS, T ejecuta los fragmentos del procesoS en Tcualquier orden.
  • La composición secuencialS; T ejecuta los fragmentos del procesoS seguidos de T.
  • La composición paralelaS || T ejecuta los fragmentos del procesoS en Tcualquier orden. Esto es funcionalmente equivalente a la composición paralela interna, pero con menor precedencia.
  • La selección determinista[G0 -> S0[]G1 -> S1[]...[]Gn -> Sn] implementa la elección en la que G0,G1,...,Gnhay guardas que son expresiones booleanas sin datos o expresiones de datos que se convierten implícitamente usando una verificación de validez y S0,S1,...,Snson fragmentos de proceso . La selección determinista espera hasta que una de las guardas se evalúe a Vdd, luego procede a ejecutar el fragmento de proceso asociado a la guarda . Si dos guardas se evalúan a Vdd durante el mismo intervalo de tiempo, ocurre un error. [G]es una abreviatura de [G -> skip]y simplemente implementa una espera.
  • La selección no determinista[G0 -> S0:G1 -> S1:...:Gn -> Sn] es igual que la selección determinista, excepto que se permite que más de una condición de guarda se evalúe a Vdd. Solo se ejecuta el fragmento de proceso asociado con la primera condición de guarda que se evalúe a Vdd.
  • Repetición*[G0 -> S0[]G1 -> S1[]...[]Gn -> Sn] o *[G0 -> S0:G1 -> S1:...:Gn -> Sn]es similar a las declaraciones de selección asociadas excepto que la acción se repite mientras cualquier condición se evalúa a Vdd. *[S]es una forma abreviada de *[Vdd -> S]e implementa repetición infinita.

Expansiones del apretón de manos (HSE)

Las expansiones de protocolo de enlace son un subconjunto de CHP en el que los protocolos de canal se expanden en guardas y asignaciones, y solo se permiten operadores sin datos. Esta es una representación intermedia hacia la síntesis de circuitos QDI.

redes de Petri (NP)

Una red de Petri (NP) es un grafo bipartito de lugares y transiciones que se utiliza como modelo para circuitos QDI. Las transiciones en la red de Petri representan cambios de voltaje en los nodos del circuito. Los lugares representan los estados parciales entre transiciones. Un token dentro de un lugar actúa como un contador de programa que identifica el estado actual del sistema, y ​​pueden existir varios tokens simultáneamente en una red de Petri. Sin embargo, para los circuitos QDI, la presencia de varios tokens en el mismo lugar constituye un error.

Cuando una transición tiene tokens en cada lugar de entrada, se habilita. Al activarse la transición, los tokens se eliminan de los lugares de entrada y se crean nuevos tokens en todos los lugares de salida. Esto significa que una transición con múltiples lugares de salida es una división paralela y una transición con múltiples lugares de entrada es una fusión paralela. Si un lugar tiene múltiples transiciones de salida, cualquiera de ellas podría activarse. Sin embargo, al hacerlo, se eliminaría el token del lugar y se impediría la activación de cualquier otra transición. Esto implementa, en efecto, la elección. Por lo tanto, un lugar con múltiples transiciones de salida es una división condicional y un lugar con múltiples transiciones de entrada es una fusión condicional.

Sistemas de reglas de eventos (ER)

Los sistemas de reglas de eventos (ER) utilizan una notación similar para implementar un subconjunto restringido de la funcionalidad de las redes de Petri, que incluye transiciones y arcos, pero no lugares. Esto significa que el sistema ER básico carece de la capacidad de elección implementada mediante divisiones y fusiones condicionales en una red de Petri, así como de la capacidad de disyunción implementada mediante fusiones condicionales. El sistema ER básico tampoco permite la retroalimentación.

Si bien las redes de Petri se utilizan para modelar la lógica del circuito, un sistema ER modela la temporización y el rastro de ejecución del circuito, registrando los retrasos y las dependencias de cada transición. Esto se utiliza generalmente para determinar qué compuertas deben ser más rápidas y cuáles pueden ser más lentas, optimizando el dimensionamiento de los dispositivos en el sistema. [ dimensionamiento 1 ]

Los sistemas de reglas de eventos repetitivos (RER) añaden retroalimentación doblando la traza sobre sí misma y marcando el punto de plegado con una marca de graduación. [ dimensionamiento 1 ] Los sistemas de reglas de eventos extendidos (XER) añaden disyunción. [ dimensionamiento 2 ]

Conjunto de reglas de producción (PRS)

Una regla de producción especifica la red pull-up o pull-down de una puerta en un circuito QDI y sigue la sintaxis G -> Sen la que Ges una guarda como se describió anteriormente y Ses una o más asignaciones sin datos en paralelo como se describió anteriormente. En los estados no cubiertos por las guardas, se supone que los nodos asignados permanecen en sus estados anteriores. Esto se puede lograr utilizando un estaticizador de retroalimentación débil o combinacional (mostrado en rojo). El ejemplo más básico es el elemento C en el que las guardas no cubren los estados donde Ay Bno son el mismo valor.

Síntesis

Medio búfer de condición débil sin datos
Re y Lr -> _Rr- ~_Rr -> Rr+ Rr -> Le- ~Re y ~Lr -> _Rr+ _Rr -> Rr- ~Rr -> Le+ 
Medio buffer de precarga sin datos
en & Lr -> _Rr- ~_Rr -> Rr+ Lr y Rr -> _Lv- ~_Lv -> Lv+ Lv -> Le- ~Le & ~Re -> _en+ _en -> en- ~en -> _Rr+ _Rr -> Rr- ~Lr y ~Rr -> _Lv+ _Lv -> Lv- ~Lv -> Le+ Le & Re -> _en- ~_en -> en+ 

Existen muchas técnicas para construir circuitos QDI, pero generalmente se pueden clasificar en dos estrategias.

Síntesis formal

La síntesis formal fue introducida por Alain Martin en 1991. [ síntesis 2 ] El método consiste en realizar transformaciones sucesivas del programa que demuestran mantener su corrección. El objetivo de estas transformaciones es convertir el programa secuencial original en un conjunto paralelo de procesos que se comunican entre sí, cada uno de los cuales se corresponde bien con una única etapa de la tubería. Las posibles transformaciones incluyen:

  • La proyección divide un proceso que tiene conjuntos de variables dispares y no interactivas en un proceso separado para cada conjunto. [ síntesis 3 ]
  • La descomposición de procesos divide un proceso con conjuntos de variables que interactúan mínimamente en un proceso separado por cada conjunto, en el que cada proceso se comunica con otro solo cuando es necesario a través de canales.
  • La coincidencia de holgura implica agregar etapas de canalización entre dos procesos que se comunican para aumentar el rendimiento general. [ síntesis 4 ]

Una vez que el programa se descompone en un conjunto de pequeños procesos comunicantes, se expande en expansiones de intercambio de claves (HSE) . Las acciones del canal se expanden en sus protocolos constituyentes y los operadores multibit se expanden en sus implementaciones de circuito. Estas HSE se reorganizan para optimizar la implementación del circuito reduciendo el número de dependencias. [ síntesis 5 ] Una vez que se decide la reorganización, se agregan variables de estado para desambiguar los estados del circuito para una codificación de estado completa . [ síntesis 6 ] A continuación, se derivan guardas mínimas para cada asignación de señal, produciendo reglas de producción. Hay varios métodos para hacer esto, incluyendo fortalecimiento de guardas , debilitamiento de guardas y otros. [ síntesis 2 ] Las reglas de producción no son necesariamente implementables en CMOS en este punto, por lo que la reorganización de burbujas mueve las inversiones de señal alrededor del circuito en un intento de hacerlo posible. Sin embargo, no se garantiza el éxito de la reorganización de burbujas. Aquí es donde generalmente se utilizan compuertas complejas atómicas en programas de síntesis automatizada.

Traducción dirigida por la sintaxis

La segunda estrategia, la traducción dirigida por sintaxis , fue introducida por primera vez en 1988 por Steven Burns. Esta busca un enfoque más simple a costa del rendimiento del circuito, al asignar cada sintaxis CHP a una plantilla de circuito compilada manualmente. [ síntesis 7 ] La ​​síntesis de un circuito QDI mediante este método implementa estrictamente el flujo de control tal como lo dicta el programa. Posteriormente , Philips Research Laboratories la adoptó en su implementación de Tangram. A diferencia del enfoque de Steven Burns, que utilizaba plantillas de circuito, Tangram asignaba la sintaxis a un conjunto estricto de celdas estándar, lo que facilitaba tanto el diseño como la síntesis. [ síntesis 8 ]

Síntesis con plantilla

Un enfoque híbrido introducido por Andrew Lines en 1998 transforma la especificación secuencial en especificaciones paralelas como en la síntesis formal, pero luego utiliza plantillas de canalización predefinidas para implementar esos procesos paralelos de manera similar a la traducción dirigida por la sintaxis. [ síntesis 9 ] Lines describió tres familias lógicas eficientes o reordenamientos .

Amortiguador de media condición débil (WCHB)

El búfer de condición débil de medio búfer (WCHB) es la familia lógica más simple y rápida con un ciclo de tubería de 10 transiciones (o 6 usando la suposición de tiempo de medio ciclo). Sin embargo, también está limitado a cálculos más simples porque los cálculos más complejos tienden a requerir largas cadenas de transistores en la red pull-up del controlador directo. Los cálculos más complejos generalmente se pueden dividir en etapas más simples o manejar directamente con una de las familias de precarga. El WCHB es un medio búfer, lo que significa que una tubería de Netapas puede contener como máximo N/2tokens a la vez. Esto se debe a que el reinicio de la solicitud de salida Rrdebe esperar hasta después del reinicio de la entrada Lr.

Semibúfer de precarga (PCHB)

El pre-carga de medio búfer (PCHB) utiliza lógica de dominó para implementar una etapa de procesamiento en cadena más compleja. Esto elimina el problema de la larga red de pull-up, pero también introduce una bifurcación isocrónica en los datos de entrada que debe resolverse más adelante en el ciclo. Esto provoca que el ciclo de procesamiento en cadena tenga una duración de 14 transiciones (o 10 si se utiliza la suposición de tiempo de medio ciclo).

Búfer de precarga completa (PCFB)

Los búferes completos de precarga (PCFB) son muy similares a los PCHB, pero ajustan la fase de reinicio de la reorganización para implementar el almacenamiento en búfer completo. Esto significa que una secuencia de Netapas PCFB puede contener como máximo Ntokens a la vez. Esto se debe a que se permite que el reinicio de la solicitud de salida Rrocurra antes que el reinicio de la entrada Lr.

Verificación

Además de las técnicas de verificación habituales (pruebas, cobertura, etc.), los circuitos QDI pueden verificarse formalmente invirtiendo el procedimiento de síntesis formal para obtener una especificación CHP del circuito. Esta especificación CHP puede compararse con la original para comprobar su corrección. [ Verificación 1 ] [ Verificación 2 ]

Referencias

Síntesis

  1. Tse, Jonathan; Hill, Benjamin; Manohar, Rajit (mayo de 2013). "Un breve análisis sobre enlaces en chip de un solo bit con sincronización propia" (PDF) . 2013 IEEE 19th International Symposium on Asynchronous Circuits and Systems . Actas del 19.º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos (ASYNC). págs. 124–133 . CiteSeerX 10.1.1.649.294 . doi : 10.1109/ASYNC.2013.26 . ISBN   978-1-4673-5956-6. S2CID 11196963 . 
  2. 1 2 3 Martin, Alain (1991). Síntesis de circuitos VLSI asíncronos (PDF) (Informe). Instituto Tecnológico de California.
  3. Manohar, Rajit; Lee, Tak-Kwan; Martin, Alain (1999). "Proyección: Una técnica de síntesis para sistemas concurrentes". Actas del Quinto Simposio Internacional sobre Investigación Avanzada en Circuitos y Sistemas Asíncronos (PDF) . págs. 125–134 . CiteSeerX 10.1.1.49.2264 . doi : 10.1109/ASYNC.1999.761528 . ISBN   978-0-7695-0031-7. S2CID 11051137 . 
  4. Manohar, Rajit; Martin, Alain J. (15 de junio de 1998). "Elasticidad de holgura en computación concurrente". Matemáticas de la construcción de programas (PDF) . Notas de clase en ciencias de la computación. Vol. 1422. Springer, Berlín, Heidelberg. págs. 272–285 . CiteSeerX 10.1.1.396.2277 . doi : 10.1007/bfb0054295 . ISBN    9783540645917.
  5. Manohar, R. (2001). "An analysis of reshuffled handshaking expansions" (PDF) . Actas del Séptimo Simposio Internacional sobre Circuitos y Sistemas Asíncronos. ASYNC 2001. pp. 96–105 . CiteSeerX 10.1.1.11.55 . doi : 10.1109/async.2001.914073 . ISBN   978-0-7695-1034-7. S2CID 5156531 . Archivado del original (PDF) el 14-10-2017. 
  6. Cortadella, J.; Kishinevsky, M.; Kondratyev, A.; Lavagno, L.; Yakovlev, A. (marzo de 1996). "Codificación completa de estados basada en la teoría de regiones". Actas del Segundo Simposio Internacional sobre Investigación Avanzada en Circuitos y Sistemas Asíncronos (PDF) . págs. 36–47 . doi : 10.1109/async.1996.494436 . hdl : 2117/129509 . ISBN  978-0-8186-7298-9. S2CID 14297152 . 
  7. Burns, Steven; Martin, Alain (1988). "Traducción dirigida por sintaxis de programas concurrentes a circuitos auto-temporizados" (PDF) . Instituto Tecnológico de California.
  8. Berkel, Kees van; Kessels, Joep; Roncken, Marly; Saeijs, Ronald; Schalij, Frits (1991). "El lenguaje de programación VLSI Tangram y su traducción a circuitos de protocolo de enlace" (PDF) . Actas de la Conferencia Europea sobre Automatización del Diseño . IEEE Design Automation. págs. 384–389 . doi : 10.1109/EDAC.1991.206431 . S2CID 34437785. Archivado del original (PDF) el 16 de febrero de 2018. Recuperado el 15 de febrero de 2018 .  
  9. Lines, Andrew (1998). "Pipelined Asynchronous Circuits" (PDF) (MS). California Institute of Technology. doi : 10.7907/z92v2d4z .

Momento

  1. Manohar, R.; Moses, Y. (mayo de 2015). «Análisis de bifurcaciones isocrónicas con causalidad potencial». 21.º Simposio Internacional IEEE de Circuitos y Sistemas Asíncronos de 2015 (PDF) . págs. 69–76 . doi : 10.1109/async.2015.19 . ISBN  978-1-4799-8716-0. S2CID 10262182 . 
  2. 1 2 Keller, S.; Katelman, M.; Martin, AJ (mayo de 2009). "Una suposición de temporización necesaria y suficiente para circuitos independientes de la velocidad". 15.º Simposio IEEE de 2009 sobre circuitos y sistemas asíncronos (PDF) . págs. 65–76 . doi : 10.1109/async.2009.27 . ISBN  978-0-7695-3616-3. S2CID 6612621 . 
  3. 1 2 Martin, Alain J. (1990). "Las limitaciones de la insensibilidad al retardo en circuitos asíncronos" (PDF) . Sexta Conferencia del MIT sobre Investigación Avanzada en VLSI . MIT Press.
  4. LaFrieda, C.; Manohar, R. (mayo de 2009). "Reducción del consumo de energía con circuitos cuasi insensibles al retardo relajados". XV Simposio IEEE de 2009 sobre circuitos y sistemas asíncronos (PDF) . págs. 217–226 . CiteSeerX 10.1.1.153.3557 . doi : 10.1109/async.2009.9 . ISBN   978-0-7695-3616-3. S2CID 6282974 . 
  5. Meng, THY; Brodersen, RW; Messerschmitt, DG (noviembre de 1989). "Síntesis automática de circuitos asíncronos a partir de especificaciones de alto nivel". IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 8 (11): 1185– 1205. Bibcode : 1989ITCAD...8.1185M . doi : 10.1109/43.41504 . ISSN 0278-0070 . 
  6. Pastor, E.; Cortadella, J.; Kondratyev, A.; Roig, O. (noviembre de 1998). "Métodos estructurales para la síntesis de circuitos independientes de la velocidad" (PDF) . IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 17 (11): 1108– 1129. Bibcode : 1998ITCAD..17.1108P . doi : 10.1109/43.736185 . hdl : 2117/125785 . ISSN 0278-0070 . 
  7. Stevens, KS; Ginosar, R.; Rotem, S. (febrero de 2003). "Relative timing" (PDF) . IEEE Transactions on Very Large Scale Integration (VLSI) Systems . 11 (1): 129– 140. Bibcode : 2003ITVL...11..129S . doi : 10.1109/tvlsi.2002.801606 . ISSN 1063-8210 . 
  8. Manoranjan, JV; Stevens, KS (mayo de 2016). «Calificación de restricciones de temporización relativas para circuitos asíncronos». 22.º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos (ASYNC) de 2016 (PDF) . págs. 91–98 . doi : 10.1109/async.2016.23 . ISBN  978-1-4673-9007-1. S2CID 6239093 . 

Verificación

  1. Longfield, SJ; Manohar, R. (mayo de 2013). "Inversión de la síntesis de Martin para la verificación". 2013 IEEE 19th International Symposium on Asynchronous Circuits and Systems (PDF) . págs. 150–157 . CiteSeerX 10.1.1.645.9939 . doi : 10.1109/async.2013.10 . ISBN   978-1-4673-5956-6. S2CID 762078 . 
  2. Longfield, Stephen; Nkounkou, Brittany; Manohar, Rajit; Tate, Ross (2015). «Prevención de fallos y cortocircuitos en especificaciones de chips de alto nivel con sincronización automática». Actas de la 36.ª Conferencia ACM SIGPLAN sobre Diseño e Implementación de Lenguajes de Programación (PDF) . PLDI '15. Nueva York, NY, EE. UU.: ACM. págs. 270–279 . doi : 10.1145/2737924.2737967 . ISBN  9781450334686. S2CID 6363535 . 

Apresto

  1. 1 2 Burns, Steven (1991). Análisis y optimización del rendimiento de circuitos asíncronos (Ph.D.). Instituto Tecnológico de California.
  2. Lee, Tak-Kwan (1995). Un enfoque general para el análisis y la optimización del rendimiento de circuitos asíncronos (Ph.D.). Centro de Información Técnica de Defensa.

Disposición

  1. Karmazin, R.; Longfield, S.; Otero, CTO; Manohar, R. (mayo de 2015). "Colocación basada en temporización para circuitos cuasi insensibles al retardo". 2015 21.º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos (PDF) . págs. 45–52 . doi : 10.1109/async.2015.16 . ISBN  978-1-4799-8716-0. S2CID 10745504 . 

Papas fritas

  1. Martin, Alain; Burns, Steven; Lee, Tak-Kwan (1989). "El diseño de un microprocesador asíncrono" . ACM SIGARCH Computer Architecture News . 17 (4): 99– 110. doi : 10.1145/71317.1186643 .
  2. Martin, Alain; Lines, Andrew; Manohar, Rajit; Nystrom, Mika; Penzes, Paul; Southworth, Robert; Cummings, Uri; Lee, Tak-Kwan (1997). "El diseño de un microprocesador MIPS R3000 asíncrono" . Actas de la Decimoséptima Conferencia sobre Investigación Avanzada en VLSI . págs. 164–181 . doi : 10.1109/ARVLSI.1997.634853 . ISBN  0-8186-7913-1.
  3. Nanya, T.; Ueno, Y.; Kagotani, H.; Kuwako, M.; Takamura, A. (Verano de 1994). "TITAC: diseño de un microprocesador cuasi-insensible al retardo" (PDF) . IEEE Design and Test of Computers . 11 (2): 50– 63. doi : 10.1109/54.282445 . ISSN 0740-7475 . S2CID 9351043. Archivado del original (PDF) el 29-08-2017 . Recuperado el 14-10-2017 .  
  4. Takamura, A.; Kuwako, M.; Imai, M.; Fujii, T.; Ozawa, M.; Fukasaku, I.; Ueno, Y.; Nanya, T. (octubre de 1997). "TITAC-2: Un microprocesador asíncrono de 32 bits basado en un modelo escalable e insensible al retardo". Actas de la Conferencia Internacional sobre Diseño de Computadoras VLSI en Computadoras y Procesadores (PDF) . págs. 288–294 . CiteSeerX 10.1.1.53.7359 . doi : 10.1109/iccd.1997.628881 . ISBN   978-0-8186-8206-3. S2CID 14119246 . Archivado del original (PDF) el 14-10-2017. 

Herramientas

  • "Petrify: una herramienta para la síntesis de redes de Petri y circuitos asíncronos" . Grupo UPC/DAC VLSI CAD . Consultado el 6 de octubre de 2017 .
  • Fang, David. "The Hierarchical Asynchronous Circuit Kopiler Toolkit" . Recuperado el 6 de octubre de 2017 .
  • "Sistema de síntesis asíncrona Balsa" . GitHub . Consultado el 6 de octubre de 2017 .
  • Manohar, Rajit. "El lenguaje ACT y las herramientas principales" . GitHub . Consultado el 14 de febrero de 2020 .
  • Bingham, Ned (14 de septiembre de 2024). "Telar" . Brócoli . Recuperado el 14 de septiembre de 2024 .

Tutoriales

  • Introducción a los circuitos auto-sincronizados ( "web" ., "diapositivas" ., "videos" . YouTube .)
  • Escuela de Verano ASYNC 2022 ( "web" .)
  • Compilación de silicio en Yale ( "web" .)