無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Tonny

無題

#1

投稿記事 by Tonny » 17年前

初めてカキコいたします。

当方、C言語に関してまったくの初心者なのですが(始めて一週間です;;)、現在verilogのシミュレーション環境からPLI関数を呼びだしてクロックを生成することを目指しています。
具体的にはCのソース部分で100MHzのクロックを生成したいのですが、どのようにクロック周波数やシミュレーション時間を定義したらよいのかわからず途方にくれております。
見様見真似でかいた.cのソースコードは以下の通りです。

.C file
#include "acc_user.h"
#include "veriuser.h"

// Define the ON and OFF time of clock 
#define init_time 0.0 
#define last_time 100.0ps 
#define step 10e-8s 

clock ()
{
    int i;
	char clock = 0, last_clock;

// Main routine which toggles the clock
	for (i = 0; i < step; i++) {
		last_clock = clock;
		clock = !( last_clock ) ;

    io_printf ("i:%2d", i) ;
    io_printf ("clock:%1d", clock) ;
	}

}
.v file
module clkGen(clk);
output clk;
reg clk;

initial 
   begin
     //$shm_open("trn_open");
	 //$shm_probe("AC");
	 $clkGen(clk);
   end
endmodule
これだとテキスト出力はされるのですが、時間の流れが負えず、所望の波形が出力されているのかどうか確認できません。
何かよい知恵がございましたら、ご教授ください。
よろしくお願いいたします。

“C言語何でも質問掲示板” へ戻る