传统数字系统设计流程 设计目标 人工给出真值表 人工化简卡诺图 得到最简表达式 人工使用LSI电路实现 系统调试和验证
现代数字系统设计流程 计 算 机 自 动 完 成 设计目标 设计输入 功能级仿真 逻辑综合 时序仿真 系统调试与验证 综合后仿真 entity lab1 is port(a,b,c : in std_logic; y : out std_logic); end lab1; architecture rtl of lab1 is begin y<=a or (c and b); end rtl; 配置文件加载后,用 示波器、逻辑分析 仪、软件程序观察 综合后仿真 转换(Translate) 映射(Map) 适配(Fit) 布局和布线(PAR) 设计下载 CPLD设计 FPGA设计实现 CLB 计 算 机 自 动 完 成 时序收敛
ISE13.1集成开发环境介绍 --主界面介绍 工作区子窗口 源文件窗口 处理子窗口 脚本子窗口
基于VHDL语言的ISE设计流程 --一个数字系统的设计原理 外部50MHz时钟 分频器生成电路 1Hz时钟 3位的计数器 送给三个灯显示计数的值
基于VHDL语言的ISE设计流程 --设计内容 工程的建立; 三位计数器的设计; 设计综合和查看综合结果; 三位计数器设计仿真; 分频器的设计; 用户约束的添加和设计实现; 布局布线结果的查看; 设计下载到FPGA芯片 PROM文件的生成和下载到PROM中
基于VHDL语言的ISE设计流程 --启动ISE13.1软件 点击此处 方法2:在桌面上找到ISE图标,点击该图标启动ISE13.1软件
基于VHDL语言的ISE设计流程 --新建工程 点击New Project…
基于VHDL语言的ISE设计流程 --新建工程 输入工程名字:counter 工程所在的目录 点击“Next”按纽
基于VHDL语言的ISE设计流程 --新建工程 产品范围(product category) 芯片的系列(Family) 具体的芯片型号(Device) 封装类型(Package) 速度信息(speed) 综合工具(Synthesis Tool) 仿真工具(Simulator) 喜欢的语言(VHDL/Verilog) 点击“Next”按钮
基于VHDL语言的ISE设计流程 --创建一个新工程 点击“Finish”按钮
基于VHDL语言的ISE设计流程 --创建一个新工程 工程名 生成了空的工程框架 器件名字
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 选中器件名字,点击鼠标右键 选中New Source…
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 块存储器映像文件 在线逻辑分析仪Chipscope定义和连接文件 实现约束文件 IP生成向导 存储器文件 原理图文件 用户文档文件 Verilog模块模板文件 Verilog测试平台模板文件 VHDL模块模板文件 VHDL库模板文件 VHDL包模板文件 VHDL测试平台模板文件 片上系统设计向导
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 输入”top”作为VHDL模块的名字 选择VHDL Module 点击“Next”按钮
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 点击“Next”按钮
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 设计总结 点击“Next”按钮
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 添加代码到top.vhd文件中 生成的top.vhd文件
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 此处添加两条库调用语句
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 此处添加端口声明语句
基于VHDL语言的ISE设计流程 --创建一个新的设计文件 此处添加一行内部信号量 声明语句 添加信号连接 3位8进制计数器模块 下一步对该模块进行综合
基于VHDL语言的ISE设计流程 --对该设计文件进行综合 行为级综合可以自动将系统直接从行为级描述综 合为寄存器传输级描述。 行为级综合的输入为系统的行为级描述,输出为 寄存器传输级描述的数据通路。 行为级综合工具可以让设计者从更加接近系统概 念模型的角度来设计系统。同时,行为级综合工具能 让设计者对于最终设计电路的面积、性能、功耗以及 可测性进行很方便地优化。 行为级综合所需要完成的任务从广义上来说可以 分为分配、调度以及绑定。
基于VHDL语言的ISE设计流程 --对该设计文件进行综合 的synthesis的工具可以完成下面的 任务: 查看RTL原理图(View RTL schematic) 查看技术原理图(View Technology Schematic) 检查语法(Check Syntax) 产生综合后仿真模型(Generate Post-Synthesis Simulation Model)。 选中该选项并将其展开
基于VHDL语言的ISE设计流程 --对该设计文件进行综合 选中top.vhd文件 控制台界面中给出综合过程的信息 鼠标双击该项
基于VHDL语言的ISE设计流程 --对该设计文件进行综合 综合工具在对设计的综合过程中,主要执行以下三 个步骤: 语法检查过程,检查设计文件语法是否有错误; 编译过程,翻译和优化HDL代码,将其转换为综合工具可以识别的元件序列; 映射过程,将这些可识别的元件序列转换为可识别的目标技术的基本元件;
基于VHDL语言的ISE设计流程 --查看综合后的结果 通过查看综合后的结 果 ,你就会清楚地理解到底 什么是综合?综合的本质特 征。 选中top.vhd文件 选中View Technology Schematic选项,并双击该选项
基于VHDL语言的ISE设计流程 --查看综合后的结果 打开顶层模块的原理图 点击“OK”按钮
基于VHDL语言的ISE设计流程 --查看综合后的结果 顶层模块图,端口 鼠标双击该区域,打开 底层设计。
基于VHDL语言的ISE设计流程 --查看综合后的结果 时钟缓冲区 LUT查找表 D触发器 输出缓冲区 输入缓冲区
基于VHDL语言的ISE设计流程 --揭开LUT的秘密 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 双击打开LUT2 终于明白了FPGA的LUT 是怎么实现逻辑功能的
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 选中Simulation选项 选中top.vhd,点击鼠标右键 选中New Source…
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 输入”test”作为VHDL测试模块 的名字 选择VHDL Module 点击“Next”按钮
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 点击“Next”按钮
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 点击“Finish”按钮
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 生成的测试平台test.vhd模板文件 刚才的设计文件
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 删除此段代码
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 添加此段代码 用于生成rst测 试信号
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 添加此段代码 用于生成clk测 试信号
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 展开ISim Simulator 双击Simulate Behavioral Model
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 点击“按钮”,直到出现窗口波形 仿真波形窗口
基于VHDL语言的ISE设计流程 --对该设计进行行为仿真 可以在控制台窗口,输入命令控制仿真的运行 输入run 1ms, 控制仿真运行时间到1ms 关闭整个仿真窗口,继续下面的设计, 为了将来在硬件上看到灯的变化所反映 的计数器的工作状态,需要在top.vhd设计文件,添加分频时钟部分代码,
基于VHDL语言的ISE设计流程 --对该设计继续添加代码 选中Implementation 选中top.vhd, 并点击打开该文件 ,准备添加代码
基于VHDL语言的ISE设计流程 --对该设计继续添加代码 添加内部信号量声明部分 添加分频时钟映射部分 添加分频计数器代码部分
基于VHDL语言的ISE设计流程 --对该设计继续添加代码 将原来的clk改成 div_clk
基于VHDL语言的ISE设计流程 --添加实现约束文件 选中Implementation选项 选中top.vhd,点击鼠标右键 选中New Source…
基于VHDL语言的ISE设计流程 --添加实现约束文件 选择实现约束文件 输入”top”作为实现约束文件 的名字 点击“Next”按钮
基于VHDL语言的ISE设计流程 --添加实现约束文件 点击“Finish”按钮
基于VHDL语言的ISE设计流程 --添加实现约束文件 选择top.vhd 实现约束文件top.ucf已经添加到设计中 选择User Constraints,并展开该选项 双击I/O Pin Planing(PlanAhead)-Post-Synthesis
基于VHDL语言的ISE设计流程 --添加实现约束文件 点击“Close”按钮
基于VHDL语言的ISE设计流程 --添加实现约束文件
基于VHDL语言的ISE设计流程 --添加实现约束文件 选择对应引脚的电平LVCMOS33 输入对应的FPGA的引脚 保存引脚约束,并退出该界面
基于VHDL语言的ISE设计流程 --实现设计 选择top.vhd 选择Implement Design, 并用鼠标双击该选项
基于VHDL语言的ISE设计流程 --实现设计 第一步: 转换“Translate” 翻译的主要作用是将综合输出的逻 辑网表翻译为Xilinx特定器件的底 层结构和硬件原语。 选择top.vhd 第二步: 映射“Map” 映射的主要作用是将设计映射到具体 型号的器件上。 第三步: 布局和布线”Place & Route” 布局布线的主要作用是调用Xilinx布局 布线器,根据用户约束和物理约束,对 设计模块进行实际的布局,并根据设计 连接,对布局后的模块进行布线,产生 PLD配置文件。 选择Implement Design, 并展开
基于VHDL语言的ISE设计流程 --查看布局布线后结果 选择Place & Route, 并展开 选择View/Edit Routed Design(FPGA Editor)
基于VHDL语言的ISE设计流程 --查看布局布线后结果 选择放大按钮,查看硅片细节 FPGA硅片布局
基于VHDL语言的ISE设计流程 --查看布局布线后结果 CLB 连线 Slice 双击,展 开Slice
基于VHDL语言的ISE设计流程 --查看布局布线后结果 关闭FPGA Editor界面
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 准备工作: 将HEP的USB-JTAG电缆分别和计算机USB接口及EXCD-1目标板上的JTAG7针插口连接; 计算机自动安装JTAG驱动程序; 给EXCD-1目标板上电;
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 选择top.vhd 选择Configure Target Device,并展开 选择Manage Configuration Project (iMPACT),并双击.
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 选择Boundary Scan,(边界扫描) 鼠标右击该区域,出现 选择Initialize Chain(初始化链)
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 两个芯片连接在JTAG链路上 Xcf04s-Xilinx的串行Flash芯片 xc3s500e-Xilinx的FPGA芯片 点击“Yes”按钮
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 先不烧写设计到PROM芯片中,所以选择”Cancel”按钮
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 找到设计工程所在的目录 找到要下载的比特流文件top.bit 点击打开按钮
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 Spartan-3E支持商用的并行Flash, 此处不需要使用它,所以选择“No”按钮
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 下载属性设置,此处选择默认设置,然后点击“OK”按纽
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 xc3s500e,已经分配了下载文件top.bit 鼠标右健点击 芯片图标,出现 下面的菜单 点击“Program”选项,开始对FPGA进行编程
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 点击“OK”按钮
基于VHDL语言的ISE设计流程 --下载设计到FPGA芯片 出现编程进度条 编程完成后,出现 下面界面
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 点击Create PROM File
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 选择Xilinx Flash/PROM选项 点击该按钮,进入下一步
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 下拉框中选择xcf04s
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 选择Add Storage Device XCF04S被添加 点击该按钮,进入下一步
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 点击“浏览”按钮, 定位要转换的比特流
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 输入名字“counter_burn” 定位到设计工程所在的目录 点击“OK”按钮
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 点击“OK”按钮
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 选择top.bit文件 点击“打开”按钮
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 点击“No”按钮,不添 加其它需要转换的比 特流文件 点击“OK”按钮
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 在主菜单下,选择 Operations->Generate File… 关闭该界面
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 选择Boundary Scan 准备分配PROM文件给XCF04S
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 鼠标右键点击芯片图标 选择Assign New Configuration File…
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 选择counter_burn.mcs文件 点击“打开”按钮
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 鼠标右健点击 芯片图标,出现 下面的菜单 点击“Program”选项,开始对FPGA进行编程
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 出现编程进度条 编程完成后,出现 下面界面
基于VHDL语言的ISE设计流程 --生成PROM文件并下载到PROM 关闭电源重新上电,程序从PROM自动引导到FPGA芯片中。 关闭配置界面,不保存任何信息。(一定不要保存 任何信息)