GitPedia

INT FP MAC

INT8 & FP16 multiplier accumulator (MAC) design with UVM verification completed.

From erihsu·Updated June 18, 2026·View on GitHub·

The design is a multiplier accumulator (MAC) support both INT8 and FP16 data format. The whole design is ASIC-specific and fully sythesizable independent of any IPs. The project is written primarily in Verilog, distributed under the MIT License license, first published in 2020. Key topics include: accumulator, systemverilog, uvm, verilog.

INT_FP_MAC

About Design

The design is a multiplier accumulator (MAC) support both INT8 and FP16 data format. The whole design is ASIC-specific and fully sythesizable independent of any IPs.

About Principle

This design is provide for someone learning digital circuits Design, Verification and Synthesis.

Design

The basic MAC element is multiplier and adder. We use Vedic Multiplier and Carry Look-ahead Adder (CLA) to perform multiply and accumulator.

Synthesis

The Synthesis process is completed by Design compile with TCL script, Maximum operating frequency is about 200M Under the tsmc090 process.

Verification

The verification process is carried out with directed testing and UVM (a state-of-art constraint-random verification methodology). Test plan is made as follows.

PurposeMethodologyLanguageStatus
Adder FunctionDirectedVerilogPassed
Multiplier FunctionDirectedVerilogPassed
Adder in FP16 modeDirectedVerilogPassed
Multiplier in FP16 modeDirectedVerilogPassed
MAC FunctionUVM (Constraint Random)SystemVerilogPassed

Coverage

Coverage report

Contributors

Showing top 3 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from erihsu/INT_FP_MAC via the GitHub API.Last fetched: 6/22/2026