I want to initialize array a from PS and then the HLS IP will write into it and then I want to read it from PS. I made the following system in Vivado IP integrator:
By making the a[50] an axilite, means you need to write all the values of a to the IP via AXI lite.
I would suggest you do it like this:
Allow HLS to read and write from an external interface. In this example the AXI master is connected to PS DRAM.
You can initialize the PS DRAM from software, and pass the address to the HLS IP.
If you really want to do it as you described, you could connect the AXI Master of the HLS IP to one port of a dual port BRAM, and connect the other port of the BRAM to the PS. This would be slower than the first method in most cases, and limits the available memory the HLS IP can access.
If you really want to do it as you described, you could connect the AXI Master of the HLS IP to one port of a dual port BRAM, and connect the other port of the BRAM to the PS. This would be slower than the first method in most cases, and limits the available memory the HLS IP can access.
In this scenario the interface for array a in HLS should be m-axi, right?