Массив доступа, хранящийся в памяти PYNQ - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь передать массив через Jupyter Notebook (Python) в программируемую логику моей платы PYNQ-Z1 и получить к ней доступ, создав собственный IP-адрес в Vivado HLS. Вот код Python для записи массива в память PL:

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 и копировать его в новый массив, или я могу получить к нему доступ напрямую?

...