![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
systemverilog
Dnvia_Tech
这个作者很懒,什么都没留下…
展开
-
低功耗——工具对代码进行RTL级clock gating的小细节
上图的典型综合结果中(即不使用门控时钟的情况),在每个受EN使能控制的寄存器之前加入了一个MUX,当EN信号有效时,寄存器锁存输入信号D;自动 gating 就是要在这短暂的空闲状态时间内关闭掉无用的时钟,而不是像手动 gating 直接关闭掉整个模块的时钟,否则该模块就不能再正常工作。最近在网表后仿发现传统的D触发器,cp不是一直随机时钟翻转的,问题是我这个模块没有做低功耗需求,我们原来做低功耗对于clock gating,都是手动gating, 就是增加时钟使能信号,人为的控制模块工作时钟的有无。原创 2023-12-15 11:12:49 · 306 阅读 · 0 评论 -
如何编写覆盖点为N的倍数的覆盖率
在编写覆盖点为N的整数倍的情况下,如何编写,可以定义一个新的变量,用如下方法覆盖:需要覆盖的变量为x,其变化规律为0,1N,2N,...:int x;可以定义一个新的变量y:int y;在采样时,可以使用如下的写法:y = x % N;covergroup sample_y;bin_of_y : coverpoint(y) { bins v = {[0:$]}; // $为上边界;}endgroup对y采样,间接的就进行了x的采样;...原创 2022-02-18 14:36:32 · 181 阅读 · 0 评论 -
对队列sum约束的一个小问题
定义bit a[$];约束a.size()=8;a.sum()=3;会报错约束失败,提示如下信息,百思不得其解:Solver failed when solving following set of constraintsconstraint len_range{len_q.size() -> (fv_temp_67 == 3);}后面在想是不是因为定义类型是单bit的问题,于是把定义修改为int:int a[$];约束成功;...原创 2022-02-17 11:18:20 · 537 阅读 · 3 评论