Skip to content

MrAbhi19/OpenSiliconHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

295 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenSiliconHub

Verilog Lint (Strict Mode) Verilog Simulation GitHub Release DOI

Reusable Verilog cores focused on cryptography, DSP, and neural acceleration

A growing collection of reusable, parameterized hardware cores for learning, prototyping, and integration into advanced digital design projects. Our primary focus is on cryptographic cores, DSP cores, neural accelerators, and other high‑performance building blocks for modern systems.

Whether you’re a beginner exploring Verilog or an experienced designer, your contributions are welcome!


Getting Started

This repository contains multiple independent, reusable Verilog hardware cores. Each core can be explored, simulated, and integrated individually using standard HDL tools.

This section provides general guidance to help new users get started quickly. Core-specific instructions may vary and are typically documented within the respective core directories.

Prerequisites

  • A Verilog simulator (e.g., Icarus Verilog, Verilator, or a compatible simulator)
  • GTKWave or a compatible waveform viewer (optional, for signal inspection)

General Simulation Flow

  1. Navigate to the directory of the desired hardware core.
  2. Compile the Verilog source files along with the corresponding testbench.
  3. Run the simulation using your chosen simulator.
  4. Inspect simulation logs or waveforms to verify correct functionality.

Core Examples

We focus on building powerful hardware cores that can serve as reusable building blocks.
Here’s a snapshot of what we have right now and what we might consider building later:

Cryptographic Cores

  • ChaCha20 stream cipher ➡️
  • AES block cipher ➡️
  • PRNGs — Multiple modules including PCG64-DXSM, SplitMix64, philox-4*32-10, and 5 other PRNG variants ➡️
  • SHA‑1 / SHA‑256 hash cores
  • RSA / ECC accelerators
  • Grain‑128 / Grain‑128a

DSP Cores

  • FIR, IIR filter modules
  • FFT (Fast Fourier Transform) prototype
  • Convolution engines for signal/image processing

Neural Acceleration

  • Basic matrix multiplication core
  • Convolutional layer accelerators
  • Activation function modules (ReLU, Sigmoid, Tanh)
  • RNN/LSTM building blocks
  • Quantized neural network primitives

Contribution Guidelines

Read the contribution guide here:
👉 Contribution Guidelines

If you run into any issues or want help contributing, feel free to open a Discussion:
👉 Discussions


Tools Used

Software (Commonly Used)

Hardware Targets for Benchmarks

  • Lattice iCE40 UP5K
  • Xilinx Artix-7 XC7A35T

Citation

If you use this work in your research, please cite it using the Zenodo DOI:

DOI

BibTeX

@misc{OpenSiliconHub_ChaCha20_2025,
  author       = {Abhilash M},
  title        = {OpenSiliconHub: ChaCha20 Hardware Core},
  year         = {2025},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.17895634},
  url          = {https://doi.org/10.5281/zenodo.17895634}
}

Contact / Discussions

For module requests, ideas, improvements, or collaboration, use the GitHub Discussions section of the repository.


License

This project is licensed under the MIT License — see LICENSE for details.


About

Implementation of hardware cores—including encryption, PRNGs, DSP modules, and accelerators—developed in pure Verilog for reference. Each design is validated against official specifications and supported with comprehensive testbenches.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors