Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/llvm/circt
Circuit IR Compilers and Tools
https://github.com/llvm/circt
This commit replaces muxcell2/muxcell4 with mux2cell/mux4cell since
"MUX2 cell" seems to be a mo...
23fc85f0fbb2e23ff1872dea279cb9319a83ff72 authored over 1 year ago
We mostly just want the installed copy of LLVM,
so extract the single build file required and n...
f7d3c706cec84dd5f8a87de316ff44d99b46cf10 authored over 1 year ago
67abd8617e0d5debcc7012aac0299244405fe437 authored over 1 year ago
168a231fa05b9b81b49b2e2cdbdd2c20af082faf authored over 1 year ago
Update these as operations that cannot have types inferred
from inputs, drop (incomplete) code ...
Fix https://github.com/llvm/circt/issues/5424. `'{..}` is used to emit packed constant arrays bu...
fc85842d346114958b6e7105f6cbd870088c6ea5 authored over 1 year ago
This commit adds minimal changes BaseTypeAliasType for base type alias.
Implement mlir parser/p...
This commit adds intrinsics (int.muxcell4, muxcell2) for directely representing 4-wide and 2-wid...
5e962184b0c9faa3662288d91e4fdb2865e62663 authored over 1 year agoNoticed in diagnostic produced here: https://github.com/llvm/circt/issues/5441 .
87f23c4e8bf20df2e58a761b013d485ecb838c88 authored over 1 year ago'srcs' seems to already be used now, but wasn't a few weeks back
79c87a6fa6c79e0f9608b08814333eb430e81068 authored over 1 year agodb3e2265240997f0cd2b799ec0b21e726996e569 authored over 1 year ago
The `seq.fifo` operation intends to capture the semantics of a FIFO which
eventually map to som...
* Ensure the ControlFlow dialect is registered in the context where needed and linked against (n...
e8ec7d73e39b342273485c3826c1e7fbf1ca9791 authored over 1 year ago
This adds support for enumeration types to `getFieldName`, which is
commonly used to print the ...
Don't #include C++ headers which provide access to MLIR/CIRCT classes
which shalt not be used.
The circt/support/LLVM.h include should never have been there, since
this opened the door to C++...
We currently go through the CAPIs in our Python bindings, and this
code shouldn't be using C++ A...
Add a `truth_table` to mux tree lowering to the LowerComb pass.
3153652111a06afe370426450ac92d506fd02318 authored over 1 year agoSome operations in the comb dialect (e.g. comb.truth_table) are not directly supported by Export...
3a62185526d5342c319650696ace11c46f04c9ea authored over 1 year ago
External modules with parameters were being instantiated without the
parameters.
Absolute paths break PyCDE (and theoretically any other lib which embeds
CIRCT in its own names...
030a9d1cb9d1639fa983e9fe7f3d310b90d3f0ca authored over 1 year ago
Primary motivation is to fix header-gen dependence
(before this change, this includes header be...
Fixes #5425.
This was on the module, but similarly don't erase
the IR until after removing f...
This function just needs an ArrayRef, just pass in {op1, op2}.
(no need for a smallvector...)
S...
a897bd438aee2bb8e4d4dc235abfda68cd1fa673 authored over 1 year ago
This commit adds a lowering of DC operation to a combination of
`comb,seq` and `hw` operations....
40fef5f48a2776b9c2085e76ad986beda4d18c83 authored over 1 year ago
8c583c211d940b464d34d5bf38913e28307ae631 authored over 1 year ago
`ext` inputs are inputs which are accessible in any pipeline stage, and which will never be regi...
2c6732817e48ee0650253dbb1e5cb651aa004f74 authored over 1 year agoAdds a bunch more verification to the `pipeline.scheduled` and `pipeline.latency` ops, as well a...
336b71ffb690fb8d4683b642d9b87102e7e53863 authored over 1 year ago
Currently, the MacOS jobs cannot succeed, but that shouldn't block the
Linux jobs. In general, i...
4d9c7e61e8dc16ba773a154b1273a9b85c7f5a70 authored over 1 year ago
7800b5a5d9af575bcb05e6aceb38a55af2058978 authored over 1 year ago
After classes are extracted from FIRRTL modules, the property ports of
the module are removed. ...
c92f9a347384cb84708a9464058e290f8ede6901 authored over 1 year ago
I've found that 0xFFF is not enough to always produce unique strings
for constraints I'm debugg...
Co-authored-by: Nandor Licker <[email protected]>
4f510750b46fed80685d74cbfd4856e160465a19 authored over 1 year agoSimple 2-state truth table, just as discussed in the ODM a while back. Lowering to something use...
5dffe3a5bf59afe653a3ea3c23875f485ec61914 authored over 1 year agoOnly need InstanceGraph, so don't bother computing the paths.
Drop lookupInstNode, `InstanceG...
b98fd985eaac1df23b3de456989d62f635860bc5 authored over 1 year agoServes me right for not testing on a branch first.
c58fa7015a08882d2611b1274476071c36b8e4af authored over 1 year ago
The GCC/Release/Valgrind corner has been failing for some time #5253.
Disabling it until someone...
Add API to get the field names from an object and add a convenient iterator.
1ecd327fb06fb6fd328d0f3eb74b1dc01f77ef4f authored over 1 year agoCheckCombLoops has replaced this for some time now.
Code lives on in version history if needed.
a3439504bf808bdc994fc7b8c353b4478e150126 authored over 1 year agoFix #5408.
Unfix #5391.
This partially reverts commit 6c013204bdc32e836d204bec40d2edb47ddc...
5f9d04ef0abb666f02b9c1d3378fe48e761081d2 authored over 1 year agoFollow up to bb14a6ffa9c1cc388b3c608f74a1f88ef555363d
b0d0a2236bb02fdbfe8b1a17088b805b802b4874 authored over 1 year ago
This fixes a small bug that alias-awaret type casts are not recursively
applied.
This commit adds ODS class `FIRRTLDialectTypeHelper ` which inherits
FIRRTLDialectType to reduc...
Modules with input or output properties are converted to OM
classes. The input properties becom...
As mentioned in https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443 and htt...
bb14a6ffa9c1cc388b3c608f74a1f88ef555363d authored over 1 year ago
Fix upperBoundSolution being set from bool indicating if cycle,
instead of the value solved for...
This API previously accepted a Python dataclass as input, and used it
as a template to guide th...
Now that `getBaseType` handles all types, there is no need for
`getBaseTypeOrNull`.
ee30f389e6d36750f373a4e3c06a0891730ff39e authored over 1 year ago
87897b7298560655bbc788b2b4e04ff427928717 authored over 1 year ago
Add the `ExternalizeClockGate` pass which converts all `seq.clock_gate`
ops in a design into in...
Teach emitConnect to insert ref.cast as needed.
0540d847eb2e041279854eeb4516a600b1c69921 authored over 1 year agoBetter support literal and literal/const-derived sources to "force", and use ref.cast to accommo...
bc58a0104db0e3051134b683cd873d2193a72407 authored over 1 year ago
Add parsing support for FIRRTL 2.4.0 radix-specified integer literals.
These are an alternative ...
60fad91927d35c9d2b8c954b20095960e67244ca authored over 1 year ago
fdfa4236596ed2dda5799f463e3c346c96e7c5fe authored over 1 year ago
898864aa9d4de67239c039eab59fd1fa58ee7a64 authored over 1 year ago
c2c182f63bf9ed0b29d0863ab38a7d930fcc1578 authored over 1 year ago
This adds a new type to the FIRRTL dialect, BigInt. A BigInt is a
signed integer of arbitrary ...
This change adds support for property types to CheckCombLoops. Right now
property types show up...
This changes InferWidths to use a common pattern to filter out foreign
and property types. The...
IMCP uses a helper `walkGroundTypes` to iterate over all the leaf
elements of a FIRRTLType. Th...
60556b133926ac395410888b4c54172f7ae0733a authored over 1 year ago
Lower the `firrtl.int.clock_gate` intrinsic to a `seq.clock_gate` op.
69460e42c40b2d771c6d7f5a716cb3cf2c654fe4 authored over 1 year ago1a71c4d95718942dc1828a5b3f11473056848eb6 authored over 1 year ago
Signed-off-by: Schuyler Eldridge <[email protected]>
c6427928ce23e80a89e2a0895119cfaef2e68eb2 authored over 1 year ago
This adds a helper similar to getSingleConnectUserOf, except for
PropAssignOp instead of Strict...
60763f2c053530661575d3c4dfd07c4450ac3f97 authored over 1 year ago
Removes the notion that `pipeline` pipelines can be either latency insensitive or sensitive.
Th...
The `pipeline.latency` operation represents an operation for wrapping
multi-cycle operations. T...
This signal is intended to connect to all stages within the pipeline, and is used to stall the e...
42711776fe79fab1b7ec67fdface1a97695554c1 authored over 1 year ago
No property types have inferable widths, so we need to teach
InferWidths to gracefully ignore t...
Change how the FIRRTL version is threaded through each of the different
FIRRTL parsers. Make th...
Signed-off-by: Schuyler Eldridge <[email protected]>
8116622f745b005b6e70867137fffb72a2ae9a27 authored over 1 year ago
Per spec, need to allow define'ing refs into destinations that are less
inferred than their sou...
This adds verifiers which:
1. check that a source is not a destination.
2. check that a sink i...
This change adds initialization checking of Property typed ports to the
ExpandWhens pass. This...
da74840dc6fecc1dcadb0e7cae682f6a7ec7848a authored over 1 year ago
No known issues here but keep these up-to-date,
may be important if the operation* is re-used.
...
Don't leave to verifier, better diagnostic this way.
7b52973af3a6e806779c78b650feb5c22b8567a0 authored over 1 year ago099378c316ffece2b8e8882748610ce2c5d0063a authored over 1 year ago
f72042620569083bc3ff2af488a2bade093add98 authored over 1 year ago
This adds a new statement to FIRRTL to assign a property to a property
sink. We stop allowing ...
Closes #5360
e8aa6366badb66418e52fff9e8f7238baf17f667 authored over 1 year agoThis commit refactors the pipeline dialect to be block-based. This brings a major representation...
d57b640d7baed36d17a1c14b1a0163a4b970a6c2 authored over 1 year agoFix #5356. There is an edge case that ETC wrongly erase an extracted operation which is still us...
eb53062968b5c942fc1e43582e22060125266dc3 authored over 1 year ago
Preserve instances of external modules in the arcilator pipeline rather
than removing them and ...
Fix an issue in `InferMemories` where the computation of the write mask
would produce a byte-rev...
Add support for more detail read latencies to the `InferMemories` pass.
It now supports a pre-st...
Make the `InferMemories` pass optionally add taps on all memory input
and output ports. Enable t...
Include the `InferTypeOpInterface.td` file in `SeqOps.td` which
magically creates more builders ...
* fix issue #5284 and #4814
* add collect Op comments and test case
* add check for shared...
dbc3eded4cfad5ebf5129fd638d665be2fb6f8aa authored over 1 year ago222882d4b975ccf856edb2012ad2ec83abbca612 authored over 1 year ago
On one design (-Odebug), ETC was taking 600s / 1100s total,
after this change only takes ~20s.
...