@@ -29,13 +29,13 @@ class AIE_Op<string mnemonic, list<Trait> traits = []> :
29
29
def AIE_DeviceOp: AIE_Op<"device", [
30
30
AIETarget,
31
31
SymbolTable, SingleBlock, NoTerminator, IsolatedFromAbove
32
- ]>, Results<(outs Index:$result)> {
32
+ ]> {
33
33
let summary = "Define an AIE design targetting a complete device";
34
34
let description = [{
35
35
This operation describes a design that executes on a particular AIEngine device.
36
- It does not replace the
37
- default toplevel module in MLIR, the intention is that this could be the case
38
- in the future .
36
+
37
+ It does not replace the default toplevel module in MLIR since it can be
38
+ possible to have several devices in the same module .
39
39
40
40
When using this operation, all resources in a physical device are available and
41
41
the design does not need to be concerned with other potential users of a physical
@@ -48,7 +48,7 @@ def AIE_DeviceOp: AIE_Op<"device", [
48
48
49
49
Example:
50
50
```
51
- %device = aie.device(xcvc1902) {
51
+ aie.device(xcvc1902) {
52
52
%tile = aie.tile(1, 1)
53
53
%CORE = aie.core(%tile) { ... }
54
54
}
@@ -643,13 +643,13 @@ def AIE_PacketFlowOp: AIE_Op<"packet_flow", [SingleBlockImplicitTerminator<"EndO
643
643
let description = [{
644
644
A logical packet-switched flow between tiles. During place and
645
645
route, this is replaced by MasterSets and PacketRules inside
646
- switchboxes.
647
-
648
- The optional attribute keep_pkt_header indicates whether each
649
- data packet's packet header gets preserved at the flow's
646
+ switchboxes.
647
+
648
+ The optional attribute keep_pkt_header indicates whether each
649
+ data packet's packet header gets preserved at the flow's
650
650
destination. The optional attribute priority_route indicates
651
- whether the packet flow is routed in priority over other flows,
652
- so that they always get allocated with the same master, slave
651
+ whether the packet flow is routed in priority over other flows,
652
+ so that they always get allocated with the same master, slave
653
653
ports, arbiters and master selects (msel).
654
654
655
655
Example:
@@ -869,9 +869,9 @@ def AIE_DMABDOp: AIE_Op<"dma_bd", []> {
869
869
## DMA constant padding on AIE-ML Devices
870
870
871
871
AIE-ML devices can apply constant padding at the buffer descriptor level, described with pairs of padding
872
- counts before and after a dimension, to all dimensions in the data layout transformations. The padding
873
- counts can be supplied to the `dma_bd` through an optional argument, an array of "tuple-like" attributes
874
- `bd_pad_layout<const_pad_before, const_pad_after>`, followed by an optional argument `const_val` (default
872
+ counts before and after a dimension, to all dimensions in the data layout transformations. The padding
873
+ counts can be supplied to the `dma_bd` through an optional argument, an array of "tuple-like" attributes
874
+ `bd_pad_layout<const_pad_before, const_pad_after>`, followed by an optional argument `const_val` (default
875
875
is 0). All counts are expressed in multiples of the element width.
876
876
}];
877
877
@@ -1669,7 +1669,7 @@ def AIE_ObjectFifoCreateOp: AIE_Op<"objectfifo", [HasParent<"DeviceOp">, Symbol]
1669
1669
BDDimLayoutArrayArrayAttr:$dimensionsFromStreamPerConsumer,
1670
1670
DefaultValuedAttr<BoolAttr, "false">:$via_DMA,
1671
1671
DefaultValuedAttr<BoolAttr, "false">:$plio,
1672
- // disable_synchronization==true will skip lock generation for
1672
+ // disable_synchronization==true will skip lock generation for
1673
1673
// objectfifo synchronous accesses
1674
1674
DefaultValuedAttr<BoolAttr, "false">:$disable_synchronization,
1675
1675
// via_shared_mem==0 means use producer tile's memory module
@@ -2006,11 +2006,11 @@ def AIE_ObjectFifoRegisterProcessOp: AIE_Op<"objectfifo.register_process", []> {
2006
2006
def AIE_BDChainOp: AIE_Op<"bd_chain", [Symbol, SkipAccessibilityCheckTrait]> {
2007
2007
let summary = "Definition of a Parametrizable Chain of Buffer Descriptors";
2008
2008
let description = [{
2009
- This operation allows you to define buffer descriptor chains with parametrizable inputs.
2009
+ This operation allows you to define buffer descriptor chains with parametrizable inputs.
2010
2010
This is useful for common patterns such as double buffering (ping-pong) that may look identical but use different input/output buffers and locks.
2011
2011
Currently, only buffers and locks are parametrizable.
2012
2012
2013
- Once defined, an abstract BD chain can be used elsewhere using AIEX ops in the runtime sequence.
2013
+ Once defined, an abstract BD chain can be used elsewhere using AIEX ops in the runtime sequence.
2014
2014
In the future, abstract BD chains will also be usable elsewhere, inside the static configuration.
2015
2015
At its usage sites, the abstract BD chain will be concretized with the given input arguments.
2016
2016
}];
0 commit comments