Vivado HLS генерирует IP-ядро для интерфейса AXI

Архитектура

from:ZedBoard -- (6) Используйте Vivado HLS для создания ядра IP интерфейса AXI.

  • Новое строительство
  • Добавьте ap_int.h в исходный файл

#include "ap_int.h"

Структура, определенная в исходном файле, выглядит следующим образом:

template <int D>
struct axis
{
    ap_int <D>    data;
    ap_uint <D/8> keep;
    ap_uint <1>   last;

    axis<D>& operator=(const axis<D>& ax)
    {
        data = ax.data;
        keep = ax.keep;
        last = ax.last;

        return *this;
    }
};

Добавьте следующие два параметра в список параметров функции:axis<32> *o_MM2S_AXIS, axis<32> i_S2MM_AXIS

Эти два параметра представляют данные, выводимые за пределы IP-ядра, и данные, вводимые в IP-ядро другими модулями.

Отправка данных может быть достигнута путем записи o_MM2S_AXIS->data, входные данные могут быть получены путем доступа к i_S2MM_AXIS.data. Если нет особой необходимости, сигналы keep и last менять не нужно, а вход можно напрямую назначить на выход: