Cadence仿真器与Verilog仿真基础

需积分: 50 2 下载量 91 浏览量 更新于2024-08-17 收藏 319KB PPT 举报
"这篇资料主要介绍了SHM波形数据库在北大数字集成电路课件中的应用,以及 Cadence 仿真器的相关知识,包括逻辑仿真算法、基于事件的仿真算法和基于周期的仿真算法,以及Verilog-XL和NCVerilog仿真器的工作原理和仿真流程。" 在数字集成电路设计中,仿真扮演着至关重要的角色。SHM(Signal Hierarchy Manager)波形数据库是一种用于存储和显示仿真结果的数据结构。通过使用系统任务如 `$shm_open`、`$shm_probe`、`$shm_close` 和 `$shm_save`,设计师可以方便地操作SHM数据库,监控和记录信号的变化。例如,`$shm_open` 用于打开一个仿真数据库,`$shm_probe` 用于选择要监控的信号,而 `\$shm_close` 和 `$shm_save` 分别用于关闭数据库和将其保存到磁盘。 Cadence仿真器,特别是其Verilog-XL和NCVerilog仿真器,是基于事件的仿真器,广泛应用于功能验证。基于事件的仿真算法比基于时间的(如SPICE仿真器)和基于周期的算法更高效,因为它只在电路状态变化时进行计算,减少了不必要的处理。这种算法特别适合于处理复杂的数字电路,因为它可以"evaluate when necessary",即在需要时才进行计算,显著提高了仿真速度。 基于事件的仿真算法使用事件队列管理时间轮,确保所有当前时间片的事件被处理后才会推进到下一个时间片。在同一个时间片内,事件被视为并行发生。虽然理论上时间片可以无限细分,但实际操作中会受到硬件和软件性能限制。这种算法不关注时钟周期内的详细时序,而是专注于电路功能的正确性。 Cadence Verilog仿真器遵循IEEE 1364 Verilog标准,可以进行编译、初始化、功能验证等多个阶段的仿真。编译阶段涉及读取设计描述,处理编译指令,并构建设计的层次结构数据结构。初始化阶段则负责设置参数和初始化网络状态,未驱动的Net默认值为Z,其他节点初始值为X。 通过这样的仿真过程,设计者可以评估设计的可行性,探索解决问题的不同途径,以及在设计早期发现和纠正错误。SHM波形数据库与Cadence仿真器的结合使用,为数字集成电路的设计和验证提供了一个强大而有效的工具集。