using axi from rtl and C code
#1
Hi, I'm trying to add hardware accelerator to the system that would connect with axi-lite slave to pulpissimo.
The system already has master there that I can access from CPU?
I have skimmed through pulpissimo datasheet and bit of the code but I'm lost here.
Got any pointers?
Reply
#2
Hello, 

Davide gave a quite detailed tutorial on PULPissimo during WOSH (3.5 hours). You can find it on our youtube channel:
  https://www.youtube.com/pulp_platform
  https://www.youtube.com/watch?v=27tndT6cBH0 

I think that should cover/answer most of the questions.
Visit pulp-platform.org and follow us on twitter @pulp_platform
Reply
#3
(03-05-2020, 07:41 PM)kgf Wrote: Hello, 

Davide gave a quite detailed tutorial on PULPissimo during WOSH (3.5 hours). You can find it on our youtube channel:
  https://www.youtube.com/pulp_platform
  https://www.youtube.com/watch?v=27tndT6cBH0 

I think that should cover/answer most of the questions.
Thanks.
Reply
#4
There is axi bus in pulp_soc that goes axi_slice_dc_slave_wrap - soc_interconnect.
We removed axi_slice_dc_slave_wrap and routed our axi lite slave to the  s_data_out_bus.
From C we managed write and read to the 4 registers and confirm that the our component did process the data.
If we were to use full axi is there some register or some way to control the burst and confirm that slave got the data in C?

Code:
#define REG_COUNT 4
uint32_t *AXI_START = 0x10000000;

int main(void)
{
 for(int i = 0; i < REG_COUNT; i++) {
   AXI_START[i] = 0xff00ff00;
 }

 for(int i = 0; i < REG_COUNT; i++) {
   printf("%08x\t", AXI_START[i]);
 }
 return 0;
}
Reply


Forum Jump: