模拟验证

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对每个信号i,若za= zc ≠ ‘X’,而zb=‘X’,则z有静态 冒险; 若za≠ ‘X’,而zb=zc=‘X’,则 z 有动态冒险或者z的 取值不定。
2011-3-19 第4章 模拟 34
竞争冒险的分类
非临界冒险: 这种冒险仅产生瞬时的尖峰信号。不产生 永久性后果; 临界冒险:
这种竞争冒险可能使电路的工作状态产生永久 性的后果:例如:
2011-3-19
第4章 模拟
12
模拟过程举例
2011-3-19
第4章 模拟
13
模拟实例 1
假设所有门的延迟为标准延迟,即不同种类的门有不同的延迟
设NAND,NOR: 延迟 = 20 ns ; a NOT:延迟 = 10 ns ; : b 初值: 初值:a=1, b=0, c=1, d=0, e=0, f=1
假设:延迟时间 << 波形持续时间。 每个模拟周期在反馈线上信号反复 传播,直至稳定或超时。 三值模拟算法:两次通过:X通过, 值通过。 在两个变化的稳态值间插入X。
2011-3-19
第4章 模拟
37
有反馈回路时的三值模拟算法
for 每个时钟周期 { 1. X通过: 取输入向量xb; while (当前状态值未达到稳定 and 未达到最大迭 代次数) 根据输入向量计算当前时刻的状态值; if (当前状态未稳定) 报告错误信息:“X通过过程中电路有振荡”; 2.值通过: 取输入向量xc; while (当前状态值未达到稳定 and 未达到最大迭 代次数) 2011-3-19 第4章 模拟 根据输入向量计算当前时刻的状态值;
a,b有事件发生
(a,1)(c,1)(d,0) (c,1) (d,0)
e ,f 不是任何元件 的敏感信号,划掉
当前值
20 ns
10 ns
a Cc b
20 ns
第4章 模拟
d F D E
10 ns 18
f e
2011-3-19
当前模拟时刻为20
2011-3-19
第4章 模拟
19
模拟过程
0 10 20 30 40 50 60 70
a Cc b
20 ns
第4章 模拟
d F D E
10 ns 22
f e
2011-3-19
当前模拟时刻为40
2011-3-19
第4章 模拟
23
模拟过程
0 10 20
当前 时刻
a b
0
10
20
30
40
50
60
70
a b c d e f 0 1 1 1 0 0 1
c有事件发生 (c,0)(d,0) (e,1) (d,0)
a b c d e f 1 1 1 0 0 0 1
e有事件发生。但不是任何元件 的敏感信号,划掉 20 ns 10 ns
40 50 60 70
(e,1) (d,0)
第4章 模拟
a Cc b
20 ns
d F D E
10 ns 26
f e
2011-3-19
当前模拟时刻为60
2011-3-19
第4章 模拟
20 ns
第4章 模拟
d F D E
f e
2011-3-19
10 ns 16
当前时刻为10
2011-3-19
第4章 模拟
17
模拟过程
当前 时刻
a b
0
10
20
30
40
50
60
70
0 10 20 30 40 50 60 70
a b c d e f 0 0 1 1 1 0 0 1 (a,0)(b,1)(e,0),(f,1)
输入激励波形
设电路 初始时 刻已趋 稳定
2011-3-19
20 ns
10 ns
C c
20 ns
D
d
F E
10 ns
f e
a b
0 10 ns 20 ns 30 ns 40 ns 50 ns 60 ns 70 ns
14
第4章 模拟
当前时刻为0
2011-3-19
第4章 模拟
15
模拟过程
输入激励信号,方框中 当前 时刻
2011-3-19
a b
0
10
20 30
40
50
60
70
a 有事件发生
当前 时刻
a b c d e f 1 0 1 1 0 0 1
c, d有事项发生。 但不是事件,划掉
20 ns 10 ns
(a,1)(c,1)(d,0) (c,1) (d,0) (c,0)(d,0)
a Cc b
20 ns
第4章 模拟
三类方法:
模拟 (simulation) 形式验证 (Formal verification) 设计规则检查
2011-3-19
第4章 模拟
2
验证的重要性
70% 1:3
当前复杂ASIC和系统芯片设计中的验证工作占用 和系统芯片设计中的验证工作占用 当前复杂 了70%甚至更多。通常一个设计工程师需要三个 甚至更多。 甚至更多 验证工程师配合才能保证工作的顺利进行
2011-3-19
模拟结果波形图
a b c d e f
0
2011-3-19
10 ns
20 ns
30 ns
40 ns
50 ns
60 ns
70 ns
31
第4章 模拟 按每个时刻的当前值 画出波形图
3.三值模拟算法与竞争冒险检测
静态冒险 与电路连接有关, 也与激励波形有关。 •动态冒险 0XX
1XX
1 X 0 0 X 1 0 X 0 1 X 0 1 1 1 1 X 0
CDL, 数据流、 信号传播 DDL 控制流 程序执行 VSIM
VHDL, Verilog 算法、 行为
2011-3-19
第4章 模拟
4
三. 模拟系统的基本组成
硬件描述 语言
图形输入 转换
模拟数据
编译
数据库
输入激励 波形) (波形)
2011-3-19
模拟器
第4章 模拟
结果输出 波形) (波形)
5
逻辑模拟过程示意
a b
0
10
20 30
40
50
60
70
0 10 20 30 40 50 60 70
(a,1)(b,0)(c,1)(d,0)(e,0)(f,1) (a,0)(b,1) (e,0)(f,1) (a,1) (c,1) (d,0)
a b c d e f 1 0 1 0 0 1
当前值
20 ns 10 ns
a Cc b
则在两者之间插入一个过渡向量xb
xb = ( b1 , b2, ... , bn )
x 若a i ≠ c i 其中,bi i的取值为: b = a i 若a i = c i
2011-3-19 第4章 模拟 33
三值模拟中的两次通过算法
第一步为X通过,即求输出过渡向量zb = f (xb ); 第二步为值通过,求输出稳态向量zc = f (xc )。 由上次稳态向量za与新求出的zb、zc 组成了输出 序 列 {za , zb , zc} 。 判断是否存在冒险方法:
d F D E
f e
10 ns 20
当前模拟时刻为30
2011-3-19
第4章 模拟
21
模拟过 程
0 10 20
当前 时刻
a b
0
10
20
30
40
50
60
70
a b c d e f 1 1 1 0 0 1
c, d有事项发生。 但不是事件,划掉
20 ns 10 ns
30 40 50 60 70
(c,1) (d,0) (c,0)(d,0)
2011-3-19
三值 模拟 结果
1 2 3 4 5 6 7 8
二值模 拟结果 (对照)
1 2 3 4 5
第4章 模拟
6
7
8
41
五、VHDL模拟
VHDL集成设计环境
• • • • • •
设计输入=>生成VHDL语言 VHDL编译器=>生成中间结果数据 确立程序=>生成完整电路数据 VHDL模拟器=>施加激励信号,生成输 出波形 VHDL调试器 波形编辑与显示器
若信号值未变,删除该事项。 若信号值变化,即为一事件,接受新值,并 将其扇出元件放入活动元件表中。
3. 处理完各事项后,删除当前信号事项。 4. 计算活动元件; 得到新的事项,插入事项 表中。 5. 计算完后活动元件集合置空。 6. 模拟时钟走到下一时刻,修改事项表中的 相对时刻,返回2。
2011-3-19 第4章 模拟 11
时钟信号中出现的尖峰脉冲可能使得触发器误触发。
2011-3-19
第4章 模拟
35
有反馈的电路模型
∆ ∆ ∆ ∆
Y
假定: 假定
….
…..
X
Z
….. …..
…. ….
y
δ δ
反馈线
• ∆ >> δ
• 输入向量持续期t 输入向量持续期 t >> ∆
36
2011-3-19
第4章 模拟
反馈电路的三值模拟算法
2011-3-19 第4章 模拟 7
2. 逻辑模拟算法
模拟算法的主要组成:——基本思想
计算元件的顺序安排─调度 (schedule)
主要实现并行操作,和不同延迟时间的安排
元件模型的计算(evaluation)
求将来值和延迟时间
模拟算法─与延迟模型密切相关
零延迟──编排级数法 单位延迟──下一事件方式 标准延迟── 事件驱动算法 (时间映射的事项表)
2011-3-19
第4章 模拟
8
事件驱动算法
模拟周期
更新信号值
调度元件 计算元件输出值 处理信号事项
用事项处理链表保存和管理事项
2011-3-19
第4章 模拟
9
事项处理表:
2011-3-19
第4章 模拟
10
模拟过程
1. 外部信号事件和信号初始值加入事项表中。 2. 若已不存在事项处理或已经到达最大限定 时刻,则退出,否则处理各当前事项:
38

