访问电脑版页面

导航:老古开发网手机版其他

用HDLScore做覆盖率分析VHDL实例

导读:
关键字:

工作状态: 建立仿真环境

      我们进行验证时, 除了做功能性仿真外, 还需要做覆盖率分析, 这样可以提高验证的全面性. 通常我们可以采用仿真工具自带的覆盖率分析工具.
      这方面在这里就不再详加叙述, 可以参看相关的资料. 在论坛中也有VCS的覆盖率工具使用说明.
        HDLScore是SUMMIT公司的分析代码覆盖率的工具. 理解和使用该工具对自身能力的提高以及工作的效率有很大帮助.
       
        HDLScore的工作步骤分为3个: instrument, 仿真(simulation)和报告(reporting):
        1. instrument
        该步骤将编译整个设计, 选择覆盖率的类型, 提取FSM和产生在仿真时使用的instrumented 的代码.
      该步骤的目的是为了产生嵌入HDLSCORE系统任务和函数的代码.
        shell下命令为:
          $> hdli -verilog hdli.cf
        其中, -verilog代表是verilog文件.
          hdli.cf 是命令文件, 其中有很多对hdli的设置
        典型为:
          compile -f design/run.f
          set_coverable_operators -all
          set_coverable_statements -all
          select_coverage -instance -block -path -expr -nlevel *...
          extract_fsm -auto
          select_fsm_coverage *
          list_fsms
          gen_instrumented_code
        执行完命令后, 在当前目录下产生hdls_work目录.
        其中有最重要的hdls.vin文件, 该文件是产生用于覆盖率分析的中间文件.
        Log文件: hdli.log

        2. 仿真(simulation) (遇到license问题)
          $> ncverilog design/test_bench1.v hdls_work/hdls.vin
      +loadpli1=hdlspli:hdlscore_bootstrap +hdls+configfile+./scripts/sim.cf
      +access+wrc
          sim.cf 是命令文件, 其中有很多对hdls的设置
        典型为:
          load_design       hdls_work/hdls.dgn
          load_coverage     hdls_work/hdls.cov
          save_coverage -code hdls_work/hdls.sim.cov
          save_coverage -fsm hdls_work/hdls.fsm
      注: license问题: 如果用hdlc那么可以仿真, 但是用命令行确不可以(why?) hdlc中命令为:
        ncverilog design/test_bench1.v ./hdls_work/hdls.vin
      +togl+logfile=vertoggle.log +togl+master=vertoggle.mst
      +togl+workdir=toggle_work +togl+limit=1
      +loadpli1=/_TOOLS_/dist/summit-hdlscore-/5.3.3/i686-pc-linux2.4/Linux/pli/ncv1_21/hdlspli.so:hdlscore_bootstrap
      +hdls+config+./hdls_work/tclconfigfile +ncsimexe+ncsim +access+rwc
      +ncelabexe+ncelab
         
        3. 报告(reporting)
          该步骤分析仿真后的结果, 得出文本的报告. 命令为:
          $> hdlr hdlr.cf
          hdlr.cf 是命令文件, 其中有很多对hdlr的设置
        典型为:
          load_design hdls.dgn
          load_coverage hdls.sim.cov
          load_coverage -fsm hdls.fsm
          list_coverage -module *
          list_coverage -instance *...
          list_coverage -fsm -module *
          list_coverage -fsm -instance *...
          report_detail -module -bpesaq -both *


来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!