当前位置: 首页 > news >正文

网站商城前台模板外贸网站建设 佛山

网站商城前台模板,外贸网站建设 佛山,英文网站如何推广,建设网站多久Title#xff1a;VCS工具学习 一 介绍 是什么#xff1f; VCS (Verilog Compiler Simulator) 是synopsys的verilog 仿真软件#xff0c;竞品有Mentor公司的Modelsim、Cadence公司的NC-Verilog、Verilog—XL. VCS能够 分析、编译 HDL的design code#xff0c;同时内置了 仿…TitleVCS工具学习 一 介绍 是什么 VCS (Verilog Compiler Simulator) 是synopsys的verilog 仿真软件竞品有Mentor公司的Modelsim、Cadence公司的NC-Verilog、Verilog—XL. VCS能够 分析、编译 HDL的design code同时内置了 仿真和调试 功能以及 支持SV、验证规划、覆盖率分析和收敛的验证功能集成了这些工具SystemC、Verdi、UCLI Unified Command-line Interface、Built-In Coverage Metrics等可以理解为是芯片领域的 IC前端的前半部分阶段的IDE因为后面还要另用DC跑综合也是前端。 在chip flow中的位置 chip flow是前端、后端前端分为前仿、综合Synopsys用于跑综合的软件是DC, design compiler、后仿区分是有没有综合过后端有DFT、layout、CTS、placement、route等。 vcs和verdi的区别 vcs是仿真代码来生成波形的verdi是看波形的. vcs和dve的区别 dve是VCS的GUI. 但很多地方如zx和synopsys培训机房都不装…不懂… 打开DVE的command./simv -gui 二 用法学习 VLSI课程使用的cmd case 编译 vcs -full64 2k -debug_accessall -timescale1ns/1ns top.v 仿真 ./simv 或 ./simv -gui 粗暴图示 compile elaborate simulation 1 简介VCS的两种simulate flow VCS 要进行simulate有 two-step flow 和 three-step flow 两种方式。 two-step flow 内容先compile再simulate. 特点仅支持 verilog HDL 和 SV. 对我已经enough了) 理解 compile是构建design的实例层次得到一个可执行的二进制文件simv用于后续仿真simulate是进行具体的仿真。 three-step flow 内容先analysis然后elaboration再simulate. 特点用于VHDL和verilog两个混合design的仿真。 理解 analysis根据不同语言进行细化解析、检查语法错误 analysis是根据code是VHDL、Verilog、SV等进行解析、语法检查转为中间文件库——VHDL design用vhldan编译、转为vhdlan文件Verilog design用vlogan编译转为vlogan文件 elaboration是根据中间文件从顶层module开始link得到可执行文件simv elaborationlink各个模块产生可执行文件simv 建议用-top 指定top module否则默认从-work指定的库内最顶层的module开始若有多个top-level module就全执行一遍。 simulate依然是仿真。 2 Option参数 根本写不完于是用到哪些写哪些。(▽) 2.1 Optiontwo-step flow compile阶段 基本用法 vcs [各种option] .v文件 吐槽 vcs -h 东西不多 verdi -h 东西贼多贼全匪夷所思 版本查看option 常见option我用到了就是常用(▽) … -h 就是help——查看用vcs compile的option -ID 查看VCS版本、host ID用来查license等信息 文件编译option 纯粹编译RTL文件的vcs语法是vcs top1.v top2.v 注意文件顺序头文件被调用的得在前面 新增各种可选的option如下 -f file 或-file指定 待compile的file list **作用**若 .v 文件太多可以写到一个file里用 -f 指定. -v common_file.v 指定一个verilog library文件 **作用**起到 “补充” 的作用only 1个module/UDP文件. 若RTL结构明确、调用简单就不需要它了 需要-v的场合例如是一些common.v文件被共同调用、或是一些补充的function文件不在主RTL文件内那就用-v导进行编译. 初衷方便模块的“标准化”。而 用户自定义的组合逻辑模块在VCS manual被称为 UDP(user-defined primitive). 注意加了-v的file和其他主RTL文件在command序列内的顺序可以乱了哈没事儿. -y 目录path 指定一个verilog library的目录 **作用**起到 “补充” 的作用目录下可以一坨module/UDP文件. 相当于-v的增强版最重要的是 可以和libext???结合使用 注意目录名后面不用加/ libext.??? 在去library目录里查找module库文件时追加.???后缀的文件也作为库文件 **作用**和-y 目录path结合使用可以使查找库文件的过程更自定义。 注意可以追加多个格式用隔开就行如libext.???.XML 末尾的加不加无所谓. incdir目录path 专门指定宏定义等各色头文件的目录 目录后不用接/。 作用默认的include xxxx.sv语句VCS并不会默认去本地工程目录下找需要自己指定用这个加进去… 宏定义的文件装的是include、package、interface、struct的结构体、parameter参数等内容 注意可以指定多个文件用隔开就行末尾的随意. define宏名XXX值XXX 定义code中宏变量 **作用**相当于在代码中添加define 宏名 值目的是用于ifdef-else-endif宏编译块的控制方便。 注意值XXX可以爱加不加可以添加多个宏用隔开就行。 编译模式的option -full64 在64位mode下进行 compile 与 simulation -o filename 自定义可执行文件名 **作用**不使用则可执行文件为默认名 simv; timescale1ns/1ns 统一定义time scale time unit / time precision) vivado是每个.v文件中在首行写这个vcs可以在cmd option中统一进行设置。 v2k 或-2001使VCS支持2001年的Verilog标准 **作用**verilog有三个IEEE标准1364-1995、1364-2001、1364-2005后面就是SV的标准了。 一般用这个。 -v95 使VCS支持1995年的Verilog标准 -sv 或-sverilog支持SV 支持SV IEEE的2005版. SV的IEE标准有2005、2009、2012、2017. 功能性option -l filename 指定log文件 -q 静音模式 **作用**不输出compile过程中的弹出信息如C编译的信息、RTL文件一览、top module、timescale等… -R VCS link完毕后直接自动执行仿真程序可执行文件 **作用**就不需要手动执行后续的 simv [option] 了可以一气呵成. -ntb_opts uvm1.2 load如UVM库进行compile 还可以load ovm、rvm等呢. -kdb VCS在compile时生成kdb库文件 作用产生sim.daidir/文件夹里面存储了code信息使后续verdi查看波形时可快速打开而不需要重新编译code kdb (Knowledge Database)是一个Elaboration Databaseabbr. elabDBVCS的three-step flow中会更细的提它 生成kdb 是用 vcs -kdb -lca; 使用kdb 三种方式都可 verdi -ssf novas.fsdb 让verdi打开指定波形它会自动加载kdb 但是code改了以后总是会弹窗说kdb被修改了这还要你说嘛就很烦… verdi -dbdir simv.daidir -ssf novas.fsdb 多了个手动指定了 kdb文件verdi打开波形就不会弹窗了清净一点~ -fsdb 仿真时产生fsdb格式的波形文件 **注意**默认的波形文件名是novas.fsdb 在compile中加此option是 不够的你会发现波形文件在compile后没生成要想生成波形文件一共需要三步 在RTL的top中写个 intial block内写$fsdbDumpvars; 指定生成波形的signal. 在vcs的comiple option中写 -debug_accessall 不然RTL中不允许写$fsdbDumpvars;会报错 在vcs的comiple option中写 -fsdb 不然不会生成波形 -lca 使用些用户限制功能 **作用**启用VCS的一些测试不足还没有发布的功能具体功能因release版本不同而异 LCA (limited customer availability)用户受限功能. simulate阶段 只是执行VCS compile阶段输出的可执行文件而已 基本用法 在compile、link结束后VCS会产生二进制可执行文件 simv默认名运行后即可进行功能仿真。 ./simv [各种option] 各种option 常见option -l file 指定log文件 -debug_accecss???? 以debug mode进行仿真 作用这样才能看波形但是仿真速度性能会降低若不使用此option则为batch mode性能更快。 **产生文件**此mode下VCS会产生debug所需的文件文件夹csrc/包含各module的中间文件 **特点**debug mode内还分为GUI模式和命令行UCLI模式根据需要的自己加后面俩开关。 -gui debug mode之 开gui界面默认是DVE **作用**但得满足vcs compile时加上 -debug_all. 注意如果有设置环境变量VERDI_HOME就会打开verdi进行仿真. **前提**是debug mode -ucli debug mode之 命令行界面 **注意**debug_access后面也有各种option来只开启部分debug功能可以自选。参数如下 -debug_accessall 表启用所有信号变化(signal access)debug capability -debug_all VCS的debug功能全开 比 -debug_accessall 还猛。 但如果更关注信号变化就用-debug_accessall 更好。 -dardr 指定 simv.daidir simv.daidir是simv执行的比较稳健 2.2 Optionthree-step flow 目前不用先略~ analysis阶段elaboration阶段simulate阶段 3 VCS的不同仿真模式 在VCS三步法中VCS在elaboration后会产生个二进制可执行文件simv而elaboration传入的一个配置参数可决定simv仿真的工作模式interactive mode、batch mode. 3.1 interactive mode (debug mode) 特点 可以用GUI界面DVE或Verdi来进行debug也可以用命令行界面UCLI方式来debug. 开启方式 elaboration时加入option-debug_acessall或-debug_accessr 用Verdi 见【 VCS manual P125】 3.2 batch mode 特点 又称为优化模式。用这个专门跑回归的性能最快调试能力最拉。 开启方式 别用-debug_access 3.3 UCLI (也是debug mode) 概述 (UCLI, Unified Command-line Interface) 其实也是属于 interactive mode但是命令行模式。 开启方式 simv -ucli ❌ 4 波形dump细节 没细看 见 【VCS manual P354 Verdi UCLI】 UCLI似乎更兼容DVE啊我看【dve ug的手册上写满了和ucli的联合用法】 【VCS manual P585 VPD, VCD】 三 个人使用经验 compile阶段 include、package的使用 VCS内编译文件 和 verilog内使用include的联系 可以 直接在VCS的compile option中把相关的 .v 文件都加进去那么 就不需要 include 了 或 只是用VCS去compile top的DUT文件则VCS发现不认识的module后会自动去include的头文件中找 并compile头文件。 但不管是哪种VCS内compile的DUT文件顺序 或 include头文件顺序都很重要 ——得先compile子模块、得先include子模块。 我个人习惯的compile顺序是DUT放VCS里、UVM放package里然后VCS里 compile顺序是 DUT - Interface - UVM package - UVM top. import package和include的区别 include文件在compile时相当于 文本copy import package并不会copy文本而是在此处 引入了package内文件的域且 对子package无效故子package需要使用某package时需要重新手动import 例如需要在每个子package中都添加UVM的 uvm_pkg::*; include中进行相对寻址、编译寻址的设置 VCS发现不认识的module后会去“编译环境”下根据include内的相对路径进行找.v文件。 可用incdir路径 来添加“编译环境”可加多个用 号分开include内使用相对路径即可。 也可以在makefile中把各uvm文件夹都用incdir路径 加上include时只用当前路径但过于啰嗦不如只在incdir路径 加外层的paht然后include内用相对路径。 libext.sv -y path 好像是导入库文件但我用起来毛用没有离谱。 package、interface与VCS的编译关系 这俩建议 分别 在VCS中独立compile. synopsys lab中也是这么写的… package中 import package是改变“作用域”故要考虑“域”是否覆盖到位——因为import入的package对子package无效需要在子package中重新importpackage中使用include要考虑的是include的顺序应自底向上package内只能包class.sv不能包module.v文件. interface中interface后缀是.sv但不算OOP语法不能在类内使用也无法被包在package中因为引用的是DUT的signal故得在DUT后compile但又在UVM前使用故得在UVM前compile…就很烦… 总结 makefile中需要写的VCS compile的内容有 DUTInterfacepackageUVM 多么痛的领悟 -ntb_opts uvm-1.2 后马上接DUT、UVM它们是一起的别夹杂别的东西 四 FSDB 波形的dump 使用$dump…进行dump的过程我先略 用UCLI与DVE进行dump .tcl的直接写法 要求DVE、VCS、Verdi的版本一致才行。 dump -type fsdb dump -add $(project_name) -aggregates -scope . run# 或是makefile里写 # echo dump -type fsdb $ # echo dump -add $(project_name) -aggregates -scope \.\ $ # echo run $.tcl的格式 dump -add -fid -depth levels [-aggregates] [-filter[]] [-ports|-in|-out|-inout] [-power] [-fsdb_opt ] ... -fid 是设置file的ID——当dump的file被打开时的返回值.-depth levels 是设置dump的scope level仅限VPD波形格式时能用-aggregate 开启后将会dump复杂的数据类型-filter[] 开启后只会 dump后面罗列的port信号.-fsdb_opt 开启后后面这些option将专门用fsdbDumpvars来进行dump.其他一些option开启后也会专门将MOS等信号用fsdbDumpvars来进行dump. 五 波形的处理 VPD波形 波形文件split 【Manual的626】 vcsplit 目标文件 VCD或VPD文件 语法 vcsplit [-o outputfile] [-scope selected_scope_or_signal] [-include include_file] [-min min_time] [-max max_time] [-level n] [-ignore ignore_file] input_file [-v] [-h] input_file 输入文件名 -o 输出文件名 -scope 要单独抠出的信号范围 -include 一个文件内装了一系列信号名或scope范围需要抠出来的信号一个信号占一行. 可以和-scope一起用取信号的“并集”. -min -max 分别指要scan的开始/结束的时间 -ignore 一个文件内装忽略、不要抠出来的信号 -level 数字 要scan的hierarchy的最大层数——若没定义scan的scope、也没定义include文件则从top开始数定义了就从定义的信号里的highest里开始数. san
http://www.w-s-a.com/news/977574/

