SystemVerilog Schedule

Simulation Advancement

仿真器不是按照真实时间推进而进行仿真的, 仿真器是基于event仿真推进,分成以下两个层次:

  1. time slots
  2. event

仿真需要处理的最小单位是event, 每个event 都带有自己的timeslot信息,每个timeslots的具体实现就是一个event queue,这个queue里放着这个slots里所有需要处理的events。

仿真是从timeslot 0开始的,首先执行timeslots 0 queue里的events,执行完成以后,执行下一个非空的timeslots queue,以此进行仿真时间推进。

在这里插入图片描述

Process

Processes are objects that can be evaluated, that can have state, and that can respond to changes on their inputs to produce outputs.

Processes are concurrently scheduled elements, such as initial procedures. Examples of processes include, but are not limited to

  • primitives;
  • initial
  • always
  • always_comb
  • always_latch
  • always_ff procedures;
  • continuous assignments;
  • asynchronous tasks;
  • procedural assignment statements

Event

在systemverilog有两种类型的event:

  • evaluation event (计算处理一些运算)
  • update event (系统中net或者variable值的变化)

当update event被执行的时候,会引起net或者variable的变化,所有对这个变化敏感的process都会被触发,这些process重新计算的过程就是evaluation event。

stratified event sch

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值