SV 関連 URL virtual i/f

 


インタフェース関連

https://sites.google.com/site/playsystemverilog/others/interface
https://sites.google.com/site/playsystemverilog/others/interface
http://japanese.sugawara-systems.com/systemverilog/virtual_interface.htm

http://www.jeita-edatc.com/users_lib/systemdesignforum2007_docs/sdf2007_sv2.pdf


http://www.asic-world.com/systemverilog/interface.html
http://www.asic-world.com/systemverilog/interface8.html#Virtual_Interface
http://www.asic-world.com/systemverilog/interface9.html#Example_2_:_Virtual_Interface
http://www.asic-world.com/systemverilog/interface10.html#Example_3_:_Virtual_Interface

S V のURL いろいろ
http://www.asic-world.com/systemverilog/interface.html

http://www.project-veripage.com/interface_1.php

大学資料
http://www.ie.u-ryukyu.ac.jp/~wada/system11/SystemVerilog%20Interface.pdf

 

OVMやが日本語!
https://s3.amazonaws.com/ovmworld/files/userguides/OVMUG2.0Jrev01.pdf
https://s3.amazonaws.com/ovmworld/files/userguides/OVMUG2.0Jrev01.pdf

http://www.doulos.com/knowhow/sysverilog/tutorial/interfaces/

 

http://lsifrontend.blog100.fc2.com/blog-entry-72.html
-> つづきhttp://lsifrontend.blog100.fc2.com/blog-entry-64.html


http://d.hatena.ne.jp/goforit55/20110415/1302881610

http://qiita.com/tethys_seesaa/items/10cdcb57eadfe4767adf


http://japanese.sugawara-systems.com/systemverilog/veritak_system_verilog_tutorial_frame.htm


http://d.hatena.ne.jp/goforit55/20110509/1304957447
http://qiita.com/tethys_seesaa/items/2620f8b635bc351f6fbb
http://blogs.yahoo.co.jp/verification_engineer/62114843.html
http://www.altima.jp/products/software/mentor/sysveri1.html

 

http://www.jeita-edatc.com/users_lib/systemdesignforum2007_docs/sdf2007_sv2.pdf

 

http://japanese.sugawara-systems.com/systemverilog/virtual_interface.htm

https://sites.google.com/site/playsystemverilog/others/interface

http://lsifrontend.blog100.fc2.com/blog-entry-72.html

http://d.hatena.ne.jp/goforit55/20110509/1304957447

http://qiita.com/tethys_seesaa/items/2620f8b635bc351f6fbb

http://pasonatsutan.hatenadiary.jp/entry/2013/07/15/201803

http://blogs.yahoo.co.jp/verification_engineer/62114843.html


動画Virtual IF
http://wkx21c.org/v/tech/318190


http://pasonatsutan.hatenadiary.jp/entry/2013/07/10/113851

http://pasonatsutan.hatenadiary.jp/entry/2013/07/24/164453

http://pasonatsutan.hatenadiary.jp/entry/2013/07/17/174327
http://pasonatsutan.hatenadiary.jp/entry/2013/08/13/174532
http://pasonatsutan.hatenadiary.jp/entry/2013/07/25/223238
http://pasonatsutan.hatenadiary.jp/entry/2013/07/25/162714

http://www.kumikomi.net/archives/2009/07/socip_cyberworkbench.php?page=2

http://www.kumikomi.net/archives/2009/07/socip_cyberworkbench.php


http://www.kumikomi.net/archives/2012/03/ted_windows_embedded.php

http://lsifrontend.blog100.fc2.com/blog-category-20.html

http://www.systemcjapan.com/SCJ2013/aboutshuttensha.html

http://www.systemcjapan.com/SCJ2011/aboutshuttensha.html

http://blogs.yahoo.co.jp/sawaragikun/24436706.html


http://www.kumikomi.net/article/news/2003/03/11_01.php

