Verilog仿真验证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29.06.2020 13
11.2 使用ModelSim进行仿真
5. 执行仿真
29.06.2020 14
11.3 系统任务、系统函数和预编译语句
1. 函数$display
29.06.2020 15
11.3 系统任务、系统函数和预编译语句
1. 函数$display
29.06.2020 16
11.3 系统任务、系统函数和预编译语句
29.06.2020 49
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 50
11.6 Verilog其他仿真语句
11.6.3 wait语句
29.06.2020 51
11.6 Verilog其他仿真语句
11.6.4 force、release语句
29.06.2020 61
实验
11-1 在ModelSim上进行4位计数器仿真 (1) 实验目的:熟悉 ModelSim的Verilog仿真流程全过程,学习简单时序 电路的仿真。 (2) 实验内容1:首先利用 ModelSim完成4位计数器(例11-1)的文本编辑 输入(cnt4.v)和编译、仿真等步骤(除了输入程序外,其他步骤可以按照 11.2节内容进行),给出图11-14所示的仿真波形,仿真验证此设计的功能。 (3) 实验内容2:在 ModelSim上对cnt4.进行重新仿真,要求修改仿真激励, 把d的load值修改为4’d10,观察仿真波形结果。 (4) 实验报告:根据以上的实验内容写出实验报告,包括程序编写、软件编 译、仿真分析和详细实验过程;给出软件应用分析报告、仿真波形图及其 分析报告。 (5) 实验习题:如何修改 ModelSim的设置,使得执行run,不只是100nsΒιβλιοθήκη Baidu 更改为200ns?请查看 ModelSim帮助以获取方法。
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 36
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 37
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
2.方法二
29.06.2020 57
11.8 Verilog TestBench(测试基准)
29.06.2020 58
11.8 Verilog TestBench(测试基准)
29.06.2020 59
11.9 Verilog数字系统仿真
29.06.2020 60
习题
11-1 简述Verilog仿真流程。 11-2 试举例说明$display、$monitor、$strobe之间的差别。$time与 $stime有什么差别? 11-3 试用UDP构建3选1多路选择器。 11-4 如何生成时钟激励信号?什么是TestBench? 11-5 如何使用Verilog语句生成异步复位激励信号和同步复位激励信号? 11-6 试使用基本元件构成一位全加器。 11-7 试说明fork-begin与begin-end的区别。 11-8 编写一个Verilog仿真用程序,产生一个reset复位激励信号,要求 reset信号在仿真开始保持低电平,过10个时间单位后变高电平,再过100 个时间单位,恢复成低电平。 11-9 编写一个用于仿真的时钟发生Verilog程序,要求输出时钟激励信号 clk,周期为50ns。 11-10 试探索用多种方式在仿真时实现如同习题11-8所描述的时钟激励信 号。
2. 函数$write
29.06.2020 17
11.3 系统任务、系统函数和预编译语句
2. 函数$write
29.06.2020 18
11.3 系统任务、系统函数和预编译语句
3. 函数$strobe和$monitor
29.06.2020 19
11.3 系统任务、系统函数和预编译语句
4. 任务$finish和$stop
第11章 Verilog仿真验证
11.1 Verilog仿真方法与仿真流程
29.06.2020 2
11.1 Verilog仿真方法与仿真流程
29.06.2020 3
11.2 使用ModelSim进行仿真
29.06.2020 4
11.2 使用ModelSim进行仿真
1. 启动ModelSim
29.06.2020 5
11.2 使用ModelSim进行仿真
2. 建立仿真工程项目
29.06.2020 6
11.2 使用ModelSim进行仿真
2. 建立仿真工程项目
29.06.2020 7
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 8
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 9
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 10
11.2 使用ModelSim进行仿真
4. 装载仿真模块和仿真库
29.06.2020 11
5. 执 行 仿 真
29.06.2020 12
11.2 使用ModelSim进行仿真
5. 执行仿真
29.06.2020 20
11.3 系统任务、系统函数和预编译语句
5. 函数$time
29.06.2020 21
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 22
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 23
29.06.2020 64
29.06.2020 32
11.4.2 用户自定义元件(UDP)
29.06.2020 33
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 34
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 35
29.06.2020 52
11.7 仿真激励信号的产生
29.06.2020 53
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 54
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 55
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 56
11.7 仿真激励信号的产生
11.4.1 基本元件及其用法 5. tranif0、rtranif0、tranif1和rtranif1
29.06.2020 30
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
29.06.2020 31
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 24
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
`define 宏定义
`include 文件包含
29.06.2020 25
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
11.6.2 fork-join块语句
29.06.2020 46
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 47
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 48
11.6.2 fork-join块语句
29.06.2020 42
11.5 延时模型
11.5.3 延时说明块
29.06.2020 43
11.6 Verilog其他仿真语句
11.6.1 initial语句
29.06.2020 44
11.6 Verilog其他仿真语句
11.6.1 initial语句
29.06.2020 45
11.6 Verilog其他仿真语句
29.06.2020 26
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法 1. and、nand、or、nor、xor和xnor
2. buf与not
3. bufif1、bufif0、notif1和notif0
29.06.2020 27
11.4 基本元件与用户自定义元件(UDP)
29.06.2020 62
实验
11-2 在ModelSim上进行16位累加器设计仿真
(1) 实验目的:熟悉ModelSim的Verilog仿真流程全过程,学习仿真激励产生的方 法。学习简单的TestBench的编写。 (2) 实验内容1:首先利用ModelSim完成16位累加器(例11-28)的文本编辑输入 和编译、仿真等步骤(除了输入程序外,其他步骤可以按照11.2节内容进行),按 照书上11.7节的方法,设计16位累加器的复位和时钟激励的Verilog程序,并且在 ModelSim上进行验证。
29.06.2020 63
实验
(3) 实验内容2:为acc16设计一个TestBench,要求TestBench的仿真时 间为2000ns;在100ns前完成复位,clk时钟激励为周期10ns,增加对 acc16模块的a端口的仿真激励,把a端口值在仿真前1000ns为1,后 1000ns为5。在ModelSim上验证 TechBench,观察仿真波形结果。 (4) 实验内容3:修改ModelSim的wave波形观察窗中c的显示格式,修改 成“模拟(Analog)”波形显示。实验报告要求同实验11-1。 (5) 实验习题:如何在acc16上添加模块,构成一个输出周期可控的波形发 生器(例如正弦波发生器),如何在ModelSim上验证该设计。
11.4.1 基本元件及其用法
29.06.2020 28
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法 1. pullup和pulldown
2. pmos、nmos、rnmos和rpmos 3. cmos和rcmos
4. tran和rtran
29.06.2020 29
11.4 基本元件与用户自定义元件(UDP)
29.06.2020 38
11.4.2 用户自定义元件 (UDP)
29.06.2020 39
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 40
11.5 延时模型
11.5.1 # 延时
29.06.2020 41
11.5 延时模型
11.5.2 门延时
11.2 使用ModelSim进行仿真
5. 执行仿真
29.06.2020 14
11.3 系统任务、系统函数和预编译语句
1. 函数$display
29.06.2020 15
11.3 系统任务、系统函数和预编译语句
1. 函数$display
29.06.2020 16
11.3 系统任务、系统函数和预编译语句
29.06.2020 49
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 50
11.6 Verilog其他仿真语句
11.6.3 wait语句
29.06.2020 51
11.6 Verilog其他仿真语句
11.6.4 force、release语句
29.06.2020 61
实验
11-1 在ModelSim上进行4位计数器仿真 (1) 实验目的:熟悉 ModelSim的Verilog仿真流程全过程,学习简单时序 电路的仿真。 (2) 实验内容1:首先利用 ModelSim完成4位计数器(例11-1)的文本编辑 输入(cnt4.v)和编译、仿真等步骤(除了输入程序外,其他步骤可以按照 11.2节内容进行),给出图11-14所示的仿真波形,仿真验证此设计的功能。 (3) 实验内容2:在 ModelSim上对cnt4.进行重新仿真,要求修改仿真激励, 把d的load值修改为4’d10,观察仿真波形结果。 (4) 实验报告:根据以上的实验内容写出实验报告,包括程序编写、软件编 译、仿真分析和详细实验过程;给出软件应用分析报告、仿真波形图及其 分析报告。 (5) 实验习题:如何修改 ModelSim的设置,使得执行run,不只是100nsΒιβλιοθήκη Baidu 更改为200ns?请查看 ModelSim帮助以获取方法。
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 36
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 37
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
2.方法二
29.06.2020 57
11.8 Verilog TestBench(测试基准)
29.06.2020 58
11.8 Verilog TestBench(测试基准)
29.06.2020 59
11.9 Verilog数字系统仿真
29.06.2020 60
习题
11-1 简述Verilog仿真流程。 11-2 试举例说明$display、$monitor、$strobe之间的差别。$time与 $stime有什么差别? 11-3 试用UDP构建3选1多路选择器。 11-4 如何生成时钟激励信号?什么是TestBench? 11-5 如何使用Verilog语句生成异步复位激励信号和同步复位激励信号? 11-6 试使用基本元件构成一位全加器。 11-7 试说明fork-begin与begin-end的区别。 11-8 编写一个Verilog仿真用程序,产生一个reset复位激励信号,要求 reset信号在仿真开始保持低电平,过10个时间单位后变高电平,再过100 个时间单位,恢复成低电平。 11-9 编写一个用于仿真的时钟发生Verilog程序,要求输出时钟激励信号 clk,周期为50ns。 11-10 试探索用多种方式在仿真时实现如同习题11-8所描述的时钟激励信 号。
2. 函数$write
29.06.2020 17
11.3 系统任务、系统函数和预编译语句
2. 函数$write
29.06.2020 18
11.3 系统任务、系统函数和预编译语句
3. 函数$strobe和$monitor
29.06.2020 19
11.3 系统任务、系统函数和预编译语句
4. 任务$finish和$stop
第11章 Verilog仿真验证
11.1 Verilog仿真方法与仿真流程
29.06.2020 2
11.1 Verilog仿真方法与仿真流程
29.06.2020 3
11.2 使用ModelSim进行仿真
29.06.2020 4
11.2 使用ModelSim进行仿真
1. 启动ModelSim
29.06.2020 5
11.2 使用ModelSim进行仿真
2. 建立仿真工程项目
29.06.2020 6
11.2 使用ModelSim进行仿真
2. 建立仿真工程项目
29.06.2020 7
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 8
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 9
11.2 使用ModelSim进行仿真
3. 编译仿真文件
29.06.2020 10
11.2 使用ModelSim进行仿真
4. 装载仿真模块和仿真库
29.06.2020 11
5. 执 行 仿 真
29.06.2020 12
11.2 使用ModelSim进行仿真
5. 执行仿真
29.06.2020 20
11.3 系统任务、系统函数和预编译语句
5. 函数$time
29.06.2020 21
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 22
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 23
29.06.2020 64
29.06.2020 32
11.4.2 用户自定义元件(UDP)
29.06.2020 33
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 34
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 35
29.06.2020 52
11.7 仿真激励信号的产生
29.06.2020 53
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 54
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 55
11.7 仿真激励信号的产生
1. 方法一
29.06.2020 56
11.7 仿真激励信号的产生
11.4.1 基本元件及其用法 5. tranif0、rtranif0、tranif1和rtranif1
29.06.2020 30
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
29.06.2020 31
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
29.06.2020 24
11.3 系统任务、系统函数和预编译语句
6. 文件系统函数和系统任务
`define 宏定义
`include 文件包含
29.06.2020 25
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法
11.6.2 fork-join块语句
29.06.2020 46
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 47
11.6 Verilog其他仿真语句
11.6.2 fork-join块语句
29.06.2020 48
11.6.2 fork-join块语句
29.06.2020 42
11.5 延时模型
11.5.3 延时说明块
29.06.2020 43
11.6 Verilog其他仿真语句
11.6.1 initial语句
29.06.2020 44
11.6 Verilog其他仿真语句
11.6.1 initial语句
29.06.2020 45
11.6 Verilog其他仿真语句
29.06.2020 26
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法 1. and、nand、or、nor、xor和xnor
2. buf与not
3. bufif1、bufif0、notif1和notif0
29.06.2020 27
11.4 基本元件与用户自定义元件(UDP)
29.06.2020 62
实验
11-2 在ModelSim上进行16位累加器设计仿真
(1) 实验目的:熟悉ModelSim的Verilog仿真流程全过程,学习仿真激励产生的方 法。学习简单的TestBench的编写。 (2) 实验内容1:首先利用ModelSim完成16位累加器(例11-28)的文本编辑输入 和编译、仿真等步骤(除了输入程序外,其他步骤可以按照11.2节内容进行),按 照书上11.7节的方法,设计16位累加器的复位和时钟激励的Verilog程序,并且在 ModelSim上进行验证。
29.06.2020 63
实验
(3) 实验内容2:为acc16设计一个TestBench,要求TestBench的仿真时 间为2000ns;在100ns前完成复位,clk时钟激励为周期10ns,增加对 acc16模块的a端口的仿真激励,把a端口值在仿真前1000ns为1,后 1000ns为5。在ModelSim上验证 TechBench,观察仿真波形结果。 (4) 实验内容3:修改ModelSim的wave波形观察窗中c的显示格式,修改 成“模拟(Analog)”波形显示。实验报告要求同实验11-1。 (5) 实验习题:如何在acc16上添加模块,构成一个输出周期可控的波形发 生器(例如正弦波发生器),如何在ModelSim上验证该设计。
11.4.1 基本元件及其用法
29.06.2020 28
11.4 基本元件与用户自定义元件(UDP)
11.4.1 基本元件及其用法 1. pullup和pulldown
2. pmos、nmos、rnmos和rpmos 3. cmos和rcmos
4. tran和rtran
29.06.2020 29
11.4 基本元件与用户自定义元件(UDP)
29.06.2020 38
11.4.2 用户自定义元件 (UDP)
29.06.2020 39
11.4 基本元件与用户自定义元件(UDP)
11.4.2 用户自定义元件(UDP)
29.06.2020 40
11.5 延时模型
11.5.1 # 延时
29.06.2020 41
11.5 延时模型
11.5.2 门延时