Проверьте алгоритм обнаружения ребер Sobel в рабочем процессе MATLAB-to-HDL

В этом примере показано, как сгенерировать HDL-код из проекта MATLAB, реализующего алгоритм обнаружения ребер Собеля.

Пример настройки

Запустите следующий код, чтобы настроить проект:

design_name = 'mlhdlc_sobel.m';
testbench_name = 'mlhdlc_sobel_tb.m';

mlhdlc_demo_dir = fullfile(matlabroot, 'toolbox', 'hdlcoder', 'hdlcoderdemos', 'matlabhdlcoderdemos');
mlhdlc_temp_dir = [tempdir 'mlhdlc_sobel'];

% create a temporary folder and copy the MATLAB files
cd(tempdir);
[~, ~, ~] = rmdir(mlhdlc_temp_dir, 's');
mkdir(mlhdlc_temp_dir);
cd(mlhdlc_temp_dir);

% copy the design files to the temporary directory
copyfile(fullfile(mlhdlc_demo_dir, design_name), mlhdlc_temp_dir);
copyfile(fullfile(mlhdlc_demo_dir, testbench_name), mlhdlc_temp_dir);
copyfile(fullfile(mlhdlc_demo_dir, 'mlhdlc_img_stop_sign.gif'), mlhdlc_temp_dir);

Моделируйте проект

Рекомендуется моделировать проект с помощью тестбенча до генерации кода, чтобы убедиться, что нет ошибок во время выполнения.

mlhdlc_sobel_tb;

Создайте новый HDL Coder проект

Выполните следующую команду, чтобы создать проект генерации HDL-кода.

coder -hdlcoder -new cosim_fil_sobel

Укажите проект и испытательный стенд

  1. Перетащите файл «mlhdlc_sobel.m» из Браузера текущей папки на вкладку Entry Точек пользовательского интерфейса HDL Coder в разделе « Функции MATLAB».

  2. В добавленном файле «mlhdlc_sobel_tb.m» укажите тип данных входного аргумента «data_in» как «double (1 x 1)»

  3. Перетащите файл 'mlhdlc _ sobel _ tb.m' в пользовательский интерфейс HDL-кодера в разделе «MATLAB Test Bench».

Сгенерируйте HDL-код

  1. Нажмите «Советник по рабочим процессам».

  2. Щелкните правой нажатие кнопки по шагу «Генерация кода» в Workflow Advisor.

  3. Выберите опцию «Выполнить выбранную задачу», чтобы выполнить все шаги от начала рабочего процесса до генерации HDL-кода.

Проверьте сгенерированный HDL-код с косимуляцией

Для выполнения этого шага необходимо иметь один из Симуляторов HDL, поддерживаемых HDL Verifier. См. раздел {Поддерживаемые инструменты EDA}. Вы можете пропустить этот шаг, если вы этого не сделаете.

1. Выберите опцию «Generate cosimulation испытательного стенда».

2. Выберите опцию «Log outputs for comparison plots». Эта опция генерирует графическое изображение вывода Симулятора HDL, ссылки выход алгоритма MATLAB и различия между ними.

3. Для «Cosimulate для использования с:», выберите ваш симулятор HDL. Исполняемый файл Симулятора HDL должен находиться в вашем системном пути.

4. Для просмотра формы волны в симуляторе HDL выберите режим «GUI» в списке «HDL simulator run mode in cosimulation».

5. Выберите «Моделировать сгенерированные испытательные стенды косимуляции».

6. Нажмите «Выполнить».

Когда симуляция будет завершена, проверьте графики сравнения. Не должно быть несоответствия между выходными данными HDL-симулятора и выходными данными эталонного алгоритма MATLAB.

Проверьте сгенерированный HDL-код с цикл

Для выполнения этого шага необходимо иметь одну из поддерживаемых плат FPGA (см. раздел {Поддерживаемые инструменты EDA}). Дополнительные инструкции по настройке, необходимые для цикл, см. здесь.

На шаге «Verify цикл» выполните следующие шаги:

1. Выберите опцию «Сгенерировать Цикл испытательного стенда».

2. Выберите опцию «Log outputs for comparison plots». Эта опция генерирует графическое изображение вывода FPGA, выход эталонного алгоритма MATLAB и различия между ними.

3. Выберите плату FPGA из списка «Cosimulate for use with:». Если ваша плата отсутствует в списке, выберите один из следующих опций:

  • «Получите больше плат»..., чтобы загрузить пакет (ы) поддержки платы FPGA (эта опция запускает установку пакета поддержки)

  • «Создать пользовательскую плату»..., чтобы создать файл определения платы FPGA для вашей конкретной платы FPGA (эта опция запускает новый менеджер платы FPGA).

4. Только подключение Ethernet: введите информацию о соединении Ethernet в поля «IP-адрес платы» и «MAC-адрес платы:». Оставьте поле «Дополнительные файлы» пустым.

5. Выберите «Моделировать сгенерированные Циклы испытательного стенда».

6. Нажмите «Выполнить».

Когда симуляция будет завершена, проверьте графики сравнения. Не должно быть несоответствия между выходными данными FPGA и выходными выходами эталонного алгоритма MATLAB.

На этом завершается пример «Проверка алгоритма обнаружения ребер Собеля» в рабочем процессе MATLAB-to-HDL.