Yritän ymmärtää varvastossut & salvat. Luen Digital Logic -kirjasta, jonka on kirjoittanut Morris Mano. Yhtä asiaa, jota en pysty ymmärtämään, on, miksi kellomme varvastossuja?

Ymmärrän, miksi tarvitsemme ”käytössä” tai aidatut salvat. Mutta mitä hyötyä kellosta on? En pysty ymmärtämään tätä. Miksi ”t voimme vain ottaa käyttöön vaaditut varvastossut & antaa heille syötteen? Kun muutamme tuloa, lähtö muuttuu. Miksi meidän on vaihdettava lähtöä nousevalla tai laskevalla kellolla reuna (jos reunan laukaisema flipflop)?

Kaikenlainen tähän liittyvä apu on arvostettua.

Vastaa

Yksi syy kellotetaan varvastossut siten, että ei ole kaaosta, kun variaattojen lähdöt syötetään joidenkin logiikkatoimintojen kautta ja takaisin omiin tuloihinsa.

Jos kiikun lähtö on käytetään laskemaan sen tulo, se kehottaa meitä toimimaan järjestyksellisesti: estämään kiikun tilan muuttuminen, kunnes lähtö (ja siten tulo) on vakaa.

Tämän kellon avulla voimme rakentaa tietokoneet, jotka ovat tilakoneita: niillä on nykyinen tila, ja ne laskevat seuraavan tilansa nykyisen tilan ja joidenkin syötteiden perusteella.

Oletetaan esimerkiksi, että haluamme rakentaa koneen, joka ”laskee” kasvavan osan. 4-bittinen määrä välillä 0000 – 1111, a Sitten ympäröi 0000 ja jatkuu. Voimme tehdä tämän käyttämällä 4-bittistä rekisteriä (joka on neljän D-flipin pankki). Rekisterin lähtö tuotetaan yhdistelmälogiikkatoiminnon avulla, joka lisää 1 (nelibittinen summain) kasvavan arvon tuottamiseksi. Tämä arvo syötetään sitten yksinkertaisesti takaisin rekisteriin. Nyt, kun kellon reuna saapuu, rekisteri hyväksyy uuden arvon, joka on yksi plus sen edellinen arvo. Meillä on järjestetty, ennakoitavissa oleva käyttäytyminen, joka kulkee binäärilukujen läpi ilman häiriöitä.

Kellotoiminnot ovat hyödyllisiä myös muissa tilanteissa. Joskus piirissä on monia tuloja, jotka eivät vakaa samanaikaisesti. Jos lähtö tuotetaan heti tuloista, se on kaoottista, kunnes tulot vakiintuvat. Jos emme halua, että muut lähtöstä riippuvat piirit näkevät kaaoksen, teemme piirin kellotetuksi. Annamme runsaasti aikaa tulojen laskeutumiseen ja ilmoitamme sitten piirille, että arvot hyväksytään.

Kellotoiminta on luonnostaan myös osa eräiden variaattojen semantiikkaa. D-kiikettä ei voida määrittää ilman kellotuloa. Ilman kellotuloa se joko ohittaa D-tulonsa (hyödytön!) Tai yksinkertaisesti kopioi syötteen koko ajan (ei kiikku!) RS-kiikalla ei ole kelloa, mutta se käyttää kahta tuloa hallita tilaa, joka sallii tulojen olla ”itsekelluvia”: ts. olla sisääntuloja, samoin kuin tilanmuutoksen laukaisimet. Kaikki kiikarit tarvitsevat jonkin verran tulojen yhdistelmää, joka ohjelmoi tilansa, ja jokin tulojen yhdistelmä antaa ne ylläpitävät tilaa. Jos kaikki tulojen yhdistelmät käynnistävät ohjelmoinnin tai jos kaikki tulojen yhdistelmät jätetään huomiotta (tila ylläpidetään), se ei ole hyödyllistä. Nyt mikä on kello? Kello on erityinen, omistettu tulo, joka erottaa onko muut syötteet jätetään huomiotta tai ohjelmoivatko ne laitteen. On hyödyllistä, että tämä on erillinen tulo sen sijaan, että se koodataan useiden tulojen kesken.

