Skip to content

Goshik92/SHA256Hasher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.