2. vaja: sistem s kvadrirnikom

2.1 Sistem na čipu s kvadrirnikom

Kvadrirnik z vodilom AXI bomo vključili v sistem, ki je sestavljen in procesorskega dela in povezav (AXI Interconnect). Izdelavo blokovnega diagrama z vmesnikom AXI Lite v programu Vivado prikazuje video:

Naloga

2.2 Grafični opis sistema

Izdelava komponente IP

Odpri projekt v katerem je kvadrirnik z vmesnikom AXI.

Tools > Create and Package IP, nato izberi Package your current project in pusti ostale nastavitve privzete.

V glavnem oknu programa so koraki izdelave oz. pakiranja nove komponente:

Celoten opis komponente se nahaja v zip datoteki v podmapi .srcs (npr. kvadrat\kvbadrat.srcs). To datoteko prenesemo v svojo mapo, kjer bomo imeli lastne komponente IP in jo odpakiramo.

Izdelava blokovnega diagrama

Vključitev komponente v diagram

 

  • V zavihku na levi strani blokovnega diagrama klikni na ikono IP Settings. Odpre se okno v katerem bomo dodali novo komponento v katalog. S klikom na + (Add Repository) izberi mapo z opisom komponente kvadrat in komponenta se bo uvrstila v katalog.

  • Dodaj komponento kvadrat na blokovno shemo (Add IP) in klikni Run Connection Automation. Program bo avtomatsko dodal dva IP bloka, ki omogočata povezavo med komponento z vmesnikom AXI in procesnim sistemom.

  • Preveri pravilnost diagrama z izbiro iz menija Tools > Validate Design, nato pa shrani blokovno shemo.

Prevajanje sistema

2.3 Izdelava aplikacije

 
#include <stdio.h>
#include "platform.h"
#include "xil_io.h"// neposreden dostop do registrov

//void print(char *str);
Xil_Out8(XPAR_KVADRAT_0_BASEADDR, 2);
Xil_Out8(XPAR_KVADRAT_0_BASEADDR+4, 2);
printf("Prvi izhod: %d\n", Xil_In32(XPAR_KVADRAT_0_BASEADDR+8));
printf("Drugi izhod: %d\n", Xil_In32(XPAR_KVADRAT_0_BASEADDR+12));