Kommentit

  • On järkevää, kun selität laskurin tai tilakoneen kellon tarpeen. Jos siellä ’ s ei ole kello ollenkaan, niin laskuri muuttaa vain arvonsa (& reset) & aloittaa loputtomasti? ja sama valtion koneen kanssa. (Wikistä lukemani laskurit ovat vain tietyntyyppisiä tilakoneita, koska tiloja muutetaan). Mutta jopa rekisterien kanssa käytämme kelloa, miksi siinä tapauksessa? Haluan myös tietää, voidaanko jokaisessa sovelluksessa käyttää kiikaria (voidaan käyttää) ilman kelloa?
  • Tulossa nyt vakauden pisteeseen, jos lähdöt muuttuvat jatkuvasti, muut levykkeitä tarvitsevat laitteet voittivat ’ ei pysty vastaanottamaan sitä oikein, ja käyttäytyminen voi olla virheellistä. Joten onko tämä vakauskysymys? Yritän nyt ymmärtää vakauden käsitteen. Erityisesti nämä kaksi selittämääsi kohtaa: ” estää kiikun ’ -tilan muuttuminen lähtöön (ja siten tuloon) on vakaa. ” ” Joskus piirissä on monia tuloja, jotka eivät vakaa samanaikaisesti ”

vastaus

Nousevan reunan kiikku voidaan kuvitella kahtena salvana taaksepäin , joista yksi otetaan käyttöön pian kellosignaalin laskemisen jälkeen ja pysyy aktivoituna, kunnes se menee korkealle; toinen otetaan käyttöön pian kellon nousun jälkeen ja pysyy aktivoituna, kunnes se laskee.Lyhyt hetki, jonka aikana kumpikaan kiikusta ei ole käytössä, tarkoittaa, että kiikun lähtö voidaan syöttää turvallisesti takaisin tuloonsa kombinatorisen logiikan kautta. Yhden kellosyklin lähdön muutos voi aiheuttaa tulon muutoksen, mutta tällä tulonmuutoksella ei ole vaikutusta seuraavaan kellojaksoon asti.

Historiallisesti se oli aiemmin melko yleinen digitaalilaitteille käyttää niin sanottua ”kaksivaiheista kelloa”, jossa oli kaksi kellojohtoa, jotka olivat korkeita päällekkäisiltä aikaväleiltä jokaisen jakson aikana. Kaikki salvat on jaettu kahteen ryhmään, joista yksi ohjaa ensimmäistä salparyhmää ja toinen kello ohjaa toista; useimmissa tapauksissa kunkin ryhmän lähtöjä käytetään vain toisen tulojen laskemiseen. Jokainen kellosykli koostuu yhdestä tai useammasta ensimmäisen kellon pulssista, joista vähintään yhden on täytettävä vähintään pituuden tiedot ja yksi tai useampi pulssi toisessa (sama vaatimus). Yksi tällaisen rakenteen etu on, että se voi olla hyvin suvaitsevainen kellon vinossa, edellyttäen että kellovaiheiden välinen kuollut aika ylittää kellon vinousmäärän. Tällaiset mallit edellyttävät kahden kellon käyttämistä johdot kaikkialla, ja että maksiminopeuden saavuttamiseksi on yleensä jaettava logiikka kahteen ryhmään ja yritettävä tasapainottaa niiden väliset etenemisviiveet.

”Moderni” lähestymistapa on, että jokainen salpaelementti (rekisteröi) vastaanottaa yhden kellojohdon ja muodostaa olennaisesti omat sisäiset ei-päällekkäiset kellonsa. Tämä edellyttää, että kellon enimmäis vinous ei ylitä vähimmäissiirtymäaikaa rekistereiden välillä, mutta nykyaikaiset työkalut mahdollistavat kellon vinoutumisen hallinnan tarkemmin kuin se oli mahdollista vuosikymmenien aikana. Lisäksi monivaiheinen kellotaajuus tekee suunnittelusta yksinkertaisempaa poistamalla tarpeen jakaa logiikka kahteen ryhmään.

Vastaa

