

class4: A TLM version of the nominal processors:


rtl-onecpucore.cpp   : RTL-like version copied from previous class for reference

tlm-onecore.cpp      : TLM one core and one memory or one core and two memories

tlm-onecore-dma.cpp  : TLM one core, one memory and DMA controller.

There is no device driver example (the code present is just the code from an earlier class).

Exercise: Sketch the device driver code for this DMA controller.

Exercise: Sketch a trivial application that uses the device driver to move some data.

Exercise: Sketch the implementation of two models that are considerably faster than the TLM model 
and are inaccurate in terms of the number of bus cycles they execute because they use
one or more backdoor functions to move the actual data. 

The first should be identical to the TLM and RTL-like models in terms
of the programmed I/O operations the device driver makes on the DMA
device, but the DMA device moves the data using a backdoor (like the
DMI backdoor of TLM2.0).

The second is a yet higher-level model, which might not include any
actual device model, but where the signatures in the API of the device
driver are unchanged.  NB: Several variations are possible (e.g. is the firmware
cross compiled for the modelling workstation or not).

END




