Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。
(setq verilog-auto-newline nil)
(setq verilog-auto-start-save t)
(setq verilog-auto-star-expand t)
module sample (input CLK, input DIN, output DOUT);
logic ff0, ff1;
always_ff @(posedge CLK) begin
ff0 <= DIN;
ff1 <= ff0;
end
assign DOUT = ff1;
endmodule
module sample_vt;
logic CLK, DIN;
wire DOUT;
sample DUT ( .*);
endmodule
module sample_vt;
logic CLK, DIN;
wire DOUT;
sample DUT ( .*,
// Outputs
.DOUT (DOUT), // Implicit .*
// Inputs
.CLK (CLK), // Implicit .*
.DIN (DIN)); // Implicit .*
endmodule
use Socket;
use HTML::TokeParser; # TDS3064Bからの応答を解析するのに必要
# ソケットの作成
my $hostname = '192.168.0.4'; # TDS3064BのIPアドレス
my $port = getservbyname('http', 'tcp');
my $iaddr = inet_aton($hostname)
or die("Cannot convert hostname to IP address.");
my $sock_addr = pack_sockaddr_in($port, $iaddr);
socket(SOCKET, PF_INET, SOCK_STREAM, 0) or die("Cannot creat socket.");
connect(SOCKET, $sock_addr) or die("Cannot connect to $hostname.");
select(SOCKET); $| = 1; select (STDOUT);
# コマンドの作成
# $commandは、測定のソースをチャネル0に設定するコマンド
my $command = "measurement:immed:source ch0";
my $cmd = "COMMAND=$commandrn";
$cmd .= "gpibsend=Sendrnname=rn";
# TDS3064B内のCGIを使う
print SOCKET "POST /Comm.html HTTP/1.1rn";
print SOCKET "Host: $hostnamern";
print SOCKET "Referer: http://$hostname/Comm.htmlrn";
print SOCKET "Content-Type: text/plainrn";
print SOCKET "Content-Length: ", length($cmd), "rn";
print SOCKET "rn";
print SOCKET $cmd;
print SOCKET "rn";
# TDS3064Bからの応答を$respに連結していく
my $resp;
while () {
next unless /^/;
$resp .= $_;
}
close (SOCKET);
# ほしい情報は、TDS3064Bからの応答のtextareaタグに入っている。
# HTML::TokeParserでその内容だけ抜き出す。
my $p = HTML::TokeParser->new($resp) or die("HTML::TokeParser failed.");
my $tag = $p->get_tag('textarea');
# 応答は、$p->get_text()として見ることができる
#include
#include "veriuser.h"
void hello() {
io_printf("Hello, World!\n");
}
s_tfcell veriusertfs[] = {
{usertask, 0, 0, 0, hello, 0, "$hello"},
{0}
};
module hello; initial begin $hello; #1 $finish; end endmodule
gcc -c -I<ModelSim directory>/include hello.c
gcc -shared -Bsymbolic -o hello.dll hello.o -L<ModelSim directory>/win32aloem -lmtipli
vlib work
vlog hello.v
vsim -c -pli hello.dll -do "run 1 us" hello
カレンダー
カテゴリー
フリーエリア
最新CM
最新記事
最新TB
プロフィール
ブログ内検索
カウンター
アクセス解析