Prithayan Barua

Results 24 issues of Prithayan Barua

This PR introduces two operations to handle `RefType`. The `RefType` can be used to represent dataflow across modules and only module/instance ports can declare values of `RefType`. The following operations...

### This PR implements a Proposal for FIRRTL XMR representation **Problem** How to express XMRs using ports in FIRRTL dialect. The ports can be removed during lowering and replaced with...

This PR lowers the `FMemModuleOp` to `HWModuleGeneratedOp` and `HWGeneratorSchemaOp` instead of `HWModuleExternOp`. Also ensure the `HWModuleGeneratedOp` is lowered exactly as `HWModuleExternOp` in `ExportVerilog`. This PR is an attempt to preserve...

The `NonLocalAnchor` can be used to specify the instance path for uniquely identifying any operation globally. It is used to attach nonlocal annotations in the `FIRRTL` dialect. Currently it is...

This PR adds a new `FIRRTL` op for specifying a cross module reference, also known as an XMR. The XMR represents a non-local hierarchical name to a net. The hierarchical...

`ModuleInliner` pass crashes while creating the annotations with the following input ` circt-opt --pass-pipeline='firrtl.circuit(firrtl-inliner)'` ```mlir firrtl.circuit "CollidingSymbolsReTop" { firrtl.hierpath @nla1 [@Bar::@baz, @Baz] firrtl.module @Baz() { %a = firrtl.wire sym @a...

FIRRTL

The `ModuleInliner` pass crashes with the following MLIR, `circt-opt --pass-pipeline='firrtl.circuit(firrtl-inliner)' ` ```mlir firrtl.circuit "Inliner" { firrtl.hierpath @nla_3 [@Bar0::@w, @Bar1] firrtl.module private @Bar1() { %w = firrtl.wire sym @a {annotations =...

FIRRTL

This is a Draft PR, proposing a new `XMROp` and showing its sample usage. 1. Add a FIRRTL XMR Op that lowers to the SV XMR Op. 2. Update the...

This PR lowers the `RefType` of aggregate values, to the `RefType` of the individual elements. A new `RefSubOp` is added to handle the lowering and access individual elements of the...

This is a followup to https://github.com/llvm/circt/pull/3982 Instead of creating the `CatPrimOp` while iterating over the users of an aggregate value, this commit delays it after all the `Subfield` and `Subindex`...