aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/keywrap.v
AgeCommit message (Collapse)Author
2020-04-29Finally got integrate_mkmif working.HEADmasterPaul Selkirk
Wired up mkey_key to allow the user to specify which key to use (MKM or user-provided key). Wired up mkm_wr_status so we can actually write the status word to MKM. Removed the reset initialization of mkmif_core, since that has its own auto-initialization. I might want to remove init as an input to keywrap_mkmif. Fixed a FSM state-transition write-enable, so it would actually transition states. Changed a 3-bit counter to 4 bits, so it can actually count to 8. And removed several bits of non-functional junk.
2020-03-31Merge branch 'integrate_mkmif' to masterPaul Selkirk
2020-03-25Move keywrap from user/js to core/util.Paul Selkirk
Also remove the auto_zeroise code, since that's behaving badly, and it's not used anyway in the integrate_mkmif branch.
2019-01-17Adding key timeout output port to allow core to inform the top level wrapper ↵Joachim Strömbergson
that timeout has occured. Added functionality to zeroise API key registers when timout has happened. Updated all auto_zeroise test cases to check that API key registers are properly zeroised.
2019-01-11Fixed parameterized widths.Joachim Strömbergson
2019-01-08Adding the same API hardening to keywrap as implemented for other cores ↵Joachim Strömbergson
after the Cryptech audit.
2018-12-13Fixed some bugs in auto-zeroise functionality. Now it really zeroises key ↵Joachim Strömbergson
automatically. It seems to work, but needs a bit more testing.
2018-12-11Zeroisation of wrapper key registers. Adding reset of key_loaded register.Joachim Strömbergson
2018-12-09Adding support for SW to keep loaded key alive by reading status. Adding ↵Joachim Strömbergson
support for SW to trigger zeroisation of a loaded key.
2018-12-07Adding a more sane default timeout value.Joachim Strömbergson
2018-12-07Adding API support for key loaded status and key timeout control. Added ↵Joachim Strömbergson
ports in the core to support key status and timeout. Updated core testbench to match the new interface.
2018-10-23Hardened the keywrap API to not allow reads or writes when the core is busy.Joachim Strömbergson
2018-09-25Added logic to perform status word read operation from the mkm. Adding ↵Joachim Strömbergson
interfaces and registers to be able to pass mkm status to host. Updated dut instantiation in core testbench to.
2018-09-25Updated the keywrap API to support access to MKM status. Updated ↵Joachim Strömbergson
keywrap_core to support control of MKM access operations.
2018-09-18Adding API control bits to read and write key.Joachim Strömbergson
2018-09-18Moved compile time debug access control of key to the API. Added correct ↵Joachim Strömbergson
code to mux key.
2018-09-18Moved the mkmif instance into the core itself. Added API to read the key if ↵Joachim Strömbergson
DEBUG is set.
2018-09-14Adding instatiation of the mkmif in the keywrap top level wrapper. Updated ↵Joachim Strömbergson
testbench anf Makefile to build with instantiated mkmif. The mkmif is not yet used by the keywrap.
2018-09-04Updated rtl and tb to support parameterized memory size.Joachim Strömbergson
2018-08-24We probably want to be able to read data too.Joachim Strömbergson
2018-08-24Killed the bank switching.Joachim Strömbergson
2018-08-24Performed Verilog parameter magic to make the design scaleable in terms of ↵Joachim Strömbergson
capacity. Does not yet work, but at least the linter is fairly happy.
2018-08-23Adding top level defines for setting size and address bits.Joachim Strömbergson
2018-08-16Adding delay cycle to API regs to match the latency for accessing the ↵Joachim Strömbergson
blockRAM. Added test case that checks access to the API regs.
2018-07-06(1) Updated version to reflect status. (2) Minor fix after running sim in ↵Joachim Strömbergson
ModelSim.
2018-07-05Fixed memory word order. Fixed a number of bugs. First block encrypted ↵Joachim Strömbergson
correctly. A state is wrong and memory is read too far.
2018-07-05Removed the streaming interface in favor of a normal address based ↵Joachim Strömbergson
interface. A bit more kludgy, esp since we need to use bank switching to be able to provide enough address space. But this removes a possible problem of the streaming address counter running wild.
2018-07-03Good news: The core peformcs all AES operations and stops after correct ↵Joachim Strömbergson
number of operations. Bad news: All values are wrong.
2018-07-03Debugged a lot of minor errors and added a lot of debug functions. Things ↵Joachim Strömbergson
are starting to work. As in AES is actually initialized and used.
2018-06-29Fixed bugs in the API decoding logic.Joachim Strömbergson
2018-06-29Changed name in API for A words to clarify their meaning. Corrected case ↵Joachim Strömbergson
order in API logic.
2018-06-28Adding a lot of functionality. Starting to get everthing in place.Joachim Strömbergson
2018-06-28A lot of cleanup of interconnections between cores and hierarchy. Fixed a ↵Joachim Strömbergson
number of nits and bugs. Added address generator for the API.
2018-06-28Interface debugging.Joachim Strömbergson
2018-06-28Updated top level wrapper to better match the planned API. Updated core ↵Joachim Strömbergson
interface. Connected core into the top level wrapper.
2018-06-27Adding initial version of top level wrapper for the keywrap core.Joachim Strömbergson