En el diseño de lógica digital , un circuito asíncrono es casi insensible al retardo (QDI) cuando funciona correctamente, independientemente del retardo de la puerta y el cable, con la excepción más débil necesaria para ser turing-completo . [momento 1] [momento 2]
Pros
- Robusto para procesar variaciones , fluctuaciones de temperatura, rediseño de circuitos y reasignación de FPGA.
- La secuenciación de eventos naturales facilita los circuitos de control complejos.
- La sincronización automática del reloj y el tiempo de ciclo dependiente de la computación pueden ahorrar energía dinámica y aumentar el rendimiento al optimizar las características de carga de trabajo del caso promedio en lugar del peor de los casos.
Contras
- Las codificaciones insensibles al retardo generalmente requieren el doble de cables para los mismos datos.
- Los protocolos de comunicación y las codificaciones generalmente requieren el doble de dispositivos para la misma funcionalidad.
Papas fritas
Los circuitos QDI se han utilizado para fabricar una gran cantidad de chips de investigación, de los cuales se presenta una pequeña selección.
- Microprocesador asíncrono de Caltech [chips 1]
- TITAC de la Universidad de Tokio [patatas fritas 2] y TITAC-2 [3] chips de procesadores
Teoría
El circuito QDI más simple es un oscilador de anillo implementado mediante un ciclo de inversores . Cada puerta genera dos eventos en su nodo de salida. O la red de extracción impulsa el voltaje del nodo de GND a Vdd o la red de extracción de VDD a GND. Esto le da al oscilador de anillo seis eventos en total.
Se pueden conectar varios ciclos mediante una puerta de entrada múltiple. Un elemento c , que espera que sus entradas coincidan antes de copiar el valor a su salida, se puede utilizar para sincronizar varios ciclos. Si un ciclo alcanza el elemento c antes que otro, se ve obligado a esperar. La sincronización de tres o más de estos ciclos crea una canalización que permite que los ciclos se activen uno tras otro.
Si se sabe que los ciclos son mutuamente excluyentes , entonces pueden conectarse usando lógica combinacional ( Y , O ). Esto permite que el ciclo activo continúe independientemente de los ciclos inactivos, y generalmente se usa para implementar codificaciones insensibles al retardo .
Para sistemas más grandes, esto es demasiado para administrar. Entonces, están divididos en procesos . Cada proceso describe la interacción entre un conjunto de ciclos agrupados en canales , y el límite del proceso rompe estos ciclos en puertos de canal . Cada puerto tiene un conjunto de nodos de solicitud que tienden a codificar datos y reconocer nodos que tienden a no tener datos. El proceso que impulsa la solicitud es el remitente, mientras que el proceso que impulsa el reconocimiento es el receptor . Ahora, el remitente y el receptor se comunican usando ciertos protocolos [síntesis 1] y la activación secuencial de acciones de comunicación de un proceso al siguiente se modela como un token que atraviesa la tubería.
Estabilidad y no interferencia
El funcionamiento correcto de un circuito QDI requiere que los eventos se limiten a transiciones digitales monótonas . La inestabilidad ( falla ) o la interferencia ( corto ) pueden forzar al sistema a estados ilegales causando resultados incorrectos / inestables, interbloqueo y daño al circuito. La estructura cíclica descrita anteriormente que asegura la estabilidad se llama reconocimiento . Una transición T1
reconoce otra T2
si hay una secuencia causal de eventos de T1
a T2
que evita que T2
ocurra hasta que se T1
haya completado. [temporización 3] [temporización 4] [temporización 1] Para un circuito DI, cada transición debe reconocer cada entrada a su puerta asociada. Para un circuito QDI, hay 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]
Supuesto de horquilla isocrónica
Una horquilla isocrónica es una horquilla de alambre en la que un extremo no reconoce la transición que impulsa el alambre. Un buen ejemplo de una bifurcación de este tipo se puede encontrar en la implementación estándar de un medio búfer de precarga . Hay dos tipos de horquillas isocrónicas. Una bifurcación isocrónica asimétrica supone que la transición en el extremo que no reconoce ocurre antes o cuando se ha observado la transición en el extremo que reconoce. Una bifurcación isocrónica simétrica asegura que ambos extremos observen la transición simultáneamente. En los circuitos QDI, cada transición que impulsa una bifurcación de alambre 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 los circuitos asíncronos que satisfacen los requisitos de QDI y los que no. Martin también estableció que es imposible diseñar sistemas útiles sin incluir al menos algunas horquillas isocrónicas dadas suposiciones razonables sobre los elementos del circuito disponibles. [sincronización 1] Se pensó durante mucho tiempo que las bifurcaciones isocrónicas eran el compromiso más débil lejos de los sistemas totalmente insensibles a los retrasos.
De hecho, cada puerta CMOS tiene una o más bifurcaciones isocrónicas internas entre las redes pull-up y pull-down. La red desplegable solo reconoce las transiciones ascendentes de las entradas, mientras que la red desplegable solo reconoce las transiciones descendentes.
Suposición de la vía de la adversidad
El supuesto de la trayectoria contradictoria también se refiere a las bifurcaciones de alambre, pero en última instancia es más débil que el supuesto de la bifurcación isocrónica. En algún punto del circuito después de una bifurcación de cables, los dos caminos deben fusionarse nuevamente en uno. El camino del adversario es el que no reconoce la transición en la bifurcación del cable. Esta suposición establece que la transición que se propaga por la ruta de reconocimiento alcanza el punto de fusión después de haber seguido la ruta del adversario. [sincronización 4] Esto extiende efectivamente la suposición de horquilla isocrónica más allá de los confines del cable bifurcado y hacia las rutas conectadas de las puertas.
Supuesto de temporización de medio ciclo
Esta suposición relaja un poco más los requisitos de QDI en la búsqueda del rendimiento. El elemento c es efectivamente tres puertas, la lógica, el controlador y la retroalimentación y no es inverso. Esto se vuelve engorroso y costoso si se necesita una gran cantidad de lógica. El teorema de reconocimiento establece que el conductor debe reconocer la lógica. El supuesto de temporización de medio ciclo asume que el controlador y la retroalimentación se estabilizarán antes de que se permita que las entradas a la lógica cambien. [sincronización 5] Esto permite al diseñador usar la salida de la lógica directamente, evitando el controlador y haciendo ciclos más cortos para un procesamiento de frecuencia más alta.
Puertas del complejo atómico
Gran parte de la bibliografía sobre síntesis automática utiliza puertas de complejos atómicos . Se supone que un árbol de puertas realiza una transición completa antes de que se permita que las entradas en las hojas del árbol vuelvan a cambiar. [sincronización 6] [sincronización 7] Si bien esta suposición permite que las herramientas de síntesis automática eludan el problema de reorganización de burbujas, la confiabilidad de estas puertas tiende a ser difícil de garantizar.
Tiempo relativo
La temporización relativa es un marco para realizar e implementar suposiciones de temporización arbitrarias en circuitos QDI. Representa un supuesto de tiempo como un arco de causalidad virtual para completar un ciclo roto en el gráfico de eventos. Esto permite a los diseñadores razonar sobre los supuestos de temporización como un método para realizar circuitos con mayor rendimiento y eficiencia energética sacrificando sistemáticamente la robustez. [tiempo 8] [tiempo 9]
Representaciones
Comunicación de procesos de hardware (CHP)
Procesos de hardware comunicantes (CHP) es una notación programa para circuitos QDI inspirados en la de Tony Hoare 's que se comunican los procesos secuenciales (CSP) y Edsger Dijkstra ' s comandos guardados . La sintaxis se describe a continuación en orden descendente. [síntesis 2]
- Skip
skip
no hace nada. Simplemente actúa como un marcador de posición para las condiciones de transferencia. - La asignación sin datos
a+
establece el voltaje del nodoa
en Vdd mientras quea-
establece el voltaje dea
en GND. - La asignación
a := e
evalúa la expresión ye
luego asigna el valor resultante a la variablea
. - Enviar
X!e
evalúa la expresión ye
luego envía el valor resultante a través del canalX
.X!
es un envío sin datos. - Recibir
X?a
espera hasta que haya un valor válido en el canal yX
luego asigna ese valor a la variablea
.X?
es una recepción sin datos. - Probe
#X
devuelve el valor que espera en el canalX
sin ejecutar la recepción. - La composición simultánea
S * T
ejecuta el proceso de fragmentosS
yT
al mismo tiempo. - La composición paralela interna
S, T
ejecuta los fragmentos del procesoS
yT
en cualquier orden. - La composición secuencial
S; T
ejecuta el proceso de fragmentosS
seguido deT
. - La composición paralela
S || T
ejecuta los fragmentos del procesoS
yT
en cualquier 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 queG0,G1,...,Gn
hay guardias que son expresiones booleanas sin datos o expresiones de datos que se emiten implícitamente mediante una verificación de validez yS0,S1,...,Sn
son fragmentos de proceso . La selección determinista espera hasta que uno de los guardias se evalúa como Vdd, luego procede a ejecutar el fragmento de proceso asociado al guardián . Si dos guardias evalúan a Vdd durante la misma ventana de tiempo, se produce 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 lo mismo que la selección determinista, excepto que se permite que más de un guardia evalúe a Vdd. Solo se ejecuta el fragmento de proceso asociado con la primera guarda para evaluar a Vdd. - La 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 guardia se evalúa como Vdd.*[S]
es una abreviatura de*[Vdd -> S]
repetición infinita e implementa.
Expansiones para sacudir las manos (HSE)
Las expansiones de apretón de manos son un subconjunto de CHP en el que los protocolos de canal se expanden en guardias 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 (PN)
Una red de Petri (PN) es un gráfico bipartito de lugares y transiciones que se utiliza como modelo para circuitos QDI. Las transiciones en la red de Petri representan las transiciones 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 múltiples tokens en una red de Petri simultáneamente. Sin embargo, para los circuitos QDI, varios tokens en el mismo lugar constituyen un error.
Cuando una transición tiene tokens en cada lugar de entrada, esa transición está habilitada. Cuando se activa 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 que tiene múltiples lugares de salida es una división en paralelo y una transición con múltiples lugares de entrada es una combinación en paralelo. Si un lugar tiene varias transiciones de salida, cualquiera de esas transiciones podría activarse. Sin embargo, hacerlo eliminaría la ficha del lugar y evitaría que se disparara cualquier otra transición. Esto implementa efectivamente 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 combinació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 la red de Petri en el que hay transiciones y arcos, pero no lugares. Esto significa que el sistema ER de línea de base carece de opciones según lo implementado por divisiones condicionales y se fusiona en una red de Petri y la disyunción implementada mediante fusiones condicionales. El sistema ER de referencia tampoco permite comentarios.
Mientras que las redes de Petri se utilizan para modelar la lógica del circuito, un sistema ER modela la sincronización y el seguimiento de ejecución del circuito, registrando los retrasos y las dependencias de cada transición. Esto se usa generalmente para determinar qué puertas deben ser más rápidas y qué puertas pueden ser más lentas, optimizando el tamaño de los dispositivos en el sistema. [talla 1]
Los sistemas de reglas de eventos repetitivos (RER) agregan retroalimentación doblando la traza hacia atrás sobre sí misma, marcando el punto de pliegue con una marca de verificación. [tamaño 1] Los sistemas de reglas de eventos extendidos (XER) agregan disyunción. [talla 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 -> S
en la que G
es una protección como se describe arriba y S
es una o más asignaciones sin datos en paralelo como se describe arriba. En los estados no cubiertos por los guardias, se supone que los nodos asignados permanecen en sus estados anteriores. Esto se puede lograr usando un staticizor de retroalimentación débil o combinatoria (mostrado en rojo). El ejemplo más básico es el elemento C en el que los guardias no cubren los estados donde A
y B
no tienen el mismo valor.
Síntesis
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 implica realizar transformaciones sucesivas del programa que se ha demostrado que mantienen la corrección del programa. El objetivo de estas transformaciones es convertir el programa secuencial original en un conjunto paralelo de procesos de comunicación que cada uno se asigna bien a una única etapa de canalización. Las posibles transformaciones incluyen:
- La proyección divide un proceso que tiene conjuntos de variables dispares que no interactúan en un proceso separado por 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 conjunto en el que cada proceso se comunica con otro solo según sea necesario a través de los canales.
- La coincidencia de holguras implica agregar etapas de canalización entre dos procesos de comunicación para aumentar el rendimiento general. [síntesis 4]
Una vez que el programa se descompone en un conjunto de pequeños procesos de comunicación, se expande en expansiones de apretón de manos (HSE) . Las acciones de canal se expanden en sus protocolos constituyentes y los operadores de múltiples bits se expanden en sus implementaciones de circuitos. Estos HSE luego se reorganizan para optimizar la implementación del circuito al reducir el número de dependencias. [síntesis 5] Una vez que se decide la reorganización, se agregan variables de estado para eliminar la ambigüedad de los estados del circuito y obtener una codificación de estado completa . [síntesis 6] A continuación, se derivan guardias mínimos para cada asignación de señal, produciendo reglas de producción. Hay varios métodos para hacer esto incluyendo el fortalecimiento de guardia , debilitamiento de guardia , y otros. [síntesis 2] Las reglas de producción no son necesariamente implementables 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 así. Sin embargo, no se garantiza que la reorganización de la burbuja tenga éxito. Aquí es donde las puertas de complejos atómicos se utilizan generalmente en programas de síntesis automatizados.
Traducción dirigida por sintaxis
La segunda estrategia, la traducción dirigida por sintaxis , fue introducida por primera vez en 1988 por Steven Burns. Esto busca un enfoque más simple a expensas del rendimiento del circuito al mapear cada sintaxis de CHP a una plantilla de circuito compilada a mano. [síntesis 7] La síntesis de un circuito QDI utilizando este método implementa estrictamente el flujo de control según lo dicta el programa. Esto fue posteriormente adoptado por Philips Research Laboratories en su implementación de Tangram. A diferencia del enfoque de Steven Burns que utiliza plantillas de circuitos, Tangram asignó la sintaxis a un conjunto estricto de celdas estándar, lo que facilita el diseño y 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 usa plantillas de canalización predefinidas para implementar esos procesos paralelos similares a la traducción dirigida por sintaxis. [síntesis 9] Andrew describió tres familias lógicas eficientes o reorganizaciones .
Medio búfer de condición débil (WCHB)
La mitad de búfer de condición débil (WCHB) es la más simple y rápida de las familias lógicas con un ciclo de canalización de transición de 10 (o 6 usando la suposición de tiempo de medio ciclo). Sin embargo, también se limita a cálculos más simples porque los cálculos más complejos tienden a necesitar largas cadenas de transistores en la red pull-up del controlador de avance. Los cálculos más complejos generalmente pueden dividirse en etapas más simples o manejarse directamente con una de las familias de precarga. El WCHB es un medio búfer, lo que significa que una canalización de N
etapas puede contener como máximo N/2
tokens a la vez. Esto se debe a que el restablecimiento de la solicitud de salida Rr
debe esperar hasta después del restablecimiento de la entrada Lr
.
Precargar medio búfer (PCHB)
El medio búfer de precarga (PCHB) utiliza lógica dominó para implementar una etapa de canalización computacional más compleja. Esto elimina el problema de la red de pull-up largo, pero también introduce una bifurcación isocrónica en los datos de entrada que deben resolverse más adelante en el ciclo. Esto hace que el ciclo de la tubería tenga una duración de 14 transiciones (o 10 si se usa el supuesto de tiempo de medio ciclo).
Precargar búfer completo (PCFB)
Los búferes completos de precarga (PCFB) son muy similares a los de PCHB, pero ajustan la fase de reinicio de la reorganización para implementar el búfer completo. Esto significa que una canalización de N
etapas de PCFB puede contener como máximo N
tokens a la vez. Esto se debe a que Rr
se permite que se restablezca la solicitud de salida antes del restablecimiento de la entrada Lr
.
Verificación
Junto con las técnicas de verificación normales de prueba, cobertura, etc., los circuitos QDI pueden verificarse formalmente invirtiendo el procedimiento de síntesis formal para derivar una especificación CHP del circuito. Esta especificación de CHP se puede comparar con la original para demostrar su exactitud. [verificación 1] [verificación 2]
Referencias
Síntesis
- ^ Tse, Jonathan; Hill, Benjamín; Manohar, Rajit (mayo de 2013). "Un poco de análisis sobre enlaces en chip autotemporizados de un solo bit" (PDF) . 2013 19º Simposio Internacional de IEEE sobre Circuitos y Sistemas Asíncronos . Actas del XIX 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 .
- ^ a b c Martin, Alain (1991). Síntesis de circuitos VLSI asíncronos (PDF) (Ph.D.). Instituto de Tecnología de California.
- ^ Manohar, Rajit; Lee, Tak-Kwan; Martín, Alain (1999). Proyección: técnica de síntesis para sistemas concurrentes (PDF) . Investigación avanzada en circuitos y sistemas asíncronos . págs. 125-134. CiteSeerX 10.1.1.49.2264 . doi : 10.1109 / ASYNC.1999.761528 . ISBN 978-0-7695-0031-7. S2CID 11051137 .
- ^ Manohar, Rajit; Martin, Alain J. (15 de junio de 1998). Elasticidad floja en computación concurrente (PDF) . Matemáticas de la construcción de programas . Apuntes de conferencias en Ciencias de la Computación. Springer, Berlín, Heidelberg. págs. 272-285. CiteSeerX 10.1.1.396.2277 . doi : 10.1007 / bfb0054295 . ISBN 9783540645917.
- ^ Manohar, R. (2001). "Un análisis de expansiones de apretón de manos reorganizadas". Actas Séptimo Simposio Internacional sobre Circuitos y Sistemas Asíncronos. ASYNC 2001 (PDF) . págs. 96-105. CiteSeerX 10.1.1.11.55 . doi : 10.1109 / async.2001.914073 . ISBN 978-0-7695-1034-7. S2CID 5156531 https://web.archive.org/web/20171014233818/https://pdfs.semanticscholar.org/54ea/8135c3b572f6afa97b1718699a0e1981b736.pdf . Archivado desde el original (PDF) el 14 de octubre de 2017. Falta o vacío
|title=
( ayuda ) - ^ Cortadella, J .; Kishinevsky, M .; Kondratyev, A .; Lavagno, L .; Yakovlev, A. (marzo de 1996). Codificación de estado completa basada en la teoría de regiones (PDF) . Actas del Segundo Simposio Internacional sobre Investigación Avanzada en Circuitos y Sistemas Asincrónicos . págs. 36–47. doi : 10.1109 / async.1996.494436 . hdl : 2117/129509 . ISBN 978-0-8186-7298-9. S2CID 14297152 .
- ^ Burns, Steven; Martin, Alain (1988). "Traducción dirigida por sintaxis de programas concurrentes en circuitos autodirigidos" (PDF) . Instituto de Tecnología de California. Cite journal requiere
|journal=
( ayuda ) - ^ Berkel, Kees van; Kessels, Joep; Roncken, Marly; Saeijs, Ronald; Schalij, Frits (1991). "El lenguaje de programación VLSI Tangram y su traducción en circuitos de apretón de manos" (PDF) . Actas de la Conferencia Europea sobre Automatización del Diseño . Automatización de diseño IEEE. págs. 384–389. doi : 10.1109 / EDAC.1991.206431 . S2CID 34437785 .
- ^ Líneas, Andrew (1998). "Circuitos asincrónicos canalizados" (PDF) (Ph.D.). Instituto de Tecnología de California. doi : 10.7907 / z92v2d4z . Cite journal requiere
|journal=
( ayuda )
Momento
- ^ a b c Martin, Alain J. (1990). "Las limitaciones de la insensibilidad al retardo en circuitos asincrónicos" (PDF) . Sexta Conferencia del MIT sobre Investigación Avanzada en VLSI . Prensa del MIT.
- ^ Manohar, Rajit; Martin, Alain (1995). "Los circuitos cuasi-insensibles al retardo son Turing-Complete" (PDF) . Instituto de Tecnología de California. doi : 10.7907 / Z9H70CV1 . Cite journal requiere
|journal=
( ayuda ) - ^ Manohar, R .; Moses, Y. (mayo de 2015). Análisis de bifurcaciones isocrónicas con causalidad potencial (PDF) . 2015 21º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos . págs. 69–76. doi : 10.1109 / async.2015.19 . ISBN 978-1-4799-8716-0. S2CID 10262182 .
- ^ a b Keller, S .; Katelman, M .; Martin, AJ (mayo de 2009). Un supuesto de tiempo necesario y suficiente para circuitos independientes de la velocidad (PDF) . 2009 15º Simposio de IEEE sobre circuitos y sistemas asíncronos . págs. 65–76. doi : 10.1109 / async.2009.27 . ISBN 978-0-7695-3616-3. S2CID 6612621 .
- ^ LaFrieda, C .; Manohar, R. (mayo de 2009). Reducción del consumo de energía con circuitos relajados casi insensibles al retardo (PDF) . 2009 15º Simposio de IEEE sobre circuitos y sistemas asíncronos . págs. 217–226. CiteSeerX 10.1.1.153.3557 . doi : 10.1109 / async.2009.9 . ISBN 978-0-7695-3616-3. S2CID 6282974 .
- ^ Meng, TU; Brodersen, RW; Messerschmitt, DG (noviembre de 1989). "Síntesis automática de circuitos asíncronos a partir de especificaciones de alto nivel". Transacciones IEEE sobre diseño asistido por computadora de circuitos y sistemas integrados . 8 (11): 1185–1205. doi : 10.1109 / 43.41504 . ISSN 0278-0070 .
- ^ 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) . Transacciones IEEE sobre diseño asistido por computadora de circuitos y sistemas integrados . 17 (11): 1108–1129. doi : 10.1109 / 43.736185 . hdl : 2117/125785 . ISSN 0278-0070 .
- ^ Stevens, KS; Ginosar, R .; Rotem, S. (febrero de 2003). "Tiempo relativo" (PDF) . Transacciones IEEE en sistemas de integración a gran escala (VLSI) . 11 (1): 129–140. doi : 10.1109 / tvlsi.2002.801606 . ISSN 1063-8210 .
- ^ Manoranjan, JV; Stevens, KS (mayo de 2016). Calificar las restricciones de tiempo relativo para circuitos asincrónicos (PDF) . 2016 22º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos (ASYNC) . págs. 91–98. doi : 10.1109 / async.2016.23 . ISBN 978-1-4673-9007-1. S2CID 6239093 .
Verificación
- ^ Longfield, SJ; Manohar, R. (mayo de 2013). Inversión de la síntesis de Martin para la verificación (PDF) . 2013 19º Simposio Internacional de IEEE sobre Circuitos y Sistemas Asíncronos . págs. 150-157. CiteSeerX 10.1.1.645.9939 . doi : 10.1109 / async.2013.10 . ISBN 978-1-4673-5956-6. S2CID 762078 .
- ^ Longfield, Stephen; Nkounkou, Bretaña; Manohar, Rajit; Tate, Ross (2015). Prevención de fallos y cortocircuitos en las especificaciones de chip autotemporizado de alto nivel (PDF) . Actas de la 36ª Conferencia ACM SIGPLAN sobre diseño e implementación de lenguajes de programación . PLDI '15. Nueva York, NY, EE.UU .: ACM. págs. 270-279. doi : 10.1145 / 2737924.2737967 . ISBN 9781450334686. S2CID 6363535 .
Dimensionamiento
- ^ a b Burns, Steven (1991). Análisis de rendimiento y optimización de circuitos asíncronos (Ph.D.). Instituto de Tecnología de California.
- ^ Lee, Tak-Kwan (1995). Un enfoque general para el análisis de rendimiento y la optimización de circuitos asincrónicos (Ph.D.). Centro de Información Técnica de Defensa.
Diseño
- ^ Karmazin, R .; Longfield, S .; Otero, director de tecnología; Manohar, R. (mayo de 2015). Colocación controlada por tiempo para circuitos casi insensibles al retardo (PDF) . 2015 21º Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos . págs. 45–52. doi : 10.1109 / async.2015.16 . ISBN 978-1-4799-8716-0. S2CID 10745504 .
Papas fritas
- ^ Martin, Alain; Burns, Steven; Lee, Tak-Kwan (1989). "El diseño de un microprocesador asincrónico" . ACM SIGARCH Computer Architecture News . 17 (4): 99-110. doi : 10.1145 / 71317.1186643 .
- ^ Nanya, T .; Ueno, Y .; Kagotani, H .; Kuwako, M .; Takamura, A. (verano de 1994). "TITAC: diseño de un microprocesador casi insensible al retardo" (PDF) . Diseño y Prueba de Computadoras IEEE . 11 (2): 50–63. doi : 10.1109 / 54.282445 . ISSN 0740-7475 . S2CID 9351043 .
- ^ 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 insensible al retardo (PDF) . Proceedings International Conference on Computer Design VLSI in Computers and Processors . 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 desde el original (PDF) el 14 de octubre de 2017.
Herramientas
- "Petrificar: una herramienta para la síntesis de redes de Petri y circuitos asincrónicos" . Grupo CAD UPC / DAC VLSI . Consultado el 6 de octubre de 2017 .
- Fang, David. "El kit de herramientas de Kompiler de circuito asincrónico jerárquico" . Consultado el 6 de octubre de 2017 .
- "Sistema de síntesis asincrónica de balsa" . Consultado el 6 de octubre de 2017 .
- Manohar, Rajit. "El lenguaje ACT y las herramientas básicas" . Consultado el 14 de febrero de 2020 .
- Bingham, Ned. "Simulador de HSE" . Consultado el 14 de febrero de 2020 .
Tutoriales
- "Introducción a los circuitos asincrónicos" .
- "Medio búfer de condición débil" .
- "Copia WCHB" .
- "WCHB Split" .
- "Fusión de WCHB" .
- "Registro WCHB" .
- "Precargar medio búfer" .