Этот пример показывает, как сгенерировать 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-кода.
кодер-hdlcoder - новый cosim_fil_sobel
Перетащите файл "mlhdlc_sobel.m" от Браузера текущей папки во вкладку Entry Points HDL Coder пользовательский интерфейс под разделом "MATLAB Function".
Под недавно добавленным "mlhdlc_sobel_tb.m" файлом задайте тип данных входного параметра "data_in" как "дважды (1 x 1)"
Перетащите файл 'mlhdlc_sobel_tb.m' в HDL Coder пользовательский интерфейс под разделом "MATLAB Test Bench".
Нажмите "Workflow Advisor".
Щелкните правой кнопкой мыши по шагу "Генерации кода" в Советнике по вопросам Рабочего процесса.
Выберите опцию, "Запущенную к выбранной задаче", чтобы запустить все шаги с начала рабочего процесса до генерации HDL-кода.
Чтобы запустить этот шаг, у вас должен быть один из симуляторов 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 вывод.
Чтобы запустить этот шаг, у вас должна быть одна из поддерживаемых плат 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 вывод.
Это заканчивает Проверение Алгоритма обнаружения Ребра Sobel в примере Рабочего процесса MATLAB к HDL.