perl和tcl 在验证中 (附do文件例子)

来源:互联网 发布:晋中干部网络培训学校 编辑:程序博客网 时间:2024/05/19 05:38

 perl和tcl都是脚本语言,都是起到一个粘合剂的作用,将各种不同语言,不同工具粘合在一起,方便工程的运行和管理。所以从实质上说,用perl和用tcl都是一样的,完全看工程师的喜好,你也可以用shell和python干同样的事。从一种简单的想法考虑,你可以把这些语言写成的脚本看作批处理程序,让脚本代替你干一些机械的事情,比如找file list, 搜集编译参数,运行参数,从文本解析宏定义,生成report,记录运行历史等等。
几乎所有的eda工具都提供tcl的接口,特别是在命令行模式下。

vlib work;
vmap work work;
vcom addsub.vhd;
vsim -t ps addsub;
view list wave;
add wave /addsub/*;
add list /addsub/*;
set addnsub_file "addnsub.dat";
set result_file "result.dat"; set outFilePtr1 [open $addnsub_file w]; set outFilePtr2 [open $result_file w];

force a 10;
force b 3;
force addnsub 1;
run 1us;
set addnsub_var [examine /addsub/addnsub];
set result_var [examine /addsub/result];
puts $outFilePtr1 $addnsub_var;
puts $outFilePtr2 $result_var;
force addnsub 0;
run 1us;
set addnsub_var [examine /addsub/addnsub];
set result_var [examine /addsub/result];
puts $outFilePtr1 $addnsub_var;
puts $outFilePtr2 $result_var;
force a 25;
force b 20;
run 1us;
set addnsub_var [examine /addsub/addnsub];
set result_var [examine /addsub/result];
puts $outFilePtr1 $addnsub_var;
puts $outFilePtr2 $result_var;
force a 31;
force b 13;
run 1us;
set addnsub_var [examine /addsub/addnsub];
set result_var [examine /addsub/result];
puts $outFilePtr1 $addnsub_var;
puts $outFilePtr2 $result_var;
close $outFilePtr1;
close $outFilePtr2;

write list addsub.lst;
write report test.log;

原创粉丝点击