版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 北京中教仪装备技术有限公司
设计输入的实现 --设计内容 随着EDA技术的发展,设计输入多采用混合设计,其 中包括: 1)基于HDL语言的设计输入; 设计输入的实现 --设计内容 随着EDA技术的发展,设计输入多采用混合设计,其 中包括: 1)基于HDL语言的设计输入; 2)基于IP核的设计输入; 3)基于原理图的设计输入; 4)基于网表的设计输入方法。 下面将通过具体的设计案例来说明这几种设计输入方法。
ISE设计流程介绍 --设计流程介绍 实现 翻译 映射 布局和布线 规划 和预算 HDL RTL 仿真 综合以创建网表 功能仿真 得到时序收敛 时序仿真 实现 创建代码/ 原理图 配置 FPGA 产生比特流文件
基于VHDL语言的ISE设计流程 --设计内容 该设计案例完成一个基本组合逻辑电路的设计,设计 内容包括: 1)工程的建立; 2)新文件的生成和代码的添加; 3)设计综合和查看综合结果; 4)设计仿真; 5)用户约束的添加和设计实现; 6)布局布线结果的查看; 7)设计下载到FPGA芯片 8)PROM文件的生成和下载到PROM中
基于VHDL语言的ISE设计流程 --创建一个新工程 1)HDL: 顶层设计使用HDL语言实现 2)Schematic:顶层设计使用原理图实现 3)EDIF:顶层设计使用电子设计交换格式 (网表)实现。 4)NGC/NGD:顶层设计使用NGC/NGD网表实现。
基于VHDL语言的ISE设计流程 --创建一个新工程 Next 在Device Properties界面 中,选择合适的: 1)产品范围(product category) 2)芯片的系列(Family) 3)具体的芯片型号(Device) 4)封装类型(Package) 5)速度信息(speed) 6)综合工具(Synthesis Tool) 7)仿真工具(Simulator) 8)设计语言(Preferred Language)。 左图是参数的具体设置 Next
基于VHDL语言的ISE设计流程 --创建一个新工程 这里可以新建一个文件,也可以在工程属性建立完成后在工程内新建,我们选择 Next
基于VHDL语言的ISE设计流程 --创建一个新工程 这里可以添加工程文件,也可以在工程建立后添加,我们选择Next
基于VHDL语言的ISE设计流程 --创建一个新工程 给出了整个工程大致属性 Finish
基于VHDL语言的ISE设计流程 --创建一个新工程 完成后在Sources窗口中显示工程文件夹以及工程所用芯片。 在该窗口中右键 可以新建文件,添加已经写好的文件,添加文件并复制该文件到工程文件夹中。
基于VHDL语言的ISE设计流程 --创建一个新工程 该文件的实体名 新建文件的类型,不同的类型有着不同的功能和意义。
基于VHDL语言的ISE设计流程 --添加实体端口 Next 端口的类型及位数 端口名
基于VHDL语言的ISE设计流程 --添加实体端口 给出了该文件的概要 Finish
基于VHDL语言的ISE设计流程 --添加实体端口
基于VHDL语言的ISE设计流程 --自动生成文件结构框架 双击gate文件 生成了结构体框架 只需加入逻辑语句即可 自动生成实体结构
基于VHDL语言的ISE设计流程 --添加代码及注释 添加逻辑代码 --之后为注释语句
基于VHDL语言的ISE设计流程 这个图标指示顶层文件 选中顶层文件,Processes窗口中给出能操作的项目 设计中常用的四个操作: 综合、实现、生成bit文件、下载 这个图标指示顶层文件 选中顶层文件,Processes窗口中给出能操作的项目 双击XST进行综合操作
基于VHDL语言的ISE设计流程 --设计综合 行为级综合可以自动将系统直接从行为级描述综合为 寄存器传输级描述。 行为级综合的输入为系统的行为级描述,输出为寄存器 传输级描述的数据通路。 行为级综合工具可以让设计者从更加接近系统概念模型 的角度来设计系统。同时,行为级综合工具能让设计者对 于最终设计电路的面积、性能、功耗以及可测性进行很方 便地优化。 行为级综合所需要完成的任务从广义上来说可以分为分 配、调度以及绑定。
基于VHDL语言的ISE设计流程 --设计综合 Xilinx综合工具在对设计的综合过程中,主要执行以 下三个步骤: 1)语法检查过程,检查设计文件语法是否有错误; 2)编译过程,翻译和优化HDL代码,将其转换为综合 工具可以识别的元件序列; 3)映射过程,将这些可识别的元件序列转换为可识 别的目标技术的基本元件;
基于VHDL语言的ISE设计流程 --设计综合 窗口的synthesis的工具可以完 成下面的任务: 1)查看综合报告(view Synthesis Report) 2)查看RTL原理图(View RTL schematic) 3)查看技术原理图(View Technology Schematic) 4)检查语法(Check Syntax) 5)产生综合后仿真模型 (Generate Post-Synthesis Simulation Model)。
基于VHDL语言的ISE设计流程 --设计综合(查看综合报告) TABLE OF CONTENTS 1) Synthesis Options Summary 2) HDL Compilation 3) Design Hierarchy Analysis 4) HDL Analysis 5) HDL Synthesis 6) Advanced HDL Synthesis 7) Low Level Synthesis 8) Partition Report 9) Final Report 9.1) Device utilization summary 9.2) Partition Resource Summary 9.3) TIMING REPORT 鼠标双击,查看报告,给出了资源的使用情况
基于VHDL语言的ISE设计流程 --设计综合(查看RTL原理图符号) 双击该区域
基于VHDL语言的ISE设计流程 --设计综合(查看RTL原理图符号) LUT 看完后关闭原 理图编辑界面
基于VHDL语言的ISE设计流程 --设计综合(查看技术原理图符号) 双击打开RTL编辑器 双击该区域
基于VHDL语言的ISE设计流程 --设计综合(查看技术原理图符号) LUT的表示, 双击打开一个LUT
基于VHDL语言的ISE设计流程 --设计综合(查看技术原理图符号) 内部逻辑 的符号描述
基于VHDL语言的ISE设计流程 --设计综合(查看技术原理图符号) 内部逻辑 的真值表描述
基于VHDL语言的ISE设计流程 --设计综合(查看技术原理图符号) 内部逻辑 的卡诺图描述
基于VHDL语言的ISE设计流程 --仿真设计 测试平台以行为级描述为主,不使用寄存器传输级 的描述形式。 测试向量的生成可以使用两种方法: 1)波形文件; 2)HDL语言描述;
基于VHDL语言的ISE设计流程 --添加波形仿真文件 Next
基于VHDL语言的ISE设计流程 --添加波形仿真文件 选择所要仿真的VHDL文件 Next
基于VHDL语言的ISE设计流程 --添加波形仿真文件 给出该波形文件的相关属性 Finish
基于VHDL语言的ISE设计流程 --添加波形仿真文件 仿真波形的设置界面:这里显示的主要是时钟方面的设置。
基于VHDL语言的ISE设计流程 --添加波形仿真文件 增对该工程设置方式如图 波形文件长度的设置 Finish
基于VHDL语言的ISE设计流程 --添加波形仿真文件 在这里设置输入波形 可以进行窗口的切换
基于VHDL语言的ISE设计流程 --添加波形仿真文件 如图设置输入波形并保存 切换到行为仿真 右键选择属性设置 选中刚设计波形文件 Processes窗口 右键选择属性设置 切换到行为仿真
基于VHDL语言的ISE设计流程 --添加波形仿真文件 设置仿真时间与建立波形文件的时间相同 点击OK
基于VHDL语言的ISE设计流程 --添加波形仿真文件 双击进行行为仿真 仿真波形验证设计逻辑的正确性
基于VHDL语言的ISE设计流程 --设计实现 在ISE中的实现(Implement)过程,是将综合输出 的逻辑网表翻译成所选器件的底层模块与硬件原语,将 设计映射到器件结构上,进行布局布线,达到在选定器 件上实现设计的目的。
基于VHDL语言的ISE设计流程 --设计实现 实现过程主要分为3个步骤:翻译(Translate)逻辑 网表,映射(Map)到器件单元与布局布线(Place & Route)。 1)翻译的主要作用是将综合输出的逻辑网表翻译为 Xilinx特定器件的底层结构和硬件原语。 2)映射的主要作用是将设计映射到具体型号的器件 上。 3)布局布线的主要作用是调用Xilinx布局布线器,根 据用户约束和物理约束,对设计模块进行实际的布局,并 根据设计连接,对布局后的模块进行布线,产生PLD配 置文件。
基于VHDL语言的ISE设计流程 --添加管脚约束文件(.UCF文件) 通过Sources窗口切换到Implementation Next UCF文件的属性概要 Finish
基于VHDL语言的ISE设计流程 --对管脚进行约束 两种方法 选中顶层文件在Processes窗口中 双击 进行对应管脚的约束 保存关闭
基于VHDL语言的ISE设计流程 --对管脚进行约束
基于VHDL语言的ISE设计流程 --查看或修改管脚约束文件 单击选中 双击查看
基于VHDL语言的ISE设计流程 --查看布局布线后的结果 展开Implement Design 展开Place & Route 鼠标双击 View/Edit Routed Design(FPGA Editor)选项,打开布局布线器
基于VHDL语言的ISE设计流程 --查看布局布线后的结果
基于VHDL语言的ISE设计流程 --查看布局布线后的结果 连线 CLB Slice,双击 打开内部 结构
基于VHDL语言的ISE设计流程 --查看布局布线后的结果 触发器 LUT 绿色表示连线
基于VHDL语言的ISE设计流程 --工程实现及产生位流文件 选中顶层文件 双击进行实现操作 双击产生.bit文件
基于VHDL语言的ISE设计流程 --下载bit文件 默认选择边界扫描方式
基于VHDL语言的ISE设计流程 --下载bit文件 点击Finish出现以下窗口 弹出的窗口是为Prom配置文件,这里不配置选择Cancel
基于VHDL语言的ISE设计流程 --下载bit文件 弹出的窗口是为芯片配置bit文件,选择gate.bit,点击Open
基于VHDL语言的ISE设计流程 --下载bit文件 采用默认设置,点击ok
基于VHDL语言的ISE设计流程 --下载bit文件 右键 点击ok出现下载进度条,下载成功后弹出: 然后进行验证调试。
基于VHDL语言的ISE设计流程 --Prom文件的生成 双击此处,Generate Target PROM/ACE File
基于VHDL语言的ISE设计流程 --Prom文件的生成 出现下面的界面,点击”OK”
基于VHDL语言的ISE设计流程 --Prom文件的生成 出现该界面,点击 ”NEXT”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 使用XILINX的PROM 输入所要生成的 PROM的名字 点击“Next”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击”Next”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 下拉菜单选择xcf04s 点击”Add”按钮 点击”Next”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击”Finish”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击“OK”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 选中生成的 Gate.bit流文件 点击“打开”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击“No”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击”OK”按钮
基于VHDL语言的ISE设计流程 --Prom文件的生成 点击该选项
基于VHDL语言的ISE设计流程 --Prom文件的生成 生成的.mcs文件存 在设计工程目录下,并 且退出该窗口
基于VHDL语言的ISE设计流程 --Prom文件的烧写 再次启动Impact烧写工具, 然后按照前面的步骤,找到 Mcs文件,再将其烧入到 PROM中
基于VHDL语言的ISE设计流程 --Prom文件的烧写 点击Finish出现以下窗口 弹出的窗口是为Prom配置文件,这里配置选择.MCS文件,并点击“Open”按钮
基于IP核的ISE设计流程 --IP核概念介绍 IP(Intelligent Property)核是具有知识产权核的集成 电路芯核总称,是经过反复验证过的、具有特定功能的 宏模块,与芯片制造工艺无关,可以移植到不同的半导 体工艺中。 到了SOC阶段,IP核设计已成为ASIC电路设计公司 和FPGA提供商的重要任务,也是其实力体现。对于 FPGA开发软件,其提供的IP核越丰富,用户的设计就越 方便,其市场占用率就越高。目前,IP核已经变成系统 设计的基本单元,并作为独立设计成果被交换、转让和 销售。
基于IP核的ISE设计流程 --IP核概念介绍 核这3类。 从完成IP核所花费的成本来讲,硬核代价最大;从使 用灵活性来讲,软核的可复用使用性最高。
基于IP核的ISE设计流程 --IP核概念介绍(软核) 软核在EDA设计领域指的是综合之前的寄存器传输级 (RTL)模型; 具体在FPGA设计中指的是对电路的硬件语言描述,包 括逻辑描述、网表和帮助文档等。 软核只经过功能仿真,需要经过综合以及布局布线才 能使用。 其优点是灵活性高、可移植性强,允许用户自配置; 缺点是对模块的预测性较低,在后续设计中存在发生错误 的可能性,有一定的设计风险。 软核是IP核应用最广泛的形式。
基于IP核的ISE设计流程 --IP核概念介绍(固核) 固核在EDA设计领域指的是带有平面规划信息的网 表; 具体在FPGA设计中可以看做带有布局规划的软核, 通常以RTL代码和对应具体工艺网表的混合形式提供。 将RTL描述结合具体标准单元库进行综合优化设计,形 成门级网表,再通过布局布线工具即可使用。 和软核相比,固核的设计灵活性稍差,但在可靠性 上有较大提高。目前,固核也是IP核的主流形式之一。
基于IP核的ISE设计流程 --IP核概念介绍(硬核) 硬核在EDA设计领域指经过验证的设计版图;具体在 FPGA设计中指布局和工艺固定、经过前端和后端验证的 设计,设计人员不能对其修改。不能修改的原因有两个: 1)首先是系统设计对各个模块的时序要求很严格,不 允许打乱已有的物理版图; 2)其次是保护知识产权的要求,不允许设计人员对其 有任何改动。 IP硬核的不许修改特点使其复用有一定的困难,因此 只能用于某些特定应用,使用范围较窄。
基于IP核的ISE设计流程 --IP核概念介绍 最长见到的情况就是IP核的厂商从RTL级开始对IP进 行人工的优化。EDA的设计用户可以通过下面的几种途 径购买和使用IP模块: (1)IP模块的RTL代码; (2)未布局布线的网表级IP核; (3)布局布线后的网表级IP核。
基于IP核的ISE设计流程 --设计内容 该设计案例完成一个基于IP核乘法器的设计,设计 内容包括: 1)工程的建立; 3)顶层文件的建立和例化代码的添加; 4)设计综合和查看综合结果; 5)设计仿真;
基于IP核的ISE设计流程 --创建工程 1 打开ISE软件,主界面下选择File->New Project…
基于IP核的ISE设计流程 --创建工程 2 按下面的参数配置,点击“Next”按钮
基于IP核的ISE设计流程 --创建工程 3 点击”Next”按钮。
基于IP核的ISE设计流程 --创建工程 4 点击“Next”按钮
基于IP核的ISE设计流程 --创建工程 点击”Finish”按钮 5
基于IP核的ISE设计流程 --添加乘法器IP核 1 主菜单下选择Project->New Source… 2 在该界面下输入文件名。点击”Next”按钮
基于IP核的ISE设计流程 --添加乘法器IP核 展开Math Functions, 然后展开Multipliers,选择 Multiplier v10.0。然后点击”Next”按钮。 3
基于IP核的ISE设计流程 --添加乘法器IP核 点击“Finish”按钮 4
基于IP核的ISE设计流程 --添加乘法器IP核 5 按右图进 行参数设置 ,点击”Next” 按钮 参数设置为 无符号的8位 点击可查看 IP核数据手册
基于IP核的ISE设计流程 --添加乘法器IP核 6 Multiplier Construction:选择Use Mults,点击“Next” 按钮。
基于IP核的ISE设计流程 --添加乘法器IP核 7 点击 “Finish”按钮。
基于IP核的ISE设计流程 --添加乘法器IP核 8 乘法器被添加到设计中。
基于IP核的ISE设计流程 --新建顶层设计文件 1 主界面下选择Project->New Source…. 2 输入文件名,点击”Next”按钮。
基于IP核的ISE设计流程 --新建顶层设计文件 点击”Next”按钮 3
基于IP核的ISE设计流程 --新建顶层设计文件 点击”Finish”按钮 4
基于IP核的ISE设计流程 --IP核例化的添加 1 主界面下,选择Edit->Language Templates.
基于IP核的ISE设计流程 --IP核例化的添加 2 选择,并展开CORE Generator, 选择并展开VHDL Component Instantiation, 点击“multiplier” 元件声明语句 元件例化语句
基于IP核的ISE设计流程 --IP核例化的添加 3 将元件声明和例化语句,添加到顶层设计文件中
基于IP核的ISE设计流程 --顶层文件端口的添加和综合 添加端口,完成后保存文件,并对设计进行综合 3
基于IP核的ISE设计流程 --设计仿真 1 主界面下选择Project->New Source….
基于IP核的ISE设计流程 --设计仿真 2 将波形测试文件和顶层的设计文件top相关联,点 击“Next”按钮
基于IP核的ISE设计流程 --设计仿真 3 点击“Finish”按钮。
基于IP核的ISE设计流程 --设计仿真 4 点击Finish 按钮
基于IP核的ISE设计流程 --设计仿真 5 仿照图设置测试波形向量,并保存波形,关闭波形。
基于IP核的ISE设计流程 --设计仿真 试波形文件test. 6 Source for窗口选择 Behavioral Simulation. 并选择测 试波形文件test.
基于IP核的ISE设计流程 --设计仿真 开始运行仿真程序 7 在处理子窗口中选择:Xilinx ISE Simulator,并展开该选项,用鼠标双击”Simulate Behavioral Model“。 开始运行仿真程序
基于IP核的ISE设计流程 --设计仿真 for切换到Implement,然后进行引脚约束,实现和设计 下载和调试的过程 8 下面为仿真的结果,如果需要继续流程,将Source for切换到Implement,然后进行引脚约束,实现和设计 下载和调试的过程
基于原理图的ISE设计流程 --设计内容 该设计案例完成一个基于IP核乘法器的设计,设 计内容包括: 1)工程的建立; 2)原理图文件的生成 3)设计综合和查看综合结果; 4)设计仿真;
基于原理图的ISE设计流程 --新建工程 1 打开ISE软件,主界面下选择File->New Project…
基于原理图的ISE设计流程 --新建工程 2 按下面的参数配置,点击“Next”按钮
基于原理图的ISE设计流程 --新建工程 3 点击”Next”按钮。
基于原理图的ISE设计流程 --新建工程 4 点击”Next”按钮。
基于原理图的ISE设计流程 --新建工程 5 点击”Finish”按钮。
基于原理图的ISE设计流程 --新建原理图文件 1 主界面下选择Project->New Source….
基于原理图的ISE设计流程 --新建原理图文件 2 点击”Finish”按钮。
基于原理图的ISE设计流程 --新建原理图文件 3 Source下的Categories,选择Flip_Flop,在Symbols 下选择fd,鼠标将符号拖到原理图编辑界面。
基于原理图的ISE设计流程 --新建原理图文件 4 用D触发器构成一个4位的移位寄存器,并添加连线
基于原理图的ISE设计流程 --新建原理图文件 5 完成连线的添加
基于原理图的ISE设计流程 --新建原理图文件 6 添加I/O端口
基于原理图的ISE设计流程 --新建原理图文件
基于原理图的ISE设计流程 --新建原理图文件 7 检查原理图,无错误时,保存原理图文件,并退 出原理图编辑界面。
基于原理图的ISE设计流程 --新建原理图文件 8 对设计进行综合。
基于原理图的ISE设计流程 --设计仿真 1 主界面下选择Project->New Source….
基于原理图的ISE设计流程 --设计仿真 2 将波形测试文件和顶层的设计文件shifter相关联 ,点击“Next”按钮
基于原理图的ISE设计流程 --设计仿真 3 点击”Finish”按钮
基于原理图的ISE设计流程 --设计仿真 4 点击“Finish” 按钮。 改为2000ns
基于原理图的ISE设计流程 --设计仿真 仿照图设置测试波形向量,并保存波形,关闭波形。 5
基于原理图的ISE设计流程 --设计仿真 Source for窗口选择 Behavioral Simulation. 并选择测 6 Source for窗口选择 Behavioral Simulation. 并选择测 试波形文件test. 在处理子窗口中选择:Xilinx ISE Simulator,并展开该选项,用鼠标双击 ”Simulate Behavioral Model“. 开始运 行仿真程序
基于原理图的ISE设计流程 --设计仿真 下面为仿真的结果,如果需要继续流程,将 6 下面为仿真的结果,如果需要继续流程,将 Source for切换到Implement,然后进行引脚约束,实现 和设计下载和调试的过程
参考文献 Spartan-3E开发板资料,Xilinx大学计划提供。 何宾.<<EDA原理及应用>>,清华大学出版社,2009.06 何宾.<<EDA原理及应用实验教程>>,清华大学出版社,2009.06 4. 何宾.<<数字和片上系统设计教程>>,清华大学出版社,2010.06