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 ...
随机推荐
- 如何在Android中的Activity启动第三方应用程序?
如何在点击某个按键后,执行启动第三方应用程序界面? /** * <功能描述> 启动应用程序 * * @return void [返回类型说明] */ private void startU ...
- 基于CC2530/CC2430 的温度采集系统--DS18B20
DS18B20是常用的温度传感器.CC2530 采集DS18B20 可以实现温度采集系统等等. 模块链接:https://item.taobao.com/item.htm?id=54130861732 ...
- HTTP 500 Invalid bound statement错误
整合SSM框架的时候出现的错误,根据提示信息,找不到 dao.IUserDao.insertUser 方法,可能是mybatis的配置文件出现了问题. 在网上查了一些解决办法,说的最多的是mapper ...
- c++检查内存泄漏
使用_CrtDumpMemoryLeaks()函数检查内存泄漏 #include <cstdio> #include <cstdlib> #include <crtdbg ...
- 3ds max学习笔记(八)-- 实例操作(直行楼梯)
1.选择要复制的物体,执行[工具]/[阵列]命令,弹出对话框: 2.参数说明: 应用: 1.[自定义]/[单位设置],将单位改为mm 在顶视图中,创建长方体,长1600,宽300,高度150 2.在前 ...
- java第二周的学习知识
1.java基本运行单位是类,类的组成成员为成员变量和方法.成员变量的种类有public,default(就是不写),protected,private.public:public可以修饰类,数据成员 ...
- 策略梯度训练cartpole小游戏
我原来已经安装了anaconda,在此基础上进入cmd进行pip install tensorflow和pip install gym就可以了. 在win10的pycharm做的. policy_gr ...
- delphi ListView 设置固定列宽
object Form1: TForm1 Left = Top = Caption = 'Form1' ClientHeight = ClientWidth = Color = clBtnFace F ...
- NLP 第10章 基于深度学习的NLP 算法
- Java操作Linuxshell并且获取返回值
/** * */package com.king.weixin.util;import java.io.BufferedReader;import java.io.InputStream;/*** @ ...