Commit Graph

41 Commits

Author SHA1 Message Date
John Wright
79b8fd324b This compiles and works correctly, but is kind of hacky, and will break as soon as any additional external/blackbox modules are added to the test harness. The test harness should detect external modules and not rename them instead of what is happening here. 2019-02-13 10:15:51 -08:00
John Wright
c8efc5e88b Refactor the harness generation; use upstream arguments and passes where appropriate 2019-02-13 10:15:51 -08:00
Paul Rigge
22e6d9c5d4 Fix repl-seq-mem 2019-02-13 10:15:51 -08:00
Paul Rigge
7bbf7f00f6 Run transforms in slightly different order
Also, don't rename TestHarness.
2019-02-13 10:15:51 -08:00
Paul Rigge
801abd98bb Fix null pointer exception in options parser 2019-02-13 10:15:51 -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
8beb8b3f6f Don't unbox BigInt to Double 2017-10-03 11:56:30 -07:00
Edward Wang
bb2783994a Only use powers of two masks, for now 2017-10-03 11:56:30 -07:00
Edward Wang
cf0d40f658 Fix typos 2017-10-03 11:56:30 -07:00
Edward Wang
80ca2e538f Use require statement 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
aeb303a61b Colin's fixes 2017-10-03 11:56:30 -07:00
Donggyu Kim
2fd928fbe0 fix cost 2017-10-03 11:56:30 -07:00
Donggyu Kim
02fef8e2c3 graceful handling of empty files 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
Donggyu Kim
f3d39ad08f initial port attempt 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
Chick Markley
16846b86fd DiGraph was being being confused with the DigGraph in firrtl. This led to pathological exceptions (#22)
No such method error on accessing a lazy val.
InstanceGraph seemed also to be a duplicate of firrtl code
---
IOPadSpec fails no two tests but these seem to be at least an ordinary error. And should be debugged separately
2017-04-04 10:47:59 -07:00
Angie Wang
5b5c8c82db Revert "[stevo]: add custom analog annotation" (#21)
* Revert "[stevo]: add custom analog annotation (#20)"

This reverts commit 7ad088503f.
2017-04-02 13:12:51 -07:00
Angie
9305dd08eb remove functionality from clkgen pass due to compatibility issue with latest firrtl 2017-04-02 04:34:38 -07:00
Angie
7c0e6c89d2 firrtl still hasn't fixed the problem with wir primops 2017-04-02 04:26:27 -07:00
Angie Wang
7ad088503f [stevo]: add custom analog annotation (#20) 2017-04-02 04:12:31 -07:00
Angie Wang
a13869b6aa Refactor repo for lastest changes to firrtl transform api changes (#19) 2017-04-02 04:10:46 -07:00
Angie Wang
5574354f55 Fft changes (#17)
* 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?
2017-04-02 03:49:49 -07:00
Stevo
f4a8715fa4 Combine generates, make it a trait (#11)
* [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.
2017-03-22 14:37:26 -07:00
Edward Wang
d039935642 Typo 2017-03-15 00:28:30 -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
edwardcwang
164bf2152c RegInit is no longer in util (#14) 2017-03-14 23:24:31 -07:00
Adam Izraelevitz
4745d29912 Fix transforms for firrtl/#459 issue. (#13) 2017-03-14 23:00:49 -07:00
Adam Izraelevitz
e8dc1035bf Fix for firrtl issue 459, reworking annotation API 2017-03-13 11:08:58 -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
Colin Schmidt
43f1a699ad Move passes from pfpmp to barstools. (#5)
* 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
2017-02-21 11:11:33 -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