Download presentation
Presentation is loading. Please wait.
1
开发工具MAX+PLUS II的应用
2
课程安排 MAX+PLUS II 开发环境 基于MAX+PLUS II 的设计方法 设计输入 编译 仿真 定时分析 器件编程 复习和技术支持
3
MAX+PLUS II 开 发 环 境
4
什么是MAX+PLUS II? 一个全面集成的 CPLD 开发系统 提供与器件结构无关的开发环境
支持 所有的 Altera产品(所有器件使用一个库) 广泛满足设计需求 设计输入 综合 布局和布线 (装入) 仿真 定时分析 器件编程 提供广泛的联机帮助 支持多种平台 ( PC机和工作站 ) 支持多种 EDA软件和标准
5
MAX+PLUS II 能做什么? 在一个独立的环境下运行 设计输入 设计编译 验证和编程 EDIF LPM 及其他 Verilog
VHDL SDF 标准 EDA 设计输入: 标准的 EDA 设计验证方式: Cadence Mentor Graphics Logic Modelling Synopsys Viewlogic 其他方式 OrCAD 其他输入方式 MAX+PLUS II 编译器 图形 文本设计输入 (AHDL, VHDL, Verilog HDL) 波形设计输入 Design Entry 分层 版图 编辑 设计规则检查 逻辑综合 装入器件 多多器件划分 自动错误定位 定时驱动编译 定时仿真 功能仿真 多器件仿真 定时分析 器件编程
6
其他功能 与其他 EDA工具无缝衔接 MAX+PLUS II Altera的门阵 列转换工具包 Verilog HDL 和
VHDL 设计文件 标准 EDA 仿真器 Verilog HDL VHDL EDIF SDF HDL文件 原理图 LMF TDF MAX系列 FLEX系列 Classic系列
7
MAX+PLUS II 的操作环境 MAX+PLUS II 管理器 启动窗口 工具栏提供常用功能的快速启动 工程路径 和工程名称
状态提示条简要描述被选中的菜单命令和工具栏按钮 “MAX+PLUS II” 菜单使你访问到MAX+PLUS II的所有功能 “Help”菜单为你提供联机帮助 工程路径 和工程名称
8
MAX+PLUS II常见问题的答案 MAX+PLUS II 的联机帮助中有答案 数字图书馆(CD-ROM)提供答案
提供问题答案和应用实例 数字图书馆(CD-ROM)提供答案
9
MAX+PLUS II 的 设 计 方 法
10
设计说明书 设计输入 修改设计 编译设计文件 功能验证 定时验证 器件编程 系统内验证 系统投产
11
设计输入 多种设计输入方法 在一个分层工程中,设计文件可以混合使用并互相匹配
MAX+PLUS II 图形设计输入 文本设计输入 AHDL, VHDL 第三方 EDA 工具 EDIF文件 利用开发工具FPGA-Express生成 OrCAD编辑的原理图,Xilinx公司XNF格式的文件 在一个分层工程中,设计文件可以混合使用并互相匹配 使用参数化模块库(LPM)和兆功能(Megafunction)可以加快设计输入的速度 Megawizard的界面使用方便
12
设计输入文件 VHDL/Verilog OrCAD AHDL Synopsys, ViewLogic, Mentor Graphics,
MAX+PLUS II 的图形编辑器 的文本编辑器 的符号编辑器 的版图编辑器 顶层文件 .gdf 顶层设计文件可以是下列格式: .gdf, .tdf, .vhd, .sch, 和.edf .wdf .vhd .sch .edf .xnf 图形 文件 波形 文本 从其他 EDA 工具输入 OrCAD Synopsys, ViewLogic, Mentor Graphics, 等厂商的EDIF文件 Xilinx 自身产生 VHDL/Verilog 波形输入 图形输入 .tdf AHDL
13
图形方式的设计输入 建立一个新工程 绘制原理图 保存并检查设计 创建符号文件或者嵌入文件 输入元件或者模块符号 连线 输入信号名称
文件扩展名是 .gdf 在消息处理器的帮助下改正错误 创建符号文件或者嵌入文件
14
建立一个新工程 每个设计都必须有一个工程名 工程名必须与设计文件名相符 工程名 工程路径
15
打开新文件以及输入元件符号 在图形编辑器里打开一个新的扩展名为.gdf的文件 在图形文件窗口中双击鼠标左键输入元件符号 打开新文件
输入符号名或者点中符号名 符号库 被选中库里的符号 打开新文件 在图形编辑器中双击鼠标左键
16
现有的元件库 Altera提供的基本库Prim 宏功能(Macrofunction )库mf
基本的逻辑构成模块 宏功能(Macrofunction )库mf 7400 系列逻辑 mega_lpm包含了 参数化模块库( LPM)、兆功能( Megafunctions)库和 MegaCores库 参数化模块库( LPM) 高层构造模块 兆功能(Megafunction) 是高层功能模块 如:总线复用器、双端口RAM 、fifo和并行加法器等 MegaCores库是IP模块库,用户可以在购买之前试用 通用异步收发信机(UART)、快速傅里叶变换(FFT)等 Altera的兆功能(Megafunctions)合作项目AMPP 参与方提供了 PCI总线、 DSP模块及微处理器等
17
使用参数化模块和兆功能(Megafunctions)
选择端口 设置参数 点击端口名,通过设置端口状态为“Used”或者“Unused”,选择想要的端口 点击参数名,在“parameter value”域设置想要的参数值 点击帮助按钮 获得帮助信息
18
添加用户自己的库 访问用户创建的库 添加用户库路径 设置优先级 选中库文件的路径,然后点击“Add”按钮 可以修改库文件搜索优先级.
当前工程所在路径的优先级最高,其次是用户的库,然后,才是 Altera提供的库
19
连接信号线 单根导线 总线 信号名称 只有一个比特 多个bit的信号 名称相同的点自动连到一起 附加到信号上面
总线-LPM模块的总线端口要求的总线信号名称 单根导线 单线和总线的连接 绘图工具的快捷方式
20
图形编辑器选项设置 字体和字号 线型 显示指定内容 导线控制 橡皮筋功能 控制输入文本的形式 选择单根导线或者总线 打开或者关闭显示功能
控制格线设置 橡皮筋功能 决定信号线是否随符号移动
21
保存和检查设计文件 保存和检查扩展名为.gdf的设计文件 借助于消息处理器改正所有错误 设计文件名 工程路径
22
消息处理器的功能 列出所有通知、警告和错误消息 提供关于消息的帮助 在设计文件中对消息来源进行定位 通知(Info)是一般的信息
警告(Warning) 是指可能存在的问题 错误(Error)消息表明编译器不能完成编译过程 提供关于消息的帮助 在设计文件中对消息来源进行定位 消息 转移到上一条或者下一条消息 关于消息的帮助信息 在设计文件中定位消息来源
23
创建符号文件和嵌入文件 创建符号供上层原理图调用 创建嵌入文件作为 AHDL的函数原型 创建默认符号 创建嵌入文件
24
符号编辑器 可以使用符号编辑器修改模块/元件符号
25
实 例 部 分 (LAB 1)
26
演示1 (基本的图形方式设计输入) 电路设计流程 Print out
27
演示 2 (1) 绘制下列电路 (2) 使用“ Save & Check”选项 (3) 根据错误消息查错 (4) 改正错误
28
演示 2 (使用“Save & Check”选项)
利用已有的模块/元件库绘制下面的电路图 VHDL LPM GDF Viewlogic EDIF Sel[1..0] AHDL
29
文本方式的设计输入 建立一个新工程 输入文本描述 保存和检查设计文件 与图形方式相同 用AHDL描述 用VHDL描述 类似图形方式
文件扩展名为.tdf或者.vhd
30
--使用MAX+plus II 和 AHDL进行设计
Altera自己的硬件描述语言 高级的硬件行为描述语言 使用布尔表达式、算术运算符、 真值表和条件语句等描述方式 尤其适合描述大的或者复杂的状态机电路 所描述的行为并发实现 可以在文本编辑器中使用“Insert AHDL Template” 功能插入AHDL模板 更多的关于 AHDL的知识见用户培训课程 --使用MAX+plus II 和 AHDL进行设计
31
--使用MAX+plus II 和VHDL进行设计
超高速集成电路(VHSIC)硬件描述语言 IEEE 标准 高级的硬件行为描述语言 尤其适合描述大的或者复杂的设计 可以在文本编辑器中使用“Insert VHDL Template” 功能插入VHDL模板 更多的关于 VHDL的知识见用户培训课程 --使用MAX+plus II 和VHDL进行设计
32
工程设计的构成 顶层设计 子设计 (下层模块) 编译器可以直接读取某些顶层设计 EDIF网表文件 VHDL网表文件 Xilinx网表文件
使用图形编辑器将OrCAD编辑的原理图保存为.gdf文件 子设计 (下层模块) EDIF格式、 VHDL文件、 OrCAD原理图和Xilinx文件 创建符号或者嵌入文件 在图形编辑器里嵌入符号或者在文本编辑器里嵌入文件 其他的知识产权文件 JEDEC文件、 ABEL文件和 PALASM文件 转换工具在 Altera公司的ftp服务器上
33
MAX+PLUS II 的层次化显示功能 以树状结构显示当前设计文件 显示与当前工程有关的所有文件 可以方便地在层次树上移动
点鼠标右键直接打开或者关闭文件
34
设计输入方法推荐 尽可能使用LPM和Megafunction库 采用层次化设计方法 利用层次化显示迅速访问任意层次的设计文件
利用消息处理器在设计文件中定位错误来源
35
用户 设计输入总结 第三方 EDA 工具 设计文件 支持文件 MAX+PLUS II 图形编辑器 文本编辑器 符号编辑器 波形编辑器
.gdf .tdf .vhd .sch .edf .xnf 第三方 EDA 工具 .sym .inc 用户 .wdf .lmf
36
设计说明书 设计输入 修改设计 编译设计文件 仿真 定时分析 器件编程 系统内验证 系统投产
37
MAX+PLUS II 的编译器 处理所有与工程有关的设计文件 检查语法错误或者一般的设计缺陷 完成逻辑综合和布局布线
可以使用MAX+PLUS II或者第三方 EDA工具创建设计文件 检查语法错误或者一般的设计缺陷 完成逻辑综合和布局布线 按照.acf 文件的指定进行 创建仿真和定时分析所需的文件 编译器生成的网表文件, MAX+PLUS II 或者第三方 EDA 工具都可以使用 生成编程文件对目标器件编程
38
编译一个工程 指定目标器件 设置逻辑综合控制 设置布局布线控制 选择功能编译或者定时编译 运行编译器
打开报告文件 (.rpt)或者版图编辑器检查器件使用结果以及逻辑综合和布局布线结果
39
编译器网表提取模块 (包含各种网表的阅读器)
编译器的输入和输出文件 MAX+PLUS II 设计文件 (.gdf, .tdf, .vhd) MAX+PLUS II 编译器 编译器网表提取模块 (包含各种网表的阅读器) 功能、定时或链接 SNF 提取模块 EDIF、 VHDL 和 Verilog Netlist 生成模块 数据库生成模块 划分模块 设计医生 逻辑综合模块 装入模块 装配模块 第三方 EDA (.edf, .sch, .xnf) 功能仿真 网表文件 (.snf) 定时仿真 编程文件 (.pof, .sof, .jed) 仿真和定时文件 (.edo, vo, vho, sdo) 映射文件 (.lmf) 指定和配置信息 (.acf)
40
编译器的输入文件 设计文件 指定和配置文件 (.acf) 由MAX+PLUS II创建的设计文件
图形文件 (.gdf), AHDL 文本文件 (.tdf), VHDL文本文件 (.vhd) 由第三方 EDA 工具创建的设计文件 电子设计互换格式(EDIF)文件 (.edf) 在 EDIF 网表阅读器设置中选择EDA工具供应商 如果MAX+PLUS II没有列出供应商的名称,用户需要提供该供应商的模块库映射文件 (.lmf) 由OrCAD编辑的原理图文件 (.sch)和 Xilinx文件(.xnf) 指定和配置文件 (.acf) 控制编译器的综合与布局布线操作 该文件在用户输入指定内容时由MAX+PLUS II 自动产生 用户更改指定内容或者“回注”工程时, MAX+PLUS II 也会自动修改这个文件
41
编译器的输出文件 设计验证文件 编程文件 MAX+PLUS II的设计验证文件 仿真网表文件 (.snf)
用于第三方 EDA 工具的设计验证文件 VHDL 网表文件 (.vho) EDIF网表文件 (.edo) Verilog网表文件 (.vo) 标准延迟格式( SDF )文件 (.sdo) 编程文件 编程对象文件 (.pof) SRAM 对象文件 (.sof) JEDEC文件 (.jed)
42
“指定”功能 指定内容控制编译器的逻辑综合与布局布线操作 通常在工程编译之后,通过输入指定项目来解决装入器件和系统性能方面的问题
指定应用举例: 指定器件 设置逻辑综合的选项 指定定时要求 指定引脚、位置和芯片 指定分组(Clique) 指定内容存放在指定和配置文件(.acf)中
43
指定器件 选择器件 用户自行指定器件 编译器自动选择器件 MAX+PLUS II 选择能够装入设计的容量最小、速度最快的器件 选择器件系列
指定一个器件
44
控制逻辑综合 逻辑综合操作是版图面积、速度和装入难易程度的折中 MAX+PLUS II允许用户控制逻辑综合 控制逻辑综合的两个层次
局部层次的逻辑控制 获得局部效果 只影响选定的节点、引脚和逻辑模块 全局层次的逻辑控制 获得全局效果 影响所有的节点、引脚和逻辑模块 建议:只在第一次编译的设计分析之后使用逻辑综合控制
45
局部层次的逻辑控制 加亮节点、引脚或者逻辑模块 从“Assign”菜单中选择 “ Logic Options”子菜单
局部层次逻辑控制的两种形式: 指定单个逻辑选项 指定逻辑综合的风格
46
指定单个逻辑选项 选择打开或者关闭单个结构特点和综合算法 灰化或缺省: 由上层设置或者全局设置决定 选中或自动: 该选项已打开
灰化或缺省: 由上层设置或者全局设置决定 选中或自动: 该选项已打开 空白或忽略: 该选项被关闭
47
综合风格的指定 MAX+PLUS II预先定义的常用逻辑选项设置组合 用户可以定制自己的综合风格 没有(缺省选项): 由上层或者全局设置决定
没有(缺省选项): 由上层或者全局设置决定 高速:打开所有选项 常规:关闭所有选项 所见即所得:不对设计进行优化 用户可以定制自己的综合风格
48
全局层次的逻辑控制 从“ Assign”菜单中选择 “Global Project Logic Synthesis”子菜单
选择一种预先定义的综合风格 常规 (缺省) 、 高速 或者所见即所得 或者可以创建用户自定义的综合风格
49
控制逻辑综合的其他方法 指定定时要求 (仅适用于FLEX系列) 指定期望的速度指标 在定时分析完成以后,用来改进指定的延迟路径 局部控制
加亮引脚 从“ Assign”菜单中选择 “Timing Requirements”子菜单 指定期望的 tpd、 tco、 tsu, 和fmax参数值 全局控制 从“ Assign”菜单中选择 “Global Project Timing Requirements”子菜单 指定期望的tpd、 tco、 tsu, 和fmax参数值
50
控制布局布线 建议:让MAX+PLUS II自由地放置引脚和逻辑单元
如非必须,不要做“ Pin/Location/Chip”指定 使用“ Pin/Location/Chip”指定解决设计分析中发现的 特定的性能或装入问题 如果有必要,可以通过设计文件或者版图编辑器进行“Pin/Location/Chip”指定 只能对硬“Hard”节点或者包含硬“Hard”节点的下层设计进行指定 硬节点是直接转换为硅片上的物体的对象,如触发器、逻辑单元、 I/O 引脚等
51
利用设计文件进行综合控制 指定引脚、位置和芯片 在图形或者文本文件中加亮节点 进行“Pin/Location/Chip”指定
加亮节点,从“ Assign”菜单中选择“ Pin/Location/Chip”子菜单 节点名称自动进入“Node Name ”对话框 选择引脚或者逻辑单元的位置,然后,点击“Add”按钮输入指定 内容 (注:你必须首先选择一个确定的器件)
52
利用原理图编辑器进行综合控制 指定引脚、位置和芯片 选中“LAB View”和“Current Assignments Floorplan”
首先要保存和检查当前工程 所有节点和引脚排列在 “ Unassigned Nodes & Pins ”对话框中 通过拖放 指定到特定位置 节点和引脚也可以指定到象逻辑阵列块(LAB)、行或者列等一般性位置
53
控制布局布线的其他方法 指定分组(Clique) 使一组逻辑在布局时彼此靠近
用来减少组内逻辑的延迟 加亮逻辑模块 创建并添加分组(Clique)
54
控制布局布线的其他方法 作全局工程的器件选项指定
从“Assign” 菜单中选择“Global Project Device Options”子菜单 用来控制器件使用 对于FLEX器件 保留I/O 引脚和 LCELL 资源 选择配置方法 在FLEX器件中指定复用引脚 设置控制整个器件复位和输出使能的引脚 (只对FLEX 10K 系列有效) 对于其他器件 设置加密位
55
编译器处理选项 功能编译器 定时编译器 编译产生用于功能仿真的文件 功能性仿真网表文件(.snf) 根据用户选择生成用于以下几种目的的文件
定时仿真和定时分析 定时仿真网表文件 (.snf) 第三方 EDA 仿真 Verilog格式的文件 (.vo) VHDL格式的文件 (.vho) SDF格式的文件(.sdo) 器件编程 Altera 规定的编程文件,例如:.pof文件、.sof文件等
56
功能编译过程 编译器的网表提取模块创建扩展名为 .cnf 网表文件并检查语法错误 数据库生成模块创建节点名称数据库
功能性仿真网表文件提取模块创建扩展名为.snf 的文件用于功能仿真
57
定时编译过程 编译器的网表提取模块和数据库生成模块创建网表和数据库,并检查语法错误 逻辑综合模块对工程进行逻辑综合与化简
“设计医生”( Design Doctor ) 检查设计中的违规事项 划分模块和装入模块执行布局布线算法,并生成关于器件应用情况的报告文件(扩展名为 .rpt ) 定时仿真文件提取模块生成扩展名为.snf 的文件用于仿真和定时分析 装配模块生成用于器件编程的文件
58
其他编程器处理选项 “设计医生” 装入模块的设置 快速重编译 全部重编译 检查一般设计错误 设置布局布线选项 缩短编译时间
重新编译每一个文件
59
编译整个设计 “Start”按钮用于启动编译过程 消息处理器显示下列各种消息 通知 警告 错误 开始编译 消息
60
关于报告文件 工程总结,包括以下内容 资源利用情况 编译器对资源的使用情况 器件指定 错误总结 器件输出引脚图 (用于 PCB版图设计)
引脚使用情况 逻辑单元使用情况 逻辑方程 编译器对资源的使用情况 编译时间 内存开销 双击“ rpt”图标打开报告文件
61
版图编辑器 创建和查看资源分配的图形用户接口 通过鼠标拖放指定引脚和逻辑单元 以图形方式显示当前的指定和最近的编译结果
引脚分配 逻辑单元分配 分组(Clique)的安排 逻辑选项 通过鼠标拖放指定引脚和逻辑单元 以图形方式显示当前的指定和最近的编译结果 观察逻辑阵列块或者芯片外观
62
版图编辑器 以逻辑阵列块LAB 为单元全屏显示最近的编译结果,同时显示报告文件中的逻辑方程 显示控制 加亮的逻辑单元 扇入和扇出
相应逻辑单元的逻辑方程式 显示控制
63
版图编译器 观察最近编译生成的版图 引脚序号 引脚名称 颜色图例定义
64
“回注”功能 使用“回注”工程命令“Back-Annotate Project”将上一次成功编译的信息转化为当前的指定
65
实 例 部 分 (LAB 2)
66
演示 1 (1) 编译前一个工程的设计文件 (2) 改正错误 (3) 演示功能编译和定时编译的步骤 (4) 演示部分指定选项
-打开级联链和进位链选项 -在不同模块采用不同的综合风格 (5)详细介绍报告文件( RPT ) (6)详细介绍版图编辑器
67
对工程编译过程的建议 在完成设计分析之后,使用指定功能改善器件装入和系统性能 通过报告文件关于设计的特定信息 使用版图编辑器观察指定结果
如果电路板没有要求,不要“回注”设计,使MAX+PLUS II可以产生最佳的装入方案
68
工程编译总结 MAX+PLUS II 编译器 设计 文件 仿真或 定时文件 第三方 EDA文件 编程文件 报告文件 .gdf .tdf
.vhd .sch .edf .xnf .snf MAX+PLUS II 编译器 编译器网表提取模块 (包括所有的网表阅读器〕 功能、定时或者链接仿真网表文件SNF提取模块 EDIF、 VHDL 和 Verilog 网表文件生成模块 数据库生成模块 划分模块 设计医生 逻辑综合模块 装入模块 装配模块 .edo .vo .vho 第三方 EDA文件 编程文件 .pof 报告文件 .rpt .sdo
69
设计说明书 设计输入 工程编译 修改设计 工程仿真 系统投产 器件编程 系统内验证 定时分析
70
MAX+PLUS II 的仿真器 MAX+PLUS II 的波形编辑器 .scf .snf 的文本编辑器 的仿真器 的编译器 .vec
71
MAX+PLUS II 仿真过程 创建仿真激励 运行功能仿真 运行定时仿真 波形文件 向量文件 编译速度快 只做逻辑模拟,不做逻辑综合
所有节点都保留下来,并且可以施加激励 输出刷新不引入延迟 运行定时仿真 编译速度慢 定时模型不但模拟逻辑功能,而且模拟信号延迟 经过综合,有些节点可能不在存在 输出刷新引入延迟
72
仿真波形 激励波形 参考比较波形 由波形编辑器创建的扩展名为.scf的文件 控制信号 时钟: 使用内置时钟发生器
时钟: 使用内置时钟发生器 其他控制信号: 利用覆盖、拷贝、粘贴和重复等功能徒手编辑 数据 计数形式:使用内置的二进制或者格雷码生成器 其他类型:利用覆盖、拷贝、粘贴和重复等功能徒手输入 参考比较波形 徒手编辑或者将上一次仿真结果保存为参考波形 重新仿真后,使用比较(Compare)功能验证仿真输出
73
创建波形仿真的激励输入 打开波形编辑器 从“Node”菜单中选择“ Enter Nodes from SNF…”
在“ Selected Nodes & Groups”窗口中输入节点名称 选择节点 输入节点名称
74
格线控制 “Snap to Grid”选项 打开: 绘制波形按网格的间距增加 关闭: 波形可以延伸到任意位置(不受格线限制) 设置网格间距
75
绘制激励波形 加亮波形的某个部分,然后,进行修改 无论节点是“Group”类型还是“bit”类型,用期望的参数值覆盖加亮的部分
加亮的波形区域 用于覆盖的参数值 覆盖操作的快捷方式
76
输入时钟波形 打开“Snap to Grid”选项:时钟周期至少是网格间距的两倍
加亮整个波形 时钟输入快捷方式 指定时钟周期
77
输入计数方式 首先要确保计数频率与时钟频率相匹配 加亮整个波形 编辑计数方式的快捷方式按钮 指定计数方式 指定计数频率
78
信号并组及设置基数 加亮将要并组的信号波形 最高有效位(MSB)的波形必须在最上部 输入组名并设置基数 输入组名 设置基数
79
保存作为激励的波形文件 保存作为激励的波形文件(扩展名为 .scf ) MAX+PLUS II以工程名作为文件名的缺省值 波形文件名
工程所在路径
80
创建作为仿真激励的向量文件 打开文本编辑器 输入向量形式的激励信号 时钟输入 计数方式 输出 % units default to ns %
START 0 ; STOP 1000 ; INTERVAL 100 ; INPUTS CLOCK ; PATTERN 0 1 ; % CLOCK ticks every 100 ns % INPUTS A B ; 0> 220> 1 0 320> 1 1 570> 0 1 720> 1 1; OUTPUTS Y1 Y0 ; PATTERN % check output at every Clock pulse % = X X = 0 0 = 0 1 = 1 0 = 1 1;
81
保存作为激励信号的向量文件 保存作为激励信号的向量文件(扩展名为 .vec)
MAX+PLUS II对文本文件扩展名的缺省设置为.tdf ,保存向量文件时必须将扩展名修改为.vec 扩展名改为 .vec
82
选择工程仿真的激励文件 缺省设置为仿真通道文件(扩展名为.scf)
如果用向量文件作为激励输入,在Input/Output子菜单的“Input” 窗口中输入扩展名为 .vec 的文件名 设置为 .vec 文件
83
指定仿真持续时间 用文件菜单中的“ End Time”子菜单指定仿真时间的最大长度
84
运行功能仿真器 点击“ Start”按钮启动仿真过程,等仿真结束后再点击 “Open SCF” 按钮查看仿真结果 点击“Start”按钮
输出在时钟边沿发生变化 打开 .scf文件 点击“Start”按钮
85
MAX+PLUS II 的功能仿真 用来验证所设计电路的操作 相对于定时仿真的优势 缺点 编译时间短 保留全部节点用来仿真
输出刷新不引入延迟 多数情况下,这使得判断因果关系更为容易 缺点 只有逻辑模拟,没有逻辑综合 仿真过程不考虑延迟的影响 无法发现振荡、干扰和其他与定时有关的错误
86
运行定时仿真 点击“ Start”按钮启动仿真过程,等仿真结束后再点击 “Open SCF” 按钮查看仿真结果 输出信号的改变
需要一定的延迟
87
MAX+PLUS II 的定时仿真 用来跟踪调试与定时有关的错误 相对于功能仿真的优势 缺点 对完整的逻辑综合结果仿真
输出在一定的延迟之后改变 能够检测振荡、干扰和其他与定时有关的错误 缺点 编译时间长 不能仿真组合逻辑节点 某些节点被转变或者去掉了 只有硬(Hard)节点可以仿真 延迟使得跟踪调试更加困难,因为,因果关系不容易确定
88
不同仿真结果的比较 比较两个仿真文件 打开第一个仿真通道文件 在“File”菜单中选择“ Compare”子菜单
第二个仿真通道文件的偏差将被加亮
89
实 例 部 分 (LAB 3)
90
演示 1 波形编辑器演示
91
对工程仿真的建议 使用内置时钟生成器创建时钟输入 使用内置计数波形生成器创建测试波形 使用功能仿真验证适当的操作
使用定时仿真检查信号延迟的结果 使用比较(Compare)功能验证输出 使用动态链接从设计文件中寻找节点,从而尽快返回原文件,进行必要的修改
92
工程仿真总结 两种仿真类型 两种类型的仿真文件 仿真结果保存在扩展名为.scf的文件中 功能仿真 不进行逻辑综合 不进行延迟模拟
可以仿真所有节点 定时仿真 进行逻辑综合 进行延迟模拟 只能仿真硬节点 两种类型的仿真文件 波形文件 向量文件 仿真结果保存在扩展名为.scf的文件中
93
系统投产 设计说明书 设计输入 工程编译 器件编程 系统内验证 工程仿真 修改设计 定时分析
94
MAX+PLUS II Timing Analyzer
.snf MAX+PLUS II 的定时分析器 的编译器 的版图编译器 的图形编辑器 的文本编辑器 延迟矩阵 建立/保持 矩阵 寄存器性能
95
工程定时分析 Maxplus II的定时分析器是一个静态分析器 三种定时分析形式 可以采用以下两种方式定位延迟路径
寄存器性能分析 计算最高的内部时钟频率 延迟矩阵 计算组合逻辑的延迟 建立/保持矩阵计算器件内部的寄存器的建立和保持时间 可以采用以下两种方式定位延迟路径 设计文件 版图编辑器
96
寄存器性能分析 计算内部寄存器的最高频率 用来判断设计是否满足说明书对时钟频率的要求
时钟周期是组合逻辑延迟、时钟到输出延迟 tco和寄存器建立时间 tsu的总和:Clock period =delay + tco + tsu 注:如果 时钟偏斜存在,时钟周期还要包括时钟偏斜tskew 时钟倒置 相邻两级时钟存在倒置关系时,时钟周期要加倍: Clock period = ( delay + tco + tsu ) * 2
97
运行寄存器性能分析器 点击“ Start”按钮 最长路径的信号源头、信号终点、时钟周期和频率, 都显示在寄存器性能分析器中
点击“List Paths ”按钮,跟踪延迟路径
98
在版图编辑器中跟踪延迟路径 加亮受关注的路径 检查延迟路径在版图编辑器中的位置 点击按钮“Locate All”
点击显示延迟路径按钮 ,显示延迟路径
99
寄存器性能指标的应用 利用寄存器性能指标判断设计是否满足时钟频率的要求 时钟频率不满足要求时的措施
利用 “List Path”按钮 显示最不利情况下的延迟 利用版图编辑器观察整个路径 确定逻辑单元和引脚是否分布在不同的行中 判断逻辑单元能否使用进位链(或级联链) (FLEX器件) 或者并行扩展项 (MAX器件) 在关键路径上作分组 (Clique)和逻辑选项等指定(Assign) ,改善性能 如果仍不能满足要求,考虑采用流水线技术或者采用其他更合适的设计方案
100
延迟矩阵分析 计算组合逻辑的延迟 通常用来估计输入引脚到输出引脚的延迟 通过设置源节点和目的节点,可以分析内部点到点的延迟 D Q 组合逻辑
101
延迟矩阵的源节点和目的节点 设置源节点和目的节点进行分析
102
有用的分析选项 时间限制 网格宽度 切断 I/O 引脚的反馈 切断清零和预置路径 显示全部路径 只显示最长路径 只显示最短路径
控制延迟矩阵的显示 切断 I/O 引脚的反馈 观察下一页 切断清零和预置路径 不分析清零和预置延迟 只显示两点之间的最长路径
103
切断 I/O 引脚反馈 去掉双向引脚进行分析 本选项打开:图中 路径A 和B存在, C 不存在 本选项关闭:图中 路径A 、B、 C 都存在
104
进行延迟矩阵分析 从“Analysis”菜单中选择“Delay Matrix”,然后点击 “ Start ”按钮
延迟矩阵显示所有路径、最长路径还是最短路径取决于“Time Restrictions”选项的设置 使用“List Path” 分析延迟路径
105
建立和保持时间矩阵的分析 建立和保持矩阵计算器件中触发器的建立和保持时间 计算建立时间裕量 计算保持时间裕量
时钟周期 - 数据稳定时间 - 建立时间Tsetup = 建立时间裕量 计算保持时间裕量 数据稳定时间 - 时钟到达时间 -保持时间Thold = 保持时间裕量
106
分析建立和保持时间矩阵 点击“Start”按钮 显示关于时钟信号的建立和保持时间矩阵
107
实 例 部 分 (LAB 4)
108
演示 1 (1) 用定时方式编译前面的设计 (2) 运用时间分析器分析 - 延迟矩阵 - 建立和保持时间矩阵 - 时钟性能
(3) 尝试各种定时分析选项
109
关于定时分析的建议 利用时间分析器对工程性能的“瓶颈”进行定位 利用寄存器性能分析确定设计的内部时钟频率
使用延迟矩阵的时间限制“Show Only Longest Path” 获得从输入引脚到输出引脚的最大延迟时间 使用“List Path”和“Locate”按钮在版图编辑器中观察最不利路径 使用“List Path”和“Locate”按钮在设计文件中追踪延迟路径 利用指定和重编译改善性能
110
关于工程定时分析的总结 定时分析器是一个静态分析器 定时分析有三种模式 具有通过版图编辑器或者设计文件追踪信号路径的能力 寄存器性能分析
延迟矩阵分析 建立和保持矩阵分析 具有通过版图编辑器或者设计文件追踪信号路径的能力
111
系统投产 设计说明书 设计输入 工程编译 定时分析 系统内验证 修改设计 工程仿真 器 件 编 程
112
已有的器件编程器 Altera自己的编程器 第三方编程器 LP4, LP5, LP6(现有的型号) BitBlaster
ByteBlaster 支持编程器的系统 PC机(MS Windows) Sun SPARC工作站 HP 9000 Series 700工作站 IBM RS6000工作站 第三方编程器
113
器件适配器 联机帮助提供关于适配器的信息
114
对器件编程 使用编程器和MPU 使用MAX+PLUS II的编程器模块启动编程过程 编程器默认编程文件为指定工程的编程文件
使用文件菜单中“Select Programming File” 的子菜单选择别的编程文件 利用编程器窗口上的按钮执行编程操作 主机编程单元 (MPU) 自动保存上一个指令,使用MPU 的“Start” 按钮可以重复编程
115
Altera 设计方法 简 要 回 顾
116
层次化设计 将一个设计分为许多模块 分别输入和调试每一个模块 为每一个模块创建默认符号或者嵌入文件 在顶层设计中调入这些模块
必要时为每一个模块指定各自的逻辑综合选项
117
编译工程 选择目标器件 记住80-80原则: 保留20% 的逻辑资源和 20%的 I/O 引脚资源,以容纳可能的设计变更
首先在不指定引脚的情况下编译顶层工程,确定设计是否适合实际的目标器件 必要时,对设计进行指定--通过设计编译器或者版图编译器,或者直接修改指定和配置文件 (扩展名为.acf)
118
验证设计 仿真 判断功能是否正确 判断有无干扰 进行定时分析 消除性能“瓶颈” 对设计感到满意时,“回注”工程,锁定对引脚和逻辑选项的指定
119
器件编程 对一个器件编程 运行系统验证,进行测试 如果有必要,修改设计,并用“回注”后的指定重新编译工程,重新对器件编程
Similar presentations