import synthesijer.lib.axi.*; import synthesijer.rt.*; class AXIHP_MEMCPY{ private final AXILiteSlave32RTL s0 = new AXILiteSlave32RTL(); private final SimpleAXIMemIface32RTLTest m0 = new SimpleAXIMemIface32RTLTest(); private void run(){ int src_addr = s0.data[1]; int dest_addr = s0.data[2]; for(int i = 0; i < 256; i++){ int d = m0.read_data(src_addr + (i<<2)); m0.write_data(dest_addr + (i<<2), d); } } @auto public void main(){ s0.data[0] = 0x00000000; while(s0.data[0] == 0x00000000) ; // wait for kick from PS run(); s0.data[0] = 0x00000000; // to notify DONE to PS } }