- 博客(5)
- 收藏
- 关注
原创 SystemVerilog中program使用interface方法
可能导致信号在设计与测试平台之间的时序竞争(如设计在时钟上升沿采样,而测试平台在同一时刻驱动信号)。以支持动态绑定和类操作,复用性强,推荐使用virtual interface。(2)在 Program 中使用 Virtual Interface。简单场景:代码简单,无需额外声明,直接通过端口传递。在 SystemVerilog 中,可以直接通过。实例并操作其信号,无需额外声明。实例,使得测试代码复用性更高。的实例化需要明确层次路径。避免层次依赖:直接实例化。无法在类中直接使用:如果。
2025-05-28 02:51:08
331
原创 阻塞赋值(=)&非阻塞赋值(<=)
在System Verilog中,Driver驱动模块常使用非阻塞赋值(Non-Blocking Assignment),主要是为了。这模仿了硬件中寄存器(Flip-Flop)的特性——寄存器的输出在时钟边沿后才会更新。):会立即更新信号值,适用于组合逻辑,但若在时序逻辑中使用,可能导致仿真结果与硬件实际行为不一致。在驱动FIFO等时序敏感模块时,非阻塞赋值是必要的设计规范,能显著减少仿真与硬件实现之间的差异。的更新仍会在同一时钟边沿后生效,确保数据和使能信号的同步。:在并行操作中保持信号更新的原子性。
2025-05-25 01:51:21
395
原创 同步FIFO&异步FIFO
FIFO 是 First In First Out 的简称,实现的对数据的存储具有先进先出特性的一种缓存器。FIFO组成结构:FIFO其实就是一个双口RAM加上两个读写控制模块。FIFO写控制逻辑: 产生FIFO写地址、 写有效信号, 同时产生FIFO写满、 写错等状态信号;FIFO读控制逻辑: 产生FIFO读地址、 读有效信号, 同时产生FIFO读空、 读错等状态信号。
2025-05-13 19:04:20
1035
原创 Verilog_状态机FSM
三个always块,一个always块用同步时序逻辑描述状态转移,一个always块采用组合逻辑判断状态转移条件,描述状态转移规律,另一个always模块描述状态输出(可用组合逻辑电路输出,也可用时序逻辑电路输出)在状态S1/S2/S3/S4下,若检测到cancel_flag=1,则取消操作,状态返回S0,并退回相应币值;在S0状态下,如果检测到op_start=1,开始检测是否有投币,如果有,一次新的售货操作开始;只有在S0 状态下,hold_ind=0,可以发起新一轮操作,其它状态下都为1;
2025-05-12 23:59:29
594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