aboutsummaryrefslogtreecommitdiff
path: root/src/rtl
AgeCommit message (Collapse)Author
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-17Added non-zero default timeout value in core. This fixes the keywrap ↵Joachim Strömbergson
problems by not automatically reset the key in the API. Enabled all testcases and disabled excessive debug outputs.
2019-01-17Debugging keywrap after auto_zeroise. Now the core starts processing as ↵Joachim Strömbergson
expected.
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-20valid should not be set from reset. There is no valid data.Joachim Strömbergson
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 untested code to implement timer controlled automatic zeroisation of ↵Joachim Strömbergson
key loaded into the aes core.
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-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-24Added explicit width specification for constant to silence truncation warning.Joachim Strömbergson
2018-07-06(1) Updated version to reflect status. (2) Minor fix after running sim in ↵Joachim Strömbergson
ModelSim.
2018-07-06Debugged key unwrap. First testcase for unwerap passed. Added some more ↵Joachim Strömbergson
debug outputs.
2018-07-06(1) Fixed dump of core_addr in testbench to actually show the core_addr. ↵Joachim Strömbergson
Fixed boundaries for the block counter. Now we don't read mem out of bounds.
2018-07-05Adding wait state to allow access from memory to complete. Should be ↵Joachim Strömbergson
possible to optimize.
2018-07-05Fixing block counter init bug. Enabling detailed debugging. Fixing minor nits.Joachim Strömbergson
2018-07-05Updated keywrap logic to support unwrap. Split state to handle next start in ↵Joachim Strömbergson
both wrap and unwrap cases.
2018-07-05Adding state and counter functionality to support unwrap. Changed name of ↵Joachim Strömbergson
define to something more comprehensible.
2018-07-05Removed a few states and a few cycles.Joachim Strömbergson
2018-07-05We haz keywrap! Time to add more testcases and make them self testing. Oh ↵Joachim Strömbergson
and implement unwrap.
2018-07-05Debugged keywrap processing including A update. All AES operations works ↵Joachim Strömbergson
correctly. Now we just need to stop processing whe we should.
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 nits found during linting.Joachim Strömbergson
2018-06-29Fixed bugs in the API decoding logic.Joachim Strömbergson
2018-06-29Completed first version of core that should have all functionality needed to ↵Joachim Strömbergson
do key wrap.
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
2018-06-26Adding more functionality in the core. Updated Makefile to build and ↵Joachim Strömbergson
simulate with the AES core. Minor update to header and README. Clarified that it is RFC 5649 we are implementing.
2018-06-22(1) Added initial version of keywrap_core which will implement the actual ↵Joachim Strömbergson
wrapping using aes_core and the keywrap_mem. (2) Minor cleanup to the keywrap_mem code.
2018-06-21Increased size of memory to 64 kByte to match what is needed for key wrap. ↵Joachim Strömbergson
No problems.
2018-06-21Reworked code a bit to match what ISE expects to map to block RAM instances.Joachim Strömbergson
2018-06-21Implemented test design for key wrap memory. To be tested in ISE.Joachim Strömbergson
2018-06-19Adding initial version of repo and design for core implementing aes key wrap.Joachim Strömbergson