Skip to content

ericsmi/instrumented_adder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimising hardware adders

Aim

  • Put one of each type of adder, along with the standard yosys adder
  • Have a way of measuring the performance close to the adder (don't attempt to do it off the chip)
  • Tapeout on MPW6
  • Some hidden requirements
    • adder can't glitch while adding the 2 inputs because this could either violate timing or mess up the ring osc
    • we want to choose which paths through the adder, to be able to compare the simulation against the actual results
    • how good is our cad environment? did the prediction match the measurement

instrumented adder

adder gds

trace

ripple

Trace shows 2 runs, with and without the adder in the ring oscillator path.

Simulation

  • Digital sim, run make test_adder
  • Analog sim, run make analog_sim

Harden with OpenLane (and create spice files)

  • Uncomment the adder you want in src/instrumented_adder.v
  • Run make spice/instrumented_adder.spice to harden with OpenLane and copy spice file

TODO! (prs welcome!)

Log of work in progress

  • Check the instrumentation
    • how to keep the inverter loop - done
    • check timing - looks good
    • results still not quite making sense (see the log)

Zero to ASIC Course

This project was made as part of the Zero to ASIC Course!

License

This project is licensed under Apache 2

About

Instrumenting adders to measure speed

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Verilog 49.7%
  • Python 27.6%
  • Makefile 13.8%
  • Tcl 8.9%