当前课程知识点:EDA技术与应用 >  第三章 EDA开发平台——QuartusII应用 >  3.5 仿真验证 >  3.5.2 仿真验证 教学视频

返回《EDA技术与应用》慕课在线视频课程列表

3.5.2 仿真验证 教学视频在线视频

下一节:3.5.4 仿真验证 讨论

返回《EDA技术与应用》慕课在线视频列表

3.5.2 仿真验证 教学视频课程教案、知识点、字幕

同学们,大家好

上一讲,我们讲解了

如何对工程项目进行编译

编译成功只能说明设计符合一定的规范

但其功能是否满足预期要求

还需通过仿真进行验证

这就是本讲所要学习的内容

Quartus Ⅱ软件支持两种仿真形式

功能仿真和时序仿真

功能仿真是

假定逻辑单元和互连导线为理想的

即电路无信号延迟情况下

从功能上验证设计电路能否满足预期要求

时序仿真是电路布局布线完成后

根据信号实际延迟时间

进行的逻辑功能测试

并分析电路设计在目标器件中

最差情况下的时序关系

从而完成对整个设计项目的性能评估

仿真时一般先进行功能仿真

逻辑功能正确后,再进行时序仿真

因此功能仿真又称为前仿

时序仿真又称为后仿

那么在仿真之前,还需要做哪些工作呢?

通常在仿真之前,还需要做两步准备工作

首先是编译

如果只进行功能仿真

则只需分析和综合即可

如果进行时序仿真,则必须进行全编译

接下来还需建立输入信号的激励文件

也就是用于仿真时的输入信号

随时间变化的波形文件

下面我们通过软件的实际操作

来具体讲解一下如何进行仿真

我们打开上次的工程文件

由于已经编译完成

只需要建立激励文件即可

点击“文件”菜单下的“新建”选项

在弹出的对话框中选择

“VWF矢量波形文件”

点击“确定”后

会出现“仿真波形编辑器”窗口

接下来点击“文件”菜单下的“另存为”选项

将其保存至工程文件夹下

此时修改文件名为“add1”

或者其它想要的名字

点击“保存”即可

下一步双击窗口左侧的空白处

添加输入、输出信号节点

在弹出的对话框中点击“节点寻找”按钮

在“Filter(过滤器)”栏目内

进行引脚的筛选

通常默认“全部引脚”即可

接下来点击“List(列表)”按钮

在左侧的方框中会显示

符合筛选条件的所有节点

这里显示的是电路中所有的输入输出引脚

这时,选中想要进行仿真操作的节点

并点击“>(向右单箭头)”按钮

将其添加到右侧的方框中

如果需要将所有节点都添加到右侧

直接点击“>>(向右双箭头)”按钮即可

这里的“<(向左单箭头)”

和“<<(向左双箭头)”按钮的功能是

将右侧选中的节点退回左侧

节点添加完成后点击“确定”

退回到刚才的对话框

再次点击“确定”

仿真所需的输入输出信号节点

便出现在“波形编辑器”界面

下一步工作

是对输入信号的波形进行绘制

通常按照真值表或者功能表的状态

遍历所有可能取值

以验证电路的功能

当输入取值数量很多时

可以选取具有代表性的输入值

绘制工作是在右侧的栅格区域进行的

视图可以通过快捷工具进行放大缩小

也可通过“Ctrl+鼠标滚轮”实现

波形绘制区域的最上方显示了仿真时间

通常默认为1us

也就是该文件可以记录

0到1us的仿真波形数据

仿真时间可以根据需要进行设置

方法是点击“编辑”菜单下的

“设置截止时间”选项

这里将其设置为100ns

同样栅格大小也是可以设置的

方法类似

即点击“编辑”菜单下的“栅格尺寸”选项

在弹出的对话框中

输入想要的时间尺寸即可

接下来的工作就是绘制输入信号波形

绘制工具栏在菜单栏的下方

将鼠标悬停在工具栏的按钮上

就会显示按钮的功能

下面开始绘制“A”节点的波形

在波形的起点按住鼠标左键不放

并向右拖动,使之变为蓝色

根据需要选中一定的时间区域

点击工具栏中对应的波形按钮即可

这里我们点击“1(高电平)”按钮

选中的时间区间波形即变成了高电平

重复上述操作步骤

按照真值表中的取值

进行1位全加器的输入节点波形绘制

绘制完成后

点击工具栏中的“运行功能仿真”按钮

保存编辑后的波形文件

仿真器开始运行

仿真完成后会弹出仿真报告

报告中会显示整个仿真时间内