T1 T2
y1
x1 x2 x3
T3
z
y2
(a)电路图
2011-3-19 第4章 模拟 39
模拟过程(实例)
t0 x1 x2 x3 y1 y2 z
2011-3-19
x1 x2 x3
T1
y1
T3
T2 y2
z
t1
X X X X X X 1 0 0 1 1 1 X X X
t2
1 1 1 0
t3
1 1 X 0 1 1 X 1 0 0 1 1 1 0 X 1 X
系统功能验证——瓶颈
2011-3-19 第4章 模拟 3
二、 模拟级别
级别 电路级模拟 开关级模拟 描述 晶体管电路 特点 算法 工具例 Spice 电压电流 解方程
开关晶体管电 逻辑值 路网表
信号传播 MOSSIM, RSIM 信号传播 SIM
逻辑模拟
逻辑电路网表 逻辑值
寄 存 器 传 输 VHDL, 级模拟 高层次模拟 DDL
当前模拟时刻为70
2011-3-19
第4章 模拟
29
模拟过程
0 10 20 30 40 50
当前 时刻
a b
0
10
20
30
40
50
60
70
a b c d e f 1 1 0 0 1 1
没有任何事可做
20 ns
10 ns
60 70
第4章 模拟
a Cc b
20 ns
d F D E
10 ns 30
f e
t4
1 0 0 1 1
t5
1 1 0 0 X 1 1 1 1 1 0 0 X X 1 X
t6
0 1 1 1
X X X X X X
1-X X-0
1-X X-X 0-X X-X
X-0 0-X X-1
1-X X-0
第4章 模拟
40
三值模拟结果
x1 x2 x3 y1 y2 z
0 x1 x2 x3 y1 y2 z 0
第3章 模拟(Simulation)
一、验证与设计 二、模拟的级别系统组成 三、模拟的系统组成 四、逻辑模拟
模型 逻辑模拟算法
事件表驱动模拟算法 事件冲突和惯性延迟的处理
三值模拟的作用及算法
五、VHDL模拟
2011-3-19 第4章 模拟 1
一、设计与验证
验证(Verification):
电路描述或设计结果的正确性检查。
32
2011-3-19
第4章 模拟
三值模拟中插入过渡态
三值模拟利用‘X’来表示跳变过程中的瞬间信号值。当信 号由‘0’变‘1’或‘1’变‘0’时,插入作为过渡态的‘X’, 将输入序列分别记为‘0X1’和‘1X0’。 设一个元件原输入向量xa和新输入向量xc 分别为
xa = ( a1 , a2, ... , an ) xc = ( c1 , c2, ... , cn )
27
模拟过 程
0 10 20 30 40
当前 时刻
a b
0
10
20
30
40
50
60
70
a b c d e f 1 1 0 0 1 1
d有事项发生。但不 是事件,划掉
20 ns 10 ns
50 60 70
(d,0)
第4章 模拟
a Cc b
20 ns
d F D E
10 ns 28
f e
2011-3-19
2011-3-19
第4章 模拟
6
四、逻辑模拟
1 . 逻辑模拟模型 决定模拟功能、 决定模拟功能、规模和模拟精度 电路结构模型:电路网表 (Netlist)——元件 表,信号表,负载元件表 信号状态值模型: 2值, 3值, 多值, 强度 延迟模型: 零延迟, 单位延迟, 标准延迟,上 升下降延迟, 模糊延迟; 惯性延迟与传输延迟 元件模型: 基本门, 三态门, 传输门,功能块 与子线路
第4章 模拟
30 40 50 60 70
d有事项发生。但不 是事件,划掉
20 ns 10 ns
a Cc b
20 ns
d F D E
10 ns
f e 24
ቤተ መጻሕፍቲ ባይዱ
2011-3-19
当前模拟时刻为50
2011-3-19
第4章 模拟
25
模拟过程
0 10 20 30
当前 时刻
a b
0
10
20
30
40
50
60
70
相关文档
最新文档