Генератор системы Xilinx можно использовать для совместного моделирования между исходной эталонной моделью MATLAB и фактической платой HW. Можем ли мы следовать аналогичной процедуре для совместного моделирования между исходной эталонной моделью C++ (до оптимизации типов данных и алгоритмов для HDL) и фактической аппаратной платой в VIVADO HLS?
совместное моделирование с использованием VIVADO HLS
Ответы (1)
Да мы можем! Если у вас уже есть эталонная модель C++, вы можете сравнить ее результаты с кодом на стороне хоста и устройства, ускоренным на FPGA. Я использую терминологию хост/устройство, как в OpenCL, которую Vitis в настоящее время использует для ядер FPGA C++. Обычно вся обработка буфера между PCIe и/или FPGA выполняется кодом на стороне хоста, а данные обрабатываются кодом на стороне устройства. Потоки Vitis и SDAccel (более ранняя версия) имеют программную эмуляцию кода для FPGA, а также аппаратную эмуляцию, которая фактически представляет собой совместную симуляцию xsim частей кода хоста и устройства. Наконец, вы можете запустить FPGA, скомпилированный в битовый поток, на реальной аппаратной плате (например, экземпляр AWS F1). У вас есть исходная модель C++ для сравнения с двумя эмуляциями и фактическим выполнением на FPGA.