clock的时钟频率check代码

 在芯片验证中,经常遇到需要check时钟频率的场景,由于时钟数量有很多,手动写代码得到后年马月,所以我这边写了一个宏define,可以通过输入参数的形式验证需要check的时钟频率,大大提升了验证效率和准确率!!!

`define check_boot_start_crg(ref_freq,clk_path)\
    forever begin\
        @(posedge clk_path)\
        if(cnt == 0) t1 = $realtime;\
        if(cnt == 1) begin\
            t2 = $realtime;\
            freq1 = t2-t1;\
            $display("t1 = %of, t2 = %0f, freq1 = %0f at time %t", t1, t2, $realtime);\
        end\
        if(cnt == 2) begin\
            t3 = $realtime;\
            freq2 = t3-t2;\
            $display("t2 = %of, t3 = %0f, freq2 = %0f at time %t", t1, t2, $realtime);\
        end\
        if((freq1 == freq2) && (freq1 != 0)) begin\
            frequency = freq1;\
            $display("freqency = %of, ref_freq = %0f at time %t", freqency, ref_freq, $realtime);\
            if((frequency <= ref_freq*0.99) || (frequency >= ref_freq*1.01)) begin\
                `uvm_error("soc_clk_check", "clk_path check Failed")
            else begin
                `uvm_info("soc_clk_check", "clk_path check Pass", UVM_LOW)\
                break;\
            end\
        end\
        if(cnt < 2) cnt = cnt + 1;\
        else if(cnt == 2) cnt = 0;\
    end\
        

 

在Cadence JasperGold中设置两个频率不同的异步时钟需要遵循以下步骤: 1. 确定两个时钟域的时钟频率。 2. 为每个时钟域定义一个时钟时序。 3. 创建一个时钟域交叉检查模型。 4. 在模型中添加时钟域交叉检查规则。 以下是更详细的步骤: 1. 确定两个时钟域的时钟频率。 在设计中,您需要确定两个异步时钟域的时钟频率。例如,如果您有一个时钟频率为100 MHz的时钟域和一个时钟频率为50 MHz的时钟域,则需要将这两个时钟域定义为异步时钟域。 2. 为每个时钟域定义一个时钟时序。 在JasperGold中,您需要为每个时钟域定义一个时钟时序。时钟时序是时钟上升沿和下降沿的时间序列。您可以使用时钟时序定义时钟域中的所有时序关系。您可以使用JasperGold中的Clock Constraint语法来定义时钟时序。 3. 创建一个时钟域交叉检查模型。 在JasperGold中,您可以创建一个时钟域交叉检查模型,该模型将两个异步时钟域进行交叉检查。您可以使用JasperGold中的Cross-Domain Check语法来创建时钟域交叉检查模型。 4. 在模型中添加时钟域交叉检查规则。 在JasperGold中,您可以添加时钟域交叉检查规则来确保两个时钟域之间的正确时序关系。您可以使用JasperGold中的Cross-Domain Rule语法来定义时钟域交叉检查规则。 以上是在Cadence JasperGold中设置两个频率不同的异步时钟的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值