dlmiles / tt06-muldiv8-sky130faha

TinyTapeout Multiply/Divide Unit (sky130+fa+ha)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Combinational multiply / divider unit (8+8 input)

This is a clone of tt06-muldiv8 but uses the SKY130 FA (Full Adder) and HA (Half Adder) specific cells. The current flow is not able to manage these kinds of standard cells due to their 2 output nature, so this project intends to allow comparison between, to validate that using them has some benefit.

Maybe there should be a DIVUNIT cell that attempts to combine the restoring MUX into the same area. This is something to evaluate in the future for this topology.

NOTE: at this time PDK 2023.12.24 the sky130 FA with drive level 4 is in the DONT_USE_CELLS sky130_fd_sc_hd__fa_4 list. It is not clear why that is the case at this time.

Original tt06-muldiv8 documentation

Next iteration from original tt04-muldiv4 towards painting multipler GDS directly. This time we use SpinalHDL functional programming to generate netlist for toplogy instead of logicsim-evolution.

Doing this exercise has highlighted well the repeated blocks and the edge integration (the differences in function requirements for the edges of the design, due to the way it integrated with the previous or next component, due to signal pruning, for example use of half-adder instead of full-adder).

More Documentation Project: tt06-muldiv8

Tiny Tapeout Verilog Project Template

What is Tiny Tapeout?

TinyTapeout is an educational project that aims to make it easier and cheaper than ever to get your digital designs manufactured on a real chip.

To learn more and get started, visit https://tinytapeout.com.

Verilog Projects

  1. Add your Verilog files to the src folder.
  2. Edit the info.yaml and update information about your project, paying special attention to the source_files and top_module properties. If you are upgrading an existing Tiny Tapeout project, check out our online info.yaml migration tool.
  3. Edit docs/info.md and add a description of your project.
  4. Optionally, add a testbench to the test folder. See test/README.md for more information.

The GitHub action will automatically build the ASIC files using OpenLane.

Enable GitHub actions to build the results page

Resources

What next?

About

TinyTapeout Multiply/Divide Unit (sky130+fa+ha)

License:Apache License 2.0


Languages

Language:Verilog 80.6%Language:Python 17.2%Language:Tcl 1.1%Language:Makefile 1.1%