реклама на сайте
подробности

 
 
18 страниц V  « < 7 8 9 10 11 > »   
Reply to this topicStart new topic
> Документация на System Verilog, Сбор документации на SVerilog. И обсуждение тонких моментов синтаксиса
Iptash
сообщение Nov 27 2008, 07:01
Сообщение #121


Профессионал
*****

Группа: Свой
Сообщений: 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 потом остальные слеплю, выложу. Так наверное
лучше будет.
Прикрепленные файлы
Прикрепленный файл  SV_tutor.pdf ( 290.98 килобайт ) Кол-во скачиваний: 378
 
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 27 2008, 07:31
Сообщение #122


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Iptash @ Nov 27 2008, 13:01) *
Я тут слепил PDFник с этой ссылки, пока tutor потом остальные слеплю, выложу. Так наверное
лучше будет.

Достойное дело. Только вот отступы (indent'ы) в коде не присутствуют, что весьма снижает читабельность примеров.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Iptash
сообщение Nov 27 2008, 20:57
Сообщение #123


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Вот еще слепил, более наглядный тутор, только в плане корректности не проверял, да и концовка
я у них что-то не понял. Гипперссылки отсутствуют.
Прикрепленные файлы
Прикрепленный файл  SV_TUTOR.pdf ( 691 килобайт ) Кол-во скачиваний: 3094
 
Go to the top of the page
 
+Quote Post
Iptash
сообщение Nov 30 2008, 11:47
Сообщение #124


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Подскажите пожалуйста где можно скачать IEEE 1800-2007.
Go to the top of the page
 
+Quote Post
cms
сообщение Nov 30 2008, 13:27
Сообщение #125


Частый гость
**

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Nov 30 2008, 20:11
Сообщение #126


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(cms @ Nov 30 2008, 17:27) *
говорят в начале 2008 объединили предыдущий 1800-2005 и верилоговский 1364 в один документ.

новости по стандарту обсуждаются здесь: http://electronix.ru/forum/index.php?showtopic=49689
2008 ещё не опубликован, скорее всего только весной след. года


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 1 2008, 12:47
Сообщение #127


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(Iptash @ Nov 30 2008, 15:47) *
Подскажите пожалуйста где можно скачать IEEE 1800-2007.

вопросы приобретения материалов не подлежащих свободному распространению в данной ветке не обсуждаются


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 10 2008, 06:40
Сообщение #128


Вечный ламер
******

Группа: Модераторы
Сообщений: 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


А у вас ?


--------------------
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 10 2008, 14:15
Сообщение #129


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(des00 @ Dec 10 2008, 10:40) *
столкнулся с занятной баго фичей.
Занятные результаты получаются у меня в квесте 6.4а

bb-offtopic.gif
ЗЫ: это баг квесты, а не нюанс СВ
ЗЗЫ: в службу поддержки написал. ЗЗЗЫ: при этом баг проявляется только при передачи типа через список параметров модуля, если напрямую объявить пипу как logic[0:0], то всё ок


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 15 2008, 16:55
Сообщение #130


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(des00 @ Dec 10 2008, 10:40) *
Занятные результаты получаются у меня в квесте 6.4а

ок, Ментор ошибку признал. Временное решение проблемы в использовании ключа -vopt.
ЗЫ:желательно проблемы ментора обсуждать в разделе по средствам разработки, чтоб не мешать приятное с полезным wink.gif .


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
cms
сообщение Dec 19 2008, 17:54
Сообщение #131


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266



Должна ли в 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 сразу говорит что не находит в иерархии.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 20 2008, 01:36
Сообщение #132


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(cms @ Dec 19 2008, 20:54) *
Должна ли в SV работать такая конструкция

тут на мой взгляд не всё так однозначно. то, что написано, синтаксически правильно (НО). т.е. во втором модуле параметр через иерархическую ссылку должен быть виден (здесь в СВ аналогия с пакетом, да и вообще с любым пространством имён). другое дело как компилятор относится к этому пространству: включает ли он его при компиляции как подиерархию $root или как совершенно отдельное пространство имён (в случае с пакетом здесь было бы всё точно - пакет компилировался бы в единую подиерархию "рут")... и тут всплывает то самое "НО": какое практическое значение имеют 2 модумя никак не связанные в проекте (да и вообще никак синтаксически не связанные)? какой смысл им делить единое пространство имён?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
cms
сообщение Dec 20 2008, 19:26
Сообщение #133


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266



Цитата(CaPpuCcino @ Dec 20 2008, 04:36) *
какое практическое значение имеют 2 модумя никак не связанные в проекте (да и вообще никак синтаксически не связанные)? какой смысл им делить единое пространство имён?


Модули связанные: инстанциированные параллельно в топе или вложены друг в друга. Например модуль b инстанциирует а в зависимости от значения param_a.

P.S. Synopsys ответил, что эта фича еще не заимплеменчена, и что они отправили мой вопрос VCS R&D рассмотреть на предмет включения её в будущих релизах.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 21 2008, 01:33
Сообщение #134


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(cms @ Dec 20 2008, 22:26) *
Например модуль b инстанциирует а в зависимости от значения param_a.

но это не соответствует тому, что вы написали (?). здесь же нет условного инстанцирования - если б был, компилёр должен видеть соседнее(связанное) пространство имён! ЗЫ: а если, как вы говорите, они инстанциированы в топе параллельно, то связи между ними я не вижу. там есть условный генерэйт?


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
cms
сообщение Dec 21 2008, 19:13
Сообщение #135


Частый гость
**

Группа: Свой
Сообщений: 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).
cool.gif 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;
Go to the top of the page
 
+Quote Post

18 страниц V  « < 7 8 9 10 11 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016