Goshik92 / SHA256Hasher

SHA-256 IP core for ZedBoard (Zynq SoC)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

General description

SHA256Hasher is an FPGA IP core for ZedBoard (Xilinx Zynq SoC based board) performing SHA-256 calculation. The project uses slightly changed Verilog code from this repository. The other parts of the code are written in SystemVerilog. The IP core contains AXI4 interface, which allows it to be connected to the ARM cores of Zynq.

Project application

SHA256Hasher may be used for:

  • Boosting SHA-256 calculation on embedded systems.
  • Bitcoin and other SHA-256 based cryptocurrencies mining.

Project structure

The project includes:

  • SHA256Hasher IP Core.
  • A demo system, which uses SHA256Hasher and contains all necessary interconnection.
  • A demo application for Linux, which access the SHA256Hasher via /dev/mem.

SHA256Hasher

Project location, Sources
Description: wiki

Demo System

Project location, Sources, Structure
Description: A Vivado project connecting the ARM core with SHA256Hasher.
Resource utilization:

Resource Utilization Available Utilization %
LUT 2325 53200 4,37
LUTRAM 33 17400 0,19
FF 1722 106400 1,62
BRAM 8 140 5,71
IO 1 200 0,50
BUFG 3 32 9,38
MMCM 1 4 25,00

Demo Application

Project location, Sources
Description: A Xilinx SDK project, which shows how to use SHA256Hasher on Linux.

TODO

Since there is a problem with validity of the data read via /dev/mem (probably because reading is cached), a device driver for the SHA256Hasher should be written.

Keywords

SHA-256, IP Core, Bitcoin, ZedBoard, Zynq, Xilinx, FPGA, ARM, SoC, Vivado, Xilinx SDK, Linux.

About

SHA-256 IP core for ZedBoard (Zynq SoC)


Languages

Language:Verilog 61.0%Language:SystemVerilog 22.4%Language:Tcl 10.2%Language:C 6.4%