基于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. Codeforces Round #616 Coffee Varieties

    题意 不太容易讲清,看英文吧 codeforces 做法 先从简单的看起 将块以\(\frac{k}{2}\)个元素为界,然后类似线段树一样递归下去,每次一层的左子树跟右子树的块相互暴力比较 \[\b ...

  2. H5-设置全屏背景图片样式

    .bgimg{ width: 100%; height: 95vh; margin: 0; padding: 0 .32rem; background-image: url('../image/ld. ...

  3. Linux 编译安装python3

    编译安装python3的步骤 1.很重要,必须执行此操作,安装好编译环境,c语言也是编译后运行,需要gcc编译器golang,对代码先编译,再运行,python是直接运行yum install gcc ...

  4. 360独角兽实习,连载周记(gnuradio 低功耗蓝牙BLE 综合工具模块编写)

    (有点乱,之后会有整理) 最近在用写一套gnuradio的OOT模块,主要用来进行BLE嗅探的,github上有了一些工具,可是他们并没有很好的模块化,于是打算自己写一个,这样以后做一些其他的项目,模 ...

  5. Leetocode7道买卖股票问题总结(121+122+123+188+309+901+714)

    题目1----121. 买卖股票的最佳时机I: 链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 给定一个数组, ...

  6. Turtle模块基本方法和使用(画布)

      方法 简写 描述 例子 移动和绘制 forward() fd() 前进 turtle.forward(10):前进10个单位 backward() bk().back() 后退 turtle.ba ...

  7. linux学习之编译-链接

    在Windows下使用习惯了IDE,导致我们对程序的编译链接没有一个清晰的认识,甚至混淆了编辑器和编译器的概念.在学习Linux时,这些问题就暴露出来了. 实际上,我们应该严格区分一个程序从产生到执行 ...

  8. OrCAD Capture CIS绘制原理图、Allegro PCB Design XL 绘制PCB

    1.OrCAD Capture CIS绘制原理图 1.1.快捷键 (1)放置连线         w (2)放置net名称      n     放下一个时再按n可以编辑名字 (3)编辑属性      ...

  9. [转]memory analyzer 使用方法

    [转]http://wensong.iteye.com/blog/1986449 最近一段时间一直在研究热部署,热部署中涉及到一个比较头痛的问题就是查内存泄露(Memory Leak),于是乎在研究热 ...

  10. 0005 修改Django工程名

    写框架非常耗时间,把框架写好以后,经测试稳定的框架,需要保存下来,以后有工程需要,直接更改工程名即可. 01 右键点击工程名,点击Refactor/Rename 02 选择更改工程名 03 关闭PyC ...