
VCS
文章平均质量分 72
巨人城市
这个作者很懒,什么都没留下…
展开
-
Code Coverage
这个注释是 Synopsys 的可以识别的,注释包含的那一部分内容在逻辑综合的时候是不考虑的(比如RTL代码中的 display 语句。该注释选项,同时也可以关闭对该部分内容的覆盖率计算。RTL源代码中会有一些内容是用于调试等其他作用的,希望在计算 RTL 代码覆盖率的不考虑该部分内容,这个时候是需要告诉工具不去分析这一部分内容的,如果不做说明,工具会考虑在内。(一般情况下, case 语句的 default 是不会执行到的,所以是可以在计算覆盖率的时候忽略该语句的,通过-cm_nocasedef实现)原创 2024-10-08 09:54:08 · 457 阅读 · 0 评论 -
VCS学习
大的项目波形文件很占内存与影响速度,所以产生了VCD波形文件,记录寄存器的值,层次等;make clean -> make com -> make sim -> dve &(或者dve -dvp vcdplus.vpd) -> 查看波形,可双击波形上的某个数值进入源代码 - >debug。行为级描述(验证,不可综合) - RTL级描述(设计,寄存器传输级) - Gate-level(门级,RTL级经过综合得到,与具体工艺 库相关,TSMC,SMIC,CSMC)原创 2024-09-26 10:12:25 · 1049 阅读 · 0 评论 -
VCS学习 — fast RTL-level simulation
在compile里添加开关命令,sim后,生成性能分析文件(后缀名prof),包括cpu, 模块等使用时间,消耗资源等。4: 使用小的语句块,避免block块>10000语句;re-compile需求的控制:多个错误改完之后再re-compile。2: 提升抽象等级,不要使用太过低级的语句,使simulator工作简便。compile时使用开关命令:+rad。1: 使用可综合verilog语句。3: 避免没有效率的结构:双向口。一:RTL级快速仿真的要求。五:时序电路避免使用的逻辑。原创 2024-09-26 10:14:29 · 333 阅读 · 0 评论 -
VCS学习-Code Coverage
cm_hier ./filename 先在当前文件夹下新建一个文件,用gvim打开这个文件,输入-module fs,则在报告中屏蔽这个module的报告;输入 +module fs,则报告里只有fs的覆盖率;输入-file fs.v,则在报告里屏蔽fs.v文件;line(行)覆盖率,Toggle(跳变)覆盖率,condition(条件)覆盖率,FSM(状态机)覆盖率,path(路径)覆盖率。-cm_dir directory_of_file:覆盖率文件所在文件;x->1,x->0不会报告。原创 2024-09-26 10:15:58 · 586 阅读 · 0 评论