khlenar 5 27 ноября, 2008 Опубликовано 27 ноября, 2008 · Жалоба очень недурственный учебный ресурс (тьюториалы) по SystemVerilog - http://testbench.in/ помимо прочего рассматриваются такие вопросы как: классы СВ, рандомизация в СВ, утверждения (SVA), DPI, управление с помощью событий (events) приводятся примеры верификации проекта как на чистом SV, так и построенных по методологии VMM, AVM Я тут слепил PDFник с этой ссылки, пока tutor потом остальные слеплю, выложу. Так наверное лучше будет. SV_tutor.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 34 27 ноября, 2008 Опубликовано 27 ноября, 2008 · Жалоба Я тут слепил PDFник с этой ссылки, пока tutor потом остальные слеплю, выложу. Так наверное лучше будет. Достойное дело. Только вот отступы (indent'ы) в коде не присутствуют, что весьма снижает читабельность примеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 27 ноября, 2008 Опубликовано 27 ноября, 2008 · Жалоба Вот еще слепил, более наглядный тутор, только в плане корректности не проверял, да и концовка я у них что-то не понял. Гипперссылки отсутствуют. SV_TUTOR.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 30 ноября, 2008 Опубликовано 30 ноября, 2008 · Жалоба Подскажите пожалуйста где можно скачать IEEE 1800-2007. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cms 0 30 ноября, 2008 Опубликовано 30 ноября, 2008 · Жалоба Не находил ли кто стандарт IEEE-P1800-2008 - говорят в начале 2008 объединили предыдущий 1800-2005 и верилоговский 1364 в один документ. Любопытно было бы его почитать. Digitally yours, cms Подскажите пожалуйста где можно скачать IEEE 1800-2007. Digitally yours, cms Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 30 ноября, 2008 Опубликовано 30 ноября, 2008 · Жалоба говорят в начале 2008 объединили предыдущий 1800-2005 и верилоговский 1364 в один документ. новости по стандарту обсуждаются здесь: http://electronix.ru/forum/index.php?showtopic=49689 2008 ещё не опубликован, скорее всего только весной след. года Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 1 декабря, 2008 Опубликовано 1 декабря, 2008 · Жалоба Подскажите пожалуйста где можно скачать IEEE 1800-2007. вопросы приобретения материалов не подлежащих свободному распространению в данной ветке не обсуждаются Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба столкнулся с занятной баго фичей. Итак господа что по вашему должно быть выведено в консоль в данном коде module tb #(type T = logic [0:0]); T pipa; initial begin : main $display("size high ", $high(T)); $display("size high ", $high(pipa)); $display("size low ", $low(T)); $display("size low ", $low(pipa)); $display("size type ", $size(T)); $display("size var ", $size(pipa)); $display("len type", $bits(T)); $display("len var ", $bits(pipa)); for (int i = 0; i < $size(T); i++) begin $display("hello %0d", i); end $stop; end endmodule Занятные результаты получаются у меня в квесте 6.4а # size high x # size high x # size low x # size low x # size type x # size var x # len type 1 # len var 1 А у вас ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 10 декабря, 2008 Опубликовано 10 декабря, 2008 · Жалоба столкнулся с занятной баго фичей. Занятные результаты получаются у меня в квесте 6.4а :bb-offtopic: ЗЫ: это баг квесты, а не нюанс СВ ЗЗЫ: в службу поддержки написал. ЗЗЗЫ: при этом баг проявляется только при передачи типа через список параметров модуля, если напрямую объявить пипу как logic[0:0], то всё ок Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба Занятные результаты получаются у меня в квесте 6.4а ок, Ментор ошибку признал. Временное решение проблемы в использовании ключа -vopt. ЗЫ:желательно проблемы ментора обсуждать в разделе по средствам разработки, чтоб не мешать приятное с полезным ;) . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cms 0 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Должна ли в SV работать такая конструкция: module a; parameter param_a = 128; endmodule module b; parameter param_b = a.param_a; initial $display("param_a = %d", a.param_a); endmodule Т.е. можно ли использовать при определении параметра в модуле параметр из другого модуля и как? Удивительно, но VCS параметр из внешнего модуля видит по иерархическому (?) пути без инстанса, $display его отображает правильно. Правда при назначении параметра VCS уже сообщает что a.param_a неконстантное выражение и не компилит его. QuestaSim сразу говорит что не находит в иерархии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 20 декабря, 2008 Опубликовано 20 декабря, 2008 · Жалоба Должна ли в SV работать такая конструкция тут на мой взгляд не всё так однозначно. то, что написано, синтаксически правильно (НО). т.е. во втором модуле параметр через иерархическую ссылку должен быть виден (здесь в СВ аналогия с пакетом, да и вообще с любым пространством имён). другое дело как компилятор относится к этому пространству: включает ли он его при компиляции как подиерархию $root или как совершенно отдельное пространство имён (в случае с пакетом здесь было бы всё точно - пакет компилировался бы в единую подиерархию "рут")... и тут всплывает то самое "НО": какое практическое значение имеют 2 модумя никак не связанные в проекте (да и вообще никак синтаксически не связанные)? какой смысл им делить единое пространство имён? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cms 0 20 декабря, 2008 Опубликовано 20 декабря, 2008 · Жалоба какое практическое значение имеют 2 модумя никак не связанные в проекте (да и вообще никак синтаксически не связанные)? какой смысл им делить единое пространство имён? Модули связанные: инстанциированные параллельно в топе или вложены друг в друга. Например модуль b инстанциирует а в зависимости от значения param_a. P.S. Synopsys ответил, что эта фича еще не заимплеменчена, и что они отправили мой вопрос VCS R&D рассмотреть на предмет включения её в будущих релизах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 21 декабря, 2008 Опубликовано 21 декабря, 2008 · Жалоба Например модуль b инстанциирует а в зависимости от значения param_a. но это не соответствует тому, что вы написали (?). здесь же нет условного инстанцирования - если б был, компилёр должен видеть соседнее(связанное) пространство имён! ЗЫ: а если, как вы говорите, они инстанциированы в топе параллельно, то связи между ними я не вижу. там есть условный генерэйт? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cms 0 21 декабря, 2008 Опубликовано 21 декабря, 2008 · Жалоба но это не соответствует тому, что вы написали (?). здесь же нет условного инстанцирования - если б был, компилёр должен видеть соседнее(связанное) пространство имён! ЗЫ: а если, как вы говорите, они инстанциированы в топе параллельно, то связи между ними я не вижу. там есть условный генерэйт? Вот как раз иерархия интсансов в данном случае значения не имеет. Рассматриваем compilation unit Согласно п.19.3 IEEE 1800-2005(E) tools shall provide use models that allow both of the following cases: a) All files on a given compilation command line make a single compilation unit (in which case the declarations within those files are accessible anywhere else within the constructs defined within those files). B) Each file is a separate compilation unit (in which case the declarations in each compilation-unit scope are accessible only within its corresponding file). Т.е. если два модуля описаны в одном файле, то они находятся в одном пространстве имен $unit, независимо как они с друг другом соотносятся или инстанциируются где бы то ни было. Или вообще не инстанциируются. VCS в соответствии с этим правилом позволяет видеть соседние модули, и даже позволяет спускаться во внутренности этих модулей. Правда при этом где-то теряет признак константности. Схожая бага была в квесте 6.3, когда $clog2 от константы почему-то воспринимался как переменная и не давал использовать результат в определении векторов. В 6.4 это пофиксили и теперь наконец можно писать logic [$clog2(1024)-1:0] a; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться