Forum: FPGA, VHDL & Co. XPS der AXI-Bus das Digilent Atlys board und mein IP-Core


von Kr0n0ss S. (Firma: Universität Oldenburg) (kr0n0sss)


Lesenswert?

Also.. wie der Betreff schon sagt, habe ich ein XPS Projekt angelegt für 
das Digilent Atyls Board und einen eigenen IP-Core geschrieben. In 
diesem Fall einen SPI/MICROWIRE Controler für einen PmodDA2....

Den IP-Core habe ich getestet in einem ISE Project und Microblaze und 
Bus.. habe mit einem OSZI die Clock abgegriffen und mit einem VM 
entsprechend die die Spannungen gemessen.. stimmte alles soweit. Dann 
hab ich entsprechend ein Project angelegt mit XPS und ein ISE Projekt 
angelegt und entsprechenden IP-Core integriert.

In der user_logic habe ich folgendes gemacht
1
DA2RefComp_instance : DA2RefComp
2
  port map (
3
      CLK => Bus2IP_Clk,    
4
      RST => not Bus2IP_Resetn,
5
      --Pmod interface signals
6
      D1 => D1, -- Data out für PmodDA2
7
      D2 => D2, -- ==''==
8
      CLK_OUT => CLK_OUT,
9
      nSYNC => nSYNC,
10
      --User interface signals
11
      DATA1 => slv_reg1(11 downto 0), -- Data in vom Microblaze gesetzt
12
      DATA2 => slv_reg2(11 downto 0), -- ==''==
13
      START => slv_reg3(0),
14
      DONE => slv_reg4(0)
15
  );

Es synthetisiert auch ohne Probleme.. aber im ISE Projekt mit Microblaze 
etc.. zeigt das OSZI einfach keine CLK mehr an.. und auch sonst kann ich 
keine vernünftigen Werte messen..

Entsprechende Anpassungen in der *.mpd und *.pao habe ich auch 
getätigt.. auch die Ports habe ich auf "external" geändert und in der 
System.ucf angepasst.
1
# Connect SPI_MICROWIRE outputs to Pin 1 to Pin 4 of the external connector
2
Net spi_microwire_0_nSync_pin LOC = "T3" | IOSTANDARD = "LVCMOS33";
3
Net spi_microwire_0_D1_pin LOC = "R3" | IOSTANDARD = "LVCMOS33";
4
Net spi_microwire_0_D2_pin LOC = "P6" | IOSTANDARD = "LVCMOS33";
5
Net spi_microwire_0_CLK_OUT_pin LOC = "N5" | IOSTANDARD = "LVCMOS33"; # | CLOCK_DEDICATED_ROUTE = FALSE;

Hänge schon Tage an diesem Problem.. wäre super, wenn jemand von euch 
mir da weiterhelfen könnte.. sollten euch /dir irgendwelche 
Informationen fehlen.. kein Problem!!

von Klaus F. (kfalser)


Lesenswert?

Es ist nicht klar, ob Du ein ISE Projekt mit XPS Unterprojekt oder ein 
XPS Projekt verwendest.
Je nachdem wirken unterschiedliche UCF-Files.

Wie schauen die Ports von user_logic.vhd aus?
Werden die Signale weitergereicht?

: Bearbeitet durch User
von Kr0n0ss S. (Firma: Universität Oldenburg) (kr0n0sss)


Lesenswert?

Son ein "$§§$%"%$" .. ich hatte alles richtig weitergeleitet. Aber im 
Gegensatz zum PLB ist beim AXI der Reset Active low.. somit war mein 
System die ganze Zeit im Resetzustand... oh man. Danke Xilinx.

von Duke Scarring (Gast)


Lesenswert?

Die reset polarity ist ein beliebter Fallstrick...

Ich mache zwei Dinge, um das Problem zu mildern:

1. eine Gesamtsystemsimulation, um nachzuschauen, ob alles losläuft und
2. versehe ich low-active Signale konsequent mit dem Suffix "_n" oder 
"_b" (für bar). Selbst bei simplen LEDs.

Ich bin bei Xilinx auch schon auf die Nase gefallen, weil das Reset vom 
Phy im Schaltplan nicht ordentlich gekennzeichnet war...

Duke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.