📄 run_sim
字号:
#!/bin/csh -fset current_par = 0set output_waveform = 0while ( $current_par < $# ) @ current_par = $current_par + 1 case wave: @ output_waveform = 1 breaksw default: echo 'Unknown option "'$argv[$current_par]'"!' exit breaksw endswendecho "TEST: spi"#echo "-CDSLIB ./cds.lib" > ncvlog.args#echo "-HDLVAR ./hdl.var" >> ncvlog.argsecho "-MESSAGES" > ncvlog.argsecho "-INCDIR ../../../bench/verilog" >> ncvlog.argsecho "-INCDIR ../../../rtl/verilog" >> ncvlog.argsecho "-NOCOPYRIGHT" >> ncvlog.argsecho "-UPDATE" >> ncvlog.argsecho "-LOGFILE ncvlog.log" >> ncvlog.argsforeach filename ( `cat ./rtl.fl` ) echo "../../../rtl/verilog/"$filename >> ncvlog.argsendforeach filename ( `cat ./sim.fl` ) echo "../../../bench/verilog/"$filename >> ncvlog.argsendncvlog -f ncvlog.argsif ($status != 0) then echo "STATUS: failed" exitendifecho "-MESSAGES" > ncelab.argsecho "-NOCOPYRIGHT" >> ncelab.args#echo "-CDSLIB ./cds.lib" >> ncelab.args#echo "-HDLVAR ./hdl.var" >> ncelab.argsecho "-LOGFILE ncelab.log" >> ncelab.argsecho "-SNAPSHOT worklib.tb_spi_top:v" >> ncelab.argsecho "-NOTIMINGCHECKS" >> ncelab.argsecho "-ACCESS +RWC" >> ncelab.argsecho "tb_spi_top" >> ncelab.argsncelab -f ncelab.argsif ($status != 0) then echo "STATUS: failed" exitendifecho "-MESSAGES" > ncsim.argsecho "-NOCOPYRIGHT" >> ncsim.args#echo "-CDSLIB ./cds.lib" >> ncsim.args#echo "-HDLVAR ./hdl.var" >> ncsim.argsecho "-INPUT ncsim.tcl" >> ncsim.argsecho "-LOGFILE ncsim.log" >> ncsim.argsecho "worklib.tb_spi_top:v" >> ncsim.argsif ( $output_waveform ) then echo "database -open waves -shm -into ../out/wav" > ./ncsim.tcl echo "probe -create -database waves -shm tb_spi_top -all -depth all" >> ./ncsim.tcl echo "stop -create -time 25000000 -relative" >> ./ncsim.tcl echo "run" >> ./ncsim.tclelse echo "stop -create -time 25000000 -relative" >> ./ncsim.tcl echo "run" > ./ncsim.tclendifecho "exit" >> ncsim.tclncsim -LICQUEUE -f ./ncsim.argsset exit_line_nb = `sed -n '/exit/=' < ./ncsim.log`set dead_line_nb = 0if ( $exit_line_nb ) then @ dead_line_nb = $exit_line_nb - 1 set exit_line=`sed -n $exit_line_nb's/exit/&/gp' < ./ncsim.log` set dead_line=`sed -n $dead_line_nb's/report/&/gp' < ./ncsim.log` if ( "$dead_line" == "report (deaddead)" ) then if ( "$exit_line" == "exit (00000000)" ) then echo "STATUS: passed" #|tee -a ./run_sim.log 2>&1 else echo "STATUS: failed" #|tee -a ./run_sim.log 2>&1 endif else echo "STATUS: failed" endifendifexit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -