microblaze as submodule

Hi,

I'm using a design which contains a microblaze system as submodule. In the microblaze design there are interrupt used. These interrupts are global ports in the MHS file. What should I do with these ports in the toplevel design? The interrupts are generated by OPB devices which exists inside the microblaze system. So I don't need them in my toplevel design. Actually, the question is: should the toplevel, which includes the microblaze as a component, contain all ports specified in the MHS file?

TIA, Frank

Reply to
Frank
Loading thread data ...

Hi,

You can specify in the .mhs file which signals you want to bring out to the entity of the submodule. Only bring out signals that you use and need in the top-level.

Göran

Frank wrote:

Reply to
Goran Bilski

Hi,

You should be aware that the default scope setting for all ports in XPS is 'external' although most ports are only needed 'internal'. So when you are generating your mhs using XPS alway remember to set them 'internal'. i.e when you are using Projects -> Add/edit Cores to add your components in the ports tap always remember to double click the scope colums an set your signals internal. Sometimes it gets very anoying when you forget to do so, as every other port usings this signal is set back to external. The more convinient way, of course, will be writing you mhs by hand using an text editor. This is a bit of a struggle in the beginning, but will your spare a lot of trouble with xps

Erik

******************************************** Erik Hansen SHF Communication Technologies AG edothansenatshfdotbiz ********************************************
Reply to
Erik Hansen

I am making the MHS file by hand. Now in the MHS file I've the following:

BEGIN opb_intc PARAMETER INSTANCE = opb_intc PARAMETER HW_VER = 1.00.c PARAMETER C_IRQ_IS_LEVEL = 1 PARAMETER C_IRQ_ACTIVE = 1 PARAMETER C_BASEADDR = 0xFFFF8400 PARAMETER C_HIGHADDR = 0xFFFF84FF PORT Irq = mblaze_irq PORT Intr = pci_irq & pec_irq BUS_INTERFACE SOPB = opb_bus END

so pci_irq and pec_irq are local ports, but in the MSS file I've the following:

PARAMETER INT_HANDLER = pci_isr, INT_PORT = pci_irq PARAMETER INT_HANDLER = pec_isr, INT_PORT = pec_irq

when I try to build a netlist, I get the error:

ERROR: Intr (opb_intc) - pec_irq not previously defined!

Check the following for possible causes:

- Nowhere else in the system is pec_irq defined

- pec_irq is not identified as an interrupt signal

- Check MPD of the instance that is the source of pec_irq for SIGIS=INTERRUPT, EDGE=RISING/FALLING, or LEVEL=HIGH/LOW tags

Platform build failed make: *** [implementation/bootldr.ngc] Error 1

How do I assign an interrupt handler to the local port?

Frank

Reply to
Frank

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.