深入理解VHDL电路建模与事件驱动仿真
1. 可调节的算术行为
为了使定点和浮点包尽可能通用,借助泛型让用户可以调节与算术行为相关的几个方面:
- 舍入行为(四舍五入≈与截断↓)
- 溢出行为(饱和与环绕⧸|⧸|⧸)
- 除法运算的保护位数量
2. 执行的事件驱动方案
在VHDL中有几种并发构造:
- 并发信号赋值(最简单)
- 选择信号赋值
- 条件信号赋值
- 进程语句(最强大)
模拟需要一个机制来调度进程执行,因为通常只有少数处理器核心可用于运行模拟代码,但要让模拟结果就像电路模型中的多个进程同时运行一样。这个机制始终处于HDL模型的后台,理解模拟期间如何调度模型的并发进程对于编写综合代码至关重要。
3. 模拟时间与执行时间
- 模拟时间:对于HDL模型而言,模拟时间就如同物理时间对于该模型所描述的硬件一样。模拟器软件维护一个计数器,新的模拟运行开始时将其置为零,之后记录模拟时间的进展。可以把这个计数器比作秒表,模拟期间发生的任何事件都可以看作被打上了该时钟当前显示的时间戳。
- 执行时间:也称为挂钟时间,指计算机在模拟期间执行HDL代码语句所花费的时间。只要模拟运行能在可接受的时间内完成,电路设计师通常不太关注这个时间。
4. 离散时间模型的好处
假设要用某种软件语言对数字电路进行建模,捕获门和寄存器的功能并不难,但考虑它们各自的传播延迟就比较复杂了。为了提高效率,可以将时间视为离散的,并设计一种数据结构,在相关电路模型需要重新评估其输入时激活它们。这正是事件驱动模拟的
超级会员免费看
订阅专栏 解锁全文

37

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



