Jump to content
    

Документация на System Verilog

Прикладываю статейку от менторовцев, в которой рассказано, чем удобен SV именно для синтеза. А также кратенькое описание отличия SV от verilog.

Changing_Role_of_Synthesis_1_0806.pdf

2002_hdlcon_paper_systemverilog_3133.pdf

Share this post


Link to post
Share on other sites

можете объяснить преимущества использования SV перед обычным верилогом именно для синтезируемых описаний?

есть несколько моментов которые мне понравились, но это может выглядеть очень ущербным. Повторюсь, я ж только в квартусе с ним работал :(

вот например:

описание входных-выходных портов в модуле:

module ss_smii_rx

(

input aclr,

input rxclk,

input sync,

input rxd,..........)

т.е. теперь надо это писать только однажды.

потом, введение структур, енумерации.

Только я не понял нафига мне структуры если я с ними не могу производить никаких действий т.е. например:

struct {

logic PARITY;

logic[3:0] ADDR;

logic[3:0] DEST;

} pkt_t;

 

logic [8:0] m;

assign m = pkt_t; (так не прокатит)

assign m = {pkt_t.PARITY, pkt_t.ADDR, pkt_t.DEST}; (можно только так)

надеюсь это всего лишь ущерб квартуса

 

 

Дело в том, что в этом случае (assign m = pkt_t;) вы пытаетесь присвоить структуру типа unpacked (она такая по умолчанию) переменной типа packed. Составляющие unpacked структур в памяти симулятора могут располагаться как угодно (размер струкиуры не известен), тогда как составляющие packed структуры располагаются друг за другом (известен размер структуры). Соответственно, чтоб работало нормально, нужно написать так:

struct packed{

logic PARITY;

logic[3:0] ADDR;

logic[3:0] DEST;

} pkt_t;

 

logic [8:0] m;

assign m = pkt_t;

 

Кстати говоря размер m равен 9, а размер pkt_t 8.....

Edited by PAB

Share this post


Link to post
Share on other sites

нда, чего только люди не придумают .....

лишь бы VHDL'93 не изучать :)

 

Насчет будующего думаю стоит упомянуть еще и новую редакцию стандарта VHDL.

Share this post


Link to post
Share on other sites

Дело в том, что в этом случае (assign m = pkt_t;) вы пытаетесь присвоить структуру типа unpacked (она такая по умолчанию) переменной типа packed. Составляющие unpacked структур в памяти симулятора могут располагаться как угодно (размер струкиуры не известен), тогда как составляющие packed структуры располагаются друг за другом (известен размер структуры). Соответственно, чтоб работало нормально, нужно написать так:

struct packed{

logic PARITY;

logic[3:0] ADDR;

logic[3:0] DEST;

} pkt_t;

 

logic [8:0] m;

assign m = pkt_t;

 

Кстати говоря размер m равен 9, а размер pkt_t 8.....

Спасибо. Всё правильно.

Правда, я это тоже недавно сам понял.

Share this post


Link to post
Share on other sites

Во! Нашёл. Есть отличная дока по SVerilog. И и лежит себе прямо на ФТП в ДОК/АНСОРТЕД/ аж на 350 страниц!

Плохо правда, что все страницы в растровом виде :(

Share this post


Link to post
Share on other sites

Вот встретилось, может кому-нибудь нужно ...

 

Verification Methodology Manual for SystemVerilog by

 

Janick Bergeron

Eduard Cerny

Alan Hunter

Andrew Nightingale

http://rapidshare.de/files/26050684/vmmsv.zip.html

 

А нельзя ли ещё разок на рапиде выложить эту книгу, а то ссылка уже не работает

Share this post


Link to post
Share on other sites

огромное спасибо.

вопрос:файл защищён от печати или у меня глюк? если да - то можно ли это как-нибудь обойти?

Share this post


Link to post
Share on other sites

каюсь. не заметил "not for (re)distribution" (просто качал файл не по ссылке с рапиды, а из осла)

протекцию снял. (прога называется "адвенцед ПДФ пассворд рекавери про" (шоб враг не догадался))

 

Verification Methodology - Manual for SystemVerilog - Bergeron, Cerny, Hunter, Nightingale; Springer; 2005 FREE.pdf (4.22 Mb)

(File code: arMHkgElVmE0GXH )

Share this post


Link to post
Share on other sites

to Doka

:a14: ушло в печать:)

а вот этого случайно в ослике ещё не появилось? - оч бы хотелось :) :

http://electronix.ru/forum/index.php?showt...mp;#entry227805

к стати она в закрома покладена? а то я покопался - чё-т не нашёл

Share this post


Link to post
Share on other sites

CaPpuCcino, ни той ни другой нет ни в ослике, ни в других источниках.. судя по всему электронная версия еще "не вышла".

Share this post


Link to post
Share on other sites

sazh, :cheers:

 

залил последние 3 книги, упоминаемые в теме в

/pub/DOC/Books/HDL/SystemVerilog

Share this post


Link to post
Share on other sites

вот отлично - а мне как раз позовчера доставили предпоследнюю - хорошо что я её запекать не начал. а последнюю я засыпал в закрома ещё летом прошлого года (правда первое издание и в скане). вот теперь сижу и думаю запекать Янчика Бергерона WT using SV или не напрягаться и подождать пэдээфок :)

нужно заметить что SVer for Ver немного разочаровала - совсем для бегинеров - стандарт читать намного круче, Янчик Бергерон - для среднего уровня и тоже выше стандарта в раскрытие темы использования СВ не прыгает, хотя и объясняет хорошо что к чему на генеральном уровне - но это можно было прочесть еще в просто WT 2nd edition а вот VerMetManual его же мне показалась очень интересной для размышления над тем как надобно жить мне показалась очень интересной для размышления

 

а вообще :a14: всем работником подполья :biggrin:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...