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.
- Icarus Verilog: For Verilog simulation
- GTKWave: For waveform analysis
-
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
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 😊