Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
Šioje pamokoje mes suprojektuosime SPI magistralės magistralę nuo nulio VHDL.
1 žingsnis: SPI apžvalga
- SPI yra sinchroninė nuoseklioji magistralė
- Dėl savo populiarumo ir paprastumo jis tapo de facto serijinės komunikacijos standartu
- Visiškai dvipusis autobusas
- Paprastas protokolas ir vienas greičiausių nuosekliųjų autobusų
2 žingsnis: projektavimo specifikacijos
Tai yra SPI Master specifikacijos, kurias mes suprojektuosime:
- Palaiko visus keturis veikimo režimus; dinamiškai konfigūruojamas
- Laikrodis leidžia valdyti energiją
- Statiškai konfigūruojamas žodžio ilgis ir greitis
- Vienas pertraukimas tiek perdavimui, tiek priėmimui
3 žingsnis: pradėkite
Visų pirma, mūsų IP turėtų turėti dvi sąsajas. Viena yra nuosekli sąsaja, o kita - lygiagreti sąsaja. Serijinę sąsają sudaro de facto standartiniai SPI signalai: MOSI, MISO, SS, SCLK.
MOSI kartais vadinamas SDO, o MISO kartais vadinamas SDI.
Serijinė sąsaja naudojama bendrauti su išoriniais išoriniais įrenginiais, ty SPI vergais.
Lygiagreti sąsaja naudojama bendrauti su mūsų pagrindiniu kompiuteriu, ty mikrovaldikliu ar mikroprocesoriumi, kuris faktiškai nurodo kapitonui, kokie duomenys turi būti nuosekliai perduodami ir gaunami per nuoseklias linijas. y., visos duomenų magistralės priklauso lygiagrečiai sąsajai.
Turime pasaulinį laikrodį, kuris valdo vidinę SPI logiką, taip pat SCLK, kurį sukuriame viduje.
Mes taip pat turime keletą valdymo signalų, tokių kaip rašymo įgalinimas, laikrodžio įgalinimas. Ir pertraukimo ir kiti būsenos signalai.
Kadangi turime susidoroti su sudėtingomis valdymo sąlygomis, paprasčiau sukurti tokius nuoseklaus ryšio IP kaip FSM. Mes taip pat suprojektuosime SPI meistrą kaip MFV. MFV valdys kitas vidinis laikrodis, kuris yra du kartus didesnis už SCLK. Šis vidinis laikrodis generuojamas naudojant sinchroninius visuotinio laikrodžio skaitiklius.
Visi valdymo signalai, kertantys laikrodžio domenus, turi sinchronizatorius, kad jie būtų saugesni.
4 žingsnis: „SPI Master Core“ir modeliavimo bangos formų RTL vaizdas
Tai plikas RTL dizainas, nenaudojant tam skirtų FPGA IP. Taigi tai yra visiškai nešiojamas kodas bet kuriai FPGA.
Rekomenduojamas:
Paprasto keturių krypčių asociatyvaus talpyklos valdiklio VHDL dizainas: 4 žingsniai
Paprasto keturių krypčių rinkinio asociatyvaus talpyklos valdiklio dizainas VHDL: Ankstesniame nurodyme pamatėme, kaip sukurti paprastą tiesioginį žemėlapio talpyklos valdiklį. Šį kartą žengiame žingsnį į priekį. Mes sukursime paprastą keturių krypčių asociatyvaus talpyklos valdiklį. Privalumas? Mažesnis praleidimo procentas, bet už perfo kainą
VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai
VHDL programuojamo pertraukimo valdiklio dizainas: esu priblokštas tokio pobūdžio atsakymų, kuriuos gaunu šiame tinklaraštyje. Ačiū vaikinai, kad lankotės mano tinklaraštyje ir paskatinote mane pasidalinti su jumis savo žiniomis. Šį kartą pristatysiu dar vieno įdomaus modulio, kurį matome visuose SOC, dizainą - „Interrupt C
Paprasto talpyklos valdiklio VHDL dizainas: 4 žingsniai
Paprasto talpyklos valdiklio VHDL dizainas: Rašau šį nurodymą, nes man buvo šiek tiek sunku gauti tam tikrą nuorodinį VHDL kodą, kad išmokčiau ir pradėčiau kurti talpyklos valdiklį. Taigi aš pats nuo pat pradžių sukūriau talpyklos valdiklį ir sėkmingai išbandžiau jį FPGA. Turiu p
„I2C Master“dizainas VHDL: 5 žingsniai
„I2C Master“dizainas VHDL: Šioje instrukcijoje aptariamas paprasto I2C meistro kūrimas VHDL. PASTABA: spustelėkite visą vaizdą, kad pamatytumėte visą vaizdą
Paprasto VGA valdiklio dizainas VHDL ir „Verilog“: 5 žingsniai
Paprasto VGA valdiklio dizainas VHDL ir „Verilog“: Šioje instrukcijoje mes suprojektuosime paprastą VGA valdiklį RTL. VGA valdiklis yra skaitmeninė grandinė, skirta VGA ekranams valdyti. Jis nuskaitomas iš kadrų buferio (VGA atmintis), rodančio rodomą kadrą, ir sukuria reikiamą