Tiedämme kaikki, että digitaalisissa todellisissa piireissä tulee olemaan PALJON portteja. Signaalin täytyy joutua kulkemaan useita polkuja päästäkseen viimeiseen porttiin, joka antaa lähdön. Signaali vie jonkin aikaa ”etenemiseen” eri poluille, jotka saavuttavat viimeisen portin. Aika etenemiseen ei ole sama eri poluilla. Tämä johtaa siihen, mitä kutsumme häiriöiksi. Häiriöitä esiintyy, koska jotkut polut ovat lyhyempiä kuin toiset ja kun signaali saavuttaa viimeisen portin aikaisemmin lyhyemmällä polulla, se vaikuttaa siihen välittömästi ennen kuin muut pidemmällä polulla olevat signaalit saavuttavat portin. Tulos, jonka tämä johtaa hetkeksi, on väärä ja voi tulla vaaralliseksi digitaalisessa piirissä, mikä johtaa virheiden lisääntymiseen.

Nyt olen selvillä siitä, miksi tarvitsemme kelloa. Kello olennaisesti ”synkronoi” piirin yhteen ulkoiseen signaaliin. Ajattele sitä lyönninä, että piiri on viritetty musiikin tavoin. Asiat tapahtuvat tämän kellon kanssa, ei kelloa = piiri on pois käytöstä. Kellon avulla varmistamme, että piirin eri osat toimivat sopusoinnussa samanaikaisesti . Tällä tavalla piirin käyttäytyminen on ennakoitavampaa. Sitä heikentävät myös lämpötilan ja valmistuksen vaihteluiden aiheuttamat etenemisviiveen muutokset. Tämä kattaa kellon.

Varvastossut ovat sellaisia digitaalisen piirin elementtejä, jotka suorittavat toiminnon (muuttavat lähtöään vastauksena tuloportin tuloon), kun tapahtuu ”CLOCK EDGE”. Kellon reuna on, kun kellosignaali menee 0: sta 1: een tai 1: een 0. Piirrä vain kelloaalto ja tiedät mitä tarkoitan. On olemassa toinen ryhmä elementtejä, joita kutsutaan salvoiksi, salpojen ulostulo muuttuu vastaamaan tuloa, kun tietty ohjaussignaali on tietyllä logiikkatasolla LEVEL ja älä odota mitään reunoja, tätä ohjaussignaalia kutsutaan SALAMISEKSI. kun käytössä on 1 ja vaihda lähtöä tai kun käyttöönotto on 0. Se riippuu salvan tyypistä. Sen sijaan kiikarit todella tekevät jotain vain kun ne syötetään kellolla EDGE. Huomaa tämä salpojen ja kiikkujen välinen ero ja muista, että salvat on yhdistetty toisiinsa kiikun luomiseksi siten, että käyttöönotto saa kiikun tekemään vain, kun kellon reuna esiintyy. Tällöin nimetään Ota käyttöön -signaali kelloon, ja sen on myös järkevämpää. Ihmisen kello siirtyy rasti-ruutuun, kiikku tekee jotain vain punkkeissa eikä MITÄÄN punkkien välissä.

Jos se ei ole vieläkään selvä kuin sinä hyötyy katsomalla Intian Tecin instituutin yptubessa olevaa nptelhrd-luentoa hnologia digitaalisissa piireissä.

Kommentit

  • ” Käyttämällä kelloa varmistamme, että eri osat piirin työstä samaan aikaan. ” – miten tämä tehdään? Tarkistan videot.
  • Huomaa, että varvastossut ovat laitteita, jotka muuttavat lähtöään vastaamaan tuloa nousevalla reunalla (tai laskevalla reunalla, jos se on negatiivisen reunan laukaisema kiikku). ohjaussignaali positiivisen reunan laukaisemalle kiikalle.Tätä ohjaussignaalia kutsutaan kelloksi sen jaksollisen luonteen vuoksi, enemmän kuin seinäkellojemme rasti. Jos kellosignaali on läsnä, kiikku tekee jotain, muuten tulo ei saa mitään tapahtumaan lähdölle. Ota huomioon salpojen ja varvastossujen ero ja samankaltaisuus jo varhaisessa vaiheessa, jotta et sekaannu.

Vastaa

On esimerkiksi asynkronisia laskureita. Tässä yksi: – kirjoita kuvan kuvaus tähän

Sitä kutsutaan myös aaltoilulaskuriksi, koska kun tulopulssi saapuu tuloon (muuttamalla 1. flip-flopin tila), että tilanmuutos vie äärellisen pitkän ajan aaltoilemaan jäljellä oleviin kiipeihin. Tuon pienen mutta rajallisen ajan kuluessa lähdöillä ABCD on arvaamaton transienttiarvo, kunnes viimeinen kiila on asettunut.

