Teach ikasgaia
Nios V DE1-SoC plakan (5/5): sistema txertatu baterako erabiltzaile-interfaze txikia
Diseinatu sistema txertatu baterako erabiltzaile-interfaze txiki bat Nios V-rekin: konbinatu NSW sarrerak, LEDR irteerak eta HEX bistaratzailea edo tarte-tenporizadorea. Entregatu kodea eta benetako plakan egindako hiru proben ebidentzia.
Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.
Lehen aldia duzu LabsLand-en? Sortu irakasle-kontua
Ikaskuntza-emaitzak
Sistema txertatu baterako funtzio erraz bat diseinatzea, memorian mapatutako S/I erabiliz.
C edo RISC-V mihiztadura-lengoaia hautatzea, inplementazio bakoitzaren abantailak eta eragozpenak kontuan hartuta.
NSW/LEDR eta jarduera honetako beste periferiko bat gutxienez erabiltzea.
Aukeran, NB0..NB3 erabiltzea JP1 bidezko botoi-sarrera logiko gisa.
Kodea, azalpena eta benetako hardwarearekin lortutako ebidentzia entregatzea.
Ikaslearen jardueraren aurrebista
Jardueraren edukia
Aurrebista soilik. Klase-saio batean, ikasleek erantzunak bete eta lana irakasleari bidal diezaiokete.
Diseinu-proposamena
8 min
Hasi aurretik, 1.–4. ikasgaiak egin behar dituzu. Jarduera honek haien C eta mihiztadura IDEetako lan-urratsak, JP1 bidezko S/I, programazioa eta periferikoak erabiltzen ditu; ezin da aurreko ikasgaiak egin gabe landu.
Diseinatu programa txiki bat DE1-SoC plakako Nios V sistemarako. Abiapuntu gisa, hartu aurreko ikasgai bateko adibidea eta egokitu. 50 minutuko bertsio honetan ez hasi fitxategi huts batetik.
IDEko lan-eremua zure konturako gordetzen da. Ahal bada, egin aurreko lana eta azken proiektua lan-eremu berean eta zuzeneko saio berean. Plakaren saioa iraungitzen bada, ireki berriz gordetako lan-eremu osoa, sakatu Build ELF eta erabili berriz Enviar a la FPGA probak egin aurretik. Ingelesezko interfazean, azken botoia Upload to FPGA gisa agertzen da.
Programak hauek erabili behar ditu:
NSW0..NSW9kontroletako bat gutxienez, JP1eko 5.–14. biten bidez.LEDR0..LEDR9irteeretako bat gutxienez.- 4. ikasgaiko beste periferiko bat gutxienez: HEX bistaratzailea edo tarte-tenporizadorea.
C edo RISC-V mihiztadura-lengoaia erabil dezakezu. Aukeratu C portaeran eta erregistroetan arreta jarri nahi baduzu. Erabili mihiztadura-lengoaia soilik 3. ikasgaian landutako begiztaren exekuzioari erraz jarrai badiezaiokezu: datuak kargatu, idatzi, desplazatu, maskaraz hautatu eta jauzi egin.
Derrigorrezko sarrera NSW0..NSW9 kontroletatik aukeratu behar da; JP1eko 5.–14. biten bidez iristen dira. Aukerako botoiak gehitzen badituzu, NB0..NB3 JP1eko 0.–3. biten bidez iristen dira. Ez erabili KEY0..KEY3 sarrera fisikoetan oinarritutako FPGAcademy ariketarik jarduera honetan.
Diseinurako erreferentziak:
- FPGAcademy DE1-SoC Computer with Nios V eskuliburua: sistemaren memoria-mapa finkoa eta HEX bistaratzailearen zein tenporizadorearen erregistroak.
- 2. ikasgaia: tailer honetako
NSW→ JP1 →LEDRdatu-bidea. - 4. ikasgaia: tailer honetako HEX bistaratzailea, tenporizadorea eta aukerako
NBbotoiak.
Azken proiektu on batek diseinu txikia du: aukeratu jarduerako sarrerak, ezarri funtzio argi bakarra C edo RISC-V mihiztadura-lengoaiaren bidez, behatu LEDR irteera eta beste periferikoaren eragina, eta jaso ebidentzia.
Mugatu diseinua hasieratik. Hobe da proiektu txiki bat amaitu eta probatzea, probatu ezin den diseinu handinahi bat proposatzea baino. Baldintzak betetzen dituen bertsio sinpleenak sarrera-patroi bat, irteeran ikus daitekeen arau bat eta HEX edo tenporizadorearen eragin bat izan behar ditu.
Zein aukera erabiliko duzu programa idazteko?
Deskribatu ezarri nahi duzun funtzioa. Adierazi zein NSW kontrol erabiliko dituzun, zein LEDR irteera behatuko duzun eta zein beste periferiko erabiliko duzun: HEX bistaratzailea edo tarte-tenporizadorea. NB0..NB3 gehitzen badituzu, azaldu haien aukerako eginkizuna.
Adierazi baldintzak betetzen dituen bertsio sinpleena. Adibidez: «NSW0..NSW3 kontrolek balio bat hautatzen dute; LEDR0..LEDR3 irteerek lau bit horiek erakusten dituzte, eta HEX0-k balio bera digitu hamaseitar gisa erakusten du».
Mugak
6 min
Diseinuak LabsLandeko egungo Nios V lan-bidearen barruan egon behar du:
- Ez kargatu norberak sortutako
.soffitxategirik. - Ez oinarritu lana iturburu-kode mailako arazketan edo eten-puntuetan.
- Ez erabili VGA, audioa, ADC, PS/2, IrDA, kanpoko serie-ataka, bideo-sarrera edo jarduera honen esparrutik kanpoko beste periferiko edo lan-biderik. JTAG UART terminalaren irteera ebidentzia osagarri gisa erabil dezakezu.
- Erabili LabsLandeko
NSW0..NSW9kontrol logikoak. Ez nahasi plakarenSW0..SW9seinale fisikoekin. - Botoiak erabiltzen badituzu, izendatu
NB0..NB3eta irakurri JP1/GPIO bidez. Ez deituKEY0..KEY3.
Zein mugak baldintzatzen du gehien zure diseinua? Zergatik?
Konpilatu eta probatu
24 min
Ireki
Nios V C IDE for DE1-SoCedoNios V Assembly IDE for DE1-SoC, hautatutako lengoaiaren arabera. Jarduerako sarbide lehenetsia C-koa da; mihiztadura aukeratu baduzu, erabili 3. ikasgaian egiaztatutako sarbidea.Inplementatu aukeratutako funtzio erraza.
Sakatu
Build ELF.Sakatu
Enviar a la FPGAELF programa plakara kargatzeko.Probatu gutxienez hiru sarrera/irteera kasu desberdin.
Jaso kasu bakoitzaren emaitza.
Klase-saio batean erabilgarri
Jaso gutxienez azken proiektuaren hiru proba desberdin. Erabili errenkada bat sarrera-kasu edo portaera bakoitzeko: idatzi kasua, aurreikusi ikusiko duzun emaitza, probatu plakan eta sailkatu emaitza zuzen, huts egin du edo ez da erabakigarria gisa. Bereizi aurreikuspena eta benetako behaketa.
| Proba-kasua | Espero den portaera | Behatutako portaera | Emaitza |
|---|---|---|---|
Azken kodea
Erantsi hiru probetan erabilitako IDEko lan-eremu osoaren kode-kopia bakarra. Kopiak probatutako portaera erreproduzitzeko behar diren fitxategi, konstante, erregistro-definizio, hasieratze eta logika guztiak izan behar ditu.
Hardwareko ebidentzia
Entregatu hardwareko ebidentziaren laburpen bat, kode-kopian jasotako lan-eremu osoarekin lotuta. Hiru kasuetako bakoitzean, lotu sarrera eta benetako plakaren zuzeneko kameran behatutako LEDR/HEX portaera. Tenporizadorea erabiltzen baduzu, azaldu nola ageri den haren eragina ikusgai dagoen irteeran. JTAG UART terminalaren irteera gehi dezakezu osagarri gisa, baina ez du kameraren bidezko hardware-behaketa ordezten.
Azaldu diseinua
9 min
Azaldu programak memorian mapatutako zein erregistro erabiltzen dituen: adierazi bakoitzaren helbidea eta funtzioa, deskribatu NSW/JP1etik LEDR irteerarainoko datu-bidea, eta azaldu programak nola atzitzen duen hautatutako HEX edo tenporizadore periferikoa.
Konparatu C-ren eta RISC-V mihiztadura-lengoaiaren abantailak eta eragozpenak proiektu honetarako. Adierazi zer egin zaizun errazago hautatutako lengoaian eta zer izan zitekeen errazago bestean. Ez baduzu alderdiren batean beste lengoaiaren abantailarik ikusten, arrazoitu.
Prestatu erakustaldia
3 min
Idatzi 30 segundoko gidoi bat beste talde bati programa erakusteko. Azaldu zein kontrol erabili behar den, zer behatu behar den eta zer esan nahi duen emaitzak.
Bihurtu aurrebista hau klase-saio batean
Jarraitu LabsLand Teach-era ikasgai hau ikasleekin erabiltzeko eta kontuaren sarbidea berrikusteko.
Lehen aldia duzu LabsLand-en? Sortu irakasle-kontua