精华内容
下载资源
问答
  • makefile调用VCSverdi

    千次阅读 2020-02-12 22:18:51
    学习更多相关知识,... 继上次使用VCS基础操作和makefile的书写,如果我们最后不使用vcs而是使用verdi该如何调用呢?和上次一样,我们同样要把我们的.v文件和tb文件的路径放到file_list.f中(上次是file.list)之...

    学习更多相关知识,关注博主知乎账号,用户名Trustintruth   https://www.zhihu.com/people/suo-yi-xin-90/activities

    继上次使用VCS基础操作和makefile的书写,如果我们最后不使用vcs而是使用verdi该如何调用呢?和上次一样,我们同样要把我们的.v文件和tb文件的路径放到file_list.f中(上次是file.list)之后写makefile,制作好以后就可以使用make语句完成。

    makefile如下

    .PHONY: com sim cov clean debug
    
    OUTPUT = simv
    ALL_DEFINE = +define+DUMP_VPD
    
    # Code coverage command
    CM = -cm line+cond+fsm+branch+tgl
    CM_NAME = -cm_name $(OUTPUT)
    CN_DIR = -cm_dir ./$(OUTPUT).vdb
    
    # vpd file name
    VPD_NAME = +vpdfile+$(OUTPUT).vpd
    
    #Compile command
    #VCS = vcs +v2k -timescale=1ns/1ns
    VCS = vcs +v2k -override_timescale=1ns/100ps					\
    		-full64													\
    		-fsdb													\
    		-debug_all												\
    		-sverilog												\
    		+nospecify												\
    		+vcs+flush+all											\
    		$(CM)													\
    		$(CM_NAME)												\
    		$(CM_DIR)												\
    		$(ALL_DEFINE)											\
    		$(VPD_NAME)												\
    		-o $(OUTPUT)											\
    		-l compile.log
    
    #simulation command
    SIM = ./$(OUTPUT)												\
    	  +ntb_ramdom_seend_automatic								\
    	  $(CM) $(CM_NAME) $(CM_DIR)								\
    	  $(VPD_NAME)												\
    	  $(ALL_DEFINE)												\
    	  -l $(OUTPUT).log
    
    # start compile 
    com:
    	$(VCS) -f file_list.f
    
    #Start simulation
    sim:
    	$(SIM) 
    
    #show the coverage
    cov:
    	dve -covdir *vdb &
    
    debug:
    	dve -vpd  $(OUTPUT).vpd &
    
    #start clean
    clean:
    	rm -rf ./csrc *.daidir ./csrc  						\
    		*.log  *.vpd  *.vdb  simv* *.key				\
    		+race.out* novas* verdi* *fsdb apb2apb_async
    
    
    

     

    保存好之后,首先make com

    之后 make sim

     

     

    之后ls一下,发现路径下出现一个.fsdb文件(我在makefile中是glitch_free_tb.fsdb,如果需要可以在makefile中更改文件名即可)输入指令

    verdi -f file_list.f -ss glitch_free_tb.fsdb

    在操作时我更改了file.list,按照文中的makefile制作的在此处按照上面的指令,不要按图里的

    之后进入界面

    点击最小化进入界面进行操作

    如果需要删除中间文件 输入make clean

    展开全文
  • 继上次使用VCS基础操作和makefile的书写,如果我们最后不使用vcs而是使用verdi该如何调用呢?和上次一样,我们同样要把我们的.v文件和tb文件的路径放到file_list.f中(上次是file.list)之后写makefile,制作好以后...

    42d81aa65be43d59a9dcf33b254b1bc8.png

    继上次使用VCS基础操作和makefile的书写,如果我们最后不使用vcs而是使用verdi该如何调用呢?和上次一样,我们同样要把我们的.v文件和tb文件的路径放到file_list.f中(上次是file.list)之后写makefile,制作好以后就可以使用make语句完成。

    makefile如下

    .PHONY

    保存好之后,首先make com

    ee7b899b770410756ff00ef35fa68ddc.png

    1a458c8e76c1408497e181629c47b885.png

    之后 make sim

    43c327114517b154280ecc8319d8fa70.png

    之后ls一下,发现路径下出现一个.fsdb文件(我在makefile中是glitch_free_tb.fsdb,如果需要可以在makefile中更改文件名即可)输入指令

    verdi -f file_list.f -ss glitch_free_tb.fsdb

    325d71b5e052ce0fc51b0a7d1c95dd05.png
    在操作时我更改了file.list,按照文中的makefile制作的在此处按照上面的指令,不要按图里的

    之后进入界面

    a5b30d69f90ab661b7b2d6ec717e007c.png

    点击最小化进入界面进行操作

    fec2b85673f7526b6a3cb46806d37367.png

    如果需要删除中间文件 输入make clean

    d00dd7cbfc4b798888f5f0e7683ba850.png

    获取更多代码与资料,欢迎关注我啊!

    fb42d2e0d2b924c62d1b606df8aecb52.png
    展开全文
  • 前言 之前的系列都是运行于windows+modelsim环境的,之所以这样运行呢,是因为我当时手头只有这个工具;...通过makefile搭建superbench平台,支持VCS仿真和verdi定位功能,包括如下指令: make cmp:VCS

    前言

    之前的系列都是运行于windows+modelsim环境的,之所以这样运行呢,是因为我当时手头只有这个工具;

    【验证小白】系列前文

    但是今时不同往日,我终于找到了一个工具齐全的虚拟机centOS(忙猜很多人应该都是在用这个虚拟机),于是乎我决定把验证环境搬家,顺便也再好好的重构下;

    当然了那是以后的事,这次的任务是搭建一个基本的superbench平台。

    目标

    通过makefile搭建superbench平台,支持VCS仿真和verdi定位功能,包括如下指令:

    make cmp:VCS编译tb.f中的v/sv文件;

    make ncrun tc=xxx wave=on/off seed=xxxxxx:运行编译后的simv文件,根据传惨执行仿真;

    make run:cmp + ncrun;

    make verdi:打开verdi并关联rtl结构;

    make clean:删除编译生成的文件;

    make clean_all:生成编译和仿真生成的文件;

    sv代码

    要进行仿真的verilog代码很简单,只有时钟复位和一些简单设置;

    `define DELAY(N, clk) begin \
    	repeat(N) @(posedge clk);\
    	#1ps;\
    end
    
    module testbench();
    
        timeunit 1ns;
        timeprecision 1ps;
    
        string tc_name;
        int tc_seed;
        bit clk, rst_n;
        
        initial $timeformat(-9,3,"ns",6);
        
        initial begin
            if(!$value$plusargs("tc_name=%s", tc_name)) $error("no tc_name!");
            else $display("tc name = %0s", tc_name);
            if(!$value$plusargs("ntb_random_seed=%0d", tc_seed)) $error("no tc_seed");
            else $display("tc seed = %0d", tc_seed);
        end
    	
        initial forever #5ns clk = ~clk;
        initial begin
    	`DELAY(30, clk);
            rst_n = 1'b1;
            $display("rst_n over, urandom -> %0d", $urandom);
        end
    
        `ifdef WAVE_ON
        initial begin
            $fsdbDumpfile($sformatf("./sim_base/wave/%s_%0d.fsdb", tc_name, tc_seed));
            $fsdbDumpvars(0);
        end
        `endif
    endmodule
    

    VCS+verdi指令

    VCS的指令仿佛星辰大海,本次用到了如下的指令;

    cmp编译阶段指令

    vcs -f ./tb.f -P  $(NOVAS_HOME)/share/PLI/VCS/LINUX64/verdi.tab \
                      $(NOVAS_HOME)/share/PLI/VCS/LINUX64/pli.a \
        -l $(SIM_LOG) \
        -o $(EXEC_SIMV) \
        -timescale=1ns/1ps -unit_timescale=1ns/1ps \
        -top testbench \
        +v2k +define+RTL_SAIF +notimingcheck +nospecify +vpi +memcbk +vcsd \
        -sv_pragma -lca -kdb -sverilog -full64 -sverilog -debug_all -ntb_opts uvm-1.2 \

    针对关键的解释几个好了:

    -f:用于指定文件list,常用的命令行有-f/-F/-v/-y,其中作用和区别我们有时间再聊,先挖个坑好了;

    -R:编译之后立即执行仿真,由于我是cmp和run分开的,因此没有加这个选项;

    -P:对verdi的支持,“指定使用的PLI,这里指定verdi下的PLI,因为verdi是需要fsdb文件来显示波形的,而fsdb文件的生成,需要系统函数(如$fsdbDumpfile,$fsdbDumpvars等等),而这些系统函数,vcs中是没有的,但是在verdi的PLI中有,所以这里需要指定一下”;

    -l:制定输出log文件路径;

    -o:指定输出simv文件路径;

    -timescale=1ns/1ps -unit_timescale=1ns/1ps:设定环境timescale,详见timescale设置规则

    -top testbench:设定顶层模块名称,目前的验证环境是单顶层,顶层名称即module名称;

    -ntb_opts uvm-1.2:支持UVM1.2版本库;

    -sverilog:支持system verilog语法;

    -debug_all:支持交互式仿真;

    -kdb:编译时生成后续verdi使用的KDB库;

    -full64:64bit simulation

    -memcbk:支持多维数组或mem波形dump;

    其他的有幸去大家再查一下好啦~在此不再赘述;

    run仿真阶段VCS指令

    simv +ntb_random_seed=$(SEED) +tc_name=$(tc) +ucli -assert

    simv是用来仿真的可执行文件,+ntb_random_seed=$(SEED)是传入随机种子,+tc_name=$(tc)传入tc名字,+ucli打开ucli特性,-assert打开断言检查;

    verdi查看波形指令

    verdi -simflow -dbdir simv.daidir

    makefile组织

    好的,接下来将以上的指令行封装进makefile中,共封装伪目标如下:

    .PHONY: cmp ncrun run verdi clean clean_all

    用户传参数

    export seed := random
    export tc   := sanity
    export wave := off

    暂时只支持三个用户传参,分别是仿真种子seed,用例名称tc,波形开关wave;

    封装CMP

    
    ifeq ($(seed), random)
        SEED := $(shell python -c "from random import randint; print randint(0,99999999)")
        #SEED := $(shell perl -e "print int(rand(100000000))")
    else
        SEED := $(seed)
    endif
    
    export PRE_PROC:= mkdir -p ./sim_base/log ./sim_base/exec ./sim_base/wave
    export VERDI_P := $(NOVAS_HOME)/share/PLI/VCS/LINUX64/verdi.tab \
      		 		  $(NOVAS_HOME)/share/PLI/VCS/LINUX64/pli.a
    export SIM_BASE  := ./sim_base
    export SIM_LOG   := $(SIM_BASE)/log/sim.log
    export RUN_LOG   := $(SIM_BASE)/log/$(tc)_$(SEED).log
    export EXEC_SIMV := $(SIM_BASE)/exec/simv
    export FILELIST := ./tb.f
    
    ifeq ($(wave), on)
        CMP_OPTIONS += +define+WAVE_ON
    endif
    
    export CMP_OPTIONS :=
    CMP_OPTIONS += +v2k +define+RTL_SAIF +notimingcheck +nospecify +vpi +memcbk +vcsd
    CMP_OPTIONS += -sverilog -full64 -sverilog -debug_all -ntb_opts uvm-1.2
    CMP_OPTIONS += -sv_pragma -lca -kdb
    CMP_OPTIONS += -top testbench 
    CMP_OPTIONS += -timescale=1ns/1ps -unit_timescale=1ns/1ps

    将之前提到的VCS命令行进行封装,最后封装伪目标make cmp:

    cmp: clean
        @$(PRE_PROC)
        @vcs -f ./tb.f -P $(VERDI_P) -l $(SIM_LOG) -o $(EXEC_SIMV) $(CMP_OPTIONS)

    cmp执行时候会先执行clean,将之前的编译文件清除:

    clean:
        @rm -rf $(SIM_BASE)/exec  csrc DVEfiles novas.conf novas.rc vc_hdrs.h ucli.key verdiLog vfastLog *.fsdb *.log *.vcd

    封装NCRUM

    编译后执行仿真,将仿真指令simv封装到make ncrun中:

    export RUN_OPTIONS :=
    RUN_OPTIONS += +ntb_random_seed=$(SEED) +tc_name=$(tc) +ucli -assert
    
    ncrun:
        @$(EXEC_SIMV) $(RUN_OPTIONS) -l $(RUN_LOG)
        @check_fail.pl $(RUN_LOG)
        @echo "[Note] report log path: $(RUN_LOG)"

    说明两点:

    1. SEED的产生和使用着实让我伤脑筋,详见【makefile】makefile中产生能稳定使用的随机数

    2.check_fail.pl用来检查成生log中有无error类型的关键字,判断编译是否通过;

    结果验收

    目录结构

    执行代码

    查看波形

    make verdi &打开Verdi,吃进fsdb文件即可;

    附代码

    makefile

    .PHONY: cmp ncrun run verdi clean clean_all
    
    # -R: immediately run after cmp
    # $$RANDOM
    
    export seed := random
    export tc   := sanity
    export wave := off
    
    ifeq ($(seed), random)
    	SEED := $(shell python -c "from random import randint; print randint(0,99999999)")
    	#SEED := $(shell perl -e "print int(rand(100000000))")
    else
    	SEED := $(seed)
    endif
    
    export PRE_PROC:= mkdir -p ./sim_base/log ./sim_base/exec ./sim_base/wave
    export VERDI_P := $(NOVAS_HOME)/share/PLI/VCS/LINUX64/verdi.tab \
      		 		  $(NOVAS_HOME)/share/PLI/VCS/LINUX64/pli.a
    export SIM_BASE  := ./sim_base
    export SIM_LOG   := $(SIM_BASE)/log/sim.log
    export RUN_LOG   := $(SIM_BASE)/log/$(tc)_$(SEED).log
    export EXEC_SIMV := $(SIM_BASE)/exec/simv
    export FILELIST := ./tb.f
    
    export CMP_OPTIONS :=
    CMP_OPTIONS += +v2k +define+RTL_SAIF +notimingcheck +nospecify +vpi +memcbk +vcsd
    CMP_OPTIONS += -sverilog -full64 -sverilog -debug_all -ntb_opts uvm-1.2
    CMP_OPTIONS += -sv_pragma -lca -kdb
    CMP_OPTIONS += -top testbench 
    CMP_OPTIONS += -timescale=1ns/1ps -unit_timescale=1ns/1ps
    
    
    export RUN_OPTIONS :=
    RUN_OPTIONS += +ntb_random_seed=$(SEED) +tc_name=$(tc) +ucli -assert
    
    ifeq ($(wave), on)
    	CMP_OPTIONS += +define+WAVE_ON
    endif
    	
    cmp: clean
    	@$(PRE_PROC)
    	@vcs -f ./tb.f -P $(VERDI_P) -l $(SIM_LOG) -o $(EXEC_SIMV) $(CMP_OPTIONS)
    
    ncrun:
    	@$(EXEC_SIMV) $(RUN_OPTIONS) -l $(RUN_LOG)
    	@check_fail.pl $(RUN_LOG)
    	@echo "[Note] report log path: $(RUN_LOG)"
    
    run: cmp ncrun
    
    verdi:
    	verdi -simflow -dbdir $(SIM_BASE)/exec/simv.daidir
    
    clean:
    	@rm -rf $(SIM_BASE)/exec  csrc DVEfiles novas.conf novas.rc vc_hdrs.h ucli.key verdiLog vfastLog *.fsdb *.log *.vcd
    
    clean_all: clean
    	@rm -rf $(SIM_BASE)

    checkfail.pl

    #!/usr/bin/perl -w
    my $pass = 1;
    while(<ARGV>){
        if($_ =~ /error|Error|failed|Failed/){
            $pass = 0;
            last;
        }
    }
    if($pass == 1){
        print "\033[42;37m SIMULATION PASS! \033[0m \n";
        print_pass();
    } else {
        print "\033[41;37m SIMULATION FAIL! \033[0m \n";
        print_fail();
    }
    
    sub print_pass{
        print "\n";
        print "#############           #              ##############       ##############";       print "\n";
        print "#############          ###             ##############       ##############";       print "\n";
        print "##         ##         # # #            ##                   ##";                   print "\n";
        print "##         ##        ##   ##           ##                   ##";                   print "\n";
        print "##         ##       ##      ##         ##                   ##";                   print "\n";
        print "##         ##      ##        ##        ##                   ##";                   print "\n";
        print "#############     ##############       ##############       ##############";       print "\n";
        print "#############     ##############       ##############       ##############";       print "\n";
        print "##                ##          ##                   ##                   ##";       print "\n";
        print "##                ##          ##                   ##                   ##";       print "\n";
        print "##                ##          ##                   ##                   ##";       print "\n";
        print "##                ##          ##                   ##                   ##";       print "\n";
        print "##                ##          ##       ##############       ##############";       print "\n";
        print "##                ##          ##       ##############       ##############";       print "\n";
        print "\n";
    }
    
    sub print_fail{
        print "\n";
        print "#############           #              ##############       ##";                   print "\n";
        print "#############          ###             ##############       ##";                   print "\n";
        print "##                    # # #                  ##             ##";                   print "\n";
        print "##                   ##   ##                 ##             ##";                   print "\n";
        print "##                  ##      ##               ##             ##";                   print "\n";
        print "##                 ##        ##              ##             ##";                   print "\n";
        print "#############     ##############             ##             ##";                   print "\n";
        print "#############     ##############             ##             ##";                   print "\n";
        print "##                ##          ##             ##             ##";                   print "\n";
        print "##                ##          ##             ##             ##";                   print "\n";
        print "##                ##          ##             ##             ##";                   print "\n";
        print "##                ##          ##             ##             ##";                   print "\n";
        print "##                ##          ##       ##############       ##############";       print "\n";
        print "##                ##          ##       ##############       ##############";       print "\n";
        print "\n";
    }

     

    展开全文
  • VCSVerdi学习

    2021-03-25 21:12:13
    VCSVerdi学习1.使用Makefile2.不使用Makefile直接执行 1.使用Makefile 首先设置环境变量$Verdi_HOME 建立Makefile 文件 design_name = asyn_fifo fsdb_name = $(design_name).fsdb #use command "make vs...

    1.使用Makefile

    Makefile参考:Makefile的一些基本应用

    • 首先设置环境变量$Verdi_HOME

    在这里插入图片描述

    • 建立Makefile 文件
    • 在这里插入图片描述
    design_name = asyn_fifo
    fsdb_name = $(design_name).fsdb
    #use command "make vs" to run vsc and product fsdb file
    vcs:
    	vcs \
    		-full64 \  #64bits
    		-f flist.f \ include all design file
    	  -debug_all \
    		-l com.log \  # output log file
    		+v2k \	-P ${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/novas.tab	${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/pli.a
    	  ./simv -l sim.log +fsdbfile+$(fsdb_name)  #simulation:product fsdb file and sim log   
    
    #use verdi to observe the waveform
    verdi:
    	verdi \
    	+v2k \
    	-f flist.f \
    	-ssf  $(fsdb_name) & #use fsdb file
    
    #delete all files except .v and makefile
    clean: 
    	rm -rf `ls | grep -v "Makefile"|grep -v "flist.f" | grep -v "\.v" | grep -v "script.tcl"`
    
    • 仿真文件添加生成fsdb函数

    initial begin
    $fsdbDumpfile(“asyn_fifo.fsdb”);
    $fsdbDumpvars;
    end

    • 执行“make vcs” 编译仿真
    • 执行“make verdi” 打开波形
    • verdi常用快捷键
      ctrl+w: 添加信号到波形图
      h: 在波形窗口显示详细的信号名(路径)
      File>save signal,命名*.rc,下次直接打开rc文件就行
      c/t: 修改信号的颜色(t可以直接切换颜色)
      在波形窗口显示状态机的名字:
      在rtl窗口,tools>Extract internative FSM ,可选first stage(仅展开目前所指定的FSM state),all stage (展开所有的FSM state)
      改变颜色填充波形:
      Tools>waveform>view options>waveformpane> paint waveform with specified color/pattern
      在rtl窗口按x: 标注出信号的值
      z: 缩小波形窗口
      Z: 放大波形窗口
      f: 全屏
      l: 上一个视图
      L: 重新加载设计波形或文件
      n: 向前查找
      N: 向后查找
      ctrl+→: 向右移动半屏
      ctrl+←: 向左移动半屏
      双击信号波形: 跳转到rtl中信号位置,并高亮新号
      b: 跳到波形图开头
      e: 跳到波形图尾部

    2.不使用Makefile直接执行

    vcs -R -f flist.f -full64 -fsdb -l name.log
    verdi -f flist.f -ssf name.fsdb

    展开全文
  • vcs + verdi 查看仿真波形

    千次阅读 2018-08-14 16:51:01
    makefile可以看到makefile中共有四个目标:前三个分别是 : “compile”, “sim”, “verdi”。分别代表了编译,仿真,查看波形的三个过程。 vcs 调用命令 vcs -f run.f -kdb -debug_access+all -lc...
  • vcsverdi的简单使用

    千次阅读 2019-12-13 12:04:41
    根据verdivcs安装的位置配置环境变量 在这里插入代码片 实际的路径需要根据软件安装的实际位置做调整。(如果有其他人配置好的bashrc,可以直接赋值过来使用) 修改成功后,执行如下命令,让bashrc生效 source ./...
  • 已调试通过 ... 下载后把 Makefile_VCS.txt 修改为 Makefile 就可以使用 链接地址: http://files.cnblogs.com/allenogz/Makefile_VCS.zip 转载于:https://www.cnblogs.com/allenogz/p/3385177.html...
  • VCS+VERDI 的环境配置(1)

    万次阅读 2016-08-25 09:39:32
     最近,在64bit的LINUX(cent os 6.4)上安装好,synopsys的VERDIVCS后,写好MAKEFILE脚本,在运行的时候总是出现不了FSDB文件,欲解决之。 vcs版本: vcs-2014 verdi版本:  在64位主机上运行32位软件,主要是...
  • 1、源码存放在hdl路径下,将hdl路径下所有的.v文件加入到filielist中,新建file.f文件 file.f 文件如下: +define+FPGA //预编译宏 ./hdl/*.v //加入所有.v...2、makefile的编写,新建makefile内容如下: #+...
  • Makefile中常用vcs仿真命令及含义

    千次阅读 2020-06-26 21:52:14
    -debug —— (对应TB中的$vcdpluson加载波形函数)使能DVE、VERDI波形调试和UCLI命令行调试等;-debug_all —— 使能所有的debug调试功能;-debug_pp —— 同-debug_all,但是更加节约资源;-ntb_opts —— 常用...
  • verdivcs结合编译验证

    千次阅读 2016-12-17 16:44:26
    (1)首先编写makefile文件 run:  vcs -f ./filelist.f -R -fsdb -full64 -l analyze.log verdi:  verdi -f ./filelist.f -ssf ./mc1_manage_tb.fsdb -top mc1_manage_tb clean:  rm -rf csrc novas* sim*
  • 1. install verdi; 2. install vcs, dve; 3. write shell or perl script to call makefile 4. write makefile to generate gtech library, to compile the corresponding .v 5. sim
  • 使用verdi需要加目录库 //定义 DEFINE = VPD_ON+FSDB_ON //测试模块 TEST = base test //种子 SEED = $(shell data+%s) 断言选项: //断言选项 ASS_OPTS = -assert enable_diag -debug_all -assert quiet+...
  • 目录 1.VCS的编译解析 1.1一步编译法 1.2 三步编译法 1.3 VCS动态加载DPI shared lib (.so) ...下面是一个可以使用的vcs makefile用于编译 VCS 编译仿真方法总结 VCS编译命令 摘自:SYNOPSYS...
  • Makefile加载verdi波形方法 1.编译参数增加verdi的PLI,使用32位编译的去掉64。 DUT_CMP_OPTIONS_WAVE += -P ${VERDI_HOME}/share/PLI/vcs/LINUX64/fsdb_vcs.tab ${VERDI_HOME}/share/PLI/vcs/LINUX64/fsdb_vcs...
  • VCS初识

    2020-06-30 10:22:39
    3.verdi使用方法,以及VCSVERDI的联合使用; 4.system verilog基础; 5.UVM方法学基础; 6.搭建最小仿真系统Makefile、骆驼语言、tcl、c/c++、汇编等基本使用。 要学得东西还是蛮多的。就以此博客作为开始,搜集个...
  • VCS使用记录

    2020-09-02 11:31:26
    一般公司都会搭建好仿真环境,用vcs进行仿真,verdi进行波形查看及代码debug。 在创建仿真环境时:写makefile 脚本进行仿真 如上即makefile脚本。 为了规范化文件分类,目录层次如下
  • 阵地转移,虚拟机centOS+makefile+vcs+verdi继续验证学习——搭建简单的superbench 后续我希望搭建一个完整的、融合vcs/verdi/spyglass/dc等工具的superbench平台,今天就来进行第一步,先基于VCS将通用的...
  • 操作步骤2.1 将 e200 opensource 项目下载到本机 Linux 环境中2.2 编译RTL代码2.3 修改vism/install/tb/tb_top.v2.4 修改vsim/bin/run.Makefile,2.5 在目录vsim执行make compile2.6 在run目录下执行make all2.7 在...
  • /home/lh/synopsys/anzhuang/vcs/linux64/lib/libvirsim.so /home/lh/synopsys/anzhuang/vcs/linux64/lib/liberrorinf.so /home/lh/synopsys/...synopsys/anzhuang/verdi/share/PLI/VCS/LINUXAMD64/pli.a /home/lh/ai...
  • 文章目录前言举个栗子总结 前言 make执行的命令出错就立刻终止,不再执行后续命令,但是又想让后面的命令继续执行,该怎么处理。 举个栗子 在利用VCS进行仿真时,为了保证每次...有时候由于打开的verdi占用了output
  • 工具软件使用

    2020-12-22 11:26:11
    以下内容均为转载,供自己学习查阅之用,版权归原作者,侵删。 你要的都在这里 - 数字IC设计EDA软件教程整理(超级全) Spyglass ...Makefile脚本应用-VCSVerdi GVIM常用命令 DC Design Compiler
  • I. 技能清单 语言类 Verilog-2001/ VHDL ... Makefile/ Perl/ Python/ Shell Tcl 工具类 NCVerilog/ VCS/ ModelSim SimVision/ DVE/ Verdi ...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

makefilevcsverdi