Commit Graph

24 Commits

Author SHA1 Message Date
abejgonzalez
26dce446ea Generate LowFirrtl for Retime tests 2020-12-11 14:51:43 -08:00
abejgonzalez
62f311654a Fix ResetInv test 2020-12-11 14:11:08 -08:00
chick
a1dfd4f774 Remove all of the PadStuff 2020-09-30 15:04:56 -07:00
chick
1a82c082b3 - Make transfrorms run in as close to same order as before
- Fix parsing of PadPlacement JSON
2020-09-29 10:11:46 -07:00
chick
f51156bf1f - Fixed ResetNSpec 2020-09-28 15:34:36 -07:00
chick
d06d8cc16c - FoundryPadsYaml would not parse yaml
- Made separate case class for data
  - Now parses
  - Fails later with UnknownType in firrt compiler
- Fixed similar parsing problem with PadPlacement
2020-09-14 09:32:18 -07:00
chick
67de39e957 Refactor tapeout for Chisel 3.4, Firrtl 1.4
- Remove clk package based on discussion with Colin
- Annotations need to be refactored to using latest API
  - Generally that involves making annos generated by a anonymous ChiselAnnotation
  - The chisel annotations will use RunFirrtlTransform to queue up its associated transform
  - Chisel annotation provieds toFirrtl to generate Firrtl form of annotation
- Usages of unapply on firrtl annotations cannot use generic unapply(target, transform, data) which has been eliminated
- Have transforms use with DependencyAPIMigration to avoid deprecated `form`s
- Added some 'see License comments
- TechnologyLocation section of AddIOPadsSpec does not currently run because there is no content for it.
  - Added some tests for annotation serialization here
2020-09-11 17:06:19 -07:00
chick
e4cd2b01fe This is mess clean it up 2020-09-10 14:35:10 -07:00
Colin Schmidt
db0efd38fc Fix CI tests 2020-02-19 17:23:10 -08:00
Paul Rigge
f310d45381 Refactor barstools for new versions of things.
- No handlebars (not being published for Scala 2.12)
- Update for new annotations APIs

Bump sbt-dependency-graph to 0.9.2 for this scala version
2019-02-13 10:15:51 -08:00
Donggyu Kim
9de1f5f2c0 restructure macros for better submoduling 2017-10-03 11:56:30 -07:00
Edward Wang
607e810b1d Autogenerate almost all the depth tests 2017-10-03 11:56:30 -07:00
Edward Wang
3cb424cf80 Add non power of two tests 2017-10-03 11:56:30 -07:00
Edward Wang
42febeb32a Rename files 2017-10-03 11:56:30 -07:00
Edward Wang
c79ea47909 Port to MDF library and start re-developing tests 2017-10-03 11:56:30 -07:00
Donggyu Kim
57b0fec78e anonymize technology 2017-10-03 11:56:30 -07:00
Donggyu Kim
9e7c8dce3e add SynFlops 2017-10-03 11:56:30 -07:00
Donggyu Kim
4f5a9ae02e connect extra ports 2017-10-03 11:56:30 -07:00
Donggyu Kim
98155dd831 tests for macro compiler 2017-10-03 11:56:30 -07:00
Adam Izraelevitz
c5d01ba19c Added retime annotation 2017-09-06 14:44:09 -07:00
Adam Izraelevitz
96939c9ab6 Moved clkgen -> .clkgen and pads -> .pads
They no longer compile with the latest Chisel/FIRRTL, and
may not be supported. However, future work will need them, so
this keeps the files around but are ignored by sbt.
2017-09-06 14:44:09 -07:00
Angie Wang
f7056f3529 Fft changes (#15)
* 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
2017-03-14 23:59:57 -07:00
Angie Wang
f1c437f830 Add Pads + other utilities (#7)
[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
2017-03-05 18:50:56 -08:00
Angie Wang
d86dea58cf Tapeout (#4)
* 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
2017-02-17 11:58:05 -08:00