Az aszinkron áramkör olyan digitális elektronikus áramkör, amely nem használ globális órajelet a különféle elemek szinkronizálásához. Ehelyett ezek gyakran helyben kommunikálnak, jelezve az adatok küldését és fogadását. Néha „ saját szekvenciájú áramkörről ” beszélünk .
Ezeket a szélesebb körben elterjedt szinkron áramkörök lehetséges alternatívájaként tervezik , különösen az energiafogyasztás csökkentése érdekében, mivel egy óra állandóan aktív marad. Az óra hiánya más előnyökkel járhat, például megnövekedett sebességgel, könnyebb kialakítással és nagyobb megbízhatósággal.
2012-ben, e sok előny ellenére, és bár szinte egyszerre láttak napvilágot a szinkron áramkörökkel, az ilyen áramkörök továbbra is kisebbségben maradnak. Például a gyártott processzorok többségét egy vagy több óra szinkronizálja, mind a beágyazott piacon, mind a leghatékonyabb processzorok számára, bár kezdjük látni az aszinkron mikrovezérlők megjelenését .
Az aszinkron áramkörök történetét számos nagy eredmény jellemzi, mérföldkőnek számít számítógépek vagy komplett processzorok létrehozása. Nem szabad azonban elhomályosítaniuk az elméleti előrehaladást és a közelmúltban az általuk lehetővé tett szintézis és ellenőrző eszközök fejlesztését.
A digitális elektronika más ágaihoz hasonlóan a kutatások továbbra is folytatódnak, bár a koncepció már az 1950-es években kifejeződött. Egyes kutatók az aszinkron technikák széleskörű használatát jósolják, de a múltban ilyen előrejelzéseket nem tettek.
Az aszinkron áramkörök elmélete David A. Huffman munkájával kezdődik a véges automaták 1953- as megvalósításával kapcsolatban . Az "aszinkron áramkör" mai koncepciója, amely az elemek közötti kommunikáció protokolljának felhasználásával modulárisan épül fel, az ötvenes évek vége, amikor David Muller bevezette a háromállapotú kétvágányú protokollon alapuló "sebességfüggetlen" áramköröket: csapata 1952-ben felépítette az ILLIAC I-t és 1962- ben az ILLIAC II-t. Azonban az ilyen típusú áramkörök használata akkor komplexnek ítélik meg: nincs egyszerű módszer, amely lehetővé tenné az ilyen áramkörök előállítását, míg a véges automaták adják meg az adaptált modellt.
Az 1960-as és 1970-es években néhány aszinkron áramkör látott napvilágot, köztük "makromodulok", aszinkron komponensek, amelyeket összetett rendszerek létrehozására állítottak össze: az aszinkron interfész lehetővé tette, hogy csak a logikai problémák miatt aggódjanak.
Az 1980-as évek végén és az 1990-es évek elején újból megnőtt az érdeklődés az aszinkron technikák iránt, ami kétségkívül Ivan Sutherland és Alain Martin munkájának tulajdonítható .
1989-ben Ivan Sutherland bevezette a mikropipeline koncepciót , a kétfázisú összesített adatprotokoll megvalósítását . Ez aztán folyamatosan javul, köszönhetően más megvalósításoknak vagy a négyfázisú protokollok használatának.
Ebben az időszakban megjelent az első aszinkron mikroprocesszor, a Caltech aszinkron mikroprocesszor , amelyet Alain Martin csapata 1989-ben tervezett a Caltechnél . A CHP kódból generált kvázi késleltetésű érzéketlen áramköröket ( QDI ) használ, és RISC architektúrával rendelkezik .
Ezt követik az AMULET mikropipeline- alapú változatai , amelyek az ARM architektúrát használják . A második változat bemutatja a négyfázisú mikropipeline - eket . Egy másik , különösen hatékonynak ítélt Caltech QDI mikroprocesszort , a MiniMIPS-t az 1990-es évek végén terveztek és teszteltek. Másokat a világ egyetemein terveztek, mint például a TITAC 1 1994-ben, a TITAC 2 1997-ben ( RISC architektúra , a QDI modell) vagy Aspro (RISC és QDI), 2001-ben Grenoble-ban .
Ugyanakkor új módszerek jelennek meg: a négyállapotú kódolást, amely hatékonyabb, mint a többi kétfázisú kettős sínes kódolás, két csapat önállóan találta fel 1991-ben és 1992-ben; a különböző QDI csővezetékek megjelennek és mikroprocesszorokban használják őket; potenciálisan hatékonyabb csővezetékeket javasolnak, időbeli feltételezésekkel.
Az 1990-es évek végén ismét megjelentek a kereskedelmi alkalmazások: sok vállalat aszinkron megközelítésen alapuló áramköröket kezdett használni, vagy ilyen irányú kutatásokat folytatott.
Közülük a Philips úttörő szerepet játszik a Tangram nyelvet használó aszinkron áramkörszintézis eszközök bevezetésében 1995 óta, a Handshake Solutions cég eszközeinek köszönhetően ; a vállalat 1998 óta rendelkezik 80C51 aszinkron mikrovezérlőkkel , amelyeket több rendszerben használnak, köztük személyhívókban és intelligens kártyákban.
A Sun Microsystems , az Intel és az IBM kutatói is részt vesznek ebben az őrületben: 1995 és 1999 között az Intel kutatást folytatott az x86 utasításkészlet, a RAPPID dekódolójának létrehozására , miközben a Sun laboratóriumai a számos technika mögött álltak, beleértve a GasP típusú csővezetékeket és egy aszinkron processzor architektúrája, az ellenáramú csővezeték , amelyet még soha nem valósítottak meg.
Végül számos induló vállalkozás kihasználja ezen áramkörök előnyeit, mint például a Theseus Logic 1996-ban, a Fulcrum 2000-ben vagy később a Tiempo, vagy akár a GreenArrays .
A szintézis és az optimalizálás módszerei is sokat fejlődtek, különösen a specifikációból származó szintézis Petri háló formájában , olyan eszközökhöz vezetve, mint a Petrify . Más utakat is feltárnak: az olyan nyelvekből való összeállítás mellett, mint a CHP vagy a Tangram, már említettük, az eszközök korlátozott késleltetési modellek szintézisét célozzák, mint például a Minimalist .
Az aszinkron áramkörök körüli kutatások a 2000-es években folytatódtak: új csővezeték-megvalósításokat javasoltak, mind többsínűek , például az LP2 / 1 2000-ben, mind a csoportosított adatok, például az IPCMOS 2000-ben vagy a MOUSETRAP 2007-ben; megjelennek az úgynevezett „ egypályás ” protokollok , amelyek ugyanazt a szálat használják a kéréshez és a nyugtázáshoz, olyan megvalósításokkal, mint az STFB és a GasP.
2004-ben az Epson létrehozott egy rugalmas mikrovezérlőt , amely a maga nemében elsőként aszinkron volt.
Az aszinkron áramköröknek számos potenciálisan érdekes tulajdonságuk van: különösen ígéretesek azokon a területeken, ahol megbízhatóságra van szükség, és alacsony fogyasztású áramkörök számára, még sebességük szempontjából is, bár egyetlen tervezési módszer sem rendelkezik mindezekkel az előnyökkel egyidejűleg: sok-sok módon gondolkodni lehet róluk , mindegyiknek megvannak a maga előnyei és problémái.
Az órajel állandóan megváltoztatja az állapotot: az áramkör fogyasztásának jelentős részét képviselheti. Ezzel szemben az aszinkron áramkörök csak akkor aktívak, ha rendelkezésre állnak adatok. Ellenkező esetben nincs tranzisztorkapcsoló, és az egyetlen fogyasztott energia szivárgási áramuknak köszönhető, ami hitelessé teszi őket alacsony fogyasztású áramkörök számára, vagy amikor a munkaterhelés gyorsan változik. Az elemek közötti kommunikáció biztosítása érdekében ugyanakkor több tranzisztort és több vezetéket is használnak ugyanahhoz az adatmennyiséghez, mint szinkron társaik, ami csökkentheti az energianyereséget és megnövelheti a chipek méretét.
Bizonyos áramkörök ennek ellenére jelentős nyereséget mutattak, energiahatékonyságuk négyszer nagyobb, mint a 80C51 mikrovezérlő megvalósításának szinkronegyenértéke, vagy az AMULET processzorokhoz közel állnak az ARM többi processzorához .
Az alkalmazott tervezési módszertantól függően lehet áramköröket létrehozni kevés időbeli feltételezés alapján (például érzéketlen vagy szinte érzéketlen a késésekre): ezek az áramkörök akkor is helyes viselkedéssel rendelkeznek, ha az áramkör fizikai tulajdonságai fejlődnek (a hőmérséklet, a tápfeszültség miatt) vagy a gyártási technológia változása).
Az aszinkron áramkörök érzékenyek a vezetékek minden állapotváltozására, és nem az óra kapcsolásakor mintavett stabilizált jelekre: „ véletlenszerű ” -ről beszélünk a jelek nemkívánatos variációinak kijelölésére. Az ilyen problémákat a tervezés szakaszában figyelembe kell venni. Ez hibák vagy interferencia esetén a szinkron áramköröktől eltérő viselkedést is ad nekik . Ezenkívül az aszinkron protokollok feltételeznek az áramkörök viselkedéséről (főleg a késésekről) amelyeket érvényteleníteni lehet például a tranzisztorok méretének és teljesítményének változásaival.
A szinkron áramkör kialakításához a kapu késéseinek pontos ismerete szükséges, de a túl hosszú késleltetés kompenzálható az órajel frekvenciájának csökkenésével, az áramkör teljes sebességének csökkenése árán. Egy másik visszatérő probléma az óra jitter jelensége , és általában az órajel eloszlásának problémája az áramkörökben, amely megnehezíti a frekvencia növekedését, és amelynek korrekciója komplex technikák alkalmazását igényli, néha energiát fogyaszt.
A digitális elektronikában a sebesség kétféle módon jellemezhető: késleltetés , amely megfelel az áramkör által az adatok feldolgozásához szükséges időnek , és az áteresztőképesség , amely az időegységenként feldolgozott adatok száma.
Az adatok egyik elemről a másikra történő továbbítására szolgáló áramkörök további késleltetést hozhatnak létre a kérelem és a jelek nyugtázására, csökkentve az átvitelt és növelve a késést.
Másrészt, mind a látencia , és a bitráta nem korlátozódnak egy globális órajel , és nem feltétlenül állandó szerinti részei az áramkör, vagy a bemeneti adatokat. Például olyan logikai áramköröknél, mint például az összeadók , egyes aszinkron megvalósítások visszaadhatják az eredményt, amint kiszámítják (itt a hordozás), míg egy szinkron áramkörnek mindig várnia kell a következő órajelig (amelynek elég későnek kell lennie a a legrosszabb esetben is teljesítendő számítások). Ezért lehetővé teszik a jó megvalósítást az átlagos számítási idő alatt, bár a legrosszabb eset sokkal hosszabb is lehet.
Egyes gyártott aszinkron mikroprocesszorok tehát nagyon jó teljesítményt mutatnak, a MiniMIPS sebessége megközelítőleg megegyezik az egyenértékű processzorok négyszeresével a szoros energiahatékonyság érdekében.
Könnyű a különböző aszinkron áramkörök együttes használata (akár különböző protokollok használatával, az egyikből a másikba fordító elem hozzáadásával), mert egyetlen elemnek sem kell közösnek lennie, ellentétben a szinkron áramkörök órájával. Még szinkron áramkörökkel is összekapcsolhatók, és aszinkron kapcsolatokkal összekapcsolhatók egymással a szinkron áramkörök. Ez a modularitás előnyt jelent a más elemekkel való interakcióhoz, de általában a tervezéshez is, amelyet megkönnyít és meg lehet valósítani magas szintű nyelvekkel .
Az egyetlen óra és ezért a globális időalap hiánya jelentősen leegyszerűsíti a folyamatot, elkerülve, hogy a tervezési szakaszban figyelembe kell venni a késéseket és az órajel eloszlását az összes skálán, de más problémákat is fel kell venni az eszközök vagy a tervező figyelembe veszi.
Mivel a különböző elemek nincsenek szinkronizálva, az elektromágneses emisszió csökken, miközben az energiafogyasztás kiegyenlítődik: ezt ki lehet használni, hogy megvédjék az őket kihasználó bizonyos támadásokat , mert akkor az áramkör aktivitását a kibocsátás vagy a fogyasztás alapján nehezebb levezetni. Ez a tulajdonság bármely olyan környezetben kihasználható, ahol minimálisra kell csökkenteni az elektromágneses emissziót, például egy antenna közelében .
A szinkron áramkör viszont hajlamos az órafrekvenciájának harmonikus hullámait kibocsátani, és az egyes órák szélén elfogyasztott teljesítmény csúcsait mutatja.
Mivel az elemek közötti szinkronizálás helyi szinten történik, az aszinkron csővezetékek természetesen rugalmasak, vagyis változó mennyiségű adatot tárolhatnak. Ez annak a következménye, hogy ezek függetlenül terjednek azoktól, akik követik őket.
A globális időalap hiánya megkönnyíti a külső események kezelését. Ilyen esemény bekövetkezhet a legrosszabb időben is, például egy órajel vagy az adatok beérkezésével egyidejűleg, ami metastabil állapot megjelenéséhez vezethet, amelyhez az elektronikában nehéz alkalmazkodni. Az aszinkron áramkörök esetében viszont vannak speciális kapuk, amelyek lehetővé teszik az „arbitrázs” végrehajtását: lehet várni, amíg a metastabil állapot megoldódik.
Kétféle módon lehet aszinkron interfészt létrehozni két elem között. A feladó és a címzett részvételével folytatott egyirányú kommunikáció során az adatok küldését egy kérés jelzi, amelyet "Req" -nek, az átvételüket pedig "Ack" jelöléssel ellátott nyugtázással jeleznek: egy "kézfogásról" beszélünk. Ennek kijelölésére csere. A küldés a következőképpen zajlik: amikor adatai készen állnak, a feladó lemásolja és kérés útján tájékoztatja a címzettet; amikor az utóbbi továbbította, lemásolta vagy felhasználta őket, akkor visszaigazolást küld, jelezve, hogy nincs szüksége rájuk. Ezután az adó új adatokat küldhet.
A kérés és a nyugtázás nem feltétlenül külön jelek; mindegyik kódolható egy vezetéken, de ez nem szükségszerűség: különböző kódolások léteznek.
Két protokollcsalád létezik, attól függően, hogy az események, például kérések és nyugtázások hogyan vannak kódolva:
Ezután a protokollok a használt jelektől függően változnak. Nagyon gyakran a lekérdezést ugyanazokra a szálakra kódolják, mint az adatok, ami a következő szakaszban bemutatott többszálas kódolást eredményezi. Bizonyos kevésbé elterjedt protokollokban nincs külön vezeték a nyugtázáshoz, és egy vagy több vezetéket használnak, amelyeken a feladó és a fogadó működhet: ily módon csak két fázis van (küldés, majd visszaigazolás a vétel után), és kevesebb kommunikációs vezeték van . Más protokollokat javasoltak: impulzusok alapján, vagyis a vezetékek korai alaphelyzetbe állítása, vagy a papucsok kiküszöbölése , vagy akár nem bináris jelek használata, kettőnél több jelentős feszültség mellett.
Az aszinkron áramkörökben sokféleképpen lehet kódolni az adatokat. A legnyilvánvalóbb kódolás, hasonlóan a szinkron áramkörökhöz, egy vezetéket használ egy bithez ; aszinkron módban "csoportosított adatkódolásnak" hívják. Mivel azonban minden aszinkron adatátvitelhez kérés társul, amely lehetővé teszi annak jelzését, egy másik technika az adatok és a kérés együttes kódolása, például "kettős sínű" kódolásban, két vezetéken, amelyeket széles körben használnak.
Csoportosított adatkódolásEbben a protokollban egy vagy több szál adatot hordoz, bitenként egy szálzal . Az egyik szál (Req) a feladó kérésére szolgál, jelezve, hogy az adatok készen állnak, és egy másik (Ack) a címzett válaszára. Az ilyen áramköröket egy olyan modell alkalmazásával tervezik, ahol bizonyos késéseket korlátozottnak tekintenek, mert különben előfordulhat, hogy az adatok még akkor sem érvényesek, ha a kérés megérkezett.
Gyakran beszélünk mikropipeline-okról az áramkörök kijelölésére ezzel a kódolással, két vagy négy fázissal. Eredetileg ez a kifejezés kétfázisú adatcsomag-protokollt használó aszinkron vezetékre vonatkozott.
Több vezetéken kódolásItt nincs külön szál a kérelem elküldésére, ami implicit. Általánosságban vannak úgynevezett „m out of n” komplex kódolások, amelyek közül csak egy adott, úgynevezett „double rail” tokot használnak, két huzallal. Ezekben a kódolásokban egy adatelemet n gyermek közötti m átmenet képvisel, és a címzett úgy gondolhatja, hogy az adatok érvényesek, amint m átmenet megtörtént, ami a kódolást maga érzéketlenné teszi a késésekkel szemben. Az ilyen kódolás alkalmas mind egy négyfázisú protokollra, ahol az összes vezeték minden csere után visszaáll a kezdeti állapotra, mind a kétfázisú protokollra.
Az m kódolás legegyszerűbb típusa n között az n közötti 1 kódolás, amelyet " egy forrónak " is neveznek : ebben az esetben n lehetséges átmenet van, ami lehetővé teszi egy szám ábrázolását az n bázisban , a kettős bináris írást tartalmazó sín. Természetesen más kódolások is lehetségesek, de kevéssé használtak, mint a másik m az n kódolások között.
Az egy forró kettős sínű protokollokat széles körben használják. A legnépszerűbb a négyfázisú protokoll, más néven "háromállapotú kódolás". Érvénytelen értéke van (tipikusan 00), és két jelentős értéke van (01 például 0-t kódol, 10 pedig 1-et kódol), a 11. állapot nincs használatban. Az adó minden adatküldéskor érvénytelen állapotba kerül. Annak jelzésére, hogy a címzett észrevette az érték változását, minden alkalommal választ küldünk, ideértve az érvénytelen állapotot is, ami lehetővé teszi, hogy a nyugtázó jel is visszatérjen eredeti állapotába. A kétfázisú protokollban minden küldéskor csak egy átmenet történik, és ezt egyetlen átmenet is nyugtázza.
Végül létezik egy másik kettős sínű kódolás, amelyet kétfázisú protokollra szánnak: az összes állapot szignifikáns, de két kód felel meg a bitek minden egyes értékének, ami lehetővé teszi minden új nullapont állapotának megváltoztatását; négyállapotú kódolásról beszélünk .
Az aszinkron áramkörök valójában több, különböző tulajdonságokkal rendelkező áramkörosztályt csoportosítanak a tervezési szakaszban tett feltételezések szerint. Valójában az aszinkron áramkörök helyi kommunikációja lehetővé teszi bizonyos időbeli korlátok leküzdését, amelyek maguk az elemek jelzik az adatok rendelkezésre állását. Ezek a tulajdonságok a késleltetés-érzéketlenségtől (a DI áramkörökről beszélünk ), ahol az áramkör a kapu és a vezeték késéseitől függetlenül helyes, a korlátozott késleltetési modellig terjed, ahol a késések ismert határt mutatnak. A köztes áramkörök két osztályát alkalmazzák: kvázi-érzéketlen a késésekre ( QDI ) és független a sebességtől ( SI ).
Leegyszerűsítve: ezek a modellek a jeleket logikai értéknek tekintik, a kapuk és a vezetékek csak a terjedési késést biztosítják. A valóságban néha a késések összetettebbek, mint az egyszerű késések, a jelek valójában feszültségek, és nem bináris értékek, és maguk a kapuk is korlátozott késleltetési modell alkalmazásával valósulnak meg.
A késésekre érzéketlen áramkörökAz ilyen áramkörök jól működnek, függetlenül a vezetékek és a kapuk késésétől. Ezeket azonban nem lehet egyszerű logikai kapukkal megvalósítani (egyetlen kimenettel rendelkező logikai kapuk használhatók a C kapuk és az inverter), ezért a gyakorlatban nem gyakran használják őket. Ez a modell azonban összetettebb kapuknál is használható, amelyek más feltételezések szerint valósulnak meg.
Az áramkörök szinte érzéketlenek a késésekreA kvázi késleltetésű érzéketlen áramkörök ( QDI ) hozzáadják a hipotézist a tervezéshez, miszerint lehetséges "izokrón villák" megszerzése, vagyis egy huzal szétválasztása többre, amelyeknek pontosan ugyanaz a késése, ezt a feltételezést általában figyelembe veszik. hogy a gyakorlatban megvalósítható legyen, de bizonyos kockázatokat rejt magában, mert a vezetékek késleltetése hosszú lehet a CMOS technikával rendelkező kapukéhoz képest , és mivel a jelek terjedése összetettebb, mint a bináris jelek egyszerű késleltetése. Ez azonban széles körben alkalmazott tervezési minta, mivel az ilyen áramkörök Turing-teljesek .
Sebességtől független áramkörökA vezetékek késéseit elhanyagolhatónak is tekinthetjük. Ezt a jelenlegi rendszerekben nehéz ellenőrizni, ezért előnyben részesíthetjük azokat az áramköröket, amelyek szinte érzéketlenek a késésekre. A két feltételezés azonban valójában nagyon közel áll egymáshoz, az a sebesség független esete, amely az összes villát izokrónnak tekinti. E látszólagos hiba ellenére ez a tervezési feltételezés nagyon elterjedt.
Áramkörök korlátozott késésselAhogy a nevük is sugallja, feltételezzük, hogy a kapuk és a szálak késedelme ismert, vagy ismert időtartam határolja őket. Néha Huffman áramköröknek hívják őket . Ez a tervezési elv a szinkron elektronikában, ahol az óraimpulzusok olyan hosszú időközönként készülnek, hogy a jelek terjedjenek és stabilizálódjanak az áramkörön. Az aszinkron elektronikában ezt a modellt is alkalmazzák, elsősorban sok véges automatának tekintett komplex kapu belső szerkezetének megtervezéséhez , de a mikropipelinekben is , vagy különösen nagy teljesítményű áramkörök előállításához.
A mikropipeline-okat néha megkülönböztetik a korlátozott késleltetésű egyéb áramköröktől azáltal, hogy olyan áramkörökként definiálják őket, amelyeknek a vezérlő része érzéketlen a nyugtázó és kérő jelek küldésének késleltetéseire, valamint a korlátozott késések modellje alapján felépített tároló flip-flopokra. tervezési módszer önmagában. E meghatározás szerint a mikropipelinek ezért nem csoportosítják az összes áramkört egy csoportosított adatprotokoll felhasználásával, mert a vezérlési struktúráknak korlátozott késései is lehetnek.
A szinkron és az aszinkron kialakítás közötti fő különbség a logikai veszélyek figyelembe vétele. A veszély egy nem kívánt átmenet a vezetéken. Szinkron áramkörben a veszélyeknek nincs következménye, mivel csak az óra élénél stabilizált jeleket veszik figyelembe ; aszinkron módban ez már nem így van, és egy veszély az áramkör blokkolásához vagy hibához vezethet .
A veszélyek az áramkör logikai kapukká történő rossz lebomlása után jelentkezhetnek: a kapuk és a vezetékek késése van, a jelek terjedési idejének különbségei az áramkör rezgését okozhatják. Ez a bemenetek bizonyos egyidejű megváltoztatására is lehetséges. Végül az ok fizikai lehet, különösen az áthallás , amely a miniatürizálás előrehaladtával egyre kritikusabbá válik.
Tervezhetünk aszinkron áramkört magas szintű nyelvek összeállításával vagy annak viselkedésének leírásával, például Petri hálókból .
Különböző módszertanokat és szintézis eszközöket fejlesztettek ki, mind az egyetemeken (Balsa, „Caltech” , Minimalista, Petrify), mind az iparban (Tangram, Null Convention Logic). Azonban a hiányos szintézis és ellenőrző eszközök, amelyek teljesek, mint a szinkron elektronikára szánt eszközök, továbbra is az aszinkron módszertanok alkalmazásának egyik legfőbb akadálya.
Szintézis fordítással vagy összeállítássalSzámos tervezési módszertan olyan magas szintű nyelvvel indul, amelyet összeállítanak vagy közvetlenül áramkörbe fordítanak. Ily módon a tervezés viszonylag intuitív, és az alaptéglák összeállításával komplex rendszert lehet felépíteni. Ezek közül a nyelvek közül sok a CSP- ből származik , ami jól tükrözi a versenyt : a Tangramot erre a célra fejlesztették ki a Philipsnél , a Balsa-nál a Manchesteri Egyetemen , a CHP-n a Caltechnél . Lehetőség van olyan hagyományosabb hardverleíró nyelvek használatára is, mint a Verilog vagy a VHDL , amelyeket nem kifejezetten erre szántak.
Szintézis egy specifikációbólMás szintézis módszerek léteznek, amelyek az áramkör viselkedésének leírásán alapulnak. Lehetővé teszik a hatékony áramkörök megszerzését, de bonyolultabb tervezés árán, mind a programozó, mind az algoritmikus összetettség szempontjából. A specifikáció grafikon formájában történik: vagy egy Petri-háló, vagy egy egyszerűsített Petri-hálózat, amelyet jelátmenet-gráfnak ( STG ) nevezünk , vagy egy véges automata ( ASM ).
Az eszközöktől függően a létrehozott áramkör független a sebességtől vagy korlátozott késésekkel. Ezen időbeli korlátok mellett általános korlátozás az egyidejűleg megváltoztatható bejegyzések számának korlátozása. Az áramkörről azt mondják, hogy "alapvető üzemmódban" működik, ha a bemenetek csak akkor változnak, amikor az áramkör stabil állapotba került, és "bemenet-kimenet módban", ha megváltozhatnak, amint az áramkör állapotváltással reagál. .
Ellenőrzés, teljesítményelemzés és optimalizálásEllenőrizni kell, hogy az áramkör a várt módon viselkedik-e: ez egy sor ellenőrzést tartalmaz a gyártás előtt és után: egyrészt arról van szó, hogy elkerüljük a gyártás során fellépő hibákból adódó problémákat. formális igazolásokkal és szimulációkkal kell elvégezni, másrészt olyanokkal, amelyek a gyártási hibák miatt keletkeznek, amelyek egyes gyártott áramköröket hibássá tehetnek. Ez utóbbihoz új tesztprotokollokat kell kidolgozni, amelyek alkalmazhatók a gyártott áramkörökre, az aszinkron áramkörökre jellemző algoritmusokkal.
Az aszinkron áramkörök optimalizálása sok kutatást eredményezett. Tulajdonságaik nagyon különböznek a szinkron áramköröktől: lehetetlenné tesznek bizonyos klasszikus optimalizációkat, amelyek időbeli bizonytalanságokat és veszélyeket hozhatnak létre, de a teljesítményelemzés teljesen eltér a közös ritmus hiánya miatt is: az elemek változó üteműek és komplexen lépnek kölcsönhatásba módokon. Az optimalizálás, amelyet általában a tervezőeszköz biztosít, többféle átalakítást alkalmaz, különböző szinteken: a technológia megválasztásán túl lehetőség van "absztrakt" szinten történő optimalizálásra (adatkódolás megváltoztatása, csővezeték szakaszok hozzáadása stb.) Is. mint helyi szinten (az ajtócsoportok cseréje egyenértékű csoportokkal). Ez a folyamat automatizált, és szimulációkkal értékelheti az áramkör teljesítményét.
Az aszinkron áramköri tervezés a dedikált eszközök hiányában szenved, a fő hardverleíró nyelvek a szinkron áramkörök tervezését célozzák meg, bár ezek használata lehetséges az aszinkron elektronikában.
Egy másik korlát a képzés, amely általában a szinkron elektronikára összpontosít, az aszinkron elektronika kevésbé elterjedt, és gyakran kevésbé hatékonynak vagy összetettebbnek tekinthető.
Végül az aszinkron áramkörökben - többek között időbeli korlátok miatt - fennálló megbízhatósági problémák is jelen vannak, amelyek különösen súlyosak lehetnek, mivel a terjedési idők nem állíthatók, mint egy óra esetén. Különösen olyan áramkörökben vannak jelen, amelyek sok időbeli feltételezést feltételeznek (például a korlátozott késések modellje), de léteznek olyan modellekkel is, amelyek bizonyos érzéketlenséget mutatnak a késések iránt; A gyártási technikák hiányosságai miatt ezeket csak első szimulációkkal , majd utómunkálatokkal lehet elkerülni .
Számos kritériumot vesznek figyelembe az aszinkron áramkörök különféle típusainak értékeléséhez: sebességük késleltetés és áteresztőképesség, méret és fogyasztás, valamint megbízhatóságuk szempontjából. Ezek a jellemzők nagyon változnak az alkalmazott protokolltól és a választott megvalósítástól, valamint a gyártási technikáktól és az áramkörre alkalmazott optimalizálásoktól függően. Ezért ez a szakasz csak áttekintést nyújt egyes választások áramkörre gyakorolt hatásáról.
Két vagy négy fázis?A két- és négyfázisú protokollnak megvan a maga előnye. A kétfázisú protokollok eleve kevesebb átmenetet tartalmaznak, ezért gyorsabbaknak és gazdaságosabbnak kell lenniük. A gyakorlatban azonban a négyfázisú protokollon való átjárást egy vagy másik ponton végrehajtják: ez a helyzet többek között a mikropipelinek eredeti megvalósításakor. Ezenkívül egyszerűbb a protokollokat négy fázissal és korlátozott számú lehetséges állapotukkal megvalósítani, különösen akkor, ha több sínen kell elvégezni a számításokat.
Valójában mindkét protokollt használták az adatcsoport kódolásához. Másrészt a több sínen használt protokollok inkább a nullához való visszatérést jelentik, kivéve, ha a kommunikációt hosszú vezetéken végzik, ezért hosszabb késéssel és fogyasztással, és érdekes lesz korlátozni az átmenetek számát., Mint abban az esetben, soros kapcsolatok .
Csoportosított és többsávos adatokAz első különbség a felhasznált vezetékek száma: a csoportosított adatprotokollok bitenként csak egy vezetéket használnak, plusz kérés és nyugtázás, míg a többsávos protokollok többet használnak. Ez utóbbit kevésbé alkalmas sok bit küldésére; másrészt lehetővé teszik a robusztusabb QDI áramkörök létrehozását; nekik is megvan az az előnyük, hogy a lekérdezést belefoglalják az adatokba, ami közvetlenül lehetővé teszi a korai befejezésű kapuk létrehozását, az eredmények visszaadását anélkül, hogy megvárnák az összes bemeneti adat rendelkezésre állását (például egy kapu vagy ha egy bemenet 1); az ilyen "finomszemcsés" csővezetékek, bitenként egy kéréssel , lehetővé teszik az eredmény minden részének külön küldését.
A kapcsolt adatáramkörök várhatóan kevesebbet fogyasztanak és kevesebb helyet foglalnak el; a kombinatorikus logikából származó kapuk ott újra felhasználhatók , mint a szinkron áramkörök esetében; ezután a kérési jelre szabott késleltetést a kapuk késéseihez kell igazítani, akár az operandusok késleltetésének megválasztásával, akár az áramkör fogyasztásából származó számítás végének detektálásával. A tiszta frekvencia tekintetében általában valamivel jobban viselkednek, de ez nem feltétlenül reprezentálja a valóságot, ahol a komplex számításokat nemlineáris csővezetékekkel végzik. Láthatjuk, hogy a leghatékonyabb aszinkron mikroprocesszorok, mint például a MiniMIPS, többsávos protokollokat használtak, míg az alacsony fogyasztásra törekvő Philips 80C51 és AMULET processzorok csoportosított adatprotokollokat használnak.
Előfordul, hogy a kétféle protokollt együtt használják az előnyök maximális kihasználására, például kettős sín választásával a számításokhoz, de csoportosított adatokkal az interfészekhez.
Megvalósítások megválasztása Csoportosított adatokAz adatcsoportosított protokollok sokféle megvalósítása létezik: kétfázisúak , az eredeti megvalósítás mellett vannak olyanok is, amelyek D flip - két óra szélére reagálnak, vagy MOUSETRAP típusúak.
Négy adatcsoportos fázissal rendelkező protokollok esetében lehetőség van bizonyos függőségek kiküszöbölésére a kérés és a szomszédos szakaszok által küldött nyugtázási jelek között, lehetővé téve annak néhány újraküldését. Így összetettebb, de potenciálisan hatékonyabb struktúrákat kapunk.
TöbbsínűHasonlóképpen, a négyfázisú többsávos áramkörökben három általános típusú áramkör létezik, mindhárom QDI: WCHB , PCHB és PCFB . A WCHB-ben egy szakasz megvárja az összes bemenet érvényességét (vagy visszaállítását), mielőtt visszaadna egy adatot a kimenetébe (vagy visszatérne a köztes állapotba). Következésképpen legfeljebb egy-két szakasz tartalmaz majd adatokat, ezért a „ félpuffer ” elnevezés, és különösen a korai befejezés lehetetlen. A PCHB és PCFB protokollok a bejegyzések érvényességének kifejezett ellenőrzésével az összes bejegyzés megérkezése előtt újraküldhetik az adatokat, és lehetővé teszik a gyors visszaállítást, anélkül, hogy megvárnák a bejegyzések érvénytelenségét. A PCFB protokoll lehetővé teszi az egyes szakaszok számára az adatok tárolását egy nyugtázás elküldésével, amint az előző szakaszokat nullára állítják: „ teljes pufferről ” beszélünk . A WCHB típusú áramkörök egyszerűsége azonban olykor gyorsabbá teszi őket, mint mások, míg a PCFB típusú áramkörök több logikai kaput igényelnek: a választás ezért nem nyilvánvaló.
Más típusú csővezetékek lehetségesek egy korlátozott késleltetési modell használatával: előterhelési logikával, például PS0 vagy LP2 / 1, vagy egypályás protokollokkal . Bár gyorsabbak, az időbeli feltételezések hozzáadása miatt kevésbé megbízhatóak is.
A többsávos protokollok sajátossága az a lehetőség, hogy több vezetéket használnak az adatok kódolásához az 1 in n kódolásnak, nem pedig a kettős sínnek, így csökkentve az átkapcsolódó vezetékek számát, ami csökkentheti az energiafogyasztást.
Az alkatrészek és a gyártási folyamat megválasztásaAz áramkörök sok tulajdonsága a gyártási technikáktól függ, legyen az maga a gyártási folyamat vagy az alkalmazott alkatrészkönyvtárak. Az integrációs lehetőségek javítása a gyártási folyamatok révén, amelyet Moore törvénye számszerűsít , lehetővé teszi kompaktabb és hatékonyabb elektronikus áramkörök beszerzését. Az aszinkron áramkörök optimalizálása a megfelelő alkatrészek megválasztásán keresztül is megvalósulhat az elrendezés optimalizálásával , vagyis az alkatrészek elrendezésével az integrált áramkörön , vagy akár a tranzisztorok méretének vezérlésével. hogy minden ajtót a legjobban hozzá lehessen alakítani .
A tápfeszültség dinamikus adaptálásaAz elektronikus áramkörök annál inkább fogyasztanak, mivel tápfeszültségük magas. Következésképpen az alacsony fogyasztású áramkörök esetében igyekszünk minimalizálni. Ennek csökkentése érdekében a teljesítmény feláldozása nélkül a feszültséget az áramkör terheléséhez vagy a kívánt sebességhez lehet igazítani. Ez az optimalizálás létezik a szinkron áramkörök esetében is, de együttesen szükség van az órajel frekvenciájának lassú átalakítására , ahol az aszinkron áramkör készenléti állapotba helyezésének és a készenléti állapotból való ébresztésnek a folyamata rendkívül gyors.