[Cryptech Core] Proposal for new FPGA architecture
Peter Stuge
peter at stuge.se
Tue Oct 30 14:57:24 UTC 2018
Joachim Strömbergson wrote:
> What I propose is to add API functionality to the core selector that
> would expose a DMA mechanism with from-to copy functionality to the MCU.
Do you mean DMA only within the FPGA, between different cores?
Maybe, but I think this does require core_selector to change a fair
bit beyond just the DMA API, because it will also have to deal with SW
commands that conflict with ongoing DMA operations. Rife for races.
> The core selector would also have a two port buffer memory. This would
> allow SW to read or write the contents of the memory while the DMA
> engine is performing copy operations between the buffer memory and a core.
Why would the contents be exposed to the outside? Isn't the point of
a DMA engine in the FPGA to keep everything within the FPGA?
> the MCU could of course make the DMA first write the sensitive data to a
> core memory, and then write it to the memory area it can access (or in
> the core directly).
Operations that may write to SW-accessible memory could be whitelisted,
with no key-disclosing operations on that list.
> Today it is generated by a python program based on the core
> configuration. This generator would have to be modified and possibly be
> a bit more complicated to include its own API. implement a MUX that can
> be controlled by the DMA engine. And instantiate the the buffer memory
> and the DMA engine.
Why the MUX and buffer memory?
How about core_selector simply keeping track of what core is busy,
and either stalling or NAKing requests to that core?
//Peter
More information about the Core
mailing list