# CIRCT

Circuit IR Compilers and Tools

# 'msft' Dialect

Microsoft internal support dialect Umbrella dialect for everything needed to support Microsoft development but not thoroughly discussed. Most (if not everything) in this dialect is a candidate for generalization and re-homing.

## Attribute definition ¶

### PhysLocationAttr ¶

Descibes a physical location on a device

Annotate a particular entity within an op with the location of the device on an FPGA to which it should mapped. The coordinates in this attribute are absolute locations on the device, so if there are two instances of a module with this annotation incorrect results will be generated. How to solve this is a more general, open problem.

#### Parameters: ¶

ParameterC++ typeDescription
devTypeDeviceTypeAttr
xuint64_t
yuint64_t
numuint64_t

### RootedInstancePathAttr ¶

A path through the instance hierarchy with the root module

#### Parameters: ¶

ParameterC++ typeDescription
rootModuleFlatSymbolRefAttr
path::llvm::ArrayRef<StringAttr>

### SwitchInstanceAttr ¶

Select an attribute to be use based on the instance

#### Parameters: ¶

ParameterC++ typeDescription
cases::llvm::ArrayRef<SwitchInstanceCaseAttr>

### SwitchInstanceCaseAttr ¶

A switch case in the SwitchInstance attribute

#### Parameters: ¶

ParameterC++ typeDescription
instRootedInstancePathAttr
attrmlir::Attribute