
The new module class, Or1ksimIntrSC is
derived from the existing Or1ksimDecoupSC
module class, whose header, Or1ksimDecoupSC.h,
is included. The number of interrupts to be supported is given by
the constant, NUM_INTR.
#define NUM_INTR 32
The new class derived from the base class and a custom constructor
defined. The possible interrupts are represented by an array of
sc_signal.
sc_core::sc_signal<bool> intr[NUM_INTR];
![]() | Tip |
|---|---|
It would have been possible to define an array of signal input
ports, By creating actual signals, interrupts that are unused can be left unbound and ignored. |
A SystemC method is required to handle the interrupts (since it never waits, a thread is not needed). This can respond to interrupts in parallel with the main ISS execution thread.
void intrMethod();
The definition of the Or1ksim ISS wrapper module class with
interrupts, Or1ksimIntrSC may be
found in
sys-models/intr-soc/Or1ksimIntrSC.h in the
distribution.
