bu-icsg / dana

Dynamically Allocated Neural Network Accelerator for the RISC-V Rocket Microprocessor in Chisel
Other
205 stars 36 forks source link

Genericize X-Files for Arbitrary Backend Accelerators #7

Closed seldridge closed 8 years ago

seldridge commented 8 years ago

This covers a refactor of the X-Files to make it suitable for arbitrary backend accelerators with Dana being one such accelerator. The majority of the modifications involve refactoring the Transaction Table such that this is accelerator-agnostic, the state type becomes a parameter used to construct the Transaction Table, and all updates to transaction state are driven from the accelerator.

The entire Transaction Table can be made arbitrarily generic if the "state" portion of the Transaction Table is a bunch of unassigned bits. In this fashion, each transaction consists of something like the following:

Valid Bit | Reserved Bit | Waiting Bit | Done Bit | ASID | TID | State The state then encompasses everything accelerator specific. The state can be further divided into all state and state passed to the accelerator. This does, however, complicate some of the previous optimizations made to the Transaction Table as the Transaction Table cannot make any modifications to the state. This must all happen from the accelerator side.