|
Чтение параметров модуля (verilog) |
|
|
|
 |
Ответов
|
Jul 4 2018, 17:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(Inanity @ Jul 4 2018, 19:29)  Есть ли возможность считать параметр модуля, который ниже в иерархии? Тут пишут, что можно, но что-то как-то не работает. Или там имеется ввиду System Verilog? https://electronics.stackexchange.com/quest...ance-in-verilogВам для чего это надобно? Для симуляции или неужто для синтеза? Для синтеза сие действие под запретом находится. Удачи! Rob.
|
|
|
|
|
Jul 4 2018, 18:12
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(RobFPGA @ Jul 4 2018, 20:33)  Вам для чего это надобно? Для симуляции или неужто для синтеза? Для синтеза сие действие под запретом находится. Приветствую! Для синтеза. Хотелось, чтобы модуль верхнего уровня читал некоторые параметры подчинённого модуля и таким образом изменял принцип работы с ним. Просто эти параметры сверху вниз передавать как-то странно и бессмысленно. Т.е. я изменяю нижний модуль, а верхний, читая его параметры, подстраивается под его работу. Таким образом не нужно делать изменения в обоих модулях (или иерархии, если их много).
|
|
|
|
|
Jul 4 2018, 18:45
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Inanity @ Jul 4 2018, 21:12)  Приветствую! Для синтеза. Хотелось, чтобы модуль верхнего уровня читал некоторые параметры подчинённого модуля и таким образом изменял принцип работы с ним. Просто эти параметры сверху вниз передавать как-то странно и бессмысленно. Т.е. я изменяю нижний модуль, а верхний, читая его параметры, подстраивается под его работу. Таким образом не нужно делать изменения в обоих модулях (или иерархии, если их много). Вы все хотите ровно наоборот. Параметры должны передаваться только сверху вниз. Вы берете верхний модуль и настраиваете его параметры. И больше никуда лезть не нужно. Параметры из верхнего модуля автоматически передаются вниз "до самой глубины волокон"... А где надо, то локальные параметры нижних модулей считаются из пришедших значений и по формулам в функциях. Ну и для профилактики можете выводить на консоль параметры и все что нужно для просмотра.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jul 4 2018, 19:41
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(iosifk @ Jul 4 2018, 21:45)  Вы все хотите ровно наоборот. Параметры должны передаваться только сверху вниз. ... Да, спасибо, я всё это прекрасно понимаю. Цитата(RobFPGA @ Jul 4 2018, 21:47)  О как - а что будете делать если нижний модуль в разных местах верхнего будет используется да и с разными параметрами? Copy-paste нижнего ?  А если таких включений сотня-вторая и в каждом несколько разных параметров?  Ужас. Ок, раскрою идею чуть шире, чтобы развеять недопонимание. На самом деле единственный параметр, который я хотел бы прочитать от нижнего модуля это его латентность в тактах. И, согласитесь, это параметр, который невозможно (если не невозможно, то странно) генерировать сверху вниз. Я понимаю, что эту проблему можно решить стробами вроде ready/valid между модулями, но в данном случае мне это показалось избыточным, т.к. задержка фиксированная. И у меня возникла мысль, зачем тратить логику на организацию handshake, если задержка фиксирована и её нужно просто указать в виде числа. А, поскольку я имею иерархию модулей, нужно всю иерархию настроить относительно латентности модулей, которые ниже уровнем.
Сообщение отредактировал Inanity - Jul 4 2018, 19:56
|
|
|
|
|
Jul 4 2018, 20:08
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(iosifk @ Jul 4 2018, 22:49)  Но ведь латентность - это чисто физическая вещь а не какое-то число. Поэтому можно же сделать в модуле просто обычные выходы, в которые и передавать значение латентности. Почему Вам нужны именно параметры? Если это будет провод, то железо будет фиксировано, а если параметр, то я смогу с помощью generate играться настройками железа, убавляя/добавляя и тд... Цитата(RobFPGA @ Jul 4 2018, 22:57)  О... знакомая проблема - кроме handshake еще решается выносом функции расчета latency во внешний .vh файл или package. Ну и соответствующим использованием этой функции в нужных местах по иерархии с заданными параметрами. Рад, что вы меня поняли. А можно немного подробнее?
|
|
|
|
Сообщений в этой теме
Inanity Чтение параметров модуля (verilog) Jul 4 2018, 16:29      iosifk Цитата(Inanity @ Jul 4 2018, 23:08) Если ... Jul 4 2018, 20:17       Inanity Цитата(iosifk @ Jul 4 2018, 23:17) Если В... Jul 4 2018, 21:19        RobFPGA Приветствую!
Цитата(Inanity @ Jul 5 2018,... Jul 4 2018, 21:24         Inanity Цитата(RobFPGA @ Jul 5 2018, 00:24) А я р... Jul 4 2018, 21:43      RobFPGA Приветсвую!
Цитата(Inanity @ Jul 4 2018, ... Jul 4 2018, 21:08    RobFPGA Приветствую!
Цитата(Inanity @ Jul 4 2018... Jul 4 2018, 19:57  RobFPGA Приветствую!
Цитата(Inanity @ Jul 4 2018,... Jul 4 2018, 18:47   iosifk Цитата(RobFPGA @ Jul 4 2018, 21:47) О как... Jul 4 2018, 19:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|