Teach Urruneko laborategidun ikasgaiak

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.

  • DE1-SoC · Nios V
  • 50 min
  • Informatika, Elektronika edo Konputagailuen Ingeniaritzako unibertsitateko lehen mailak
  • eu
  • Digital systems & FPGA · Embedded systems

Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.

NSW0..NSW9 eta aukerako NB0..NB3 sarrerak C edo RISC-V mihiztadura programara iristen dira; programak LEDR0..LEDR9 kontrolatzen ditu eta HEX edo tenporizadorea erabiltzen du. Hasi sarrera-patroi batekin eta irteera-arau argi batekin, probatu gutxienez hiru kasu benetako plakan eta azaldu erregistro bakoitzaren helbidea, funtzioa eta datu-bide osoa. Ez erabili norberaren SOF, iturburu-kode mailako arazketa, KEY0..KEY3 ariketak edo jardueratik kanpoko periferikoak.
DE1-SoC · Nios V · Laborategiaren xehetasunak

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.

1

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..NSW9 kontroletako bat gutxienez, JP1eko 5.–14. biten bidez.
  • LEDR0..LEDR9 irteeretako 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 → LEDR datu-bidea.
  • 4. ikasgaia: tailer honetako HEX bistaratzailea, tenporizadorea eta aukerako NB botoiak.
NSW0..NSW9 eta aukerako NB0..NB3 sarrerak C edo RISC-V mihiztadura programara iristen dira; programak LEDR0..LEDR9 kontrolatzen ditu eta HEX edo tenporizadorea erabiltzen du. Hasi sarrera-patroi batekin eta irteera-arau argi batekin, probatu gutxienez hiru kasu benetako plakan eta azaldu erregistro bakoitzaren helbidea, funtzioa eta datu-bide osoa. Ez erabili norberaren SOF, iturburu-kode mailako arazketa, KEY0..KEY3 ariketak edo jardueratik kanpoko periferikoak.

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».

2

Mugak

6 min

Diseinuak LabsLandeko egungo Nios V lan-bidearen barruan egon behar du:

  • Ez kargatu norberak sortutako .sof fitxategirik.
  • 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..NSW9 kontrol logikoak. Ez nahasi plakaren SW0..SW9 seinale fisikoekin.
  • Botoiak erabiltzen badituzu, izendatu NB0..NB3 eta irakurri JP1/GPIO bidez. Ez deitu KEY0..KEY3.

Zein mugak baldintzatzen du gehien zure diseinua? Zergatik?

3

Konpilatu eta probatu

24 min

  1. Ireki Nios V C IDE for DE1-SoC edo Nios V Assembly IDE for DE1-SoC, hautatutako lengoaiaren arabera. Jarduerako sarbide lehenetsia C-koa da; mihiztadura aukeratu baduzu, erabili 3. ikasgaian egiaztatutako sarbidea.

  2. Inplementatu aukeratutako funtzio erraza.

  3. Sakatu Build ELF.

  4. Sakatu Enviar a la FPGA ELF programa plakara kargatzeko.

  5. Probatu gutxienez hiru sarrera/irteera kasu desberdin.

  6. 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.

4

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.

5

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.