GDS/LEF/GL from 5a3d1ea

SHA1 (unchanged from prior runs):
82eefb5353439068f75cca6a0d09f06e3ad15e89  gds/wrapper_sha1.gds
c265eb7972487473cacd1c20b0d2a4280bcb14b2  gds/wrapper_sha1.gds.png
c4c42f2be86209e002153873b1e5c6370b61fd97  gds/wrapper_sha1.lef
801999d923d36a65031349d11086d9badc311b15  gds/wrapper_sha1.lvs.powered.v
5e4a4d94d2612ebd3429d7f746250a851960bc1b  gds/wrapper_sha1.lvs.v


77563c8f61320146b396b6dbce76eda3debc32b4  gds/wrapper_fibonacci.gds
19d0738f2a5e5c48dc7f923bf39f1f50cd1027d9  gds/wrapper_fibonacci.gds.png
1329fe92d64e8cb3d436d2e17d2c52a927bd608c  gds/wrapper_fibonacci.lef
75558dce5af23609e1ee361f017ebc10b82dcb86  gds/wrapper_fibonacci.lvs.powered.v

Final GDS files:
abe4c1e8019141057eefef00e14f2b1a3cf13112  gds/user_project_wrapper.gds.gz
c161adb8a533e8f7d2284cd1cef8c61367859506  gds/wrapper_fibonacci.gds.gz
f730d41d21f74b3000254210bbe21a2dd2e044ba  gds/wrapper_sha1.gds.gz

Signed-off-by: Konrad Rzeszutek Wilk <>
9 files changed
tree: ca87eaf8f4b1569c421786a9481f30efc7113624
  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.