Circuit asíncron
Circuit asíncron (circuit sense rellotge o de temps automàtic) [1] és un circuit lògic digital seqüencial que no utilitza un circuit de rellotge global ni un generador de senyal per sincronitzar els seus components.[1] [2] En comptes d'això, els components són impulsats per un circuit de connexió de mans que indica la finalització d'un conjunt d'instruccions. L'enllaç de mans funciona mitjançant protocols de transferència de dades senzills. Molts circuits síncrons es van desenvolupar a principis de la dècada de 1950 com a part de sistemes asíncrons més grans (per exemple, ORDVAC). Els circuits asíncrons i la teoria que l'envolten formen part de diversos passos en el disseny de circuits integrats, un camp de l'enginyeria electrònica digital.
Els circuits asíncrons es contrasten amb els circuits síncrons, en els quals els canvis en els valors del senyal del circuit són desencadenats per polsos repetitius anomenats senyal de rellotge. La majoria dels dispositius digitals actuals utilitzen circuits síncrons. No obstant això, els circuits asíncrons tenen el potencial de ser molt més ràpids, tenir un menor nivell de consum d'energia, interferències electromagnètiques i una millor modularitat en sistemes grans. Els circuits asíncrons són una àrea activa de recerca en disseny de lògica digital.[3][4]
No va ser fins a la dècada de 1990 quan es va demostrar la viabilitat dels circuits asíncrons amb productes comercials de la vida real.
Visió general
[modifica]Tots els circuits lògics digitals es poden dividir en lògica combinacional, en què els senyals de sortida depenen només dels senyals d'entrada actuals, i lògica seqüencial, en què la sortida depèn tant de l'entrada actual com de les entrades passades. En altres paraules, la lògica seqüencial és la lògica combinacional amb la memòria. Pràcticament tots els dispositius digitals pràctics requereixen lògica seqüencial. La lògica seqüencial es pot dividir en dos tipus, la lògica síncrona i la lògica asíncrona.
Circuits sincrònics
[modifica]En els circuits lògics síncrons, un oscil·lador electrònic genera una sèrie repetitiva d'impulsos igualment espaiats anomenada senyal de rellotge. El senyal de rellotge es subministra a tots els components de l'IC. Els flip-flops només s'inverteixen quan s'activen per la vora del pols del rellotge, de manera que els canvis en els senyals lògics al llarg del circuit comencen al mateix temps i a intervals regulars. La sortida de tots els elements de memòria d'un circuit s'anomena estat del circuit. L'estat d'un circuit síncron canvia només amb el pols del rellotge. Els canvis de senyal requereixen una certa quantitat de temps per propagar-se a través de les portes lògiques combinacionals del circuit. Aquest temps s'anomena retard de propagació.
A partir del 2021, el temps dels circuits integrats síncrons moderns requereix esforços d'enginyeria importants i eines d'automatització de disseny sofisticades.[5] Els dissenyadors s'han d'assegurar que l'arribada del rellotge no sigui defectuosa. Amb la mida i la complexitat cada cop més grans dels circuits integrats (per exemple, els ASIC ) és una tasca difícil.[5] En circuits enormes, els senyals enviats per la xarxa de distribució del rellotge sovint acaben en diferents moments en diferents parts.[5] Aquest problema és àmpliament conegut com a " clock skew ".[5]
La velocitat de rellotge màxima possible està limitada pel camí lògic amb el retard de propagació més llarg, anomenat camí crític. Per això, els camins que poden funcionar ràpidament estan inactius la majoria del temps. Una xarxa de rellotge àmpliament distribuïda dissipa molta potència útil i ha de funcionar tant si el circuit està rebent entrades com si no.[5] A causa d'aquest nivell de complexitat, les proves i la depuració ocupen més de la meitat del temps de desenvolupament en totes les dimensions dels circuits síncrons.[5]
Circuits asíncrons
[modifica]Els circuits asíncrons no necessiten un rellotge global i l'estat del circuit canvia tan bon punt canvien les entrades. Els blocs funcionals locals encara es poden utilitzar, però encara es pot tolerar el problema de la inclinació del rellotge.
Tanmateix, els circuits asíncrons són més difícils de dissenyar i estan subjectes a problemes que no es troben als circuits síncrons. Això es deu al fet que l'estat resultant d'un circuit asíncron pot ser sensible als temps d'arribada relatius de les entrades a les portes. Si les transicions de dues entrades arriben gairebé al mateix temps, el circuit pot entrar en un estat incorrecte depenent de lleugeres diferències en els retards de propagació de les portes.
Això s'anomena condició de carrera. En els circuits síncrons aquest problema és menys greu perquè les condicions de carrera només es poden produir a causa d'entrades de fora del sistema síncron, anomenades entrades asíncrones.
Tot i que s'han construït alguns sistemes digitals totalment asíncrons (vegeu més avall), avui en dia els circuits asíncrons s'utilitzen normalment en algunes parts crítiques de sistemes sincrònics on la velocitat és molt alta, com els circuits de processament de senyal.
Referències
[modifica]- ↑ 1,0 1,1 Horowitz, Mark. «Advanced VLSI Circuit Design Lecture» (en anglès). Stanford University, Computer Systems Laboratory, 2007. Arxivat de l'original el April 21, 2016.
- ↑ Sparsø, Jens. «Asynchronous Circuit Design A Tutorial» (en anglès). Technical University of Denmark, 01-04-2006.
- ↑ IEEE Design and Test, 32, 3, 5-2015, pàg. 5–18. DOI: 10.1109/MDAT.2015.2413759 [Consulta: 27 agost 2019].
- ↑ IEEE Design and Test, 32, 3, 5-2015, pàg. 19–28. DOI: 10.1109/MDAT.2015.2413757 [Consulta: 27 agost 2019].
- ↑ 5,0 5,1 5,2 5,3 5,4 5,5 «Why Asynchronous Design?» (en anglès). Galois, Inc., 15-07-2021. [Consulta: 4 desembre 2021].