Vitёk 0 10 апреля, 2006 Опубликовано 10 апреля, 2006 · Жалоба Есть модуль U1, внутри которого существует сигнал ss. Когда я пытаюсь этот сигнал вытащить наружу: wire aaa = U1.ss; то синтезатор (LeonardoSpectrum) ругается: Error, Hierarchical name reference not supported. Можно ли каким либо образом вытащить сигнал из модуля, не внося изменений в описание его портов? (Переписывать очень не хочется, ибо это готовый модуль). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 10 апреля, 2006 Опубликовано 10 апреля, 2006 · Жалоба Есть модуль U1, внутри которого существует сигнал ss. Когда я пытаюсь этот сигнал вытащить наружу: wire aaa = U1.ss; то синтезатор (LeonardoSpectrum) ругается: Error, Hierarchical name reference not supported. Можно ли каким либо образом вытащить сигнал из модуля, не внося изменений в описание его портов? (Переписывать очень не хочется, ибо это готовый модуль). Если я не ошибаюсь, то Verilog не поддерживает иерархические имена. Выход один, как ты и сказал, добавить этот сигнал при описании нового модуля вроде: wire aaa; U1 U_new( ... .ss(aaa) ...) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 10 апреля, 2006 Опубликовано 10 апреля, 2006 · Жалоба согласен - придётся тянуть через порт или брать другую среду проектирования (N.B. Verilog поддерживает иерархические имена.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitёk 0 10 апреля, 2006 Опубликовано 10 апреля, 2006 · Жалоба Протянул через порты, на 3 уровня вверх. :( А ведь симуляторы их поддерживают, похоже что все поголовно. Видит око, да зуб неймёт. :( N.B. Verilog поддерживает иерархические имена. Что есть "N.B. Verilog"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TomaT 0 10 апреля, 2006 Опубликовано 10 апреля, 2006 · Жалоба ... Что есть "N.B. Verilog"? N.B. - Nota Bene - (лат.) обрати внимание Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба согласен - придётся тянуть через порт или брать другую среду проектирования (N.B. Verilog поддерживает иерархические имена.) А можно тогда уточнить, какие САПР поймут это присвоение(по вашему опыту) В FPGA Advantage 7.0 я не пробывал, а может стоит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба Синтезаторы иерархические имена имхо не поддерживают, так что добавляйте их в список портов. Симулятор, естественно, поддерживает, т.е. Вы можете посмотреть сигнал не на верхнем уровне иерархии, а внутри любого модуля. fpga advantage - это не отдельный продукт, а сборка из -- ввод и упраление проектом: hdldesigner -- симулятор: modelsim -- синтезатор: precision или leonardo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба Синтезаторы иерархические имена имхо не поддерживают, так что добавляйте их в список портов. Симулятор, естественно, поддерживает, т.е. Вы можете посмотреть сигнал не на верхнем уровне иерархии, а внутри любого модуля. fpga advantage - это не отдельный продукт, а сборка из -- ввод и упраление проектом: hdldesigner -- симулятор: modelsim -- синтезатор: precision или leonardo Я имел ввиду hdldesigner+precision. Так кто-то может сказать без имхо, можно ли где-то также удобно как в AlteraHDL использовать иерархические имена в Verilog'e? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба если я чего не попутал в своих воспоминаниях - то буквально неделю-две назад Симплифай ещё ;) поддерживал иерархические имена Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба если я чего не попутал в своих воспоминаниях - то буквально неделю-две назад Симплифай ещё ;) поддерживал иерархические имена В смысле? Можно из модуля вытащить наверх внутренний сигнал, не являющийся портом? В такой манере, как хочет Vitёk: Есть модуль U1, внутри которого существует сигнал ss. Когда я пытаюсь этот сигнал вытащить наружу: wire aaa = U1.ss; то синтезатор (LeonardoSpectrum) ругается Честно говоря, я такой возможностью никогда не пользовался за ненадобностью, но мне казалось, что так делать нельзя - пропадает смысл существования портов. Когда можно делать все, что хочешь, дело заканчивается бардаком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба ну да - мне нужно было быстренько перекинуть проект с симуляции на синтез, чтобы поглядеть на ресурсы - а так как модули-обёртки на симуляции и синтезе выглядят принципиально поразному - нужно было простое решение - ну я и воспользовался возможностями стандарта (хотя сам считаю такой подход немного варворским - на подобие оператора гоуту в программирование - но что делать - жизнь заставила) - к стати в принципе не вижу никакого криминала в упращение портов для синтеза - синтезатор все равно логику на границах модулей по умолчанию упрощает - так что порты в этом плане нужны для стройности языковой модели (инкапсуляция) а в моделирование это вообще "white-box" чистый получается (это ВХДЛ - другое дело - вот у него впринципе иерархические имена не поддерживаются) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба CaPpuCcino, а не могли бы Вы привести пример кода. Я только что проверил, конструкцию вида <module>.<signal> синплифай не принял, а в документации я ничего не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба CaPpuCcino, а не могли бы Вы привести пример кода. Я только что проверил, конструкцию вида <module>.<signal> синплифай не принял, а в документации я ничего не нашел. сорри - сейчас сам сидел проверял - обошёлся я похоже дело без иерархических имён - по крайней мере - посмотрел в коде - они у меня закоментированы (и на старуху бывает проруха ) - сейчас проверил на простеньком примере - действительно не распознаёт Synplify составного имени (погляжу ещё) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scheme_ru 0 20 апреля, 2006 Опубликовано 20 апреля, 2006 · Жалоба Иерархические имена в Verilog относятся к поведенческой части языка, и синтезаторы их по определению не поддерживают. Хотя, задача протаскивания новых сигналов между модулями сквозь иерархию встречается нередко, почему-то ни один CAD, с которым мне доводилось работать, не предлагает инструмента для автоматизации этой операции, или мне просто нигде не удалось такого инструмента разглядеть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться