Verillog
文章平均质量分 66
马可瓦尔多_
这个作者很懒,什么都没留下…
展开
-
UVM中package的使用
SystemVerilog包提供了额外的机制在多个SystemVerilog模块,接口和程序之间,共享参数,数据,类型,任务,函数,序列,以及特性的声明。原创 2023-08-21 21:05:14 · 576 阅读 · 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 · 761 阅读 · 0 评论 -
RTL 设计中 信号Mask处理
原信号1s动作一次,有效期间为1个时钟周期。要修改为4s动作一次,有效期间还是1个时钟周期。要求处理后的信号和原信号时序对齐。RTL中遇到某个oneshot周期信号,需要处理为4个出1个的情况。上例代码中,max值设定为4,可实现4 to 1 的Mask操作。修改max值可以实现其他要求mask功能。...原创 2022-08-14 12:51:19 · 393 阅读 · 0 评论 -
Verilog HDL设计与综合 (学习笔记)
· RTL(Register Transfer Level)寄存器传输级别的电路描述语言。因为逻辑综合工具的发展,数字电路的设计中不再需要直接描述逻辑门及其连接关系。而是通过RTL对电路功能做行为级描述,通过综合工具自动的从RTL抽取出逻辑门级别的描述。· IEEE是Verilog的语言标准,1995年批准第一版,2001版有所改进Comment:由于RTL语言具有一定软件特性,在初学RTL时,经常不考虑RTL对应的电路,直接按照功能处理输入信号,使输出能够满足期待动作。这样写出来的代码常常是不可综原创 2022-07-09 18:21:11 · 231 阅读 · 0 评论 -
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 · 436 阅读 · 0 评论