* modified CustomBundle to also apply on Int
* programmatic bundle should take T <: Data instead of Data
* turns out indexedElements doesn't synthesize
* had to change a bunch of files to get clk/pads compiling again with recent firrtl mods
* modified CustomBundle to also apply on Int
* programmatic bundle should take T <: Data instead of Data
* turns out indexedElements doesn't synthesize
* had to change a bunch of files to get clk/pads compiling again with recent firrtl mods
* clk phases should be less than divby amount
* make clkconstraint error more descriptive
* don't make custom*bundle final
* nevermind. bundles need to be final.
* turns out making the bundle non-final was ok...
* removed infertypes from clksrctransform. seems like it doesn't work @ low firrtl?
* [stevo]: combine generates, make it a trait
* [stevo]: add Generator ala rocket-chip, some other cleanup
* [stevo]: remove Generator, since that generates firrtl...
* [stevo]: still debugging
* [stevo]: okay i think it works now
* [stevo]: oops
* Refactor new generate code. Mostly just style stuff.
* modified CustomBundle to also apply on Int
* programmatic bundle should take T <: Data instead of Data
* turns out indexedElements doesn't synthesize
* had to change a bunch of files to get clk/pads compiling again with recent firrtl mods
[stevo]: adds a bunch of pad frame commits, as well as beginning work on clocking annotations and constraints
* start add io pads pass
* save progress adding yaml pad info
* saving some semi-presentable work -- parses yaml for pad templates and associates templates with ports
* added black boxes to the module; still need to hook up
* added supply pad yaml example; added option to not include pad for an IO, blackboxed that cat + bit extraction functions
* rewrite createbbs and some other parts of the transform
* finally got blackboxhelper to work -- seems there was a typo in the firrtl pass (?) have not connected them up properly in the padframe
* finished first version of pad transform; need to add bells and whistles + special case stuff
* made a bunch of changes in firrtl to shorthand things
* done with padframe for signals
* started major refactoring; first of pad yaml stuff
* forgot to update verilogTemplate -> verilog
* rename ParsePadYaml -> ChipPadsYaml; moved some stuff
* separated out stuff that describes pads i.e. direction, type, side
* forgot to update import for yamlhelpers
* trying to make the process of creating annotations more structured
* saving annotation helpers but prob better to switch to yaml
* saving changes -- reworking annotations
* fixing some bugs; properly annotated ports with pads
* annotate supply pads
* lesson (re)learned. cleaned up constants
* finished adding supply pads to pad frame; still need to generate io file
* also committing updated transform; still without io file
* big typo was causing pad verilog files not to be generated
* verilator passes with transform; had to fix verilog bb typo
* added unused pads; added more thorough tests + did visual inspection of output; made some port types more explicit
* renamed files/classes to be clearer
* started creating pad io template
* update spec so that transform order matters
* get rid of logger
* went around in circles with blackboxhelper + way to annotate
* finished adding + testing pad.io creation
* starting clkgen pass -- made model for asynchronously reset clk divider + wrappers for programmatic bundling
* temporarily locating albert's utility functions here
* saving work on clk constraints
* redid input config passing -- pass in tech directory instead; seems like getting clk sink, src, and relationship works
* not done; need to pause to do tapeout-y things. the clk gen pass gets all the clks and their sources, but i need to build a proper graph to handle clks coming out of muxes
* Move passes from pfpmp to barstools.
* add an app that does both the harness and top generation
This reduces the number of firrtl.compile calls
* Add the ability to read annotations file
This helps with chisel annotation integration
* remove outdated files
* pulled resetinverter from dsptools + setup repo
* fix some package names, misc. dsptools dependencies, typo in build.sbt, + circuitstate in resetinverter pass
* add more comprehensive gitignore + license back in
* create directory structure to match package structure
* change package names to barstools.tapeout
* settled on barstools.tapeout.transforms package
* make directory + build structure more amenable for multiple sub projects