最近终于有空可以记录一些之前学习的内容,本博客系列记录笔者Xilinx ISE学习之旅,当然现在Vivado是学习热门,一步一步来。搞定

ISE,Vivado上手也会很快。

1.安装软件

软件部分的下载与安装可自行到Xilinx官网下载http://china.xilinx.com/

2.新建工程文件并编写源程序

图1 新建工程

用过Altera的Quartus II,再使用Xilinx的ISE,基本上流程都差不多,在file---new project,如图1所示,出现如下图2界面,分别填写工程名称,具体路径和工作目录,并选择顶层源文件类型为HDL,输入完毕后点击next。

图2工程名填写

图3是工程参数设定,Xilinx的参数设定界面相比于Altera的界面确实要细致很多,如果用户是使用评估板,那么在Evaluation Development Board中可以对应选择评估板型号,若是DIY,保持默认。器件选择根据用户使用的型号进行选择,这里笔者选用Spartan 6 XC6SLX9,Xilinx的Spartan 系列和Altera的 Cyclone系列有点类似,属于经济实用型,适合DIYer。选择好对应的封装和速度等级。仿真工具可以选择ISE自带的,也可以选择Modelsim。点击next---finish完成工程建立。

图3 工程参数设定

完成新建工程后,在ISE软件端可以看到所建立的工程名,以及所选择的元器件型号。在工程文件中也有了变化,增加了ise_ex1.xise工程文件。

图4 软件内容更改

在图5的工程目录点击右键,选择new source,出现图6所示的界面,设置好源文件名和存放路径,并选择verilog进行编程。点击next,出现端口名,这里不设置,直接点击next---finish。

图5 增加源文件

图6 文件类型和存放路径

图7是新建完成的源文件,已经自动加入了模块名,头文件信息和编译时间单位。

图7 新建的文件内容

图8是编写的1s计时范例,并生成flag使能信号,点击编译查看代码是否有误,如图9所示。

图8 程序范例

图 9 编译选项

3.分配引脚

编译完测试程序后,没出现错误后,若要下载到板级进行测试,需要分配引脚,在菜单栏 Tools----PlanAhead-Pre-Synthesise然后进入到图10界面,这里“Site”一列可以输入它们对应FPGA的引脚;“I/O Std”一列可以输入I/O电平标准;对于输出信号,“Drive Strength”一列还可以设置输出驱动电流强度。配置完成后记得保存,然后退出即可。

图10 引脚分配

保存引脚分配文件后,会在工程目录下新增xxx.ucf文件,此文件为引脚分配文件。双击打开ucf文件可以看到图12中的内容。使用过Quartus II用户的朋友,在引脚分配时往往都会使用.tcl脚本文件来分配引脚,方便快速。Xilinx也可以采用类似方法,操作如图13所示。

图11 文件更改

图12 ucf文件内容

如图13新建一个ucf文件,如图14所示,选择对应的类型选项,点击finish即可,会自动打开ucf文件,如图15所示,文件为空白文件,并在工程下新增了刚才建立的ucf文件,ucf文件内容可以仿照之前利用GUI界面配置生成的ucf文件格式书写,如图16所示。

图13 新建ucf文件

图14 类型选项

图15 新建的ucf文件

图16 ucf文件格式

/****************************************************************

//===============================================================

上述内容如果有侵犯到您的权利,请及时与本作者联系,会在第一时间处理

联系方式:

Email :tiegen123@126.com

QQ    :2833104067

QQ交流群:298095983(FPGA&硬件学习交流群)

个人博客:http://www.raymontec.com/

其他博客:http://www.cnblogs.com/raymon-tec

淘宝店铺:https://raymontech.taobao.com/

由于作者水平有限,文中难免有疏漏或常识性错误,劳烦各位尽情指出。

欢迎大家一同讨论技术,交流设计过程中的经验,共同进步,共同学习。

//===============================================================

****************************************************************/

Xilinx 学习笔记1---新建工程和创建源代码文件的更多相关文章

  1. V-rep学习笔记:机器人模型创建3—搭建动力学模型

    接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...

  2. V-rep学习笔记:机器人模型创建2—添加关节

    下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...

  3. Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程

    Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  4. Lua学习笔记4. coroutine协同程序和文件I/O、错误处理

    Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...

  5. Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  6. EF6学习笔记(六) 创建复杂的数据模型

    EF6学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇原文地址:Creating a More Complex Data Model 本篇讲的比较碎,很多内容本人 ...

  7. Linux内核学习笔记之seq_file接口创建可读写proc文件

    转自:http://blog.csdn.net/mumufan05/article/details/45803219 学习笔记与个人理解,如有错误,欢迎指正. 温馨提示:建议跟着注释中的编号顺序阅读代 ...

  8. 爬虫学习笔记(2)--创建scrapy项目&&css选择器

    一.手动创建scrapy项目---------------- 安装scrapy: pip install -i https://pypi.douban.com/simple/  scrapy    1 ...

  9. Docker学习笔记--2 镜像的创建

    如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等应用服务环境,有下面三种方法: 1,根据系统镜像创建Docker容器,这时容器就相当于是一个虚拟机,进入容 ...

  10. Robot Framework学习笔记(九)------创建资源和用户关键字

    一.测试套件下创建用户关键字 1.创建关键字测试套件右击->点击new user keyword,然后输入name,点击OK保存. 2.在用户关键字的edit点击settings,然后输入Arg ...

随机推荐

  1. Android中,如何提升Layout的性能?

    Layout 是 Android 应用中直接影响用户体验的关键部分.如果实现的不好,你的 Layout 会导致程序非常占用内存并且 UI 运行缓慢.Android SDK 带有帮助你找到 Layout ...

  2. BZOJ3490 : Pa2011 Laser Pool

    与横线以及竖线的交点个数很容易求,那么只要求出横线竖线交点与运动轨迹的交点数即可. 运动轨迹可以划分成若干条贯穿边界的斜线,对于第一条和最后一条,可以用bitset暴力统计. 对于中间的部分,斜线都是 ...

  3. 为什么要DevOps?

    Boss:「项目经常延期」「做东西太慢」 产品: 「老板的想法总变」 「事情太多,忙成狗」 「开发说这个实现不了」 开发: 「需求总变」 「UI 方案给的太晚」 「活儿太多」 测试: 「需求变了没提前 ...

  4. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  5. 线段树模板hdu 1166:敌兵布阵

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. js中函数对象创建的总结

    在JavaScript的函数对象创建方法中,可以分为三种情况: 1:第一种是使用function语句定义函数 <script type="text/javascript"&g ...

  7. NHibernate查询优化的相关资料

    一.http://www.cnblogs.com/dddd218/archive/2009/09/01/1557640.html 1.立即加载(lazy=false)并不能在所有情况下都会减少SQL语 ...

  8. 导出使用NPOI

    调用: DataTable table = new DataTable(); #region 创建 datatable table.Columns.Add(new DataColumn("账 ...

  9. sql 索引笔记2

    以下资料都来于MSDN. 聚集索引指南: 一.此列和列值供内部使用,用户不能查看或访问. 查询注意事项 在创建聚集索引之前,应先了解数据是如何被访问的.考虑对具有以下特点的查询使用聚集索引: 使用运算 ...

  10. web端设计和web前端开发 的区别