第十章 EDA设计的仿真和测试
第十章 EDA设计的仿真和测试
主要内容 。对仿真的概念进行了简单说明 ◆以Modelsim6.3se版本为例,重点介绍了 Modelsim:软件的使用方法
主要内容 • 对仿真的概念进行了简单说明 • 以Modelsim6.3se版本为例,重点介绍了 Modelsim软件的使用方法
10.1仿真简介 仿真是指在软件环境下,验证电路的行为和设计意图是否 致。 ·简化的仿真验证系统框图如下: DUT 测试内容 仿真系 比较判断 Test Vector 统软件 输出、存 测试向量 硬件运 Testbench 储结果 测试模板
10.1 仿真简介 • 仿真是指在软件环境下,验证电路的行为和设计意图是否 一致。 • 简化的仿真验证系统框图如下: TestVector 测试向量 DUT 测试内容 Testbench 测试模板 仿真系 统软件 、 硬件运 行 比较判断 输 出 、 存 储结果
10.1仿真简介(续1) ·仿真与验证主要包括3个方面的内容: 第一是仿真系统的组织原则,主要是如何有效的测试目标 系统的理论和方法: 第三是测试模板与测试向量的设计: 最后是仿真工具的使用。 一般来说,仿真分为三种类型,即功能仿真、综合后功能仿真 和时序仿真,分别对应于设计输入后、综合完成后、布高布线 完成后等步骤,这些步骤也是仿真的切入点
10.1 仿真简介(续1) • 仿真与验证主要包括3个方面的内容: 第一是仿真系统的组织原则,主要是如何有效的测试目标 系统的理论和方法; 第二是测试模板与测试向量的设计; 最后是仿真工具的使用。 • 一般来说,仿真分为三种类型,即功能仿真、综合后功能仿真 和时序仿真,分别对应于设计输入后、综合完成后、布局布线 完成后等步骤,这些步骤也是仿真的切入点
10.1仿真简介(续2) 、功能仿真 功能仿真也称为前仿真,主旨在于验证电路功能是否符合设计要求, 其特点是不考虑电路门延时与路径延时,考察重点为电路在理想环境 下的行为和设计构想是否一致。 。可综合FPGA仿真代码是用RTL级代码语言描述的,功能仿真的输入是 设计的RTL代码,也就是HDL源文件与Testbench.。 2、综合后仿真 ·综合后仿真的主旨在于验证综合后的电路结构是否与设计意图相符, 是否存在歧义综合结果。 综合后仿真的输入是从综合得到的一般性逻辑网表抽象出的仿真模型 和综合产生的延时文 综合时的延时文件仅仅能估算门延时,而不 包含希线延时信意,所以延时信意不干分淮确
10.1 仿真简介(续2) 1、功能仿真 • 功能仿真也称为前仿真,主旨在于验证电路功能是否符合设计要求, 其特点是不考虑电路门延时与路径延时,考察重点为电路在理想环境 下的行为和设计构想是否一致。 • 可综合FPGA仿真代码是用RTL级代码语言描述的,功能仿真的输入是 设计的RTL代码,也就是HDL源文件与Testbench.。 2、综合后仿真 • 综合后仿真的主旨在于验证综合后的电路结构是否与设计意图相符, 是否存在歧义综合结果。 • 综合后仿真的输入是从综合得到的一般性逻辑网表抽象出的仿真模型 和综合产生的延时文件,综合时的延时文件仅仅能估算门延时,而不 包含布线延时信息,所以延时信息不十分准确
10.1仿真简介(续3) 3、时序仿真 时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特 定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电 露的行为是香能够在二定时序系件下满定设计构想的所能。 时序仿真主要目的在于验证电路是否存在时序违规,其输入为从布局 布线插象田的门级网表、Testbench以及扩展名为SDO的标准延时文 件。 一般来说,时序仿真是必选步骤,通过时序仿真能检查设计时序与 FPGA的实际运行情况是否一致,确保设计的可靠性和稳定性
10.1 仿真简介(续3) 3、时序仿真 • 时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特 定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电 路的行为是否能够在一定时序条件下满足设计构想的功能。 • 时序仿真主要目的在于验证电路是否存在时序违规,其输入为从布局 布线抽象出的门级网表、Testbench以及扩展名为SDO的标准延时文 件。 • 一般来说,时序仿真是必选步骤,通过时序仿真能检查设计时序与 FPGA的实际运行情况是否一致,确保设计的可靠性和稳定性
10.2 Modelsim简介 。Modelsim是一种第三方EDA仿真工具。 。Modelsim仿真工具是Model公司开发的,它支持Verilog、VHDL 以及两者的混合仿真,可以将整个程序分步执行,它在程序执 行的任何步骡任何时刻都可以查看任意变量的当前值,可以查 看某一单元或模块的输入输出的连续变化等。 ·其主要特点是仿真速度快,仿真精度高,而且支持VHDL、 Verilog HDL以及两者的混合使用,是目前业界最流行最通用的 仿真器之一
10.2 Modelsim简介 • Modelsim是一种第三方EDA仿真工具。 • Modelsim仿真工具是Model公司开发的,它支持Verilog、VHDL 以及两者的混合仿真,可以将整个程序分步执行,它在程序执 行的任何步骤任何时刻都可以查看任意变量的当前值,可以查 看某一单元或模块的输入输出的连续变化等。 • 其主要特点是仿真速度快,仿真精度高,而且支持VHDL、 Verilog HDL以及两者的混合使用,是目前业界最流行最通用的 仿真器之一
10.2.1 Modelsim的图形用户界面 ·Modelsim6.3软件在默认的条件下提供了主窗口、源文件窗口、信号 窗口、波形窗口、数据流窗口、进程窗口、存储器窗口、列表窗口等 不同窗口,如下图 国回区 口密型西言路2之岭签高+ 务8西段☒yB11ae 灯以西百 压1+…格关12201园众缘效上古+ 下型引联1常◆←◆1国o0国科印及阳窗 圆weda2 +X Path Lbrery werk m LErery wcek MOCEL TECH.M 分国 11030 Lbrery MOOOL_TEO om std. 80色TE0.父 Lbrery 3CTE0-,从 tive Process MODE TEOH _TECH-M Lbcary MODE_TECH./m m Ubrery MOCB._TEO(sl Lbtsry SMODE._TEO..o 20 ✉ mdi.inkenor.cs..d2.wf.cp.cs Al Contexts
10.2.1 Modelsim的图形用户界面 • Modelsim 6.3软件在默认的条件下提供了主窗口、源文件窗口、信号 窗口、波形窗口、数据流窗口、进程窗口、存储器窗口、列表窗口等 不同窗口,如下图
10.2.1 Modelsim的图形用户界面(续1) 主窗口:主窗口main在Modelsim启动时直接打开,是其他窗口运行的 基础 原文件窗口:源文件窗口source主要用来显示和编辑HDL源文件代码。 波形窗口:波形窗口是最常用的窗口之一,主要是用来查看仿真结果。 数据流窗口:数据流窗口Dataflow,是一般仿真软件都提供的一个通用 窗口,通过该窗口可以跟踪设计中的物理连接、事件的传播,也可以 用来跟踪寄存器、网线和进程等,极大的丰富了调试方法并对其进行 显示,也可以显示设计中的内部连接。 ·列表窗口:列表窗口使用表格的形式显示仿真结果。 ·进程窗口:进程窗口显示了仿真中用到的所有进程列表。 信号窗回Object主要是用来选择需要查看的信号,同时可以在仿真过 老EaQ琴鳘合号皇限幕 程中强制某二个号的值发变化 寄存器窗口Memoryi可以显示设计中寄存器的内容。,使用此窗口可以 通过加载源文件或改变存储器内容的方式对设计中的存储器进行初始 化,同时窗口中的内容也可以保存成一个存储器文件,以使宜后使用
10.2.1 Modelsim的图形用户界面(续1) • 主窗口:主窗口main在Modelsim启动时直接打开,是其他窗口运行的 基础。 • 源文件窗口:源文件窗口source主要用来显示和编辑HDL源文件代码。 • 波形窗口:波形窗口是最常用的窗口之一,主要是用来查看仿真结果。 • 数据流窗口:数据流窗口Dataflow是一般仿真软件都提供的一个通用 窗口,通过该窗口可以跟踪设计中的物理连接、事件的传播,也可以 用来跟踪寄存器、网线和进程等,极大的丰富了调试方法并对其进行 显示,也可以显示设计中的内部连接。 • 列表窗口:列表窗口使用表格的形式显示仿真结果。 • 进程窗口:进程窗口显示了仿真中用到的所有进程列表。 • 信号窗口Object主要是用来选择需要查看的信号,同时可以在仿真过 程中强制某一个信号的值发生变化,也可以通过信号窗口的 Edit/Force和Edit/Clock命令将任意信号强制转化成时钟信号。 • 寄存器窗口Memory可以显示设计中寄存器的内容。使用此窗口可以 通过加载源文件或改变存储器内容的方式对设计中的存储器进行初始 化,同时窗口中的内容也可以保存成一个存储器文件,以便日后使用
10.2.1 Modelsim的图形用户界面(续2) 在Modelsim的主窗口的工具栏中常用快捷键图标的功能如下表: 图标 名称 用途 对应菜单 对应命令 e Redo 撤消最后一步操作 Edit Redo Find 在当前窗口查找文本 Edit>Find Collapse All 隐藏当前窗口所有的例程 Edit>Expand Collapse All 唱 Expand All 显示当前窗口所有的例程 Edit>Expand Expand All Compile 打开编译对话框编译源文件 Compile>Compile Vcom vlog 西 Compile all 编译工程中的所有文件 Compile Compile All vcomvlog 短 Simulate 指定设计进行仿真 Simulate Start Simulation vsim 到 Break 停止当前仿真 Simulate Break 金 Environment up 返回上一层 Environment back 返回到前一次选择的内容 中 Environment forward 返回到后一次选择的内容 Restart 装载设计,将仿真复位到零, Simulate Run Restart restart 重新仿真 周 Run Length 设定单步仿真步长 Simulate>Runtime Options run Run 单步运行当前仿真 Simulate Run >Run length Run length 回 Continue Run 继续仿真直到仿真结束 Simulate Run>Continue run-continue E Run -All 运行所有仿真到仿真结束 Simulate Run>Run-All Run-all Show Language 打开一个语言模板 Source>Show Templates Language Templates
10.2.1 Modelsim的图形用户界面(续2) • 在Modelsim的主窗口的工具栏中常用快捷键图标的功能如下表: 图标 名称 用途 对应菜单 对应命令 Redo 撤消最后一步操作 Edit > Redo Find 在当前窗口查找文本 Edit > Find Collapse All 隐藏当前窗口所有的例程 Edit > Expand > Collapse All Expand All 显示当前窗口所有的例程 Edit > Expand > Expand All Compile 打开编译对话框编译源文件 Compile>Compile Vcom vlog Compile all 编译工程中的所有文件 Compile > Compile All vcomvlog Simulate 指定设计进行仿真 Simulate > Start Simulation vsim Break 停止当前仿真 Simulate > Break Environment up 返回上一层 Environment back 返回到前一次选择的内容 Environment forward 返回到后一次选择的内容 Restart 装载设计,将仿真复位到零, 重新仿真 Simulate > Run > Restart restart Run Length 设定单步仿真步长 Simulate>Runtime Options run Run 单步运行当前仿真 Simulate > Run >Run length Run length Continue Run 继续仿真直到仿真结束 Simulate > Run > Continue run-continue Run -All 运行所有仿真到仿真结束 Simulate > Run > Run -All Run-all Show Language Templates 打开一个语言模板 Source>Show LanguageTemplates