« AVM 続き | Main | 今日のLisp »

2007.03.01

AVM カウンター

Advanced Verification Methodologyクックブック 第2章。
いろいろあったけど、カウンター動きました。

gtkwaveの見た目が変わっていてびっくり。Show allのボタンが
付くだけでこんなに使いやすくなるなんて。


SystemC 2.1.v1 --- Feb 25 2007 08:54:25
Copyright (c) 1996-2005 by all Contributors
ALL RIGHTS RESERVED
WARNING: Default time step is used for VCD tracing.
q = 0 count = 0
q = 0 count = 0
q = 0 count = 0
q = 0 count = 0
q = 0 count = 0
q = 1 count = 1
q = 2 count = 2
q = 3 count = 3
q = 4 count = 4
q = 5 count = 5
q = 6 count = 6
q = 7 count = 7
q = 0 count = 0
q = 1 count = 1
q = 2 count = 2
q = 3 count = 3
q = 4 count = 4
q = 5 count = 5
q = 6 count = 6


こんな感じで、SystemCモデルと、C言語が一致していることを確認できます。ソースファイルはこちら

wireのassign相当の部分は、それぞれSC_METHODを書いて解決。

void counter::update(void)
{
sc_uint < 3 > q_out;

q_out[0] = q_0.read();
q_out[1] = q_1.read();
q_out[2] = q_2.read();

bool t_tmp = q_out[0] && q_out[1];

t_2.write(t_tmp);
q.write(q_out);
}

void counter::init(void) {
const_true.write(true);
}

そんなことより、SystemCモデルと、C言語の期待値を比較するってほとんど意味なくね?
HDL、C、プロト、実機とか、違うテクノロジー間の方がすごく意味があると思うな。

|

« AVM 続き | Main | 今日のLisp »

Comments

回路を記述しているように見えないのが、
凄いですね。-> SystemC

SystemCは、全然解りません。
テンプレートのC++のソースとしてなら読めます。

Posted by: ぽっぽファクトリー | 2007.03.02 at 01:14 PM

ぽっぽファクトリーさん、こんにちは。

結局、キモになる部分は、Δ遅延だとか、evaluate-updateとかですので、
そういう意味では回路記述に近く感じますよ。内部が公開されていて
頑張ればいろいろできそう、かつ、なんだかなぁと思うような部分もあり
普及する要素は備えていると思います。
(あんまり綺麗に設計された物は普及しないので・・・)

Posted by: なつたん | 2007.03.05 at 09:19 PM

Posted by: free police background check pa | 2015.09.18 at 02:14 PM

Posted by: free background check cincinnati ohio | 2015.10.14 at 02:45 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/14092641

Listed below are links to weblogs that reference AVM カウンター:

« AVM 続き | Main | 今日のLisp »