输入不同波形时,对应的输出波形

通过观察波形图可知

输出结果符合1位全加器的逻辑功能

说明该设计电路符合功能要求

如果出现与逻辑功能不符的状况

则需对设计输入进行修改

在功能仿真之后还需进行时序仿真

由于我们的工程之前已经进行全编译

所以直接进行时序仿真操作即可

在“仿真编辑器”窗口

点击工具栏中的“运行时序仿真”按钮

仿真完成后会弹出仿真报告

将其与功能仿真波形进行比较后会发现

输出信号波形有些不同

也就是相对于输入有延迟

这是由于芯片内部逻辑单元

和连接导线的延迟引起来的

此外,有些电路由于

输入信号在某处同时发生跳变

使得输出信号出现“冒险”现象

通过时序仿真波形判断

延迟时间和“竞争冒险”现象

是否满足预期要求

如不满足,则需对设计输入进行修改

直至满足要求

以上就是关于仿真验证的相关内容

本讲到这里就结束了

下一讲将会介绍如何对目标器件进行编程

同学们,再见

EDA技术与应用课程列表:

第一章 EDA技术概述

-1.1 EDA技术概述

--1.1.1 EDA技术概述 导学

--1.1.2 EDA技术概述 教学视频

--1.1.3 EDA技术概述 单元测验

--1.1.4 EDA技术概述 讨论

第二章 可编程逻辑器件概述

-2.1 可编程逻辑器件(PLD)概述

--2.1.1 可编程逻辑器件 导学

--2.1.2 可编程逻辑器件概述 教学视频

--2.1.3 可编程逻辑器件概述 单元测验

--2.1.4 可编程逻辑器件概述 讨论

-2.2 CPLD的结构和原理

--2.2.1 CPLD结构和原理 导学

--2.2.2 CPLD的结构和原理 教学视频

--2.2.3 CPLD的结构和原理 单元测验

--2.2.4 CPLD的结构和原理 讨论

-2.3 FPGA的结构和原理

--2.3.1 FPGA的结构和原理 导学

--2.3.2 FPGA的结构和原理 教学视频

--2.3.3 FPGA的结构和原理 单元测验

--2.3.4 FPGA的结构和原理 讨论

-2.4 FPGA和CPLD的选用

--2.4.1 FPGA和CPLD的选用 导学

--2.4.2 FPGA和CPLD的选用 教学视频

--2.4.3 FPGA和CPLD的选用 单元测验

--2.4.4 FPGA和CPLD的选用 讨论

-2.5 FPGA与CPLD的编程和配置

--2.5.1 FPGA与CPLD的编程与配置 导学

--2.5.2 FPGA与CPLD的编程与配置 教学视频

--2.5.3 FPGA与CPLD的编程与配置 单元测验

--2.5.4 FPGA与CPLD的编程与配置 讨论

第三章 EDA开发平台——QuartusII应用

-3.1 QuartusII概述

--3.1.1 Quartus Ⅱ概述 导学

--3.1.2 Quartus Ⅱ概述 教学视频

--3.1.3 Quartus Ⅱ概述 单元测验

--3.1.4 Quartus Ⅱ概述 讨论

-3.2 新建工程

--3.2.1 新建工程 导学

--3.2.2 新建工程 教学视频

--3.2.3 新建工程 单元测验

-3.3 设计输入

--3.3.1 设计输入 导学

--3.3.2 设计输入 教学视频

--3.3.3 设计输入 单元测验

--3.3.4 设计输入 讨论

-3.4 设计编译

--3.4.1 设计编译 导学

--3.4.2 设计编译 教学视频

--3.4.3 设计编译 单元测验

--3.4.4 设计编译 讨论

-3.5 仿真验证

--3.5.1 仿真验证 导学

--3.5.2 仿真验证 教学视频

--3.5.3 仿真验证 单元测验

--3.5.4 仿真验证 讨论

-3.6 器件编程

--3.6.1 器件编程 导学

--3.6.2 器件编程1 教学视频

--3.6.3 器件编程2 教学视频

--3.6.4 器件编程 单元测验

--3.6.5 器件编程 讨论

-3.7层次化设计

--3.7.1 层次化设计 导学

--3.7.2 层次化设计 教学视频

--3.7.3 层次化设计 单元测验

--3.7.4 层次化设计 讨论

-3.8 宏功能模块的使用

--3.8.1 宏功能模块的使用 导学

--3.8.2 宏功能模块的使用 教学视频

--3.8.3 宏功能模块的使用 单元测验

--3.8.4 宏功能模块的使用 讨论

