plmwd / sha256-accelerator

Hardware implementation of the SHA256 algorithm using AXI bus interconnect on the Xilinx Artix 7 (Basys 3 development board).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AXI SHA256 Accelerator

The AXI SHA256 accelerator, utilizing the AXI4-Lite interface, is able to complete a hash of a 512-bit block in only 70 cycles and has a max operating frequency of 100 MHz.

Repo Layout

docs

This folder contains block diagrams, the reference manual, generated reports, along with any other supporting files.

hardware

This folder contains bitstream and .xsa files.

ip

This folder contains the ip support files and drivers.

rtl

This folder contains the HDL for sythesis.

software implementation

This folder only contains a software implementation of sha256.

testbench

This folder contains the HDL for simulation.

work

This folder contains tracked files needed to fully re-create the Vivado or Vitis projects. Temporary/generated files are left untracked.

Revisions

1.0

  • Initial release
  • Hash block completion in 70 cycles
  • Simple drivers, but added too much overhead

Future Plans

  • DMA support to reduce overhead on CPU
  • Provide base address and size and master AXI will talk to DMA to automatically fetch next message block between hashes

About

Hardware implementation of the SHA256 algorithm using AXI bus interconnect on the Xilinx Artix 7 (Basys 3 development board).


Languages

Language:C 74.8%Language:C++ 15.3%Language:Assembly 4.2%Language:Verilog 2.7%Language:HTML 1.6%Language:Makefile 0.7%Language:Tcl 0.3%Language:JavaScript 0.3%Language:CartoCSS 0.1%Language:Shell 0.1%Language:SystemVerilog 0.0%Language:Batchfile 0.0%