• Federico Vaga's avatar
    sw:*: re-design MQ interface · f240f4ce
    Federico Vaga authored
    The HMQ architecture changed completely. For this reason it was impossible
    to propose a step by step migration to the new architecture, instead I did
    all the changes for all the layers in a single patch (@_@). It will not be
    easy to review or to blame/bisect but I hope you understand that this was
    the only way.
    
    In this architecture there are HMQ dedicated to each soft-CPU. This improve
    the soft-CPU determinism; it also simplifies the software layers which can take
    a couple of assumption:
    - each CPU has a set of dedicated HMQ
    - each HMQ has an input and an output channel
    
    At the driver level the main changes are on the organization of the HMQ devices
    and the interrupt handlers for input and output. The removal of the synchronous
    message ioctl(2) is another great improvement which simplifies the driver logic.
    
    At the library level, the user does not need anymore to open and close HMQ
    independently because this happens automatically when the user open the device.
    The synchronous messages are implemented in this layer by using the driver
    message filter to detect a synchronous answer (a convention to be decided later).
    
    At the python level I reflected the library changes.
    
    Broken things
    =============
    Due to the complexity of this patch, this breaks the following tools:
    - mockturtle-ping
    - mockturtle-buffer
    - mockturtle-variable
    Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
    f240f4ce
Name
Last commit
Last update
demos Loading commit data...
doc/technical-spec Loading commit data...
hdl Loading commit data...
software Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
CHANGELOG Loading commit data...
README Loading commit data...