|
逻辑模拟器中最常用的一种方法是表驱动方法。表驱动方法是用专门的编译器把逻辑电路的描述转换为适当的内部表格数据,按照某种数据结构存储在计算机中,模拟过程是对表格中的数据进行查找、存取和解释执行。表格中可以存放电路的连接关系和各种电路参数,包括功能特性、元件延迟参数、负载参数、输入激励信号波形及需要输出模拟结果的信号节点等。使用表驱动方法的优点是:便于修改和插入延迟时间,可模拟同步或异步时序电路;对激励波形和模拟参数进行局部修改后,不必重新编译可再次进行模拟;能实现选择追踪技术,加快模拟速度。 所谓选择追踪技术是指在每个模拟周期中,不是对所有元件都进行计算,而是只选择输入端信号值有变化的元件进行计算。一般来说,每个模拟周期需要计算的元件只占总元件数的10%以下,对大型电路还要少。 在实现表驱动方法时,为了充分利用各种表格处理技术和动态存储分配技术,控制逻辑元件计算顺序,主要用事件驱动方式。 对于具有不同延迟的元件,其计算得到的输出端信号值不是同一个时刻的值,需要同时记录每个信号值机器发生时间。到下一时刻,需要挑选出该时刻的事件,然后驱动有关元件的计算。如果在存储事件时按照事件发生时刻将各事件分别映射到一个时间队列中,在到达一个新的模拟周期后,就可以方便地得到该时刻的时间。这种方法便称为时间映射方式的事件驱动算法。 目前大多数逻辑模拟系统采用时间映射方式的事件驱动模拟算法。本章着重介绍这种方法。
|