Jos kaikki lähdöt ABCD syötettäisiin D-tyyppisten kiikojen kautta ja kellottaisiin yhdessä jonkin aikaa asettumisjakson jälkeen tämä ” parempi ” ABCD-versio ei koskaan ” näytä ” tämä ohimenevä käyttäytyminen.

Tämän välttämiseksi insinöörit käyttävät joskus synkronoivia kellopiirejä. Valitettavasti tulo on vasemmalla tällä ja Q0 – Q3 kartta ABC: lle ja D: lle edellisessä kaaviossa: –

kirjoita kuvan kuvaus tähän

Se on vähän monimutkaisempi, mutta nopeampi ja vähemmän osia kuin verrattuna asynkronilaskuriin, jossa on joukko D-tyypin lähtöjä.

Kommentit

  • No, laskureilla on järkevää. Mutta onko olemassa sovelluksia, joissa flip-floppeja käytetään ilman kelloja? tai flipflopeja ei voi koskaan käyttää ilman kelloja?
  • @avi Ensimmäisen esimerkin (asynkronilaskurin) ei ’ t tarvitse katsoa ottavan syötteensä ” kello ”. Se voi olla pulsseja, jotka tulevat magneettisesta anturista ja haluavat nähdä kuinka nopeasti akseli pyörii. Järjestelmässä olisi ” isäntä ” järjestelmä, joka ” portit ” laskee joka sekunti, mutta laskuriin menevä ” -signaali ” ei ole ’ ei välttämättä kelloa. Analogisen vertailijan lähtö voisi ” kellon ” a ” 1 ” D-tyypin lähtöön ja toisen analogisen vertailijan lähtö voi nollata D-tyypin – tätä voidaan käyttää tuottamaan analogisesta aaltomuodosta johdettu signaali – ei kelloja sinänsä
  • Pidän aaltoilulaskurin käyttäytymistä kvantitatiivisesti pikemminkin kuin laadullisesti erilaisena kuin synkronilaskurissa. Molempien laskurien lähdöt mitätöidään jonkin ajan kuluttua kellopulssin saapumisesta ja tulevat jälleen kelvollisiksi jonkin ajan kuluttua sen jälkeen. Synkronisella laskurilla on pienempi ikkuna, jonka aikana sen lähdöt ovat virheellisiä, mutta ikkuna on joka tapauksessa nollasta poikkeava. ’ on myös syytä huomata, että laskurin enimmäislaskentanopeutta rajoittaa laskurin pituus. Rajoituksen voisi välttää …
  • … antamalla kantoketjun aloittaa esim. neljäs bitti, generoimalla kolmen ensimmäisen bitin ” ja ” ja sitten kukin bitti kääntyy vain, jos siirtotulosta tulo ketju oli korkea, bitti 2 oli korkea, bitti 1 oli korkea ja bitti 0 oli korkea. Vaikka seitsemän laskentapulssia saapuisi ajoissa, joka tarvitaan signaalin etenemiseen kantoketjun läpi, se ei olisi ongelma, koska kantoketju alkaisi levittää kantoa, kun määrä xxx111 … 111000 saavutettiin, mutta sen lähtö ei olisi ’ sillä on merkitystä, kunnes kellopulssi xxx111 … 111111 jälkeen saavutetaan.
  • Ne aaltoilulaskurit ovat yksinkertaisia, mutta inhottavia digitaalisissa piireissä, joissa työskentelen. hyvä tietää, että niitä on, mutta on erittäin epätodennäköistä, että saat käyttää niitä todellisiin projekteihin. Sitä voidaan käyttää aina triviaaliharjoituksissa, joissa niiden ” asynkroninen ” luonne ei ole ongelma.

vastaus

Koska sen synkronijärjestelmien suunnittelu on helpompaa (synkronijärjestelmä tarkoittaa mitä tahansa kombinatorisen logiikan ja kellotettujen kiikun kokoelmaa) kuin asynkroniset järjestelmät, ja synkroniset järjestelmät järjestelmät ovat luotettavampia. Asynkronisen tilakoneen suunnittelu on kuitenkin tutkimuksen arvoinen, koska se voi laskea lähdön paljon nopeammin ja pienemmällä teholla kuin synkroninen järjestelmä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *