存储在PYNQ内存中的访问数组

时间:2019-03-05 20:50:36

标签: python c++ arrays vivado vivado-hls

我试图通过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并将其复制到新阵列中还是可以直接访问它?

0 个答案:

没有答案