EDK, reset module, interrupts

C

Christian Haase

Guest
Hello,

assembling an EDK 3.2.2 design I encountered some difficulties:

1. The peripheral reset signals of the Processor System Reset Module
are not assigned properly. I declared a peripheral reset port of width 3
in the MPD file:
C_NUM_PERP_RST = 3
and assigned the modules reset signals to the port in the MHS file
PORT Peripheral_Reset = module1_reset & module2_reset & module3_reset

The auto-generated system.vhd file contains the lines:
peripheral_reset_vec(0 TO 0) <= module1_reset;
peripheral_reset_vec(1 TO 1) <= module2_reset;
peripheral_reset_vec(2 TO 2) <= module3_reset;

other then the expected
module1_reset <= peripheral_reset_vec(0);
....


2. Inferring some interrupt handlers causes the LibGen process to stop
with the error message:
ERROR:MDT - system.mss:90 - Property interrupt_handler is not found

(Frank posted the same problem recently, have you solved it?)


Many Thanks for any kind of advice
Christian
 
"Christian Haase" <nospams@today.de> wrote in message
news:3fd9cddf$1@news.fhg.de...
Hello,

assembling an EDK 3.2.2 design I encountered some difficulties:

1. The peripheral reset signals of the Processor System Reset Module
are not assigned properly. I declared a peripheral reset port of width 3
in the MPD file:
C_NUM_PERP_RST = 3
and assigned the modules reset signals to the port in the MHS file
PORT Peripheral_Reset = module1_reset & module2_reset & module3_reset

The auto-generated system.vhd file contains the lines:
peripheral_reset_vec(0 TO 0) <= module1_reset;
peripheral_reset_vec(1 TO 1) <= module2_reset;
peripheral_reset_vec(2 TO 2) <= module3_reset;

other then the expected
module1_reset <= peripheral_reset_vec(0);
...


2. Inferring some interrupt handlers causes the LibGen process to stop
with the error message:
ERROR:MDT - system.mss:90 - Property interrupt_handler is not found

(Frank posted the same problem recently, have you solved it?)


Many Thanks for any kind of advice
Christian
Hi Christian,

yes I solved it. What you have to do is making a dummy driver. At this
moment, I guess, your opb device is using a generic driver. In the mss file
you have the following line for your opb device:

PARAMETER DRIVER_NAME = generic

The generic driver doesn't have a "INT_HANDLER" parameter. So you can't use
this parameter in your mss file. To use the "INT_HANDLER" parameter (in
order to assign your interrupt handler) you have to make a dummy driver.
This driver only exists of a mdd and tcl file. You can see examples of them
in your install directory of the EDK.

Frank
 
Christian Haase wrote:

Hello,

assembling an EDK 3.2.2 design I encountered some difficulties:

1. The peripheral reset signals of the Processor System Reset Module
are not assigned properly. I declared a peripheral reset port of width 3
in the MPD file:
C_NUM_PERP_RST = 3
and assigned the modules reset signals to the port in the MHS file
PORT Peripheral_Reset = module1_reset & module2_reset & module3_reset

The auto-generated system.vhd file contains the lines:
peripheral_reset_vec(0 TO 0) <= module1_reset;
peripheral_reset_vec(1 TO 1) <= module2_reset;
peripheral_reset_vec(2 TO 2) <= module3_reset;

other then the expected
module1_reset <= peripheral_reset_vec(0);
...
This is a bug and it's fixed in EDK.6.2. To work-around your issue you
can insert IP pcore. That takes the bus
as input and splits it into individual bits as outputs.
 
Hello Frank and Paulo,

thanks for your replies. Your suggestions make my design run.

Christian
 

Welcome to EDABoard.com

Sponsor

Back
Top