EDK tutorial 1

From ift

Komme i gang med Xilix Projekt Studio 7.1i

En enkel men detaljert steg-for-steg veiledning til implementasjon av MicroBlase prosessoren på MEMEC protokort DS-BD-V4LX25MB.

Dette er en kort veiledning for å komme i gang med et enkelt microblaze system. Dette oppsettet basere seg på et prototypekort fra MEMEC samt bruk av "base System Builder" filer. Du vil trenge XPS innstalert på maskinen samt tilgang til hyperterminal eller annen terminal som kan lese com-portene på PC'en din.

DEL 1 - Generere Prosjektfiler =

Installere MEMEC repository-files

Før vi kan komme i gang med XPS, må vi sørge for at MEMEC's repository-filer er innstalert på maskinen. Filene kan lastes ned <a href="uploads/Memec_XBD_Files_EDK63h.zip">her</a> som en zip fil hvis de ikke allerede er innstalert på maskinen. Unzip filene legg dem i en katalog. Husk hvor du har plasert katalogen da du trenger å oppgi plaseringen senere.

Innstalere RS232-USB driver

Vi er også nødt til å ha installert USB-driveren hvis vi ønsker å kunne bruke RS232 til USB broen som er på MEMEC-kortet. Du finner driverene til chipen Media:cp2101.zip

Starte Xilinx Project Studio

Start programmet som heter "Xilinx Platform Studio".

Når progammet har startet opp vil du få opp et vindu med spørsmål om lage et nytt prosjekt. Velg "Base System Builder Wizard" og klikk "OK".

I neste vindu får en spøsmål om å lage en ny prosjekt fil. Skriv inn prosjektnavnet "TEST" og bruk browsefunksjonen til å velge en passende plass å legge prosjektfilene. Klikk så for å velge "User Peripheral Repository search patch for IP....", og bruk "browse" funksjonen til å finne katalogen hvor du innstalerte MEMEC repository files. Gå så videre med å klikke "ok".

File:EDK XPS 01.jpg

I neste vindu får du to valg. Merk "I would like to create a new design" og klikk "next".

File:EDK XPS 02.jpg

Her merker du "I would like to create a system for the following development board" og velger korekt prtotypekort fra menyen. Trykk så "next".

File:EDK XPS 03.jpg

I neste vindu velger du "MicroBlaze" og trykker "next".

File:EDK XPS 04.jpg

Du vil nå få opp et vindu hvor du kan sepsifisere MicroBlaze prosessorens egenskaper. Referanseklokken skal være 100MHz. Systemklokken kan settes til 100MHz(eller lavere hvis det skulle være ønskelig). Prosessorconfigurasjonen settes til "On-chip H/W debug module". Sett "Local data and instruction memory" til ønsket verdi, i vårt tilfelle 32kB. Velg "no cache". Klikk så "next".

File:EDK XPS 05.jpg

Du vil nå få opp et vindu hvor du kan velge I/O interface for prosessoren. Merk vekk "Ethernet MAC" og sett hastigheten på "RS232_USB" opp til maks (921600). Trykk så "next".

File:EDK XPS 06.jpg

I dette vinduet lar du alt stå som det er og trykker "next".

File:EDK XPS 07.jpg

Her settes minneområdene. La alt sto som det er og trykk "next".

File:EDK XPS 08.jpg

I neste vindu får du spørsmål om å legge til enheter. Ikke gjør noe men trykk "next".

Du vil nå få opp et vindu med spørsmål om hva som skal være standar IO enhet. trykk også på valg for "Memory Test". Velg RS232 og trykk "next2.

File:EDK XPS 09.jpg

I vinduet som nå kommer opp kan du velge hvor du vil plasere intruksjon, data og stack minne. La de valgte verdier stå og trykk "next".

File:EDK XPS 10.jpg

Du vil nå få opp en oversikt over prosessoren og adresser til de forskjellige enhetene koblet til den. Trykk "Generate" og du vil få generert et prosjekt basert på dine valg.

File:EDK XPS 11.jpg

Du får så opp et vindu som sier at prosjektet er generert. Trykk "Finish".

Du vil nå se at prosjektet blir lastet inn i XPS. Du får også et lite vindu som heter "the next step". Velg "start using platform studio" og trykk "ok".

File:EDK XPS 12.jpg

DEL 2 - Kjøre en testaplikasjon

Du har nå fått et komplett MicroBlaze system i ditt prosjekt. Det neste steget blir å kjøre en testaplikasjon som ligger i prosjektet ditt og på denne måten få bekreftet at prosessoren kjører som den skal.

Synthesisere prosjektet

For å få generert en prosjektfil som kan lastes ned på FPGA'en må en gå på tools menyen og trykke "Generate Bitstream". XPS vil nå jobbe i en til to timer.

File:EDK XPS 16.jpg

Når bitmap filen er ferdig vil du få følgende beskjed i outputvinduet:

Analyzing file TestApp_Memory/executable.elf...
INFO:MDT - BRAM lmb_bram will be initialized with ELF of processor microblaze_0
Running Data2Mem with the following command:
data2mem -bm implementation/system_bd -bt implementation/system.bit  -bd
TestApp_Memory/executable.elf tag lmb_bram  -o b implementation/download.bit 
Memory Initialization completed successfully.

Done.

Enable XMD debug

Gå på "optionsmenyen" og velg "XMD debug Options". I vinduet som kommer opp merker du av "hardware" og trykker "save".

File:EDK XPS 19.jpg

Kompilere programkoden

Til venstre i XPS åpner en vinduet som heter "Application". Høyreklikk på "xmdstud" og pass på at "mark to initialize BRAMs" er er umarkert. Gjør det samme med "Project: TestApp_Memory" og sørg for at "mark to initialize BRAMs" er markert.

Legg til opsjoner

I prosjektlista dobbelklikker du på source og åpner filen som ligger der. Du vil da få åpnet kildekoden din i hovedvinduet.

File:EDK XPS 14.jpg

Bla deg ned i TestApp_Memory.c filen og finn main rutinen. Her legger du til "print("Dette er en test av 'ditt navn'\n\r"); ".

//====================================================

int main (void) {

   print("-- Entering main() --\r\n");

   print("Dette er en test av 'ditt navn'\n\r");

   /* 
    * MemoryTest routine will not be run for the memory at 
    * 0x00000000 (dlmb_cntlr)
    * because it is being used to hold a part of this application program
    */


Trykk på lagre og åpne deretter menyen "tools" og velg "Build All User Aplication". All programkode vil da bli kompilert og du vil få en utskrift som forteller størrelse på progamkoden.

File:EDK XPS 13.jpg

mb-size TestApp_Memory/executable.elf
text	   data	    bss	    dec	    hex	filename
3968	    300	      8	   4276	   10b4	TestApp_Memory/executable.elf
Done.

Laste over bitfilen til virtex-4

Koble til parallellport-programereren fra xilinx til kortet og koble til en seriellkabel mellom kortet og PC'en. Start opp hyperterminal eller et alternativt program. Velg com1. I neste vindu setter du baudraten til 9600, databits til 8, velger "none" på parity, setter stopbit til 1 og velger hardware på "flow control". Trykk så på "apply".

File:EDK XPS 17.jpg

Overføre sowftwaren til MicroBlaze prosessoren

Neste steg er nå å laste over prosessoren på FPGA'en. Slå på strømmen på prototypekortet. Velg så tools menyen og trykk på "Download". Når nedlastingen er ferdig vil du få opp følgende tekst i outputvinduet:

INFO:iMPACT:579 - '1': Completed downloading bit file to device.
INFO:iMPACT:580 - '1':Checking done pin ....done.
'1': Programmed successfully.
Elapsed time =      3 sec.
// === BATCH CMD : quit
Done.

Du vil nå starte kjøringen av programet straks nedlastingen er fredig. I hyperterminal vil du få opp en tekst som sier:

-- Entering main() --
Dette er en test av 'ditt navn'
Starting MemoryTest for DDR_SDRAM_32Mx16:
  Running 32-bit test...PASSED!
  Running 16-bit test...PASSED!
  Running 8-bit test...PASSED!
-- Exiting main() --

Gratulerer!!! Du har nå implementert et enkelt softcore prosessorsystem på FPGA'en.