模拟验证[精选].ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟验证[精选]

第4章 模拟 第3章 模拟(Simulation) 一、验证与设计 二、模拟的级别系统组成 三、模拟的系统组成 四、逻辑模拟 模型 逻辑模拟算法 事件表驱动模拟算法 事件冲突和惯性延迟的处理 三值模拟的作用及算法 五、VHDL模拟 一、设计与验证 验证(Verification): 电路描述或设计结果的正确性检查。 三类方法: 模拟 (simulation) 形式验证 (Formal verification) 设计规则检查 验证的重要性 70% 1:3 系统功能验证——瓶颈 二、 模拟级别 三. 模拟系统的基本组成 逻辑模拟过程示意 四、逻辑模拟 2. 逻辑模拟算法 模拟算法的主要组成:——基本思想 计算元件的顺序安排─调度 (schedule) 主要实现并行操作,和不同延迟时间的安排 元件模型的计算(evaluation) 求将来值和延迟时间 模拟算法─与延迟模型密切相关 零延迟──编排级数法 单位延迟──下一事件方式 标准延迟── 事件驱动算法 (时间映射的事项表)   事件驱动算法 模拟过程 外部信号事件和信号初始值加入事项表中。 若已不存在事项处理或已经到达最大限定时刻,则退出,否则处理各当前事项: 若信号值未变,删除该事项。 若信号值变化,即为一事件,接受新值,并将其扇出元件放入活动元件表中。 处理完各事项后,删除当前信号事项。 计算活动元件; 得到新的事项,插入事项表中。 计算完后活动元件集合置空。 模拟时钟走到下一时刻,修改事项表中的相对时刻,返回2。 模拟过程举例 模拟实例 1 当前时刻为0 模拟过程 当前时刻为10 模拟过程 当前模拟时刻为20 模拟过程 当前模拟时刻为30 模拟过程 当前模拟时刻为40 模拟过程 当前模拟时刻为50 模拟过程 当前模拟时刻为60 模拟过程 当前模拟时刻为70 模拟过程 模拟结果波形图 3.三值模拟算法与竞争冒险检测 三值模拟中插入过渡态 三值模拟利用‘X’来表示跳变过程中的瞬间信号值。当信号由‘0’变‘1’或‘1’变‘0’时,插入作为过渡态的‘X’,将输入序列分别记为‘0X1’和‘1X0’。 设一个元件原输入向量xa和新输入向量xc 分别为 xa = ( a1 , a2, ... , an ) xc = ( c1 , c2, ... , cn ) 则在两者之间插入一个过渡向量xb xb = ( b1 , b2, ... , bn ) 其中,bi 的取值为: 三值模拟中的两次通过算法 第一步为X通过,即求输出过渡向量zb = f (xb ); 第二步为值通过,求输出稳态向量zc = f (xc )。 由上次稳态向量za与新求出的zb、zc 组成了输出序列 {za , zb , zc} 。 判断是否存在冒险方法: 对每个信号i,若za= zc ? ‘X’,而zb=‘X’,则z有静态冒险; 若za? ‘X’,而zb=zc=‘X’,则 z 有动态冒险或者z的取值不定。 竞争冒险的分类 非临界冒险: 这种冒险仅产生瞬时的尖峰信号。不产生永久性后果; 临界冒险: 这种竞争冒险可能使电路的工作状态产生永久性的后果:例如: 时钟信号中出现的尖峰脉冲可能使得触发器误触发。 有反馈的电路模型 反馈电路的三值模拟算法 假设:延迟时间 波形持续时间。 每个模拟周期在反馈线上信号反复传播,直至稳定或超时。 三值模拟算法:两次通过:X通过,值通过。 在两个变化的稳态值间插入X。 有反馈回路时的三值模拟算法 for 每个时钟周期  {   1. X通过:     取输入向量xb;  while (当前状态值未达到稳定 and 未达到最大迭代次数) 根据输入向量计算当前时刻的状态值;  if (当前状态未稳定) 报告错误信息:“X通过过程中电路有振荡”;   2.值通过:     取输入向量xc;  while (当前状态值未达到稳定 and 未达到最大迭代次数) 根据输入向量计算当前时刻的状态值;  if (当前状态未稳定) 报告错误信息:“值通过过程中电路有振荡”; 3.判断有无冒险,如果有冒险报告错误信息; } 例 模拟过程(实例) 三值模拟结果 五、VHDL模拟 VHDL集成设计环境 设计输入=生成VHDL语言 VHDL编译器=生成中间结果数据 确立程序=生成完整电路数据 VHDL模拟器=施加激励信号,生成输出波形 VHDL调试器 波形编辑与显示器 模拟器流程图 设计输入=生成VHDL语言 图形输入(结构图、数据流图、控制流图、有限状态图等) 文本输入(文本编辑器、真值表、布尔表达式等) VHDL编译与确立(elaboration) VHDL——中间数据——完整数据 解释性模拟器 编译式模

文档评论(0)

dart002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档