|
|
  |
Документация на System Verilog, Сбор документации на SVerilog. И обсуждение тонких моментов синтаксиса |
|
|
|
Nov 27 2008, 07:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Цитата(CaPpuCcino @ Oct 22 2008, 18:12)  очень недурственный учебный ресурс (тьюториалы) по SystemVerilog - http://testbench.in/помимо прочего рассматриваются такие вопросы как: классы СВ, рандомизация в СВ, утверждения (SVA), DPI, управление с помощью событий (events) приводятся примеры верификации проекта как на чистом SV, так и построенных по методологии VMM, AVM Я тут слепил PDFник с этой ссылки, пока tutor потом остальные слеплю, выложу. Так наверное лучше будет.
|
|
|
|
|
Nov 30 2008, 13:27
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266

|
Не находил ли кто стандарт IEEE-P1800-2008 - говорят в начале 2008 объединили предыдущий 1800-2005 и верилоговский 1364 в один документ. Любопытно было бы его почитать. Digitally yours, cms Цитата(Iptash @ Nov 30 2008, 14:47)  Подскажите пожалуйста где можно скачать IEEE 1800-2007. Digitally yours, cms
|
|
|
|
|
Dec 10 2008, 06:40
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
столкнулся с занятной баго фичей. Итак господа что по вашему должно быть выведено в консоль в данном коде Код 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 А у вас ?
--------------------
|
|
|
|
|
Dec 20 2008, 19:26
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266

|
Цитата(CaPpuCcino @ Dec 20 2008, 04:36)  какое практическое значение имеют 2 модумя никак не связанные в проекте (да и вообще никак синтаксически не связанные)? какой смысл им делить единое пространство имён? Модули связанные: инстанциированные параллельно в топе или вложены друг в друга. Например модуль b инстанциирует а в зависимости от значения param_a. P.S. Synopsys ответил, что эта фича еще не заимплеменчена, и что они отправили мой вопрос VCS R&D рассмотреть на предмет включения её в будущих релизах.
|
|
|
|
|
Dec 21 2008, 19:13
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266

|
Цитата но это не соответствует тому, что вы написали (?). здесь же нет условного инстанцирования - если б был, компилёр должен видеть соседнее(связанное) пространство имён! ЗЫ: а если, как вы говорите, они инстанциированы в топе параллельно, то связи между ними я не вижу. там есть условный генерэйт? Вот как раз иерархия интсансов в данном случае значения не имеет. Рассматриваем 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).  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;
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|