EDK tutorial 1
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".
I neste vindu får du to valg. Merk "I would like to create a new design" og klikk "next".
Her merker du "I would like to create a system for the following development board" og velger korekt prtotypekort fra menyen. Trykk så "next".
I neste vindu velger du "MicroBlaze" og trykker "next".
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".
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".
I dette vinduet lar du alt stå som det er og trykker "next".
Her settes minneområdene. La alt sto som det er og trykk "next".
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.
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".
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.
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".
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.
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".
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.
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.
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".
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.