基于ISE 12.4的FPGA设计基本流程

ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。本文主要通过一个最简单的“点亮LED灯”实例介绍了基于ISE 12.4软件的FPGA设计流程,包括设计输入、仿真、约束、下载等。

0 前言

一套完整的FPGA设计流程包括电路设计输入、功能仿真、设计综合、综合后仿真、设计实现、添加约束、布线后仿真和下载、调试等主要步骤。

图1 FPGA设计流程

目前赛灵思公司FPGA设计软件的最新版本是ISE 13.1,本文中以ISE 12.4为例。

ISE 9以后的版本的安装文件都是集成到了一个包当中,安装起来很方便。软件包里面包含四个大的工具,ISE Design Tools、嵌入式设计工具EDK、PlanAhead、Xtreme DSP设计工具System Generator。ISE设计工具中包含ISE Project Navigator、ChipScope Pro和以下工具:

图2 ISE软件包中部分工具

做一般的FPGA逻辑设计时只需要用到ISE设计工具,下面通过一个最简单的“点亮LED灯”实例,具体讲解ISE设计工具的使用,并介绍基于ISE的FPGA设计基本流程。

1 创建工程

(1)在桌面快捷方式或开始→所有程序→Xilinx ISE Design Suite 12.4→ ISE Design Tools中打开ISE Project Navigator。

(2)单击File→New Project...出现下图所示对话框。

图3 新建工程对话框

在该界面输入工程名、选择工程存放路径、选择顶层模块类型,其中顶层模块类型有硬件描述语言(HDL)、原理图(Schematic)、SynplifyPro默认生成的网表文件(EDIF)、Xilinx IP Core和XST生成的网表文件(NGC/NGO)这四种选项,这里我们使用Verilog模块作为顶层输入,所以选HDL。

(3)单击Next >进入下一步,弹出下图所示对话框。

图4 工程参数设置对话框

这里主要设置FPGA器件型号,速度等级,综合工具和仿真工具的选择,其余的一般默认即可。

器件大类(Product Category)中有ALL、民用级General Purpose、工业级Automotive、军用级Military/Hi-Reliability、航空防辐射级Radiation Tolerant五个选项,这里选择默认的ALL。

芯片型号选择板子上用到的spartan3E XC3S500E,封装FG320C,速度等级-4(数值越大,速度越快)。

综合工具选择ISE自带的XST,仿真工具也选择ISE自带的ISim。这里综合工具和仿真工具都可以选择第三方的工具,如常用的SynplifyPro和Modelsim。

(4)单击Next >按钮,然后单击Finish完成新工程的创建。

图5 新建工程概要

该窗口会显示新建工程的概要,核对无误后点击Finish完成工程创建。在工作区可看到新建的工程LED。

2 设计输入

(1)在源代码窗口中单击右键,在弹出的菜单中选择New Source。

图6 新建源文件向导

在源文件类型中选择Verilog Module,输入文件名,其余使用软件默认即可。

(2)单击Next >按钮,弹出的窗口是模块创建向导界面,这里我们不使用该功能,直接单击单击Next >按钮到下一步,点击Finish完成新源文件的创建。

图7 模块创建向导界面

(3)ISE会自动打开源代码编辑界面,在该界面输入源代码,点击保存。

图8 源代码编辑界面

在该界面下,我们输入以下源代码。

这段代码的功能就是点亮一个LED灯,让它闪烁起来。选用板子上的一个50MHZ的晶振,对其进行分频后达到人眼能够辨别的跳变速率。

3 功能仿真

(1)加入仿真激励源,也就是testbench,这里选择用verilog HDL编写。在源代码窗口中单击右键,在弹出的菜单中选择New Source,然后选择Verilog Test Fixture。

图9 源代码仿真关联选择界面

在该界面选择关联上test1源代码,这样关联之后生成出来的测试文件中会自动加入对源文件的例化代码,然后单击Next >,在弹出的报告界面确认信息无误后点击Finish。

在自动弹出的代码编辑界面输入以下测试激励代码,保存。

                                  

(2)行为级仿真。在主窗口左侧的Design窗口中选择Simulation→下拉栏中选行为级Behavioral→选中仿真激励文件→在Processes窗口就会出现ISim仿真软件了,第一个功能是行为级语法检查,在编写完testbench之后可以用于排查语法错误。双击第二个选项Simulate Behavior Model即可启动行为级仿真了。

