Laskuripiirit ovat FPGA-sovellusten peruskomponentteja, joita käytetään tapahtumien laskemiseen, ajoitussignaalien tuottamiseen ja viiveiden luomiseen. Sekä synkroni- että asynkronisten laskureiden suunnittelu edellyttää niiden erojen ja toteutusmenetelmien ymmärtämistä. Tämä opas tarjoaa vaihe vaiheelta etenevän lähestymistavan näiden laskureiden tehokkaaseen suunnitteluun.

Synkroniset laskurit

Synkroniset laskurit päivittää tilaansa samanaikaisesti kellon reunalla. Tämä tekee niistä ennustettavampia ja helpompi hallita. Suunnittelussa käytetään flip-flops kytketty tietyssä konfiguraatiossa laskea binary tai muita sekvenssejä.

Synkronisen laskurin suunnitteluvaiheet:

  • Määritä laskentajärjestys ja bittien määrä.
  • Valitse flip-flops-tyyppi (esim. D, T, JK).
  • Suunnittele yhdistelmälogiikka flip-flop tuloihin perustuu nykytilaan.
  • Liitä flip-flops sarjaan, varmista jokaisen flip-flopin lähtö syöttää seuraavan vaiheen tarvittaessa.
  • Suoritetaan virtapiiri ja todennetaan sen toiminta simuloinnilla.

Synkroniset laskurit

Synkroniset laskurit, tunnetaan myös aaltolaskurit, päivittää niiden tilaa peräkkäin. Fläppi-flop lähtö muutos laukaisee seuraavan flip-flop, aiheuttaa aaltovaikutus. Ne ovat yksinkertaisempia, mutta vähemmän ennustettavissa kuin synkroninen laskurit.

Asynkronisen laskurin suunnitteluvaiheet:

  • Päätä bittien lukumäärä ja laskentajärjestys.
  • Yhdistä flip-flopit sarjaan, jokaisen flip-flopin laukaisi edellisen ulostulo.
  • Määrittele flip-flops twickle kunkin kellon pulssi.
  • Testaa piiri simuloinnin avulla, jotta voidaan varmistaa oikea laskentatapa.

Vertailu ja hakemukset

Synkroniset laskurit ovat suositeltavia nopeissa sovelluksissa ennustettavan ajoituksen vuoksi. Synkroniset laskurit ovat yksinkertaisempia ja sopivat pieninopeuksisiin tehtäviin, joissa monimutkaisuus ja nopeus ovat vähemmän kriittisiä.

Näiden kahden välillä on oltava mahdollisuus valita liitäntää koskevan toiminnon erityisvaatimukset, kuten nopeus, monimutkaisuus ja tehonkulutus.