Перейти к содержанию

VHDL в MATLAB

Подскажите пожалуйста! С помощью MATLAB и Filter Design HDL Coder был создан vhdl файл. Можно ли с помощью комментариев добавляемых матлабом в данный файл воссоздать его первоначальный вид? Или как сделать то же самое по vhdl-коду? Матлабовский коммент представлен ниже:

-- Module: lowpass400kHz_4mHz_16
--
-- Generated by MATLAB® 7.8 and the Filter Design HDL Coder 2.4.
--
--
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- HDL Code Generation Options:
--
-- TargetLanguage: VHDL
-- FIRAdderStyle: tree
-- OptimizeForHDL: on
-- ClockEnableInputPort: clk_en
-- ResetInputPort: res
-- TargetDirectory: C:\Actelprj
-- AddPipelineRegisters: on
-- InputPort: f_in
-- OutputPort: f_out
-- Name: lowpass400kHz_4mHz_16
-- DALUTPartition: [8 8 1]
-- TestBenchName: Hlp2_tb
--
-- Filter Settings:
--
-- Discrete-Time FIR Filter (real)
-- -------------------------------
-- Filter Structure : Direct-Form FIR
-- Filter Length : 17
-- Stable : Yes
-- Linear Phase : Yes (Type 1)
-- Arithmetic : fixed
-- Numerator : s12,14 -> [-1.250000e-001 1.250000e-001)
-- Input : s12,11 -> [-1 1)
-- Filter Internals : Full Precision
-- Output : s26,25 -> [-1 1) (auto determined)
-- Product : s23,25 -> [-1.250000e-001 1.250000e-001) (auto determined)
-- Accumulator : s26,25 -> [-1 1) (auto determined)
-- Round Mode : No rounding
-- Overflow Mode : No overflow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А в чем проблема? Судя по представленным комментариям - это стандартный КИХ-фильтр 16 порядка. Просто создать этот фильтр в Матлабе или Симулинке, и вручную вбить его коэффициенты из кода.
Изменено пользователем SemperAnte

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(SemperAnte @ May 31 2013, 11:10) <{POST_SNAPBACK}>
А в чем проблема? Судя по представленным комментариям - это стандартный КИХ-фильтр 16 порядка. Просто создать этот фильтр в Матлабе или Симулинке, и вручную вбить его коэффициенты из кода.


Матлаб недавно стал использовать и пока что плохо им владею. Вы не могли бы подсказать как воссоздать фильтр (привести примерчик)? Буду премного благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Ivan575 @ Jun 2 2013, 23:05) <{POST_SNAPBACK}>
Матлаб недавно стал использовать и пока что плохо им владею. Вы не могли бы подсказать как воссоздать фильтр (привести примерчик)? Буду премного благодарен.


На днях решал похожую задачу для двукаскадного БИХ-фильтра. Матлаб код был такой:

Код
b1=[16384,-1782,917];
a1=[16384,-32126,15756];
b2=[16384,-1824,917];
a2=[16384,-32510,16166];
g=[917,917];

dr=2^19;
b1=b1./dr;
a1=a1./dr;
b2=b2./dr;
a2=a2./dr;
g=g./dr;

Hd = dfilt.df2sos(b1,a1,b2,a2,g);
fvtool(Hd);


Здесь, в первом абзаце создаются вектора с коэффициентами из HDL-кода, во втором нормируются к единице, в третьем командой dfilt.df2sos создаётся нужная структура фильтра. В вашей задаче структура фильтра другая - нужно найти в Матлабовской справке соответствующую команду (по-моему dfilt.df1, но не уверен).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
огромное спасибо, попробую! Пытаюсь воспроизвести его через filter design toolbox. Если получится выложу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб, чтобы посмотреть поведение на тестах?
Стоит задача незнакомый проект модифицировать по частям... Если да, то подскажите, где об этом можно почитать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Мур @ Mar 9 2017, 21:32) <{POST_SNAPBACK}>
Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб, чтобы посмотреть поведение на тестах?
Стоит задача незнакомый проект модифицировать по частям... Если да, то подскажите, где об этом можно почитать?


В сам Матлаб не знаю, но в симулинк при помощи System Generator`a просто делается:

Там есть компонент blackbox - в него вставляете файл .vhd, и он в виде блока с портами в модели симулинка появится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Мур @ Mar 9 2017, 19:32) <{POST_SNAPBACK}>
Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб...

Вы можете вывести вектора результаты работы модуля в текстовый файл затем загрузить их в Matlab и проанализировать.
Изменено пользователем hsoft

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация