- leading slash matches only in the top level directory
- asterisk allows matching build2, build-sharedlibs, or others
This is useful if you need more than one build directory for testing
with different cmake options.
* SV interface types working
* Improving the extract op syntax
* Adding documentation
* Removing unnecessari include
* Wrong type error
* Renaming extract to getmodport and switching to decl asm
* Adding interface.instance and renaming getmodport
* Cleanup changes
* Cleaning up #includes
* Adding verification to instance op
* Returns modport
* Cleanups based on Mike's feedback
After the addition of the LowerTypes pass to the FIRRTL dialect, the
lowering passes within FIRRTL are no longer hypothetical, and the path
from high/mid-FIRRTL to low-FIRRTL is a solid (albeit thin) line.
This is part of https://github.com/llvm/circt/issues/232. This checks
that the connected values have equivalent types, as defined by Section
4.5 of the FIRRTL spec, with some CIRCT-specific exceptions.
Add signed comparisons, arithmetic (signed) shift right, and signed math ops
firrtl to rtl should use the fancy new signed ops
match firrtl lowering semantics: had to check with the firrtl expert about the truncate in rem lowering for signed types
* Getting the ESI lowering pass stubbed out.
* Consolidating ESI code
* Start of physical pass
* Lowering to physical ESI ops
* Documentation
* Code documentation
* Cleanup based on Chris' review
* Fixing test for new syntax
Instead of trying to preserve names from the MLIR file, get them from
the module definition. This is more stable and works better in
practice than using a names attribute.
* Add valid/ready to wrap/unwrap
* Simplified syntax
* Clarify the op documentation.
* Rename asm op name
* Change method for getting I1 type
* DialectImplementation -> OpImplementation
Adds some simple constant folding for `sext` and `zext`. RTL's
extension ops require the result width to be larger, so there is no
folding of idempotent operations.
This makes use of the declared port syntax like the FIRRTL dialect, and
adds support for named result operations as well. This makes the output
of rtl module dumps much more readable.
This turns a value of inout<T> type into T, doing a conceptual "load"
of the value. The syntax here can be improved, I filed issue #276 to
track the improvement.
Pycapnp complains if the 'PWD' env var doesn't match the actual cwd.
This ONLY manifests in Docker cmake. Not locally or in Docker running
llvm-lit manually. Odd.
Set the PWD for python test script execution before launching.
The canonical representation of a BundleType with every field flipped
is a FlipType that wraps the whole bundle. There were places where
LowerTypes assumed a BundleType, which caused crashes for
a FlipType wrapped around a BundleType. To address this:
* LowerTypes will default to disabled in firtool, and can be enabled by
passing the -enable-lower-types flag.
* The instance op verifier was updated to guarantee the result type is a
BundleType or a FlipType wrapped around a BundleType.
* LowerTypes was updated to check for both scenarios in the places it
previously assumed it was working with a BundleType.
Verilator changed its error reporting message format since 4.0 to
include the column number. This change is to make the tests backwards
compatible to 4.028 (at least).
firrtl.instance must be enclosed by a firrtl.module, but it may not be
the direct parent op. When verifying, using parentOfType will search all
parents of the firrtl.instance op during verification. This allows a
firrtl.instance op to appear in the body of ops other than a module,
such as firrtl.when.
firrtl.when is still not handled during lowering to RTL. Any
firrtl.instance occuring in the body will not be properly lower to an
rtl.instance. This will cause verification to fail.
* [ESI] Cosimulation DPI plugin
This is PR 6 of 7 for #213. This code is the actual DPI plugin and RPC
server -- the main chunk.
* Code cleanup.
* Clang-format fixes
* Clang-tidy fixes.
* Changes based on Mike's feedback.
* Missed one
* Changes based on Chris' feedback
* Fixing a clang-format issue
* Moving the capnp stuff out of the public headers!
* Final round of changes based on code review
* More locking and a formatting fix
* [FIRRTL] Fix LowerTypes to respect flow when connecting to instances
This fixes#255. When connecting to instances that have their bundles
flattened, we need to make sure the flattened destination is in fact a
sink, or else connect in the other direction. Incidentally, this would
have been caught by #232.