Final GZ.

25d4bc0a84b87156b26d446ee0b1b009d3c9a5ee  user_project_wrapper.gds.gz
ee068daf3bbb361ae7bee9b3677971d636c31a9e  wrapper_sha1.gds.gz

2b1802f00eca68d7191540298eb7946db9f24e15  user_project_wrapper.gds
4d045a4aef1bd522b1c378c89628378044614762  wrapper_sha1.gds

Signed-off-by: Konrad Rzeszutek Wilk <>
2 files changed
tree: 3e9fa4364b9f7e5b447fa8dbc1474c47568477a5
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. mag/
  7. maglef/
  8. openlane/
  9. pics/
  10. signoff/
  11. spi/
  12. verilog/
  13. .gitignore
  14. .gitmodules
  15. info.yaml
  17. Makefile

Caravel User Project

License UPRJ_CI Caravel Build

SHA-1 engine

See a for the full git history of this code. Branch name is submission-mpw-two.

This is an implementation of [](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 and run

make test_wb_logic

which will use the various WishBone commands to program it.