fpga开发工具-ise
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA开发工具
1
主要内容
• Xilinx ISE
– Project Navigator:集成化开发环境 – Core Generator:核生成器 – StateCAD:状态机输入工具 – Timing Analyzer:时序分析器 – FloorPlanner:布局规划器 – FPGA Editor:FPGA底层编辑器
束和面积约束
• 在实际的工程项目中,一般需要使用引脚约束
21
• 约束类型
时序约束
– 全局约束:对全局有效 – 端口约束:对某个或者某些端口有效
• 周期约束
– 绝对指标:周期、占空比 – 相对指标:分频比、倍频比、相位 – 抖动
• 从输入数据稳定到时钟边缘的时间:pad to setup • 从时钟边缘到输出数据稳定的时间:clock to pad • 从输入数据稳定到输出数据稳定的时间: pad to pad
优化生成的逻辑连接,输出edf和edn等 Xilinx ISE中的XST。 文件,供FPGA/CPLD厂家的布局布线器 进行实现。
注:XST是Xilinx自主开发的综合工具。虽然Xilinx设计综合软件 的经验还不够丰富,但只有Xilinx自己对其芯片的内部结构最了 解,所以XST的一些优化策略是其他综合工具无法比拟的。
19
20
用户约束
• 三种类型的约束
– 时序约束: 逻辑设计所要满足的时序 – 引脚约束: 指定设计模块的I/O引脚位置 – 区域约束: 即逻辑设计所占用的资源
• 手动编辑约束
– User Constraints -> Edit Constraints (Text)
• 在小规模的低速逻辑设计中,一般不需要时序约
14
HDL编辑器
• 常规创建工程文件的步骤(演示) • 使用语言模板可以达到事半功倍的效果 (以计数器为例介绍)
15
语言模板使用介绍
• 选择【Edit】->【Language Template】,打开 语言设计模板,或者通过单击工具栏中最又端的 灯泡按钮来打开语言模板。 • 在语言模板【Language Templates】窗口中,通 过单击符号“+”来展开VHDL下的综合模板 【Synthesis Templates】 • 从VHDL综合模板中选择计数器(Counter)模板, 并把它拖动或粘贴到源程序counter_demo.vhd的 begin和end之间。 • 关闭计数器语言模板窗口
• ModelSim:仿真工具 • Xilinx ChipScope Pro:片内逻辑分析仪
2
• 第一部分:Xilinx ISE
3
ISE简介
• • • • 由Xilinx公司开发,由Foundation系列发展而来。 支持Xilinx全部CPLD和FPGA器件 支持Verilog和VHDL 除了仿真以外,其它的FPGA设计流程(设计输 入、仿真、逻辑综合、布局布线与实现、时序分 析、芯片下载与配置、功耗分析等)都可以通过 ISE来完成
NET "result<7>" LOC = "P61" ;
23
区域约束
• “区域约束”也被称为 “面积约束” • 它指定了逻辑电路在 FPGA内部的实现位置和 大小 • 区域约束的设置步骤:
– 在Design Browser中选择 Logic – 把Logic拖动到archtecture view中的某个位置 – 用鼠标改变区域的大小
• View RTL Schematic
– 查看RTL级别的电路图 – Pop和Push按钮用于在电路图的不同层次之间切换 – 建议初学者多看看RTL图,以加深对综合过程的认识
25
综合报告中的常见名词
• • • • • • • • • Pad:引脚 FF/Flip-Flop: FDCE:异步复位和时钟使能的D触发器 LUT:查找表 MUX:多路选通 XOR:异或 IBUF:输入缓冲门 OBUF:输出缓冲门 Fanout:扇出,一个逻辑部件的输出端可能连接到多个逻 辑部件的输入端,所连接的输入端的个数称为扇出数量
16
17
语言模板使用介绍
• 将带有注释符号(--)的计数器端口定义的语句剪切 并粘贴到计数器的实体(entity)描述中去。计数 器端口定义语句如下:
Port( -- CLK: in STD_LOGIC; -- RESET: in STD_LOGIC; -- CE, LOAD, DIR: in STD_LOGIC; -- DIN: in STD_LOGIC_VECTOR(3 downto 0); -- COUNT: inout STD_LOGIC_VECTOR(3 downto 0); );
26
counter的综合报告
27
counter的RTL视图
28
实现
• 实现的三个步骤
– 翻译:将通用的NGC文件转换成为Xilinx的NGD文件 – 映射:将综合结果中的基本结构,映射成器件中的物 理资源 – 布局与布线:确定逻辑实现的位置和连线
• 在Process View中双击Implement Design即可完 成实现过程 • 实现的三个步骤中,每一步都可以产生一个仿真 的模型,仿真的效果与实际情况逐步逼近,布局 布线后的仿真模型与实际运行情况基本一致
– 支持第三方编辑器、仿真器、综合器
• 仿真一般依赖于ModelSim来实现 • 最新版本为9.1,本课程基于6.1版
4
ISE 中集成工具及其基本功能
• ISE中的工具可以分为两部分,一是Xilinx自己提 供的软件工具,另外一些是其他EDA厂商提供的 软件工具,后者统称为第三方工具。 • Xilinx自带软件在ISE安装完成后即可直接使用, 包括了FPGA/CPLD设计流程中的常用工具。 • 第三方软件指专门EDA工具生产商提供的软件工 具,ISE集成了与这些设计工具的友好接口,在 ISE中可以直接调用这些工具。
Core Generator简介
31
Core Generator简介
• Core Generator是由Xilinx提供的核生成器 • 它可以直接生成各种常见的IP核,以简化设计。比如RAM、 加法器等等 • 使用CoreGen的时候,需要新建一个CoreGen的工程,注: 此工程和Project Navigator中的工程无关! • 使用CoreGen生成的IP核时,只需要把CoreGen生成的IP 核源文件加入到Project Navigator的工程中即可 • 虽然有些IP核也可以自行编写,但是Core Gen所生成的IP 核经过专门针对器件的专业优化,其质量更高 • 在可以用CoreGen生成IP核的场合,建议尽量使用 CoreGen,但6.1版本的CoreGen存在不少bug!必要时可 以考虑更换更高的版本。
24
综合
• 综合的目的是把HDL转换成基本电路结构或者宏单元,比 如LUT、Flip-Flop、加法器等 • 在Process View中双击Synthesis即可完成综合过程 • View Synthesis Report
– 在Final Report可以看到各种资源的利用率 – 在Timing Summary可以看到最高运行频率 – 注意,综合报告中的频率只是在综合过程中的理论值。实际值要 低于这个频率!
8
Project Navigator的设置
• Edit -> Preferences • 选择编辑器、综合器、仿真器、片内逻辑分析仪
9
PN(工程管理器)工程创建向导(1)
• New -> New Project • 注意选择顶层模块类型:硬件描述语言HDL、原理图 Schematic
10
PN工程创建向导(2)
18
语言模板使用介绍
• 去掉counter_demo.vhd源程序中端口定义语句前 的注释符号(--)。 • 去掉COUNT端口定义语句后的分号(;): COUNT: inout STD_LOGIC_VECTOR(3 downto 0) • 选择【File】->【Save】,保存 counter_demo.vhd源程序。
6
ISE 中集成工具及其基本功能
常用的仿真工具还有:
• 仿真工具 Synopsys公司的VCS,Cadence公司的NC-Verilog和NCVHDL,Aldec公司的Active HDL,VHDL/Verilog HDL等。 ISE集成的仿真工具主要有Model Tech公司的仿 真工具ModelSim和测试激励生成器HDL Bencher 通过仿真能及时发现设计中的错误,加快设计进度,提高设 等 计的可靠性。 • 实现工具 综合结果的本质是一些由与、或、非门,触发器,RAM等基本 ISE集成的实现工具有约束编辑器(Constraints 逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大 Editor)、引脚与区域约束编辑器(PACE)、时 差别。 此时应该使用FPGA/CPLD厂家的布局布线器,根据所选 序分析器(Timing Analyzer)、FPGA底层编辑 芯片的型号,将综合输出的逻辑网表适配到具体的FPGA/CPLD 器(FPGA Editor)、芯片观察窗(Chip Viewer) 器件上,这个过程就叫做实现过程。Xilinx的实现过程分为翻译 和布局规划器(Floorplanner)等
22
引脚约束
• 把引脚的名称用鼠标拖动到相应的位置即可 • 引脚约束的设计原则:
– 相关联的信号尽可能地安排在相邻的位置 – 如果相邻的位置安排不下,则应该安排在相邻的Bank – 对于时钟信号,应该安排在GCLK引脚上,以便获得较 快的速度
• 熟悉引脚的时候,用手工编辑约束文件的方式比 用鼠标拖动的方式更为方便 • Ucf约束文件中引脚约束的定义方式如下:
5
ISE 中集成工具及其基本功能
• 设计输入工具 HDL编辑器(HDL Editor)、状态机编辑器(StateCAD)、原理图编 辑器(ECS)、IP核生成器(Core Generator)和测试激励生成器 (HDL Bencher) 综合的本质是将HDL语言、原理图等设 • 综合工具 Synplicity公司的Synplify/Synplify Pro、Amplify; 计输入翻译成由与、或、非门,触发器, Synopsys公司的FPGA Compiler II(其早期版本为FPGA Express, RAM等基本逻辑单元组成的逻辑网表 已停止发展); (连接),并根据目标要求(约束条件) Mentor 公司旗下的Exemplar Logic公司出品的Leonardo Spectrum;
29
生成编程文件
• 根据布局布线后的结果,产生FPGA的配置数据 文件 • 鼠标右键单击“Generate Programming Files”, 选“Properties…”
– 在configuration option中可以控制专用配置引脚的状态: 上拉或者不上拉;还可以设置UserID,UserID一般用 来标记FPGA的版本号 – 在General Option里面有个Enable BitStream Compression的选项,用于压缩二进制位流,对于小设 计,此选项特别有效 – 在Readback Options中,把Security设置为“Disable Readback”可以禁止从FPGA中读出配置数据,有利于 提高安全性 30
• 选择器件型号、封装、速度等级 • 选择综合器、仿真器、仿真语言
11
向PN加入新的源文件
• 关键要选择好源文件的类型
12
设计流程
• • • • • • 编写源文件 制定用户约束 综合 实现 生成编程文件 使用逻辑分析仪分析
13
ቤተ መጻሕፍቲ ባይዱ
设计输入工具
• • • • • HDL编辑器(HDL Editor) 状态机编辑器(StateCAD) 原理图编辑器ECS(Schematic Editor) IP核生成器(Core Generator) 测试激励生成器(HDL Bencher)
(Translate )、映射(Map) 和布局布线(Place & Route) 等3个 步骤。只有器件开发商最了解器件的内部结构,所以实现步骤7 必须选用开发商自己提供的工具软件。
ISE 中集成工具及其基本功能
• 辅助设计工具 PROM配置文件分割器(PROM File Formatter)可以完 成配置文件的分割。 iMPCT配置器可以实现将配置文件下载到FPGA/CPLD 或 相应的存储器等功能。 功耗仿真器(XPower)是估计设计功耗的工具。 在线逻辑分析仪(Chip Scope Pro)是Xilinx与Agilent合 作开发的针对Xilinx芯片的在线片内信号分析工具。 模块化设计(Modular Design)是一种进行并行工作、协 同设计的工作方法和设计工具。 增量式设计(Increment Design)方法是一种能在小范围 改动情况下节约综合、实现时间并继承以往设计成果的设 计手段。
1
主要内容
• Xilinx ISE
– Project Navigator:集成化开发环境 – Core Generator:核生成器 – StateCAD:状态机输入工具 – Timing Analyzer:时序分析器 – FloorPlanner:布局规划器 – FPGA Editor:FPGA底层编辑器
束和面积约束
• 在实际的工程项目中,一般需要使用引脚约束
21
• 约束类型
时序约束
– 全局约束:对全局有效 – 端口约束:对某个或者某些端口有效
• 周期约束
– 绝对指标:周期、占空比 – 相对指标:分频比、倍频比、相位 – 抖动
• 从输入数据稳定到时钟边缘的时间:pad to setup • 从时钟边缘到输出数据稳定的时间:clock to pad • 从输入数据稳定到输出数据稳定的时间: pad to pad
优化生成的逻辑连接,输出edf和edn等 Xilinx ISE中的XST。 文件,供FPGA/CPLD厂家的布局布线器 进行实现。
注:XST是Xilinx自主开发的综合工具。虽然Xilinx设计综合软件 的经验还不够丰富,但只有Xilinx自己对其芯片的内部结构最了 解,所以XST的一些优化策略是其他综合工具无法比拟的。
19
20
用户约束
• 三种类型的约束
– 时序约束: 逻辑设计所要满足的时序 – 引脚约束: 指定设计模块的I/O引脚位置 – 区域约束: 即逻辑设计所占用的资源
• 手动编辑约束
– User Constraints -> Edit Constraints (Text)
• 在小规模的低速逻辑设计中,一般不需要时序约
14
HDL编辑器
• 常规创建工程文件的步骤(演示) • 使用语言模板可以达到事半功倍的效果 (以计数器为例介绍)
15
语言模板使用介绍
• 选择【Edit】->【Language Template】,打开 语言设计模板,或者通过单击工具栏中最又端的 灯泡按钮来打开语言模板。 • 在语言模板【Language Templates】窗口中,通 过单击符号“+”来展开VHDL下的综合模板 【Synthesis Templates】 • 从VHDL综合模板中选择计数器(Counter)模板, 并把它拖动或粘贴到源程序counter_demo.vhd的 begin和end之间。 • 关闭计数器语言模板窗口
• ModelSim:仿真工具 • Xilinx ChipScope Pro:片内逻辑分析仪
2
• 第一部分:Xilinx ISE
3
ISE简介
• • • • 由Xilinx公司开发,由Foundation系列发展而来。 支持Xilinx全部CPLD和FPGA器件 支持Verilog和VHDL 除了仿真以外,其它的FPGA设计流程(设计输 入、仿真、逻辑综合、布局布线与实现、时序分 析、芯片下载与配置、功耗分析等)都可以通过 ISE来完成
NET "result<7>" LOC = "P61" ;
23
区域约束
• “区域约束”也被称为 “面积约束” • 它指定了逻辑电路在 FPGA内部的实现位置和 大小 • 区域约束的设置步骤:
– 在Design Browser中选择 Logic – 把Logic拖动到archtecture view中的某个位置 – 用鼠标改变区域的大小
• View RTL Schematic
– 查看RTL级别的电路图 – Pop和Push按钮用于在电路图的不同层次之间切换 – 建议初学者多看看RTL图,以加深对综合过程的认识
25
综合报告中的常见名词
• • • • • • • • • Pad:引脚 FF/Flip-Flop: FDCE:异步复位和时钟使能的D触发器 LUT:查找表 MUX:多路选通 XOR:异或 IBUF:输入缓冲门 OBUF:输出缓冲门 Fanout:扇出,一个逻辑部件的输出端可能连接到多个逻 辑部件的输入端,所连接的输入端的个数称为扇出数量
16
17
语言模板使用介绍
• 将带有注释符号(--)的计数器端口定义的语句剪切 并粘贴到计数器的实体(entity)描述中去。计数 器端口定义语句如下:
Port( -- CLK: in STD_LOGIC; -- RESET: in STD_LOGIC; -- CE, LOAD, DIR: in STD_LOGIC; -- DIN: in STD_LOGIC_VECTOR(3 downto 0); -- COUNT: inout STD_LOGIC_VECTOR(3 downto 0); );
26
counter的综合报告
27
counter的RTL视图
28
实现
• 实现的三个步骤
– 翻译:将通用的NGC文件转换成为Xilinx的NGD文件 – 映射:将综合结果中的基本结构,映射成器件中的物 理资源 – 布局与布线:确定逻辑实现的位置和连线
• 在Process View中双击Implement Design即可完 成实现过程 • 实现的三个步骤中,每一步都可以产生一个仿真 的模型,仿真的效果与实际情况逐步逼近,布局 布线后的仿真模型与实际运行情况基本一致
– 支持第三方编辑器、仿真器、综合器
• 仿真一般依赖于ModelSim来实现 • 最新版本为9.1,本课程基于6.1版
4
ISE 中集成工具及其基本功能
• ISE中的工具可以分为两部分,一是Xilinx自己提 供的软件工具,另外一些是其他EDA厂商提供的 软件工具,后者统称为第三方工具。 • Xilinx自带软件在ISE安装完成后即可直接使用, 包括了FPGA/CPLD设计流程中的常用工具。 • 第三方软件指专门EDA工具生产商提供的软件工 具,ISE集成了与这些设计工具的友好接口,在 ISE中可以直接调用这些工具。
Core Generator简介
31
Core Generator简介
• Core Generator是由Xilinx提供的核生成器 • 它可以直接生成各种常见的IP核,以简化设计。比如RAM、 加法器等等 • 使用CoreGen的时候,需要新建一个CoreGen的工程,注: 此工程和Project Navigator中的工程无关! • 使用CoreGen生成的IP核时,只需要把CoreGen生成的IP 核源文件加入到Project Navigator的工程中即可 • 虽然有些IP核也可以自行编写,但是Core Gen所生成的IP 核经过专门针对器件的专业优化,其质量更高 • 在可以用CoreGen生成IP核的场合,建议尽量使用 CoreGen,但6.1版本的CoreGen存在不少bug!必要时可 以考虑更换更高的版本。
24
综合
• 综合的目的是把HDL转换成基本电路结构或者宏单元,比 如LUT、Flip-Flop、加法器等 • 在Process View中双击Synthesis即可完成综合过程 • View Synthesis Report
– 在Final Report可以看到各种资源的利用率 – 在Timing Summary可以看到最高运行频率 – 注意,综合报告中的频率只是在综合过程中的理论值。实际值要 低于这个频率!
8
Project Navigator的设置
• Edit -> Preferences • 选择编辑器、综合器、仿真器、片内逻辑分析仪
9
PN(工程管理器)工程创建向导(1)
• New -> New Project • 注意选择顶层模块类型:硬件描述语言HDL、原理图 Schematic
10
PN工程创建向导(2)
18
语言模板使用介绍
• 去掉counter_demo.vhd源程序中端口定义语句前 的注释符号(--)。 • 去掉COUNT端口定义语句后的分号(;): COUNT: inout STD_LOGIC_VECTOR(3 downto 0) • 选择【File】->【Save】,保存 counter_demo.vhd源程序。
6
ISE 中集成工具及其基本功能
常用的仿真工具还有:
• 仿真工具 Synopsys公司的VCS,Cadence公司的NC-Verilog和NCVHDL,Aldec公司的Active HDL,VHDL/Verilog HDL等。 ISE集成的仿真工具主要有Model Tech公司的仿 真工具ModelSim和测试激励生成器HDL Bencher 通过仿真能及时发现设计中的错误,加快设计进度,提高设 等 计的可靠性。 • 实现工具 综合结果的本质是一些由与、或、非门,触发器,RAM等基本 ISE集成的实现工具有约束编辑器(Constraints 逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大 Editor)、引脚与区域约束编辑器(PACE)、时 差别。 此时应该使用FPGA/CPLD厂家的布局布线器,根据所选 序分析器(Timing Analyzer)、FPGA底层编辑 芯片的型号,将综合输出的逻辑网表适配到具体的FPGA/CPLD 器(FPGA Editor)、芯片观察窗(Chip Viewer) 器件上,这个过程就叫做实现过程。Xilinx的实现过程分为翻译 和布局规划器(Floorplanner)等
22
引脚约束
• 把引脚的名称用鼠标拖动到相应的位置即可 • 引脚约束的设计原则:
– 相关联的信号尽可能地安排在相邻的位置 – 如果相邻的位置安排不下,则应该安排在相邻的Bank – 对于时钟信号,应该安排在GCLK引脚上,以便获得较 快的速度
• 熟悉引脚的时候,用手工编辑约束文件的方式比 用鼠标拖动的方式更为方便 • Ucf约束文件中引脚约束的定义方式如下:
5
ISE 中集成工具及其基本功能
• 设计输入工具 HDL编辑器(HDL Editor)、状态机编辑器(StateCAD)、原理图编 辑器(ECS)、IP核生成器(Core Generator)和测试激励生成器 (HDL Bencher) 综合的本质是将HDL语言、原理图等设 • 综合工具 Synplicity公司的Synplify/Synplify Pro、Amplify; 计输入翻译成由与、或、非门,触发器, Synopsys公司的FPGA Compiler II(其早期版本为FPGA Express, RAM等基本逻辑单元组成的逻辑网表 已停止发展); (连接),并根据目标要求(约束条件) Mentor 公司旗下的Exemplar Logic公司出品的Leonardo Spectrum;
29
生成编程文件
• 根据布局布线后的结果,产生FPGA的配置数据 文件 • 鼠标右键单击“Generate Programming Files”, 选“Properties…”
– 在configuration option中可以控制专用配置引脚的状态: 上拉或者不上拉;还可以设置UserID,UserID一般用 来标记FPGA的版本号 – 在General Option里面有个Enable BitStream Compression的选项,用于压缩二进制位流,对于小设 计,此选项特别有效 – 在Readback Options中,把Security设置为“Disable Readback”可以禁止从FPGA中读出配置数据,有利于 提高安全性 30
• 选择器件型号、封装、速度等级 • 选择综合器、仿真器、仿真语言
11
向PN加入新的源文件
• 关键要选择好源文件的类型
12
设计流程
• • • • • • 编写源文件 制定用户约束 综合 实现 生成编程文件 使用逻辑分析仪分析
13
ቤተ መጻሕፍቲ ባይዱ
设计输入工具
• • • • • HDL编辑器(HDL Editor) 状态机编辑器(StateCAD) 原理图编辑器ECS(Schematic Editor) IP核生成器(Core Generator) 测试激励生成器(HDL Bencher)
(Translate )、映射(Map) 和布局布线(Place & Route) 等3个 步骤。只有器件开发商最了解器件的内部结构,所以实现步骤7 必须选用开发商自己提供的工具软件。
ISE 中集成工具及其基本功能
• 辅助设计工具 PROM配置文件分割器(PROM File Formatter)可以完 成配置文件的分割。 iMPCT配置器可以实现将配置文件下载到FPGA/CPLD 或 相应的存储器等功能。 功耗仿真器(XPower)是估计设计功耗的工具。 在线逻辑分析仪(Chip Scope Pro)是Xilinx与Agilent合 作开发的针对Xilinx芯片的在线片内信号分析工具。 模块化设计(Modular Design)是一种进行并行工作、协 同设计的工作方法和设计工具。 增量式设计(Increment Design)方法是一种能在小范围 改动情况下节约综合、实现时间并继承以往设计成果的设 计手段。