Sisällysluettelo:
Video: DIY Digital Dice: 6 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä ohjeessa kuvataan, miten suunnitellaan Digital Dice, todellinen satunnaislukugeneraattori 1 - 6. Tätä laitetta voidaan käyttää yleisesti käytettyjen noppien sijasta. Siinä on 1-numeroinen 7-segmenttinen LED-näyttö ja kaksi painiketta: "Run" ja "Display Previous". Digital Dice saa virtansa yhdestä CR2032 -paristosta. Siinä ei ole virtakytkintä, koska joutokäynnillä on merkityksetön pieni virrankulutus.
Seuraavassa kuvataan vaiheet, jotka tarvitaan ymmärtämään, miten GreenPAK -siru on ohjelmoitu luomaan digitaalinen noppa. Jos haluat vain saada ohjelmoinnin tuloksen, lataa GreenPAK -ohjelmisto nähdäksesi jo valmistuneen GreenPAK -suunnittelutiedoston. Liitä GreenPAK -kehityssarja tietokoneeseesi ja napsauta ohjelmaa luodaksesi mukautetun IC: n digitaalisen nopan hallitsemiseksi.
Vaihe 1: Laitearkkitehtuuri
Suunnittelu koostuu seuraavista lohkoista:
- Entropian generaattori
- Lineaarisen palautteen siirtorekisteri
- Binaarinen 7-segmenttinen dekooderi
- Ohjausyksikkö
- Macrocell -asetukset
Vaihe 2: Entropiageneraattori
Entropiageneraattori on rakennettu neljästä asynkronisesta oskillaattorista. Kaksi niistä on rakennettu käyttämällä käänteistä suljetun silmukan LUT: tä viiveellä (1 MHz ja 6,5 MHz). Kaksi muuta ovat GreenPAKin OSC1 (2,048 MHz ja jakamalla 3) ja OSC2 (25 MHz jaettuna 2).
Muutaman asynkronisen kellosignaalin syöttäminen XNOR -porttiin riittää, jotta sen ulostuloon saadaan arvaamaton signaali (kohina tai entropia). Mutta SLG46826V: n makrosolut mahdollistavat entistä monimutkaisempien ratkaisujen tekemisen. Käyttämällä vielä yhtä oskillaattoria ja DFF: ää saamme täysin satunnaisen signaalin.
Vaihe 3: Lineaarisen palautteen siirtorekisteri
3-bittinen LFSR on rakennettu käyttämällä kolmea DFF: ää ja yhtä XNOR-porttia. Tämä lohko jokaisen tulokellon kanssa muodostaa 3-bittisen pseudo-satunnaisluvun. Tässä kellosyklin sijasta kohinasignaali menee LFSR: n tuloon ja muodostaa todellisen satunnaisen 3-bittisen luvun.
Vaihe 4: binäärinen 7-segmenttiseen dekooderiin
LSFR: n tuottaman 3-bittisen satunnaisluvun muuntamiseen käytetään binääristä 7-segmenttiseen dekooderiin, katso kuva 3. Dekooderi on rakennettu 3-bittisistä LUT: ista.
Vaihe 5: Ohjausyksikkö
Ohjausyksikkö on osa laitetta, joka on suunniteltu käynnistymään ja pysähtymään kolmen sekunnin jälkeen. Kaksi nastaa on määritetty tuloiksi ja kaksi painiketta on liitettävä VDD: stä näihin nastoihin. Kun painiketta "Run" painetaan, laite luo jatkuvasti satunnaislukuja. Heti painikkeen vapauttamisen jälkeen sukupolvi pysähtyy ja LFSR lukitsee lähdön. Dekooderi käyttää myöhemmin 7-segmenttistä näyttöä. Kolmen sekunnin jälkeen digitaalinen noppa ei toimi. Laite on edelleen päällä, mutta koska kaikki värähtelyt on kytketty pois päältä, virrankulutus on erittäin alhainen. Näin laite voi "muistaa" viimeksi muodostetun satunnaisluvun. Jos painiketta "Näytä edellinen" painetaan, viimeksi luotu satunnaisluku näytetään, kunnes painike vapautetaan. Koska Digital Dice on suunniteltu korvaamaan tavalliset nopat, 3-bittistä LUT12: ta käytetään käynnistämään se uudelleen, kun "0" tai "7" tapahtuu. Tämä varmistaa, että laite luo satunnaisluvun välillä 1-6.
Vaihe 6: Makrosolun asetukset
Kunkin makrosolun asetukset viittaavat yllä oleviin taulukoihin.
Päätelmät
Digitaalista noppaa voidaan käyttää tavallisten noppien korvikkeena kasinoissa tai kun pelataan muita pelejä, joissa noppaa tarvitaan. Siinä on entropiageneraattori, joka tuottaa jatkuvasti 3-bittisiä satunnaislukuja, kun painiketta "Run" painetaan. Se pysähtyy ja näyttää tuloksen vain, kun painike vapautetaan, joten inhimillinen tekijä vaikuttaa myös luotuun satunnaislukuun. Neljä asynkronista oskillaattoria yhdessä ihmisen painikkeiden vaihtelun kanssa tekevät laitteesta täysin ja toivottavasti arvaamattoman.