Commit Graph

44 Commits

Author SHA1 Message Date
Colin Schmidt
6cdf978a6d Fix forms of passes to happen before replseqmem
This ensures the conf file doesn't have any testharness
memories, which are too big and break downstream tools
2019-03-18 07:25:04 -07:00
Colin Schmidt
a10a6cca35 Add SimDTM to list of extmodules 2019-03-01 18:52:41 -08:00
John Wright
1f58ea1e14 Style/Comments from review of #35 2019-02-13 10:15:51 -08:00
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