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

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

Настройте пример

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

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-кода.

кодер-hdlcoder - новый cosim_fil_sobel

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

  1. Перетащите файл "mlhdlc_sobel.m" от Браузера текущей папки во вкладку Entry Points HDL Coder пользовательский интерфейс под разделом "MATLAB Function".

  2. Под недавно добавленным "mlhdlc_sobel_tb.m" файлом задайте тип данных входного параметра "data_in" как "дважды (1 x 1)"

  3. Перетащите файл 'mlhdlc_sobel_tb.m' в HDL Coder пользовательский интерфейс под разделом "MATLAB Test Bench".

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

  1. Нажмите "Workflow Advisor".

  2. Щелкните правой кнопкой мыши по шагу "Генерации кода" в Советнике по вопросам Рабочего процесса.

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

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

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

1. Выберите опцию "Generate cosimulation test bench".

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

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

4. Чтобы просмотреть форму волны в симуляторе HDL, выберите режим "GUI" в "Режиме выполнения симулятора HDL в cosimulation" список.

5. Выберите "Simulate generated cosimulation test bench".

6. Нажмите "Run".

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

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

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

В "Проверяют с FPGA в цикле" шаг, выполняют следующие шаги:

1. Выберите опцию "Generate FPGA in the Loop test bench".

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

3. Выберите свою плату FPGA из "Cosimulate для использования с": список. Если ваша плата не находится в списке, выберите одну из следующих опций:

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

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

4. Соединение Ethernet только: Введите свою информацию о соединении Ethernet в "IP-адрес Совета" и "Мак адрес Совета": поля . Оставьте поле "Additional Files" пустым.

5. Выберите "Simulate generated FPGA in the Loop test bench".

6. Нажмите "Run".

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