aiecompiler
并不局限于窗口间的一对一连接。在某些情况下,多个其它内核可能使用同一个输出窗口来执行各项任务。您可按需将生产者连接至任意多个使用者。使用者会将其相应的输入窗口写入 S2MM DMA,aiecompiler
将自动推断 MM2S DMA 以读取输出窗口和所有这些 S2MM DMA。
private:
adf::kernel mk;
adf::kernel tk0,tk1,tk2,tk3;
...
connect < window<128> > net0 ( mk.out[0] , tk0.in[0] );
connect < window<128,32> > net1 ( mk.out[0] , tk1.in[0] );
connect < window<128,64> > net2 ( mk.out[0] , tk2.in[0] );
connect < window<128> > net3 ( mk.out[0] , tk3.in[0] );
由于生产者的输出窗口只读取一次,因此同时服务所有使用者。些许的延迟变化是由于 AI 引擎阵列中从生产者布线到使用者所采用的不同 AXI4-Stream 路径所致。