You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let summary = "Turn `aiex.configure` into configuration primitives and inline `aiex.run` calls";
165
+
let description = [{
166
+
Turns top-level `aiex.configure` into load PDI firmware instructions that set up the requested configuration.
167
+
168
+
Inlines calls to other runtime sequences using `aiex.run` into the calling runtime sequence, resolving references within them to the device containing the definition.
169
+
170
+
This pass requires ObjectFIFOs to be lowered first; apply the ObjectFIFO stateful transform before applying this pass.
171
+
}];
172
+
173
+
let constructor = "xilinx::AIEX::createAIEMaterializeRuntimeSequencesPass()";
let summary = "Expand load_pdi operations to explicit configuration sequences";
277
+
let description = [{
278
+
This pass transforms `load_pdi { device_ref = @device }` operations as follows:
279
+
1. Create an empty device `@empty_N`.
280
+
2. Replace the load_pdi with `load_pdi { device_ref = @empty_N }` -- this causes a device reset.
281
+
3. Configure the device for the selected design by inserting write32s and blockwrites.
282
+
283
+
The configuration operations are generated by converting the referenced device's configuration to a transaction binary and then disassembling it into MLIR operations.
284
+
}];
285
+
286
+
let constructor = "xilinx::AIEX::createAIEExpandLoadPdiPass()";
0 commit comments