ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
``` #!/usr/bin/env bash #UFUNCTION=sverilog仿真脚本 #by yunahp 2020/6/4 ####################### system verilog仿真脚本 ####################### dir=$(pwd) SHELL_NAME="msv" main(){ pwd cmd=$1 case $cmd in "--help" | "-h") mhelp;; "-c" | "--compile")compile $2 ;; #编译执行单文件仿真项目 "-i" | "--init")init ;; #初始化项目 "*") echo "over";; esac } mhelp(){ echo " 使用说明:本脚本用于编译仿真简单的system verilog文件" echo " $SHELL_NAME -c filename 编译仿真svetem verilog文件" echo " $SHELL_NAME --help 显示帮助" exit 0 } #编译项目 compile(){ file_name=$1 echo "-> 准备编译$file_name文件" if [ ! -f $file_name ] ; then echo "-> $file_name文件不存在" exit 1 else echo "-> 开始编译$file_name文件" vcs -full64 -LDFLAGS -Wl,-no-as-needed -V -R -sverilog $file_name fi } #执行仿真项目 executeSim(){ if [ -f "simv"]; then echo "-> 查看system verilog的仿真结果" ./simv else echo "err -> 仿真文件不存在!请先编译生成simv文件!" exit 1 fi } # 初始化项目 init(){ if [ ! -f tb.sv ];then echo "-> 不存在顶层文件tb.sv,生成tb.sv文件!" cat <<EOF > tb.sv module tb ; initial begin \$display("test running!"); end endmodule EOF if [ ! -f run ];then echo "#!/usr/bin/env bash " > run echo "find -name \"*.sv\" > compile.file" >> run echo "vcs -full64 -LDFLAGS -Wl,-no-as-needed -V -R -sverilog -f compile.file">>run fi fi } #执行主函数 main $* ```