- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 在UVM环境怎么检查RTL中间信号(小白视角)
中间信号不在接口上,也不能为了验证,让设计在RTL上加接口,那怎么才能拿到这些中间信号,其实在《UVM实战》上引出Interface接口之前,也调用RTL输出信号,方法就是使用绝对路径,在top层会实例化RTL的hdl_top模块,直接在top层写绝对路径调用RTL中的信号就好了。可以,但是麻烦了,我们还是把所有信号都定义到一个Interface文件中,然后传输这个包含中间信号的接口文件更简洁一点,在内部需要观测中间信号的时候,通过Interface调用具体的信号就可以了。
2023-09-22 18:23:19 439 1
原创 UVM中package的使用
SystemVerilog包提供了额外的机制在多个SystemVerilog模块,接口和程序之间,共享参数,数据,类型,任务,函数,序列,以及特性的声明。
2023-08-21 21:05:14 887 1
原创 fatal:Not Possible to fast-forward,aborting
在使用git的过程中执行 git pull命令时发生【fatal:Not Possible to fast-forward,aborting】错误。所以要先把远程最新代码拉到本地,检查本地和远程是否有冲突需要merge的内容,处理完这些内容后再上传自己的更新内容。把commit撤回后,先pull远程最新代码,merge后,再commit本地内容。如果先commit后再pull的话,其他人对代码的更新可能被commit代码覆盖。【致命错误:不能快进,异常中断】意思是不能先执行commit,再执行pull。
2023-08-15 20:06:57 8027 1
原创 基于触发器结构,分析保持/建立时间,亚稳态产生原因/处理方式(单/多bit、FIFO)
CP从低变高前最后锁存的数据就是触发的采样数据。如果D在此器件从低变高,由于数据不能跳变,在通过G1时,G1的输入不是一个绝对的高电平,也不是绝对的低电平,一个中间电平可能导致反相器的N,P管都有一定程度的导通,所以G1的输出也不确定。Q:如果跨时钟域信号值为1,如果经过一个周期后,第一段FF稳定后输出0,那么虽然通过两段FF的同步,避免了亚稳态问题,但是数据可能会出错?如图,a时钟域产生的a_dat传输到b时钟域,经过b时钟域的触发器后,输出的b_dat就可能产生亚稳态(meta stable)问题。
2023-01-08 22:27:16 979
原创 Coverage基础知识整理
第二行:在covergroup中建立一个名为coverpoint_name1的覆盖点,对象信号名为signal_1 ,如果没有定义bin的话,工具会默认检查signal_1所有可能出现的数值情况。第三行:在covergroup中建立一个名为coverpoint_name2的覆盖点,对象信号名为signal_2,通过bin指定了signal_2出现的数值情况为0,1,2,3,4,5 ,(6|7|8)。检查随机数据中是否包含目标数据,目标数据作为验证配置输入到DUT中,产生目标输出,通过SVA检查正确性。
2023-01-04 22:34:34 1268
原创 VBA - 转换单元格中的指定字符为下标sub_script格式
在学习Verilog中需要用带下标符号来表示建立时间和保持时间等参数。excel中输入比较麻烦,需要选中字符后,再选择字体中的下标选项。所以做了这个VBA来实现下标转换功能。
2022-11-28 22:41:48 731
原创 为什么说CMOS结构带负载能力强
带负载能力和输入电阻Ri,输出电阻Ro有关。在数字电路中,一般MOS管都是在驱动后级MOS结构,基于此前提下。对于输入电阻,MOS管Gate端绝缘,电流接近0,Ri = Ui / ig = 无穷大。对于输出电阻,MOS管导通电阻低,而且Vgs越大导通电阻越小。
2022-11-25 22:51:37 1040 1
原创 VBA自动记录时间------区域内容发生修改,指定列自动填入当前时间
Excel内容增加、修改、删除时,自动记录时间。再也不用手动输入了!(函数,VBA两种实现方法)
2022-11-19 10:56:10 4319 4
原创 RTL 设计中 信号Mask处理
原信号1s动作一次,有效期间为1个时钟周期。要修改为4s动作一次,有效期间还是1个时钟周期。要求处理后的信号和原信号时序对齐。RTL中遇到某个oneshot周期信号,需要处理为4个出1个的情况。上例代码中,max值设定为4,可实现4 to 1 的Mask操作。修改max值可以实现其他要求mask功能。...
2022-08-14 12:51:19 439
原创 Verilog HDL设计与综合 (学习笔记)
· RTL(Register Transfer Level)寄存器传输级别的电路描述语言。因为逻辑综合工具的发展,数字电路的设计中不再需要直接描述逻辑门及其连接关系。而是通过RTL对电路功能做行为级描述,通过综合工具自动的从RTL抽取出逻辑门级别的描述。· IEEE是Verilog的语言标准,1995年批准第一版,2001版有所改进Comment:由于RTL语言具有一定软件特性,在初学RTL时,经常不考虑RTL对应的电路,直接按照功能处理输入信号,使输出能够满足期待动作。这样写出来的代码常常是不可综
2022-07-09 18:21:11 258
原创 System Verilog Asserssions应用指南(学习笔记整理)
即使断言与时序无关,在信号变化的时候进入判断、求值。 ※使用场合比较少,因为一般来说SVA就是用来检查时序关系。即使断言例:即使断言被命名为test,在A或B发生变化时,进入always块,判断A,B是否同时为1,如果不为1,断言报错。->基于时钟周期->在时钟边缘按照信号的采样值计算测试表达式。Comment:在时钟边缘采样的是上一个时钟周期的稳定值。信号A在时钟周期1,从0->1,也就是一个上升沿。在时钟周期1采样的值是0,时钟周期2采样的值才是1。当前时钟边沿的变化在下一个时钟边沿
2022-07-02 14:40:09 500
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人