相关文章:

  • net域名 著名网站国外设计案例网站
  • 淘宝客网站哪里可以做app地推网
  • 宜昌建设厅网站中国最新时事新闻
  • 微网站怎么开发wordpress 发表评论
  • 山东网站建设是什么一页网站首页图如何做
  • 游戏开发与网站开发哪个难万网影
  • 做网站编程语言建筑施工特种证书查询
  • 找人做网站内容自己编辑吗修改wordpress登陆界面
  • 登陆建设银行wap网站湖南网站建设磐石网络答疑
  • 58网站怎么做浏览度才高论坛网站怎么做排名
  • wordpress 手机网站支付京东网站建设的经费预算
  • 自己怎么样做游戏网站做海外贸易网站
  • 建立什么样的网站好制作网页网站代码
  • 岳麓区专业的建设网站公司尚一网常德论坛
  • 电商网站建设实训报告360站长平台链接提交
  • 个性化网站建设公司个人网站备案类型
  • 腾讯建站模板上海网站开发有限公司
  • 网站和小程序的区别请问做网站怎么赚钱
  • 网站logo设计免费版在线网站开发建设准备工作
  • wordpress多站点 主题南京做网站好的公司
  • 广州 门户seo到底是做什么的
  • 可以登录国外网站吗如何用家用电脑做网站
  • 吉安建站公司wordpress企业
  • 河北住房和城乡建设厅网站6thinkphp做视频网站
  • 遵义网站制作一般需要多少钱深圳全国网站制作哪个好
  • 公众平台网站价格哪个网站做餐饮推广最好
  • 深圳 公司网站设计重庆的网站设计公司价格
  • 网站开发市场分析餐饮平台app有哪些
  • 制作一个收费网站要多少钱开发网站需要什么技术
  • 网站流量统计平台二手域名做网站不收录