Forum: FPGA, VHDL & Co. Microblaze Interrupt Controller


von Tim S. (169)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
ich habe ein Ausgangssignal eines Peripherals mit dem 
Interruptcontroller verbunden. Dessen Ausgang dann wiederum mit dem 
Microblaze. Da dies nicht in der EDK möglich erfolgte alles im 
.mhs-file.
Dieser sieht nun wie folgt aus(nur Ausschnitt):

BEGIN microblaze
 PARAMETER INSTANCE = microblaze_0
 PARAMETER C_USE_BARREL = 1
 PARAMETER C_DEBUG_ENABLED = 1
 PARAMETER HW_VER = 8.40.b
 PARAMETER C_AREA_OPTIMIZED = 1
 BUS_INTERFACE DPLB = mb_plb
 BUS_INTERFACE IPLB = mb_plb
 BUS_INTERFACE DEBUG = microblaze_0_mdm_bus
 BUS_INTERFACE DLMB = dlmb
 BUS_INTERFACE ILMB = ilmb
 PORT MB_RESET = mb_reset
 PORT INTERRUPT = microblaze_0_Interrupt
END

BEGIN xps_intc
 PARAMETER INSTANCE = xps_intc_0
 PARAMETER HW_VER = 2.01.a
 PARAMETER C_IRQ_IS_LEVEL = 1
 PARAMETER C_BASEADDR = 0x81800000
 PARAMETER C_HIGHADDR = 0x8180ffff
 BUS_INTERFACE SPLB = mb_plb
 PORT Irq = microblaze_0_Interrupt
 PORT Intr = plb2wb_bridge_0_PLB2WB_IRQ  # <- vom peripheral
END

Nachdem ich die Netliste versuche zu generieren kommt folgende 
Fehlermeldung:

xps_intc_0 (xps_intc) - Interrupt Port - 'PLB2WB_IRQ' cannot be
   without Sensitivity
   (SENSITIVITY=EDGE_RISING|EDGE_FALLING|LEVEL_LOW|LEVEL_HIGH)


Was mach ich falsch?

von pks (Gast)


Lesenswert?

Bei der Port-Deklaration Deines Interrupts fehlt vermutlich sowas:
PORT xyz, ..., SENSITIVITY = EDGE_RISING

von Klaus F. (kfalser)


Lesenswert?

Im mpd File deiner PLB2WB bridge muss für das Interrupt Signal die 
Polarität und die Flanke angegeben sein, z.B:

PORT PLB2WB_IRQ = "", DIR = O, SIGIS = INTERRUPT, SENSITIVITY = 
EDGE_RISING

Wahrscheinlich fehlt diese Information dort.

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.