离散事件驱动语言:原理、逻辑与建模方法解析
1. 基本离散事件模拟周期
离散事件计算模型基于模拟事件的生成并随时间处理这些事件。我们使用一个未来事件队列,这些事件按处理时间排序。语义通过取出队列头部的事件、执行相应操作并可能将新事件加入队列来定义。当当前时间没有要执行的操作时,时间前进。基本算法如下:
loop
从队列中取出下一个条目;
执行函数(例如,如条目中所列的变量赋值)
(这可能包括生成新事件);
until 满足终止条件;
硬件描述语言(HDLs)通常基于离散事件模型。以HDLs模拟RS锁存器为例,RS锁存器由两个交叉耦合的或非门组成。假设初始时锁存器被置位,输出Q为‘1’,R = S = ‘0’。两个或非门的操作由进程gate1和gate2描述,它们最初处于非活动状态,等待输入a或b上的事件。
当时间为0时,输入R变为‘1’,这一变化作为事件存储在未来事件队列中。由于它是队列中唯一的事件,会立即被处理,唤醒gate2。gate2计算或非函数结果为‘0’,并执行赋值c <= ‘0’,新值先存储在未来事件条目中,实际赋值在处理该条目时生效。之后,gate1被唤醒,计算结果产生一个请求将其输出c设为‘1’的事件,存储在队列中并立即处理。此变化又唤醒gate2,再次计算输出为‘0’。
2. 多值逻辑
在电子系统建模中,可能需要使用多于两个值来表示信号。我们区分信号的电平(信号电压的抽象)和强度(电压源阻抗的抽象),使用离散的信号值集合来表示。
- 单信
超级会员免费看
订阅专栏 解锁全文

1093

被折叠的 条评论
为什么被折叠?