图10 启动行为级仿真

每天进步一点点------ISE 12.4的FPGA设计基本流程的更多相关文章

  1. MySQL性能调优与架构设计——第12章 可扩展设计的基本原则

    第12章 可扩展设计的基本原则 前言: 随着信息量的飞速增加,硬件设备的发展已经慢慢的无法跟上应用系统对处理能力的要求了.此时,我们如何来解决系统对性能的要求?只有一个办法,那就是通过改造系统的架构体 ...

  2. 优秀案例:12个精美的设计工作室 & 设计公司网站

    如果你正在为自己的作品集网站设计寻找灵感,那么学习设计机构 & 设计公司的网站是如何制作的是一个良好的开端.在这篇稳重,我们已经聚集了一组设计机构的优秀作品集网站,你可以借鉴很多设计理念.当你 ...

  3. ISE中FPGA的实现流程

    一.ISE实现的步骤         在综合之后,我们开始启动FPGA在ISE中的实现过程,整个过程包括以下几个步骤:                 1.Translate              ...

  4. Android 12(S) 图形显示系统 - createSurface的流程(五)

    题外话 刚刚开始着笔写作这篇文章时,正好看电视在采访一位92岁的考古学家,在他的日记中有这样一句话,写在这里与君共勉"不要等待幸运的降临,要去努力的掌握知识".如此朴实的一句话,此 ...

  5. Mac 10.12安装网站圆形设计工具Axure RP Pro 7

    下载: (链接: https://pan.baidu.com/s/1hsaTafi 密码: 855y)

  6. <2013 12 28> AOI PCB设计

    主要设计指标: “3.多块拼板最大尺寸:60*50(CM)4. 检测速度:(230-250)片/小时 5.检测通过率:98%6.最窄线宽:设两种精度 A.最窄线宽:0.2mm, 识别精度 0.1mm  ...

  7. (12)用css设计电子相册 {下}

    本篇学习资料讲解:        延续上一篇的学习资料,仍然介绍 使用css对电子相册进行排版 和 侧面强调“盒子模型.标准流.浮动和定位”的重要性. 上篇学习资料介绍的“阵列模式电子相册”,如果也能 ...

  8. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  9. modelsim实用教程--前言

    前言 Modelsim是一款专业的仿真软件,特别是在Quartus II 11.0之后的版本,都没有配套自身的仿真软件,所以Modelsim成了在FPGA设计流程中的进行功能仿真的首选仿真软件之一. ...

随机推荐

  1. 安装DHCP到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:DHCP-x 硬件要求:无 安装过程 1.安装YUM源,由EPEL提供 [root@localh ...

  2. iPad成为Windows系统的第二屏幕

    一.Windows端软件准备 1.Splashtop Wired XDisplay Agent (官网下载     快速下载​) 2.iTunes (点击此处跳转至微软应用商店) 二.iPad端软件准 ...

  3. linux100讲——12 创建和删除目录

    1.建立目录 mkdir    建立目录 常用参数 -p   建立多级目录 2.删除目录 rmdir  删除空目录 rm -r      删除非空目录  (删除时有提示) rm -r -f     删 ...

  4. 数据库异常:SQL Error: 0, SQLState: S0022

    问题描述 在本地搭建 mysql + MyEclipse + tomcat,系统跑起来之后,调用自己写的查询接口,报错“SQL Error: 0, SQLState: S0022” 具体报错:  -  ...

  5. springboot~gradle4.7之后的lombok引用方法

    在gradle4.7以后对于加入依赖lombok方式发生变化,gradle4.7版本以前,可以直接如下引用: compile("org.projectlombok:lombok:1.18.2 ...

  6. Bootstrap 警告框(Alert)插件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. Laravel中使用QRcode自制二维码

    一.配置 1.在项目根目录输入命令 composer require simplesoftwareio/simple-qrcode 1.3.* 2.在config/app.php 的 provider ...

  8. java打印出某一指定路径下的文件夹内的所有子文件夹和文件,并区分开来

    public class printoutFile { public static void main(String[] args) { printFile(new File("D:\\te ...

  9. jQuery使用ajax跨域请求获取数据

    jQuery使用ajax跨域请求获取数据  跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的 ...

  10. eclipse新建web项目,并将其部署到tomcat

    参考链接:https://blog.csdn.net/smilehhq/article/details/78414672