第四章 VHDL语言概述

-4.1 VHDL语言概述

--4.1.1 VHDL概述 导学

--4.1.2 VHDL语言概述 教学视频

--4.1.3 VHDL语言概述 单元测验

--4.1.4 VHDL概述 讨论

-4.2 VHDL代码的结构

--4.2.1 VHDL代码的结构 导学

--4.2.2 VHDL代码的结构 教学视频

--4.2.3 VHDL代码的结构 单元测验

--4.2.4 VHDL代码的结构 讨论

-4.3 库和库声明

--4.3.1 库和库声明 导学

--4.3.2 库和库声明 教学视频

--4.3.3 库和库声明 单元测验

--4.3.4库和库声明 讨论

-4.4 实体说明

--4.4.1 实体说明 导学

--4.4.2 实体说明 教学视频

--4.4.3 实体说明 单元测验

--4.4.4 实体说明 讨论

-4.5 结构体

--4.5.1 结构体 导学

--4.5.2 结构体 教学视频

--4.5.3 结构体 单元测验

--4.5.3 结构体 讨论

-4.6 VHDL预定义数据类型

--4.6.1 VHDL预定义数据类型 导学

--4.6.2 VHDL预定义数据类型 教学视频

--4.6.3 VHDL预定义数据类型 单元测验

--4.6.4 VHDL预定义数据类型 讨论

-4.7 常量、变量和信号

--4.7.1 常量、变量和信号 导学

--4.7.2 常量、变量和信号 教学视频

--4.7.3 常量、变量和信号 单元测验

--4.7.4 常量、变量和信号 讨论

-4.8 运算操作符和属性

--4.8.1 运算操作符和属性 导学

--4.8.2 运算操作符和属性 教学视频

--4.8.3 运算操作符和属性 单元测验

--4.8.4 运算操作符和属性 讨论

-4.9 IF语句和WAIT语句

--4.9.1 IF语句和WAIT语句 导学

--4.9.2 IF语句和WAIT语句 教学视频

--4.9.3 IF语句和WAIT语句 单元测验

--4.9.4 IF语句和WAIT语句 讨论

-4.10 CASE语句

--4.10.1 CASE语句 导学

--4.10.2 CASE语句 教学视频

--4.10.3 CASE语句 单元测验

--4.10.4 CASE语句 讨论

-4.11 LOOP循环语句

--4.11.1 LOOP循环语句 导学

--4.11.2 LOOP循环语句 教学视频

--4.11.3 LOOP循环语句 单元测验

--4.11.4 LOOP循环语句 讨论

-4.12 进程

--4.12.1 进程 导学

--4.12.2 进程 教学视频

--4.12.3 进程 单元测验

--4.12.4 进程 讨论

-4.13 条件信号赋值语句

--4.13.1 条件信号赋值语句 导学

--4.13.2 条件信号赋值语句 教学视频

--4.13.3 条件信号赋值语句 单元测验

-4.14 选择信号赋值语句

--4.14.1 选择信号赋值语句 导学

--4.14.2 选择信号赋值语句 教学视频

--4.14.3 选择信号赋值语句 单元测验

-4.15 元件例化语句

--4.15.1 元件例化语句 导学

--4.15.2 元件例化语句 教学视频

--4.15.3 元件例化语句 单元测验

--4.15.4 元件例化语句 讨论

-4.16 VHDL模块化设计

--4.16.1 VHDL模块化设计

--4.16.2 VHDL模块化设计 教学视频

--4.16.3 VHDL模块化设计 单元测验

--4.16.4 VHDL模块化设计 讨论

第五章 设计方法概述

-5.1 设计方法概述

--5.1.1 设计方法概述 导学

--5.1.2 设计方法概述 教学视频

--5.1.3 设计方法概述 单元测验

--5.1.4 设计方法概述 讨论

-5.2 EDA综合设计案例(1)— 数字钟的设计

--5.2.1 EDA综合设计案例1 导学

--5.2.2 EDA综合设计设计案例1— 数字钟的设计 教学视频

--5.2.3 EDA综合设计案例1 单元测验

--5.2.4 EDA综合设计案例1 讨论

-5.3 EDA综合设计案例(2)—16×16点阵控制器设计

--5.3.1 EDA综合设计案例2 导学

--5.3.2 EDA综合设计案例2—16×16点阵控制器设计 教学视频

--5.3.3 EDA综合设计案例2 单元测验

--5.3.4 EDA综合设计案例2 讨论

思政教育

-国产EDA技术如何突破?

3.5.2 仿真验证 教学视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。