Xilinx 学习笔记1---新建工程和创建源代码文件
最近终于有空可以记录一些之前学习的内容,本博客系列记录笔者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---新建工程和创建源代码文件的更多相关文章
- V-rep学习笔记:机器人模型创建3—搭建动力学模型
接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...
- V-rep学习笔记:机器人模型创建2—添加关节
下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节.一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些 ...
- Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
- Lua学习笔记4. coroutine协同程序和文件I/O、错误处理
Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...
- Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- EF6学习笔记(六) 创建复杂的数据模型
EF6学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇原文地址:Creating a More Complex Data Model 本篇讲的比较碎,很多内容本人 ...
- Linux内核学习笔记之seq_file接口创建可读写proc文件
转自:http://blog.csdn.net/mumufan05/article/details/45803219 学习笔记与个人理解,如有错误,欢迎指正. 温馨提示:建议跟着注释中的编号顺序阅读代 ...
- 爬虫学习笔记(2)--创建scrapy项目&&css选择器
一.手动创建scrapy项目---------------- 安装scrapy: pip install -i https://pypi.douban.com/simple/ scrapy 1 ...
- Docker学习笔记--2 镜像的创建
如果我们需要在Docker环境下部署tomcat.redis.mysql.nginx.php等应用服务环境,有下面三种方法: 1,根据系统镜像创建Docker容器,这时容器就相当于是一个虚拟机,进入容 ...
- Robot Framework学习笔记(九)------创建资源和用户关键字
一.测试套件下创建用户关键字 1.创建关键字测试套件右击->点击new user keyword,然后输入name,点击OK保存. 2.在用户关键字的edit点击settings,然后输入Arg ...
随机推荐
- nodejs+koa2微信app支付,小程序支付
企业付款到零钱文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 1,搞微信支付,先看流程图 https: ...
- PAT-Top1001. Battle Over Cities - Hard Version (35)
在敌人占领之前由城市和公路构成的图是连通图.在敌人占领某个城市之后所有通往这个城市的公路就会被破坏,接下来可能需要修复一些其他被毁坏的公路使得剩下的城市能够互通.修复的代价越大,意味着这个城市越重要. ...
- Git删除本地修改
git如何删除本地所有未提交的更改 git checkout . && git clean -xdf 一般 git clean都是配合git reset 使用的 如果你有的修改已经加入 ...
- Python类的几点笔记
1. class A: def __init__(self, a, b): self.a = a self.b = b print(a, b) class B(A): def __init__(sel ...
- 词向量保存为txt
model.wv.save_word2vec_format('w2v_mod.txt',binary=False)
- list utilities监视数据库前滚操作
您可以使用 db2pd 或 LIST UTILITIES 命令来监视数据库前滚操作的进度. 过程 发出 LIST UTILITIES 命令并指定 SHOW DETAIL 参数 db2 LIST UTI ...
- FIlter(2)—案例
案例 demo2,login.jsp请求提交到hello.jsp,该页面中有两个text,分别使用两个Filter链拦截,验证账号密码是否正确,把账号密码设置到Filter初始化参数中 login.j ...
- Amazon Publisher Studio让产品推广更简单
Amazon联盟最近推出了Publisher Studio新功能,只要在Amazon联盟网站后台添加一段特定的代码,以后推广所有Amazon产品的时候就不需要再访问Amazon Associates网 ...
- Spring quartz 单机、集群+websocket集群实现文本、图片、声音、文件下载及推送、接收及显示
相关环境 Nginx,Spring5.x当前(要选择4.0+),tomcat9.x或8.x都可以,Quartz 2.x集群(实际运用是Quartz的集群模式和单机模式共存的) 测试面页:http:// ...
- Selenium + WebDriver 各浏览器驱动下载地址
Chrome 点击下载chrome的webdriver: http://chromedriver.storage.googleapis.com/index.html 不同的Chrome的版本对应的ch ...