PLB Master modul ne deluje pravilno (250 točk!)

B

BlackOps

Guest
Zdravo,
board

Rabim EDK ISE 9,1 in 9,1, moja strojna oprema je XUPV2P
board
peripheral, with the peripheral wizard.

I so ustvarili PLB Master modul
perifernih, s periferno čarovnika.

memory connected to the system to the slave register of the Master module.

Zdaj hočem poveljnik modul za prenos podatkov iz pomnilnika DDR,
povezanih v sistem, da suženj register modula Master.

priložena slika je posnetek obseg prostora naslov svoj sistem EDK.

Tukaj je, kako VHDL kode, ki jih periferni čarovnik pravi to storiti:

===================

- Tukaj je primer postopka v vašem programu za začetek 4-bajt- Napisati postopek (single podatki utrip) tega modela poveljnika:- 1.
pišite 0x40 za nadzor register- 2.
napisati naslov vira podatkov (lokalno) do ip2ip register- 3.
napisati naslovnika (na daljavo), da ip2bus register- - Opomba: bo ta naslov dal na naslovu avtobus ciljno črto- 4.
0x0004 pišite na dolžino register- 5.
napisati veljavno byte lane vrednost je treba registrirati- - Opomba: To vrednost je treba uskladiti z naslovom ip2bus- 6.
pišite 0x0a, da gredo register, se bo ta začela pisati operacijo

=====================

Tukaj je del moje kode:Code:

================================================== ===================================

Xuint32 podatkov; / / spremenljivka za test/ / PRIPRAVKA!

/ / Set osnove naslov DDR za vidna vrednost.
Bomo manipulirati pozneje.

XIo_Out32 (0xd0000000, 0xABCD1234);/ / Write drugo posebno vrednost v Prva registracija (slv_reg0) of perifernih.

XIo_Out32 (XPAR_VIDEO_CTRL_0_BASEADDR 0x00, 0xAABBCCDD);data = XIo_In32 (0xd0000000);

xil_printf ( "Vrednost DDR (pred prenosom mojster) =:% x \ r \ n", podatki);data = XIo_In32 (XPAR_VIDEO_CTRL_0_BASEADDR 0x00);

xil_printf ( "Vrednost slv_reg0 (pred prenosom mojster) =:% x \ r \ n", podatki);/ / Poveljujoči MASTER!

/ / Write 0x40 za nadzor registra poveljnik periferno

XIo_Out8 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x00, 0x40);/ / Napišite naslov vira za pisanje v register IP2IP na poveljnik periferno

/ / V našem primeru bomo uporabili slv_reg0 v obrobnih.

XIo_Out32 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x04, XPAR_VIDEO_CTRL_0_BASEADDR 0x00);/ / Napišite naslov za destinacijo piše IP2BUS registra poveljnik periferno

/ / V našem primeru, bomo overwite BRAM isti lokaciji, ki smo si jih zastavili prej.

XIo_Out32 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x08, 0xd0000000);/ / Napišite dolžino prenosa (v bajtih), da DOLŽINA registra poveljnik periferno

/ / V našem primeru smo želeli poslati samo eno besedo (4 bytes).

XIo_Out16 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x0C, 0x04);/ / Write vrednost za bajt omogoča BE registra poveljnik periferno

/ / V našem primeru smo pisno 0x ??????? 0 naslov, tako da bomo uporabili polovico 64 bit PLB

XIo_Out8 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x0E, 0xf0);/ / Write posebni "GO" zapoved v GO register na poveljnik periferno

/ / Ukaz GO je vedno 0x0A

XIo_Out8 (XPAR_VIDEO_CTRL_0_BASEADDR master_reg_offset 0x0F, 0x0A);/ / Počakaj, da vidite, kaj se zgodi!
Naslov DDR, ki vsebujejo 0xABCD1234 mora biti prepisani z 0xAABBCCDDdata = XIo_In32 (0xd0000000);

xil_printf ( "Vrednost DDR (PO mojster prenos) =:% x \ r \ n", podatki);

================================================== =================================

 
dobro ...no vsaj vseh odgovorov za tako velik čas.inženirjev iz Xilinx rekel, da bi to delo ... in samo spodbuda mi projekte enake funkcionalnosti, ki je dejansko dont delo v mojem primeru, čeprav sem jih upravljajo ", kot je" ...alternativno rešitev, je, da uporabite drugo meri IPIF vmesnik.Mimogrede, Xilinx IPIF vmesnik je tudi prepočasen ...nekako mimo.

 
Ali lahko naložite svoje celotno načrtovanje, tako da lahko imam pravilno preveriti ....Hvala

 
Oh, hvala za vaš trud pomagati, vendar imam hotel uporabljati ta vmesnik dolgo časa nazaj.ni učinkovit in hiter.Raje meri IPIF vmesnik.

 

Welcome to EDABoard.com

Sponsor

Back
Top