1
0
Fork 0
Commit Graph

106 Commits

Author SHA1 Message Date
Jack Koenig 64b707cbb6 Bump Chisel and FIRRTL for annotations refactor (#1261)
Also brings in an autoclonetype enhancement and some bug fixes
2018-03-07 10:22:38 -08:00
Henry Cook fe277cf6f0
Merge branch 'master' into auto-plusargs 2018-02-06 18:38:44 -08:00
Andrew Waterman e26363a176
Don't pass deprecated -ffaaf option to firrtl (#1221) 2018-02-01 14:46:38 -08:00
Schuyler Eldridge cfd49f87c1 Use longname for ElaborationArtefact emission
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@gmail.com>
2018-01-15 16:55:13 -05:00
Schuyler Eldridge e52d52ae99 Link PlusArg to emulator command line options
- adds a mutable singleton (PlusArgArtefacts) to store information
  about Rocket PlusArgs
- adds methods to PlusArgArtefacts to emit C snippets that are
  consumed by emulator.cc for correct argument parsing and help text
  generation
- emits snippets in $(CONFIG).plusArgs via BaseCoreplex-set
  ElaborationArtefacts
- modify emulator/Makefrag-verilator to include $(CONFIG).plusArgs
- cleanup help text (docstring) for existing PlusArgs

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@gmail.com>
2018-01-15 14:32:55 -05:00
Megan Wachs e82328336e Add in a SimJTAG to connect to OpenOCD's remote-bitbang interface.
This is simpler than JTAGVPI and is supported better by Verilor.
It is also the same thing Spike uses.
2018-01-05 16:02:52 -08:00
Jack Koenig 3df401eef7 Bump chisel3 and firrtl and bump sbt to version 1.0.4
sbt bump must be accompanied by bump to chisel3 and firrtl using sbt
1.0.4
2017-12-18 12:09:21 -08:00
Wesley W. Terpstra 6f3a4cd733 build: pass annotations to firrtl 2017-10-10 23:42:55 -07:00
Andrew Waterman ea4b1bc349 Use vlsi_mem_gen for verilator flow 2017-08-07 20:36:22 -07:00
Andrew Waterman 21ac28b57a Don't build verilog twice for emulator and emulator-debug
Since we aren't using chisel2, the output is the same either way.
2017-08-04 01:02:33 -07:00
Ben Keller 85ac8d588c Excise the last instance of run-bmarks-test (#836) 2017-06-30 11:50:40 -07:00
Zihao Yu fc85a3ce02 emulator,Makefile-verilator: add --output-split-cfuncs flag
* Originally verilator will generate a large cpp file containing a large
  function, which costs about 13 min to compile. By using --output-split-cfuncs,
  this large function will be splitted into several functions in servral
  files. This will greatly improve the compile time with 'make -j'. By '-j32',
  the compile time can be reduced to about 1 min.
2017-06-26 14:29:29 +08:00
Wesley W. Terpstra 9eae1fa377 verilator: bump to version 3.904 2017-06-01 10:59:39 -07:00
Schuyler Eldridge c61714a465 Pass MODEL variable to emulator.cc
This enables hot-swapping of the top-level test harness by specifying
`MODEL=MyTestHarness` when building the emulator.
2017-03-30 02:08:01 -07:00
Wesley W. Terpstra e51609aec0 build: support waveform debug using opensource tools
VCS is not free. Neither is the vcd format.
Fortunately, verilator and gtkwave ARE free ... and faster too.

This patch adds targets:
	run-regression-tests-fst
	run-asm-tests-fst
... which create opensource-compatible fst waveforms for gtkwave.
2017-02-17 03:38:17 +01:00
Wesley W. Terpstra 93b2fa197e Artefact output (#545)
* build: stop using empty .prm file

* generator: general-purpose mechanism for creating elaboration artefacts
2017-02-02 19:24:55 -08:00
Henry Cook c981f8b4f3 More travis job re-balancing (#481)
* [travis] Depend on pre-built docker images rather than travis cache
2016-12-11 22:02:46 -08:00
Henry Cook 9fb7934a37 WIP PR to figure out why travis is failing (#471)
Make travis use a docker image with pre-built toolchain and verilator
2016-12-04 13:10:13 -08:00
Wesley W. Terpstra 3d1a7bd6d3 travis: build verilator and toolchain as part of install 2016-11-21 21:13:26 -08:00
Andrew Waterman f3c726033a Make all Chisel invocations depend on FIRRTL_JAR 2016-10-28 11:56:05 -07:00
Andrew Waterman 4f6eb38eeb Enable Verilator parallel builds 2016-10-04 22:29:39 -07:00
Howard Mao 10df142ac7 fix emulator path to use PROJECT instead of MODEL 2016-09-26 17:28:21 -07:00
Henry Cook 411ee378de Provide a GeneratorApp object per user package. Extract RocketTestSuite from coreplex into rocketchip and provide GeneratorApp defaults for other target packages. 2016-09-22 15:59:29 -07:00
Henry Cook ddcf1b4099 Use PROJECT rather than MODEL in name of binary and generated src files. 2016-09-19 13:23:17 -07:00
Henry Cook 9e2b0aad65 Revert "allow MODEL to be something other than TestHarness"
This reverts commit bf253aaa97.
2016-09-15 11:53:05 -07:00
Howard Mao bf253aaa97 allow MODEL to be something other than TestHarness 2016-09-14 20:51:56 -07:00
Colin Schmidt cf3c6fa277 add STOP_COND to emulator & match vsim PRINTF_COND 2016-09-09 11:07:17 -07:00
Colin Schmidt ba4b3e14cc remove remaining dramsim2 files 2016-09-04 17:25:24 -07:00
Howard Mao 08089f695d allow configuration to be in separate project from test harness 2016-09-01 10:28:07 -07:00
Henry Cook 93c801f598 Streamline the Generator App and associated utilities. Remove deprecated call to chiselMain and useless Chisel2 args. Update arguments to sbt run. (#227) 2016-08-25 17:26:28 -07:00
Ben Keller 4f388add67 More accurate conditional include of generated .d make fragment (#222) 2016-08-25 14:42:04 -07:00
Andrew Waterman ed827678ac Write test harness in Chisel
This is an unavoidably invasive commit, because it affects the unit tests
(which formerly exited using stop()), the test harness Verilog generator
(since it is no longer necessary), and the DRAM model (since it is no
longer connected).  However, this should substantially reduce the effort
of building test harnesses in the future, since manual or semi-automatic
Verilog writing should no longer be necessary.  Furthermore, there is now
very little duplication of effort between the Verilator and VCS test
harnesses.

This commit removes support for DRAMsim, which is a bit of an unfortunate
consequence.  The main blocker is the lack of Verilog parameterization for
BlackBox.  It would be straightforward to revive DRAMsim once support for
that feature is added to Chisel and FIRRTL.  But that might not even be
necessary, as we move towards synthesizable DRAM models and FAME-1
transformations.
2016-08-15 23:27:27 -07:00
Howard Mao dd1fed41b6 generate BootROM contents from assembly code 2016-08-05 16:39:21 -07:00
Andrew Waterman 9751ea0f35 Fix Verilator VCD (#157) 2016-07-09 02:37:39 -07:00
Andrew Waterman 32ee5432dd Fix testing of DefaultSmallConfig; bump rocket et al 2016-07-07 21:23:49 -07:00
Andrew Waterman f1cbb2ff77 Turn up optimization for Verilator compilation 2016-06-28 14:12:46 -07:00
Andrew Waterman 568bfa6c50 Purge legacy HTIF things
The SCR file is gone, too, because it was tightly coupled.  The
general concept could be revived as a module that somehow connects
to the debug module.
2016-06-23 13:23:57 -07:00
Howard Mao daa0f3038f invoke firrtl jar directly in order to control heap memory usage 2016-06-20 13:02:31 -07:00
Andrew Waterman 4a8e6c773a Fix +verbose flag for verilator 2016-06-17 21:09:08 -07:00
Palmer Dabbelt 25ade44fe3 Don't build the Verilator man pages (#141)
These failed for Andrew earlier.  While it might be paranioa, there's
really no reason to build the man pages so we might as well not bother.
2016-06-16 10:13:21 -07:00
Palmer Dabbelt 1525b4717e Install Verilator when building the emulator
We need a fairly new version of Verilator, so I just added a rule to
download and install it on all systems.
2016-06-14 21:21:43 -07:00
Palmer Dabbelt 571b5b2093 Prevent sbt from running multiple times in emulator
If you have multi-target rules that don't have %s in them, make
interprets that as "run this recipe multiple times, once to produce each
target".  If you have %s in the rules, then make interprets it as "run
this recipe once to produce all targets".  We want the second one.
2016-06-14 11:59:20 -07:00
Yunsup Lee 3ce8dbb6e5 fix make error mixing implicit and normal rules 2016-06-14 11:59:20 -07:00
Donggyu Kim 99b257316e replace emulator with verilator for chisel3 2016-06-08 02:43:54 -07:00
Andrew Waterman e82c080c3c Add blocking D$ 2016-05-25 11:09:50 -07:00
Howard Mao f52fc655a5 remove zscale 2016-05-19 09:43:15 -07:00
Andrew Waterman 46bbbba5e6 New address map 2016-04-30 20:59:36 -07:00
Howard Mao 85cc632d5d fix emulator debug build 2016-02-19 23:13:57 -08:00
Palmer Dabbelt db9de94588 Generate and use SCR address header files
This uses the new SCRFile changes to generate a header file containing a list
of all the SCRs in a core to remove the magic constant "63" (the HTIF clock
divider control register) and replace it with a generated number (which is
still 63).
2016-02-17 15:23:18 -08:00
Palmer Dabbelt 07f0e6be94 Don't re-generate the .d files on "make clean" 2015-11-12 00:41:55 -08:00