8000 GitHub - YiminGao0113/SIMD_Multipliers
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

YiminGao0113/SIMD_Multipliers

Repository files navigation

SIMD Versatile Dot Product Unit

The SIMD Versatile Dot Product Unit is a high-performance computing solution designed for generating dot product outputs in various precisions, leveraging SIMD (Single Instruction, Multiple Data) architecture to enhance computational efficiency and performance.

dp32.v is a 32-bit dot product unit that is able to compute the result of a 32-bit multiplication, 16-bit 1x2x1 dot product, 8-bit 1x4x1 dot product, 4-bit 1x8x1 dot product and a 2-bit 1x16x1 dot product. Likewise dp64.v is the 64-bit version of it. The design features a hierarchical multiplier structure and uses basically the same amount of logic to compute in different precisions.

Getting Started

Prerequisites

  • Icarus Verilog: For Verilog simulation
  • GTKWave: For waveform analysis

Installing Icarus Verilog and GTKWave

  • Icarus Verilog:

    apt install -y autoconf gperf make gcc g++ bison flex
    git clone https://github.com/steveicarus/iverilog.git
    cd iverilog
    # Follow the installation instructions
    sh autoconf.sh
    ./configure
    make
  • GTKWave:

    sudo apt-get update
    sudo apt-get install gtkwave

Run the Testbench and observe the waveform

To run the testbench for the SIMD Versatile Dot Product Unit, you can use the provided Makefile. Run the make command with your design name. For example, to run the testbench for the dp32 design:

make dp32

This README is generated by ChatGPT4.0 😊

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0