常用的时序检查语句

(1)setup 建立时间检查
$setup(data, posedge clk, tSU);

(2)hold 保持时间检查
$hold(posedge clk, data, tHLD);

(3)setuphold 建立/保持时间检查
$setuphold(posedge clk, data, tSU, tHLD);

(4)width 脉冲宽度检查
$width(posedge clk, 4);

(5)skew 时钟歪斜检查
$skew(posedge clk1, posedge clk2, 4);

(6)period 时钟周期检查
$period(posedge clk, 5);

(7)recovery 复位信号的恢复时间检查
$recovery(posedge rst, posedge clk, 3);

(8)removal 复位信号的移除时间检查
$removal(posedge rst, posedge clk, 3);

(9)recrem 复位信号的恢复/移除时间检查
$recrem(posedge rst, posedge clk, recovery_limit, removal_limit);

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用vcs进行SystemVerilog仿真时,需要编写仿真语句来控制仿真过程。下面是几个常用的仿真语句: 1. `+define+DEFINE_NAME=VALUE`:定义一个宏,可以在仿真代码中使用。 2. `+incdir+PATH`:添加一个包含文件的目录。 3. `+libext+.v+.sv`:指定仿真库的文件类型。 4. `+define+SIMULATION`:定义一个仿真标志,可以在仿真代码中使用。 5. `+notimingchecks`:禁用时序检查。 6. `+access+r`:指定仿真库的读取权限。 7. `+define+DEBUG`:定义一个调试标志,可以在仿真代码中使用。 8. `+define+VERBOSITY=2`:定义一个详细程度标志,可以在仿真代码中使用。 9. `+define+TESTCASE="mytest"`:定义一个测试用例名称,可以在仿真代码中使用。 10. `+incdir+../rtl`:添加一个RTL代码的目录。 这些仿真语句可以通过在vcs命令行中添加,或者在一个vcs脚本中定义来使用。例如,以下是一个示例vcs脚本: ``` #!/bin/bash VCS=/path/to/vcs TOP=top_module $VCS \ +define+SIMULATION \ +notimingchecks \ +access+r \ +incdir+../rtl \ +incdir+../tb \ +libext+.v+.sv \ ../rtl/*.v \ ../tb/*.sv \ -o $TOP \ -debug_all \ -full64 \ -l compile.log \ -timescale=1ns/1ps \ -assert svaext \ -fsv \ -sverilog \ -CC \ -R \ +define+TESTCASE="mytest" \ +define+VERBOSITY=2 ``` 该脚本使用了几个仿真语句,包括定义了`SIMULATION`标志和禁用时序检查。它还指定了RTL和测试代码的目录,并使用了SystemVerilog文件。最后,它定义了一个测试用例的名称和详细程度标志。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值