|author||Konrad Rzeszutek Wilk <email@example.com>||Sat Jun 12 08:54:22 2021 -0400|
|committer||Konrad Rzeszutek Wilk <firstname.lastname@example.org>||Sat Jun 12 09:06:48 2021 -0400|
GDS/LEF/GL from ead6b07 GDS/LEF/LVS: OpenLANE build with die increased to 1000x1000 060db8226cb69f788368b0457ff936c52007dd5a gds/wrapper_sha1.gds c0d77df05fb5b8d5cb286af27d9af9fcbf6bbd60 gds/wrapper_sha1.gds.png d1810777e2f8c646852d71985479d9c14f4cdc24 gds/wrapper_sha1.lef f497277406fe4f7c02012dafc200d19b1ab178e5 gds/wrapper_sha1.lvs.powered.v ad87675815fe642a05e7c6ab6f825f8ad68906de gds/wrapper_sha1.lvs.v No DRC errors! 04d8d21ac5e49d91fee4a76f5682b9211a9093b1 gds/user_project_wrapper.gds 0a39fe49e612d695b9169cf68c9be715eef0ae68 gds/user_proj_example.gds Signed-off-by: Konrad Rzeszutek Wilk <email@example.com>
See a https://github.com/konradwilk/sha1 for the full git history of this code. Branch name is submission-mpw-two-c.
This is an implementation of [https://www.rfc-editor.org/rfc/inline-errata/rfc3174.html](RFC 3174) of SHA-1 engine.
It is not the most secure one nowadays (it is still used for git commit ids and TPM PCR values), but it looked like the easiest of the SHA engines to implement. The communication channel is via WishBone commands to provide sixteen words after which the engine starts and computes the digest in about 160 cycles. Then digest can be retrieved via the wishbone. There is a IRQ line so when it has completed it will bring it high if that is enabled.
If you want to see this more interactively, I would recommend you clone https://github.com/konradwilk/sha1 and run
which will use the various WishBone commands to program it.