
The existing UART module processes interrupts, but does not generate
an external interrupt signal. To generate an interrupt signal,
UartDecoupSC is further extended by a new
derived class, UartIntrSC, which provides a
signal port and a new thread to drive that signal port
An extra thread is required, because both the
rxMethod and busThread
processes may wish to drive signals, but SystemC requires that a
signal is driven by a single process. Just as in hardware design a
simple wire would not normally have more than one driver.
The new process communicates with the existing processes via a FIFO
internal to the UART, allowing rxMethod and
busThread to both request interrupt activity
and for those requests to be processed in the order they were
generated.
