Project: Final Results and Performance Metrics - tnl3pdx/ece510-HwAIML GitHub Wiki
Metrics to Focus On
I will mainly put my focus on the signing in the SPHINCS+ program. The reason is that the signing stage is the longest out of the 3 stages. Creation of public/private keys and verifying that the signature is valid is much shorter in comparison to the signing stage, so this will be the main focus of the results breakdown. These are the metrics needed to be accounted for to determine the results of my implementation:
Software
- Total execution time of the hash function for a single signing (how long the hash function takes during execution)
- Average time for a hash call (on average, how long it takes for a call to finish)
- Number of hash calls per signing (total number of calls to the hash function)
- List of unique message lengths to the hash function (used to determine how many blocks need to be allocated for SHA-256)
- Distribution of call counts by unique message lengths (need to know how many times a 64 or 80 message block has been passed through)
Hardware (HDL)
- Max Clockable Frequency based on synthesis via OpenLane
- Execution times for each unique message length (different numbers of message blocks will affect the execution time of a single call)
- Communication cost between hardware and software layers
- Verification metric using cocotb
Results for Software
Based on my prior profiling of the project, I found that
(Show profiling results)
Results for Hardware
Using my results from