- Replace LWC package source files with corresponding updated versions in hardware/LWC_rtl. Note that
NIST_LWAPI_pkg.vhd
should now be used without modification. LWC API configuration should be set in a user-providedLWC_config
package. Please see the provided template and examples: LWC_config_32.vhd, LWC_config_8.vhd. - The list of synthesis source files has slightly changed:
- The file containing the
LWC_config
VHDL package (e.g.,LWC_config.vhd
) usually needs to go at the top of source compilation list, following withNIST_LWAPI_pkg.vhd
and the file containing thedesign_pkg
package (e.g.,design_pkg.vhd
). The source files for user's implementation of CryptoCore or CryptoCore_SCA need to be added next, following by the package implementation source files:data_sipo.vhd
,data_piso.vhd
,key_piso.vhd
,FIFO.vhd
,PreProcessor.vhd
,PostProcessor.vhd
, andLWC.vhd
(orLWC_SCA.vhd
for protected implementations). - The implementation for the FIFO has been optimized and the entity and the source file have been renamed to
FIFO
andFIFO.vhd
.
- The file containing the
- For SCA protected implementations use: LWC_TB_SCA.vhd
- Replace the files previously stored in hardware/LWCsrc by the files from the folder hardware/LWC_rtl
- Replace LWC_TB.vhd, previously provided in the folder hardware/LWCsrc, with the two files from the folder hardware/LWC_tb
- Modify values of the top-level testbench generics by revising LWC_TB.vhd or by overriding values of generics using options of the simulator
- Follow the instructions described in the README file of cryptotvgen.
- Generate KATs using cryptotvgen
- Set the generic
G_TEST_MODE
in LWC_TB to4
- Run simulation
- Review the files timing.csv and timing.txt generated in the same folder as other log files