我试图通过Jupyter Notebook(Python)将数组传递到PYNQ-Z1板的可编程逻辑中,并通过在Vivado HLS中创建自定义IP来访问它。这是将数组写入PL内存的python代码:
def get_pynq_buffer(shape, dtype):
return Xlnk().cma_array(shape, dtype)
buffer1 = get_pynq_buffer(shape=(8,8), dtype=np.uint32)
pl_buffer1_address = hex(buffer1.physical_address)
并且十六进制格式的地址为0x18059000。 因为这是我第一次处理IP / PL,所以我不确定如何使用C ++代码访问数组。这是函数的开始,在这里我将地址作为参数传递进来:
void multiplyArray(const int *physical_address){
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE s_axilite port= physical_address
如何调用数组并开始对其进行操作?我需要使用memcpy并将其复制到新阵列中还是可以直接访问它?