GDS/LEF/GL: Import from 36322d4 GL: Copy the file without the modifications

75c1e4caaf3fbf2ef94a6b7945596393ad0fda7c  gds/wrapper_sha1.gds
3f331b153e415399fa097c676bf0ecd7f91ad391  gds/wrapper_sha1.gds.png
57e7786cfedf17804e6f60b410faba09cf4c845e  gds/wrapper_sha1.lef
1b771b1795e3a9ae7330223f9a2cd279a2499a14  gds/wrapper_sha1.lvs.powered.v
7e3a53e6e81c2a6668888e398444a4b7d4656b29  gds/wrapper_sha1.lvs.v

Signed-off-by: Konrad Rzeszutek Wilk <>
4 files changed
tree: f9e6afee5164a398d8bd27f280b69d8406f34103
  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-c.

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.