試行中のもの
http://systemc.seesaa.net/category/13257510-2.html


参考
SV対訳表
http://www.jeita-edatc.com/users_lib/SystemC-SystemVerilogTranslation2007.pdf

→こういうの普段から持ち歩いてたら
 どこ言ってもつかえるなぁ。
 ・concatinate 連接(っぽい意味だったなぁ)つづり調べてないなぁ(笑)

 

<機能カバレッジ関連>
IES?とVCSを比較した話ちょこっと
http://verif-systemverilog.seesaa.net/category/12633966-1.html

 

<別件>
SystemC
スライド:http://www.slideshare.net/kocha2012/systemc-tutorial

 

test14v3.pl

#!/usr/bin/perl
#インスタンス「(」無しには非対応

$i= 0;


while($line = <>){

$i=$i+1;
$line =~ s#\(# \(#;
$line =~ s#^\s*always.*##; #always line delete (応急処置)
$line =~ s#^\s*if\s*\(.*##; #if line delete (応急処置)
$line =~ s#^\s*else\s*.*##; #else line delete (応急処置)

if ( $line =~ m/^\s*module\s*([^ \t\n\r\f]+)\b/ ) {
$modulenext = 0;
printf ("%4d ", $i);
# print "module : ";
print "module , ";
print $line;
$modulename = $1; #()内をキャプチャして変数へ
} elsif ( $line =~ m/^\s*module\s*/ ) {
$modulenext = 1; # flag
} elsif ( $line =~ m/^\s*([^ \t\n\r\f]+)\s+([^ \t\n\r\f]+)\s*\(/ && $line !~ m/^\s*module/) {
$module_next = 0;
printf ("%4d ", $i);
# print "instance: ";
print "instance, ";
print "$modulename ,";
print $line;
} elsif ( ($modulenext == 1) && ($line =~ m/^\s*([^ \t\n\r\f]+)\s*/ ) ) {
printf ("%4d ", $i);
# print "module : ";
print "module , ";
print $line;
$modulename = $1; #()内をキャプチャして変数へ
$modulenext = 0; # clear flag
}

}

 

 

 

気になったニュース

 

●2014-10-14

http://itpro.nikkeibp.co.jp/atcl/news/14/101401346/?top_tl1

http://av.watch.impress.co.jp/docs/news/20141014_671130.html
http://av.watch.impress.co.jp/docs/news/20141009_670698.html
http://av.watch.impress.co.jp/docs/news/20141014_671206.html
http://av.watch.impress.co.jp/docs/news/20141014_671162.html
http://www.nikkei.com/article/DGXLASDG1403X_U4A011C1CR8000/?n_cid=TPRN0009
http://www.toshiba.co.jp/regza/function/10a/function04.html

 

 

改行モジュール対応1st(いいのできたかも?) test14.pl

 

改行モジュールに対応してみた!


test14.pl (改行モジュール対応v0.1版)
================================
#!usr/bin/env perl


$i= 0;


while($line = <>){

$i=$i+1;
$line =~ s#\(# \(#;

if ( $line =~ m/^\s*module\s*([^ \t\n\r\f]+)\b/ ) {
$modulenext = 0;
printf ("%4d ", $i);
print "module : ";
print $line;
$modulename = $1; #()内をキャプチャして変数へ
} elsif ( $line =~ m/^\s*module\s*/ ) {
$modulenext = 1; # flag
} elsif ( $line =~ m/^\s*([^ \t\n\r\f]+)\s+([^ \t\n\r\f]+)\s*\(/ && $line !~ m/^\s*module/) {
$module_next = 0;
printf ("%4d ", $i);
print "instance: ";
print "$modulename ,";
print $line;
} elsif ( ($modulenext == 1) && ($line =~ m/^\s*([^ \t\n\r\f]+)\s*/ ) ) {
printf ("%4d ", $i);
print "module : ";
print $line;
$modulename = $1; #()内をキャプチャして変数へ
$modulenext = 0; # clear flag
}

}
========================================

<実行結果>

shin@ubuntu:~/TEXToperation$ perl5.10.1 test14.pl test001.v
1 module : module HOGEMODULE ( // No space
16 instance: HOGEMODULE ,DUMMY Instance ();
18 instance: HOGEMODULE ,INST instance1 ( );
19 instance: HOGEMODULE ,INST instance2 ( );
20 instance: HOGEMODULE ,INST \instance3 ( );
21 instance: HOGEMODULE ,INST \insta/nce4 ( );
22 instance: HOGEMODULE ,INST \insta_nce5 ( );
23 instance: HOGEMODULE ,INST \insta7nce6 ( );
24 instance: HOGEMODULE ,INST insta.7nce7 ( );
29 instance: HOGEMODULE ,INST instance9 ( )
30 instance: HOGEMODULE , INST insta10 ( );
32 instance: HOGEMODULE ,INSTout inStance01 ( );
38 module : module HOGE2 ( // space x 1
46 module : module HOGE3 ( // tab x 1
48 instance: HOGE3 , INST instance1 ( );
49 instance: HOGE3 , INST instance2 ( );
50 instance: HOGE3 , INST \instance3 ( );
51 instance: HOGE3 , INST \insta/nce4 ( );
52 instance: HOGE3 , INST \insta_nce5 ( );
53 instance: HOGE3 , INST \insta7nce6 ( );
58 module : module HOGE4 ( // tab x 1 + space x 2
60 instance: HOGE4 , INST \insta/nce4 ( );
61 instance: HOGE4 , INST \insta_nce5 ( );
66 module : module HOGEreg001 (
69 instance: HOGEreg001 , INST \insta/nce4 ( );
70 instance: HOGEreg001 , INST \insta_nce5 ( );
74 module : HOGE5 ( // tab x 1 + space x 2
76 instance: HOGE5 , INST \insta/nce4 ( );
77 instance: HOGE5 , INST \insta_nce5 ( );

 


test001.v( v20140930new )
======================================
module HOGEMODULE ( // No space

input hoge ;

output hogege;

reg aaa ;
reg aaa ; // hoge hoge hoge


for ( i=0 ; i<0 ; i++ ) begin


end

DUMMY Instance ();

INST instance1 ( );
INST instance2( );
INST \instance3 ( );
INST \insta/nce4 ( );
INST \insta_nce5 ( );
INST \insta7nce6 ( );
INST insta.7nce7 ( );
INST
instance8 ( );


INST instance9 ( )
INST insta10 ( );

INSTout inStance01 ( );

 

endmodule

module HOGE2 ( // space x 1

);


endmodule


module HOGE3 ( // tab x 1
);
INST instance1 ( );
INST instance2( );
INST \instance3 ( );
INST \insta/nce4 ( );
INST \insta_nce5 ( );
INST \insta7nce6 ( );
endmodule

 

module HOGE4 ( // tab x 1 + space x 2
);
INST \insta/nce4 ( );
INST \insta_nce5 ( );

endmodule


module HOGEreg001 (
);

INST \insta/nce4 ( );
INST \insta_nce5 ( );
endmodule

module
HOGE5 ( // tab x 1 + space x 2
);
INST \insta/nce4 ( );
INST \insta_nce5 ( );

endmodule

#### v20140930new
======================================

 

 

数字をフォーマットにそって表示するには?(「0025」それとも「__25」?)

print でなく、

printf を使う。

 

例)

printf ("%04d:", $i);

→$i = 25 だったすると、

上記実行の結果表示されるのは、

0025:

 

では、4ケタはそのままで最初の「00」を表示しないようにするには?

答え)

printf ("%4d:", $i );

でいける。

  25:

 

つまり %04d の

 「0」を付けると"0"で空いた桁を埋め、

 「0」を付けないと"半角空白"で桁を埋める

というようになっている模様。