|
Метод HDL-описания в модулях XILINX и других. |
|
|
|
Dec 1 2017, 09:50
|

Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052

|
Вопрос возможно, покажется непонятным. Он касается методики описания HDL-проекта на HDL-языке, неважно каком, Verilog или VHDL Мне известны только такие методы описания модуля на HDL: 1. Если это тривиальный модуль, такой как счетчик, мультиплексор и др., то он описывается по шаблону, который легко найти в руководстве по HDL от производителя ПЛИС или в Google. 2. Если это схема соединяющая другие модули, то здесь тоже не сложно. Определить сигналы, определить компоненты, соединить их. 3. Если это не тривиальная схема с последовательной логикой. То я составляю алгоритм ее работы, выделяю какие нужны состояния и регистры(Control path и Data path). Составляю диаграмму состояний и определяю какое следующее значение будет у регистров в Data path. Определяю, какие значения должны будут иметь выходы. Таким образом, если я пишу на VHDL у меня обычно 4 процесса: 2 последовательных, определяют что на каждом такте Clk регистры и состояние должны принимать следующее значение, и 2 процесса, описывающие следующее состояние и следующее значение регистров. И еще описание выходных сигналов.
Однако, когда я просматриваю чужой код, в том числе и код Xilinx модулей как для симуляции, так и для синтеза, я вижу что там все сделано не так, как в п.3. Они применяют какую-то другую методологию описания последовательных схем. Часто там даже нет машины состояний. Зато, очень много коротких описаний процессов. Но логику, по которой все это описано я не понимаю. Если, кто-то ее знает, объясните, пожалуйста.
Сообщение отредактировал Олег Гаврильченко - Dec 1 2017, 09:51
|
|
|
|
|
 |
Ответов
|
Dec 4 2017, 07:51
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508

|
Цитата(Олег Гаврильченко @ Dec 1 2017, 12:50)  1. Если это тривиальный модуль, такой как счетчик, мультиплексор и др.... 3. Если это не тривиальная схема с последовательной логикой...
Однако, когда я просматриваю чужой код, в том числе и код Xilinx модулей как для симуляции, так и для синтеза, я вижу что там все сделано не так, как в п.3. Они применяют какую-то другую методологию описания последовательных схем. Часто там даже нет машины состояний. Зато, очень много коротких описаний процессов. Но логику, по которой все это описано я не понимаю. Если, кто-то ее знает, объясните, пожалуйста. Любую "не тривиальную схему" можно составить из "тривиальных модулей" в альтернативу использования FSM. Не понятна, все таки, логика по которой это написано, или логика по которой это работает? Если первое, то это вопрос стиля кодирования. А если второе, то надо смотреть конкретный код.
|
|
|
|
Сообщений в этой теме
Олег Гаврильченко Метод HDL-описания в модулях XILINX и других. Dec 1 2017, 09:50 el.d А разве всегда надо пихать конечный автомат? Dec 1 2017, 09:59 Олег Гаврильченко Цитата(el.d @ Dec 1 2017, 12:59) А разве ... Dec 1 2017, 10:07 iosifk Цитата(el.d @ Dec 1 2017, 12:59) А разве ... Dec 2 2017, 08:02  Олег Гаврильченко Цитата(iosifk @ Dec 2 2017, 11:02) Я сейч... Dec 4 2017, 08:37   iosifk Цитата(Олег Гаврильченко @ Dec 4 2017, 11... Dec 4 2017, 08:45    Tpeck Цитата(iosifk @ Dec 4 2017, 11:45) Ответ ... Dec 5 2017, 09:31     iosifk Цитата(Tpeck @ Dec 5 2017, 12:31) А может... Dec 5 2017, 09:42 el.d Я лично для себя не могу понять, с чем у вас пробл... Dec 1 2017, 10:11 Flip-fl0p КодОднако, когда я просматриваю чужой код, в том ч... Dec 1 2017, 10:15 Tpeck Цитата(Олег Гаврильченко @ Dec 1 2017, 12... Dec 1 2017, 11:22 Mad_max Цитата(Олег Гаврильченко @ Dec 1 2017, 12... Dec 1 2017, 11:32 des333 Представьте в голове (или на бумаге) схему модуля,... Dec 1 2017, 22:04 svedach Олег Гаврильченко, в целом модули, обрабатывающие ... Dec 2 2017, 07:59 dvladim Цитата(Олег Гаврильченко @ Dec 1 2017, 12... Dec 2 2017, 16:22 GriXa Есть замечательная книга под названием "Advan... Dec 4 2017, 12:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|