From bebd04c4c68c320b2b72325e348c726dc33beae6 Mon Sep 17 00:00:00 2001
From: Adam Izraelevitz
Date: Mon, 15 Aug 2016 10:32:41 -0700
Subject: Remove stanza (#231)
* Removed stanza implementation/tests.
In the future we can move the stanza tests over, but for now they should
be deleted.
* Added back integration .fir files
* Added Makefile to give Travis hooks
* Added firrtl script (was ignored before)
---
Makefile | 110 +-
README.md | 78 +-
src/lib/stanza-linux.zip | Bin 3853588 -> 0 bytes
src/lib/stanza-mac.zip | Bin 3684669 -> 0 bytes
src/main/stanza/bigint2.stanza | 228 --
src/main/stanza/chirrtl.stanza | 463 ----
src/main/stanza/compilers.stanza | 235 --
src/main/stanza/custom-compiler.stanza | 71 -
src/main/stanza/custom-passes.stanza | 248 ---
src/main/stanza/errors.stanza | 1032 ---------
src/main/stanza/firrtl-ir.stanza | 238 --
src/main/stanza/firrtl-lexer.stanza | 596 -----
src/main/stanza/firrtl-main.stanza | 57 -
src/main/stanza/firrtl-test-main.stanza | 177 --
src/main/stanza/firrtl.stanza | 45 -
src/main/stanza/flo.stanza | 228 --
src/main/stanza/ir-parser.stanza | 409 ----
src/main/stanza/ir-utils.stanza | 981 ---------
src/main/stanza/passes.stanza | 2930 -------------------------
src/main/stanza/primop.stanza | 280 ---
src/main/stanza/symbolic-value.stanza | 95 -
src/main/stanza/widthsolver.stanza | 322 ---
test/chirrtl/infer-mport-dir.fir | 22 -
test/chirrtl/mask-bug.fir | 20 -
test/chirrtl/wacc-wdc.fir | 54 -
test/custom/when-coverage/gcd.fir | 52 -
test/errors/gender/BulkWrong.fir | 26 -
test/errors/gender/InstancePorts.fir | 17 -
test/errors/gender/ReadOutput.fir | 12 -
test/errors/gender/bad_bulk_connect.fir | 328 ---
test/errors/high-form/Flip-Mem.fir | 12 -
test/errors/high-form/Flip-Poison.fir | 8 -
test/errors/high-form/InstanceNotModule.fir | 8 -
test/errors/high-form/InvalidLOC.fir | 12 -
test/errors/high-form/InvalidSubexp.fir | 9 -
test/errors/high-form/NegUInt.fir | 7 -
test/errors/high-form/NegVecSize.fir | 7 -
test/errors/high-form/NegWidth.fir | 7 -
test/errors/high-form/NumArgs.fir | 9 -
test/errors/high-form/Prefix.fir | 9 -
test/errors/high-form/Printf.fir | 16 -
test/errors/high-form/RemoveChar.fir | 12 -
test/errors/high-form/RemoveScope.fir | 18 -
test/errors/high-form/SpecialChars.fir | 35 -
test/errors/high-form/Top.fir | 9 -
test/errors/high-form/Unique.fir | 16 -
test/errors/init/Output.fir | 10 -
test/errors/parser/InstanceNotRef.fir | 8 -
test/errors/parser/Nested-Module.fir | 6 -
test/errors/parser/Statements-in-Circuit.fir | 5 -
test/errors/type/AccessIndexUInt.fir | 8 -
test/errors/type/BulkConnect.fir | 32 -
test/errors/type/MuxWithFlips.fir | 12 -
test/errors/type/NodeWithFlips.fir | 8 -
test/errors/type/Primop.fir | 13 -
test/errors/width/Conservative.fir | 6 -
test/errors/width/NegWidth.fir | 9 -
test/errors/width/SmallWidth.fir | 12 -
test/errors/width/UninferredWidth.fir | 12 -
test/features/BigInt.fir | 10 -
test/features/BulkConnect.fir | 39 -
test/features/DeadCodeElimination.fir | 10 -
test/features/EmptyStmt.fir | 11 -
test/features/ExModule.fir | 14 -
test/features/InitAccessor.fir | 13 -
test/features/InitializeVec.fir | 21 -
test/features/IsInvalid.fir | 74 -
test/features/Link.fir | 14 -
test/features/Long.fir | 6 -
test/features/MemSize1.fir | 11 -
test/features/MuxBundle.fir | 16 -
test/features/MuxNodeExamples.fir | 28 -
test/features/MuxType.fir | 12 -
test/features/NestedAccess.fir | 31 -
test/features/NestedSubAccessTester.fir | 27 -
test/features/NodeBundle.fir | 12 -
test/features/OptionalRegisterReset.fir | 17 -
test/features/Poison.fir | 39 -
test/features/Printf.fir | 21 -
test/features/Queue.fir | 13 -
test/features/SeqMem.fir | 46 -
test/features/Stop.fir | 20 -
test/features/TwoClocks.fir | 24 -
test/features/ValidIf.fir | 21 -
test/features/VerilogReg.fir | 18 -
test/features/VerilogRename.fir | 18 -
test/lit.cfg | 4 -
test/parser/bundle.fir | 44 -
test/parser/dshl.fir | 14 -
test/parser/gcd.fir | 54 -
test/parser/ints.fir | 20 -
test/parser/invalids.fir | 13 -
test/parser/mux.fir | 14 -
test/parser/node.fir | 16 -
test/passes/const-prop/bits.fir | 11 -
test/passes/const-prop/rsh.fir | 14 -
test/passes/expand-accessors/accessor-mem.fir | 36 -
test/passes/expand-accessors/accessor-vec.fir | 53 -
test/passes/expand-accessors/simple.fir | 16 -
test/passes/expand-accessors/simple2.fir | 18 -
test/passes/expand-whens/bundle-init.fir | 27 -
test/passes/expand-whens/nested-whens.fir | 33 -
test/passes/expand-whens/partial-init.fir | 34 -
test/passes/expand-whens/reg-and-when.fir | 160 --
test/passes/expand-whens/reg-dwc.fir | 25 -
test/passes/expand-whens/reg-wdc.fir | 26 -
test/passes/infer-types/bundle.fir | 32 -
test/passes/infer-types/gcd.fir | 57 -
test/passes/infer-types/primops.fir | 152 --
test/passes/infer-widths/dsh.fir | 28 -
test/passes/infer-widths/gcd.fir | 49 -
test/passes/infer-widths/shr.fir | 129 --
test/passes/infer-widths/simple.fir | 28 -
test/passes/inline/gcd.fir | 50 -
test/passes/jacktest/ALUTop.fir | 117 -
test/passes/jacktest/ComplexAssign.fir | 15 -
test/passes/jacktest/Counter.fir | 18 -
test/passes/jacktest/EnableShiftRegister.fir | 24 -
test/passes/jacktest/LFSR16.fir | 23 -
test/passes/jacktest/MemorySearch.fir | 35 -
test/passes/jacktest/ModuleVec.fir | 28 -
test/passes/jacktest/Mul.fir | 29 -
test/passes/jacktest/RegisterVecShift.fir | 31 -
test/passes/jacktest/Rom.fir | 26 -
test/passes/jacktest/RouterUnitTest.fir | 1076 ---------
test/passes/jacktest/Stack.fir | 37 -
test/passes/jacktest/Tbl.fir | 21 -
test/passes/jacktest/VendingMachine.fir | 32 -
test/passes/jacktest/gcd.fir | 29 -
test/passes/jacktest/risc.fir | 54 -
test/passes/lower-to-ground/bundle-vecs.fir | 38 -
test/passes/lower-to-ground/bundle.fir | 60 -
test/passes/lower-to-ground/instance.fir | 41 -
test/passes/lower-to-ground/nested-vec.fir | 68 -
test/passes/lower-to-ground/register.fir | 24 -
test/passes/lower-to-ground/test.fir | 16 -
test/passes/pull-muxes/Muxes.fir | 17 -
test/passes/remove-accesses/bundle-vecs.fir | 44 -
test/passes/remove-accesses/init-vecs.fir | 15 -
test/passes/remove-accesses/simple.fir | 14 -
test/passes/remove-accesses/simple10.fir | 16 -
test/passes/remove-accesses/simple11.fir | 151 --
test/passes/remove-accesses/simple2.fir | 16 -
test/passes/remove-accesses/simple3.fir | 24 -
test/passes/remove-accesses/simple4.fir | 22 -
test/passes/remove-accesses/simple5.fir | 21 -
test/passes/remove-accesses/simple6.fir | 21 -
test/passes/remove-accesses/simple7.fir | 11 -
test/passes/remove-accesses/simple8.fir | 241 --
test/passes/remove-accesses/simple9.fir | 17 -
test/passes/resolve-genders/bigenders.fir | 13 -
test/passes/resolve-genders/bulk.fir | 14 -
test/passes/resolve-genders/gcd.fir | 57 -
test/passes/resolve-genders/ports.fir | 21 -
test/passes/resolve-genders/subbundle.fir | 14 -
test/passes/resolve-kinds/gcd.fir | 55 -
test/passes/split-exp/gcd.fir | 49 -
test/passes/split-exp/primop.fir | 21 -
test/passes/split-exp/print-args.fir | 14 -
test/passes/split-exp/split-and.fir | 8 -
test/passes/split-exp/split-in-when.fir | 25 -
test/passes/to-flo/gcd.fir | 50 -
test/passes/to-verilog/escape-quote.fir | 18 -
test/passes/to-verilog/gcd.fir | 51 -
test/passes/to-verilog/mem.fir | 12 -
test/passes/to-verilog/print-args.fir | 25 -
test/passes/to-verilog/rd-mem.fir | 51 -
test/passes/to-verilog/rdwr-mem.fir | 61 -
test/passes/to-verilog/shr.fir | 35 -
test/passes/to-verilog/signed-and.fir | 17 -
test/passes/to-verilog/wr-mem.fir | 45 -
test/performance/Vector1000.fir | 7 -
test/performance/Vector2000.fir | 7 -
test/performance/Vector4000.fir | 7 -
test/performance/Vector8000.fir | 7 -
utils/bin/FileCheck_linux | Bin 388783 -> 0 bytes
utils/bin/FileCheck_mac | Bin 1017048 -> 0 bytes
utils/bin/firrtl | 7 +
utils/bin/firrtl-scala | 7 -
utils/stanza-wrapper | 3 -
180 files changed, 44 insertions(+), 14561 deletions(-)
delete mode 100644 src/lib/stanza-linux.zip
delete mode 100644 src/lib/stanza-mac.zip
delete mode 100644 src/main/stanza/bigint2.stanza
delete mode 100644 src/main/stanza/chirrtl.stanza
delete mode 100644 src/main/stanza/compilers.stanza
delete mode 100644 src/main/stanza/custom-compiler.stanza
delete mode 100644 src/main/stanza/custom-passes.stanza
delete mode 100644 src/main/stanza/errors.stanza
delete mode 100644 src/main/stanza/firrtl-ir.stanza
delete mode 100644 src/main/stanza/firrtl-lexer.stanza
delete mode 100644 src/main/stanza/firrtl-main.stanza
delete mode 100644 src/main/stanza/firrtl-test-main.stanza
delete mode 100644 src/main/stanza/firrtl.stanza
delete mode 100644 src/main/stanza/flo.stanza
delete mode 100644 src/main/stanza/ir-parser.stanza
delete mode 100644 src/main/stanza/ir-utils.stanza
delete mode 100644 src/main/stanza/passes.stanza
delete mode 100644 src/main/stanza/primop.stanza
delete mode 100644 src/main/stanza/symbolic-value.stanza
delete mode 100644 src/main/stanza/widthsolver.stanza
delete mode 100644 test/chirrtl/infer-mport-dir.fir
delete mode 100644 test/chirrtl/mask-bug.fir
delete mode 100644 test/chirrtl/wacc-wdc.fir
delete mode 100644 test/custom/when-coverage/gcd.fir
delete mode 100644 test/errors/gender/BulkWrong.fir
delete mode 100644 test/errors/gender/InstancePorts.fir
delete mode 100644 test/errors/gender/ReadOutput.fir
delete mode 100644 test/errors/gender/bad_bulk_connect.fir
delete mode 100644 test/errors/high-form/Flip-Mem.fir
delete mode 100644 test/errors/high-form/Flip-Poison.fir
delete mode 100644 test/errors/high-form/InstanceNotModule.fir
delete mode 100644 test/errors/high-form/InvalidLOC.fir
delete mode 100644 test/errors/high-form/InvalidSubexp.fir
delete mode 100644 test/errors/high-form/NegUInt.fir
delete mode 100644 test/errors/high-form/NegVecSize.fir
delete mode 100644 test/errors/high-form/NegWidth.fir
delete mode 100644 test/errors/high-form/NumArgs.fir
delete mode 100644 test/errors/high-form/Prefix.fir
delete mode 100644 test/errors/high-form/Printf.fir
delete mode 100644 test/errors/high-form/RemoveChar.fir
delete mode 100644 test/errors/high-form/RemoveScope.fir
delete mode 100644 test/errors/high-form/SpecialChars.fir
delete mode 100644 test/errors/high-form/Top.fir
delete mode 100644 test/errors/high-form/Unique.fir
delete mode 100644 test/errors/init/Output.fir
delete mode 100644 test/errors/parser/InstanceNotRef.fir
delete mode 100644 test/errors/parser/Nested-Module.fir
delete mode 100644 test/errors/parser/Statements-in-Circuit.fir
delete mode 100644 test/errors/type/AccessIndexUInt.fir
delete mode 100644 test/errors/type/BulkConnect.fir
delete mode 100644 test/errors/type/MuxWithFlips.fir
delete mode 100644 test/errors/type/NodeWithFlips.fir
delete mode 100644 test/errors/type/Primop.fir
delete mode 100644 test/errors/width/Conservative.fir
delete mode 100644 test/errors/width/NegWidth.fir
delete mode 100644 test/errors/width/SmallWidth.fir
delete mode 100644 test/errors/width/UninferredWidth.fir
delete mode 100644 test/features/BigInt.fir
delete mode 100644 test/features/BulkConnect.fir
delete mode 100644 test/features/DeadCodeElimination.fir
delete mode 100644 test/features/EmptyStmt.fir
delete mode 100644 test/features/ExModule.fir
delete mode 100644 test/features/InitAccessor.fir
delete mode 100644 test/features/InitializeVec.fir
delete mode 100644 test/features/IsInvalid.fir
delete mode 100644 test/features/Link.fir
delete mode 100644 test/features/Long.fir
delete mode 100644 test/features/MemSize1.fir
delete mode 100644 test/features/MuxBundle.fir
delete mode 100644 test/features/MuxNodeExamples.fir
delete mode 100644 test/features/MuxType.fir
delete mode 100644 test/features/NestedAccess.fir
delete mode 100644 test/features/NestedSubAccessTester.fir
delete mode 100644 test/features/NodeBundle.fir
delete mode 100644 test/features/OptionalRegisterReset.fir
delete mode 100644 test/features/Poison.fir
delete mode 100644 test/features/Printf.fir
delete mode 100644 test/features/Queue.fir
delete mode 100644 test/features/SeqMem.fir
delete mode 100644 test/features/Stop.fir
delete mode 100644 test/features/TwoClocks.fir
delete mode 100644 test/features/ValidIf.fir
delete mode 100644 test/features/VerilogReg.fir
delete mode 100644 test/features/VerilogRename.fir
delete mode 100644 test/lit.cfg
delete mode 100644 test/parser/bundle.fir
delete mode 100644 test/parser/dshl.fir
delete mode 100644 test/parser/gcd.fir
delete mode 100644 test/parser/ints.fir
delete mode 100644 test/parser/invalids.fir
delete mode 100644 test/parser/mux.fir
delete mode 100644 test/parser/node.fir
delete mode 100644 test/passes/const-prop/bits.fir
delete mode 100644 test/passes/const-prop/rsh.fir
delete mode 100644 test/passes/expand-accessors/accessor-mem.fir
delete mode 100644 test/passes/expand-accessors/accessor-vec.fir
delete mode 100644 test/passes/expand-accessors/simple.fir
delete mode 100644 test/passes/expand-accessors/simple2.fir
delete mode 100644 test/passes/expand-whens/bundle-init.fir
delete mode 100644 test/passes/expand-whens/nested-whens.fir
delete mode 100644 test/passes/expand-whens/partial-init.fir
delete mode 100644 test/passes/expand-whens/reg-and-when.fir
delete mode 100644 test/passes/expand-whens/reg-dwc.fir
delete mode 100644 test/passes/expand-whens/reg-wdc.fir
delete mode 100644 test/passes/infer-types/bundle.fir
delete mode 100644 test/passes/infer-types/gcd.fir
delete mode 100644 test/passes/infer-types/primops.fir
delete mode 100644 test/passes/infer-widths/dsh.fir
delete mode 100644 test/passes/infer-widths/gcd.fir
delete mode 100644 test/passes/infer-widths/shr.fir
delete mode 100644 test/passes/infer-widths/simple.fir
delete mode 100644 test/passes/inline/gcd.fir
delete mode 100644 test/passes/jacktest/ALUTop.fir
delete mode 100644 test/passes/jacktest/ComplexAssign.fir
delete mode 100644 test/passes/jacktest/Counter.fir
delete mode 100644 test/passes/jacktest/EnableShiftRegister.fir
delete mode 100644 test/passes/jacktest/LFSR16.fir
delete mode 100644 test/passes/jacktest/MemorySearch.fir
delete mode 100644 test/passes/jacktest/ModuleVec.fir
delete mode 100644 test/passes/jacktest/Mul.fir
delete mode 100644 test/passes/jacktest/RegisterVecShift.fir
delete mode 100644 test/passes/jacktest/Rom.fir
delete mode 100644 test/passes/jacktest/RouterUnitTest.fir
delete mode 100644 test/passes/jacktest/Stack.fir
delete mode 100644 test/passes/jacktest/Tbl.fir
delete mode 100644 test/passes/jacktest/VendingMachine.fir
delete mode 100644 test/passes/jacktest/gcd.fir
delete mode 100644 test/passes/jacktest/risc.fir
delete mode 100644 test/passes/lower-to-ground/bundle-vecs.fir
delete mode 100644 test/passes/lower-to-ground/bundle.fir
delete mode 100644 test/passes/lower-to-ground/instance.fir
delete mode 100644 test/passes/lower-to-ground/nested-vec.fir
delete mode 100644 test/passes/lower-to-ground/register.fir
delete mode 100644 test/passes/lower-to-ground/test.fir
delete mode 100644 test/passes/pull-muxes/Muxes.fir
delete mode 100644 test/passes/remove-accesses/bundle-vecs.fir
delete mode 100644 test/passes/remove-accesses/init-vecs.fir
delete mode 100644 test/passes/remove-accesses/simple.fir
delete mode 100644 test/passes/remove-accesses/simple10.fir
delete mode 100644 test/passes/remove-accesses/simple11.fir
delete mode 100644 test/passes/remove-accesses/simple2.fir
delete mode 100644 test/passes/remove-accesses/simple3.fir
delete mode 100644 test/passes/remove-accesses/simple4.fir
delete mode 100644 test/passes/remove-accesses/simple5.fir
delete mode 100644 test/passes/remove-accesses/simple6.fir
delete mode 100644 test/passes/remove-accesses/simple7.fir
delete mode 100644 test/passes/remove-accesses/simple8.fir
delete mode 100644 test/passes/remove-accesses/simple9.fir
delete mode 100644 test/passes/resolve-genders/bigenders.fir
delete mode 100644 test/passes/resolve-genders/bulk.fir
delete mode 100644 test/passes/resolve-genders/gcd.fir
delete mode 100644 test/passes/resolve-genders/ports.fir
delete mode 100644 test/passes/resolve-genders/subbundle.fir
delete mode 100644 test/passes/resolve-kinds/gcd.fir
delete mode 100644 test/passes/split-exp/gcd.fir
delete mode 100644 test/passes/split-exp/primop.fir
delete mode 100644 test/passes/split-exp/print-args.fir
delete mode 100644 test/passes/split-exp/split-and.fir
delete mode 100644 test/passes/split-exp/split-in-when.fir
delete mode 100644 test/passes/to-flo/gcd.fir
delete mode 100644 test/passes/to-verilog/escape-quote.fir
delete mode 100644 test/passes/to-verilog/gcd.fir
delete mode 100644 test/passes/to-verilog/mem.fir
delete mode 100644 test/passes/to-verilog/print-args.fir
delete mode 100644 test/passes/to-verilog/rd-mem.fir
delete mode 100644 test/passes/to-verilog/rdwr-mem.fir
delete mode 100644 test/passes/to-verilog/shr.fir
delete mode 100644 test/passes/to-verilog/signed-and.fir
delete mode 100644 test/passes/to-verilog/wr-mem.fir
delete mode 100644 test/performance/Vector1000.fir
delete mode 100644 test/performance/Vector2000.fir
delete mode 100644 test/performance/Vector4000.fir
delete mode 100644 test/performance/Vector8000.fir
delete mode 100755 utils/bin/FileCheck_linux
delete mode 100755 utils/bin/FileCheck_mac
create mode 100755 utils/bin/firrtl
delete mode 100755 utils/bin/firrtl-scala
delete mode 100755 utils/stanza-wrapper
diff --git a/Makefile b/Makefile
index 37349a1d..86e260d5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,113 +1,23 @@
root_dir ?= $(PWD)
-test_dir ?= $(root_dir)/test
regress_dir ?= $(root_dir)/regress
-firrtl_dir ?= $(root_dir)/src/main/stanza
install_dir ?= $(root_dir)/utils/bin
SBT ?= sbt
-stanza ?= $(install_dir)/stanza
-stanza_bin ?= $(install_dir)/firrtl-stanza
scala_jar ?= $(install_dir)/firrtl.jar
scala_src := $(shell find src -type f \( -name "*.scala" -o -path "*/resources/*" \))
-stanza_src=$(shell ls src/main/stanza/*.stanza)
-
-all-noise:
- ${MAKE} all || ${MAKE} fail
-
-all: done
-
-# Installs Stanza into $(insall_dir)
-stanza_zip_name = $(subst Darwin,mac,$(subst Linux,linux,$(shell uname)))
-stanza_target_name = $(subst Darwin,os-x,$(subst Linux,linux,$(shell uname)))
-
-$(root_dir)/src/lib/stanza/stamp: src/lib/stanza-$(stanza_zip_name).zip
- rm -rf src/lib/stanza
- mkdir -p src/lib
- cd src/lib && unzip stanza-$(stanza_zip_name).zip
- touch $@
-
-utils/bin/stanza: $(stanza)
-$(stanza): $(root_dir)/src/lib/stanza/stamp $(root_dir)/utils/stanza-wrapper
- cd src/lib/stanza && ./stanza -platform $(stanza_target_name) -install $(stanza)
- cat $(root_dir)/utils/stanza-wrapper | sed 's!@@TOP@@!$(root_dir)!g' > $@
-
-$(stanza_bin): $(stanza) $(stanza_src)
- cd $(firrtl_dir) && $(stanza) -i firrtl-test-main.stanza -o $@
-
-build-stanza: $(stanza)
- cd $(firrtl_dir) && $(stanza) -i firrtl-test-main.stanza -o $(install_dir)/firrtl-stanza
- $(MAKE) set-stanza
-
-build-fast: $(stanza)
- cd $(firrtl_dir) && $(stanza) -i firrtl-test-main.stanza -o $(install_dir)/firrtl-stanza -flags OPTIMIZE
- $(MAKE) set-stanza
-
-build-deploy: $(stanza)
- cd $(firrtl_dir) && $(stanza) -i firrtl-main.stanza -o $(install_dir)/firrtl-stanza
- $(MAKE) set-stanza
-
-check:
- cd $(test_dir) && lit -j 2 -v . --path=$(install_dir)/
-
-regress:
- cd $(regress_dir) && $(install_dir)/firrtl -i rocket.fir -o rocket.v -X verilog
-
-parser:
- cd $(test_dir)/parser && lit -v . --path=$(install_dir)/
-
-perf:
- cd $(test_dir)/performance && lit -v . --path=$(install_dir)/
-
-jack:
- cd $(test_dir)/passes/jacktest && lit -v . --path=$(install_dir)/
-
-passes:
- cd $(test_dir)/passes && lit -v . --path=$(install_dir)/
-
-errors:
- cd $(test_dir)/errors && lit -v . --path=$(install_dir)/
-
-features:
- cd $(test_dir)/features && lit -j 2 -v . --path=$(install_dir)/
-
-chirrtl:
- cd $(test_dir)/chirrtl && lit -v . --path=$(install_dir)/
-
-custom:
- cd $(test_dir)/custom && lit -v . --path=$(install_dir)/ --max-time=10
clean:
- rm -f $(test_dir)/*/*/*.out
- rm -f $(test_dir)/*/*.out
- rm -rf src/lib/stanza
- rm -f $(stanza)
rm -f $(install_dir)/firrtl.jar
- rm -f $(install_dir)/firrtl
- rm -f $(install_dir)/firrtl-stanza
$(SBT) "clean"
-riscv:
- cd $(test_dir)/riscv-mini && lit -v . --path=$(install_dir)/
-
-units = ALUTop Datapath Control Core Test
-v = $(addsuffix .fir.v, $(units))
-
-$(units): % :
- firrtl -X verilog -i test/chisel3/$*.fir -o test/chisel3/$*.fir.v -p c > test/chisel3/$*.fir.out
- #scp test/chisel3/$*.fir.v adamiz@a5:/scratch/adamiz/firrtl-all/riscv-mini/generated-src/$*.v
-
-done: build-fast check regress
- say "done"
-
-fail:
- say "fail"
-
build: build-scala
+regress: $(scala_jar)
+ cd $(regress_dir) && $(install_dir)/firrtl -i rocket.fir -o rocket.v -X verilog
+
# Scala Added Makefile commands
build-scala: $(scala_jar)
- $(MAKE) set-scala
$(scala_jar): $(scala_src)
$(SBT) "assembly"
@@ -115,16 +25,4 @@ $(scala_jar): $(scala_src)
test-scala:
$(SBT) test
-set-scala:
- ln -f -s $(install_dir)/firrtl-scala $(install_dir)/firrtl
-
-set-stanza:
- ln -f -s $(install_dir)/firrtl-stanza $(install_dir)/firrtl
-
-set-linux:
- ln -f -s $(install_dir)/FileCheck_linux $(install_dir)/FileCheck
-
-set-osx:
- ln -f -s $(install_dir)/FileCheck_mac $(install_dir)/FileCheck
-
-.PHONY: all install build-deploy build check clean fail succeed regress set-scala set-stanza build-scala test-scala
+.PHONY: build clean regress build-scala test-scala
diff --git a/README.md b/README.md
index aa6527cd..37472db2 100644
--- a/README.md
+++ b/README.md
@@ -1,56 +1,44 @@
# firrtl
#### Flexible Internal Representation for RTL
- This repository contains the compiler for .fir files. It is in ALPHA VERSION, so many things may change in the coming months.
- There are two implementations, one in stanza and one in scala.
+ Firrtl is an intermediate representation (IR) for digital circuits designed as a platform for writing circuit-level transformations.
+ This repository consists of a collection of transformations (written in Scala) which simplify, verify, transform, or emit their input circuit.
+
+ A Firrtl compiler is constructed by chaining together these transformations, then writing the final circuit to a file.
+
+ This repository is in ALPHA VERSION, so many things may change in the coming months.
#### Installation Instructions
-*Disclaimer*: This project is in alpha, so there is no guarantee anything works.
+*Disclaimer*: This project is in alpha, so there is no guarantee anything works. The installation instructions should work for OSX/Linux machines.
-##### For Linux:
- 1. Clone the repository:
- `git clone https://github.com/ucb-bar/firrtl`
- 1. Install lit (you need to have pip installed first):
- `pip install lit`
- 1. Inflate stanza (this will fail before it builds firrtl):
- `make build`
- 1. Remove first empty line in `utils/bin/stanza`, so the first line now becomes `#!/bin/bash`.
- 1. Actually build firrtl:
- `make build`
- 1. Run `make set-linux`, which links the FileCheck binary to the Linux version.
- * **Note**: This compiled binary may not run on all platforms. You may need to build
- Clang/LLVM from source to extract the compiled FileCheck utility.
- 1. Add `firrtl/utils/bin` to your `PATH`, so that the compiled firrtl will be
- available anywhere. This also makes FileCheck available for the tests.
- 1. Run tests:
- `make check`
- * **Note**: Stanza eats a π£π£π£π£ton of memory and running many instances
- simultaneously (as the build script does) may stall your system due to
- excessive paging. Setting a memory limit seems to make everything behave
- better: `ulimit -v 3096000`
- 1. Build and test:
- `make`
+##### Prerequisites
+ 1. If not already installed, install [verilator](http://www.veripool.org/projects/verilator/wiki/Installing):
+ `brew install verilator`
+ 1. If not already installed, install [sbt](http://www.scala-sbt.org/):
+ `brew install sbt`
+ * **Note** Requires at least sbt 0.13.6
-##### For Mac:
+##### Installation
1. Clone the repository:
`git clone https://github.com/ucb-bar/firrtl`
- 1. Install lit (you need to have pip installed first):
- `pip install lit`
- 1. Build firrtl:
- `make build`
- 1. Run `make set-osx`, which links the FileCheck binary to the Mac version.
+ `cd firrtl`
+ 1. Compile firrtl:
+ `sbt compile`
1. Run tests:
- `make check`
- 1. Build and test:
- `make`
+ `sbt test`
+ 1. Build executable (utils/bin/firrtl):
+ `sbt assembly`
+ * **Note** You can add this directory to your path to call firrtl from other processes with th
+ 1. Run regression:
+ `mkdir -p build`
+ `./utils/bin/firrtl -i regress/rocket.fir -o build/rocket.v -X verilog
-#### Scala implementation
-The Scala FIRRTL implementation relies upon sbt 0.13.6. It uses sbt-assembly to create a fat JAR.
-Using a bash script and a symbolic link it can be used with the same command-line arguments as the stanza implementation.
-Example use:
- 1. Build the fat JAR using the makefile: `make build-scala`, or using sbt: `sbt assembly`
- * For development, you can have sbt automatically monitor for changes and recompile: `sbt ~assembly`
- 1. Link firrtl to the Scala version: `make set-scala` (can be reverted with `make set-stanza`)
- 1. Scala firrtl can be invoked in the same way as Stanza firrtl (and the test
- make targets should continue to work):
- `./utils/bin/firrtl -i -o