From aeacd72d24dc8716cb1cd169afa3b95da78ff721 Mon Sep 17 00:00:00 2001 From: Vojta Mrazek Date: Thu, 13 Jan 2022 16:10:51 +0100 Subject: [PATCH] Readme, axmults in workflow --- .github/workflows/generate.yml | 6 ++- README.md | 71 +++++++++++++++++++++++++++++---- bam.png | Bin 0 -> 61020 bytes generate_axmuls.py | 38 +++++++++--------- 4 files changed, 86 insertions(+), 29 deletions(-) create mode 100644 bam.png diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml index e4a521f..ec8c007 100644 --- a/.github/workflows/generate.yml +++ b/.github/workflows/generate.yml @@ -28,10 +28,12 @@ jobs: # You can test your matrix by printing the current Python version - name: Display Python version run: python -c "import sys; print(sys.version)" - - name: Run generating + - name: Run generating adds and mults run: python generate_test.py - - name: Run generating + - name: Run generating mac run: python generate_mac.py + - name: Run generating axmults + run: python generate_axmults.py - name: Upload results uses: actions/upload-artifact@v1.0.0 with: diff --git a/README.md b/README.md index 24a9f32..3e8ece1 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,19 @@ # ArithsGen – tool for arithmetic circuits generation +[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) +[![Documentation](https://img.shields.io/badge/api-reference-blue.svg)](https://ehw-fit.github.io/ariths-gen) + + ## Description ArithsGen presents an open source tool that enables generation of various arithmetic circuits along with the possibility to export them to various representations which all serve their specific purpose. C language for easy simulation, Verilog for logic synthesis, BLIF for formal verification possibilities and CGP to enable further global optimization. +In contrast to standard HDL languages Python supports +* Multiple output formats (BLIF, Verilog, C, Integer netlis) +* Advanced langugage construction (better configuration, inheritance, etc.) +* Support of various PDKs (for using library cells as half-adders and full-adders) + +## Prebuild circuits +To enable the fast work with the circuits, we published pre-build arithmetic circuits in various formats in [generated_circuits](generated_circuits) folder and as a [Release](https://github.com/ehw-fit/ariths-gen/releases). + ### Usage ```bash python3 generate_test.py @@ -11,18 +23,19 @@ ls ### Example of generation ```py - #Example generation of Verilog representation of 8-bit unsigned dadda multiplier that uses cla to provide the final product - a = Bus(N=8, prefix="a_bus") - b = Bus(N=8, prefix="b_bus") +#Example generation of Verilog representation of 8-bit unsigned dadda multiplier that uses cla to provide the final product +a = Bus(N=8, prefix="a_bus") +b = Bus(N=8, prefix="b_bus") - u_dadda = UnsignedDaddaMultiplier(a=a, b=b, prefix="h_u_dadda_cla8", unsigned_adder_class_name=UnsignedCarryLookaheadAdder) - u_dadda.get_v_code_hier(open("h_u_dadda_cla8.v", "w")) +u_dadda = UnsignedDaddaMultiplier(a=a, b=b, prefix="h_u_dadda_cla8", unsigned_adder_class_name=UnsignedCarryLookaheadAdder) +u_dadda.get_v_code_hier(open("h_u_dadda_cla8.v", "w")) ``` ### Simple arithmetic circuits -See ()[rca.py] +See [Ripple Carry Adder](ariths_gen/multi_bit_circuits/adders/ripple_carry_adder.py) file for a basic example. ### Complex circuits +It is possible to combine some basic circuit to generate more complex circuits (such as MAC). The design can be parametrised (i.e., you can pass `UnsignedArraymultiplier` as an input parameter). ```py from ariths_gen.core.arithmetic_circuits.arithmetic_circuit import ArithmeticCircuit @@ -52,7 +65,8 @@ if __name__ == "__main__": ``` ## Documentation -https://ehw-fit.github.io/ariths-gen/ +The automatically generated documentation is available at +https://ehw-fit.github.io/ariths-gen/ . ## Supporting various PDK kits @@ -65,6 +79,49 @@ set_pdk45_library() You can add a support of arbitrary PDK (see an [example](ariths_gen/pdk.py) ). + +## Approximate circuits +Besides the accurate arithmetic circuits you can generate some approximate circuits. Currently we support _Broken Array Multiplier_ and _Truncated Multiplier_. For more details please follow files in folder [approximate_multipliers](ariths_gen/multi_bit_circuits/approximate_multipliers/). You can simply run +```bash +python3 generate_axmuls.py +``` +to get the approximate circuits. + +The module supports also evaluation of the proposed circuits. You can call the instation as a function (even with numpy-array input) to obtain the results for one multiplication + +```py +from ariths_gen.wire_components.buses import Bus +from ariths_gen.multi_bit_circuits.approximate_multipliers import UnsignedBrokenArrayMultiplier +a = Bus(N=8, prefix="a_bus") +b = Bus(N=8, prefix="b_bus") + +# Create BAM +bam = UnsignedBrokenArrayMultiplier(a, b, horizontal_cut=4, vertical_cut=4) + +print("43 * 84 = ", bam(43, 84), " expected: ", 43 * 84) +# 43 * 84 = 3440 expected: 3612 +``` +even for all possible combinations + +```py +# Evaluate all using b'casting +import numpy as np +import matplotlib.pyplot as plt +va = np.arange(256).reshape(1, -1) +vb = va.reshape(-1, 1) +r = bam(va, vb) + +cax = plt.imshow(np.abs(r - (va * vb))) +plt.colorbar(cax) +plt.title("Absolute difference") +plt.xlabel("a") +plt.ylabel("b") + +print("Mean average error", np.abs(r - (va * vb)).mean()) +# Mean average error 956.25 +``` +![bam (v=4,h=4)](bam.png) + ## Formal verification The `yosys_equiv_check.sh` script enables to formally check the equivalence of generated Verilog and BLIF representations of the same circuit. It uses the Yosys Open SYnthesis Suite tool by Clifford Wolf. For further information, please visit: http://www.clifford.at/yosys/documentation.html. diff --git a/bam.png b/bam.png new file mode 100644 index 0000000000000000000000000000000000000000..1022dbb85b2379a79bb4e51bd45e18655394bed1 GIT binary patch literal 61020 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

%_1*%w&>~eudvT>wWVWsXE!JF0H+E%f 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 D=xLDX+_v1lmsoOR8$&ZlbgvMkZ3)-1%WVR~H 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 Yvx