Xilinx 学习笔记1---新建工程和创建源代码文件

时间:2022-06-28 19:45:37

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

ISE,Vivado上手也会很快。

1.安装软件

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

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图1 新建工程

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图2工程名填写

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图3 工程参数设定

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

Xilinx 学习笔记1---新建工程和创建源代码文件

Xilinx 学习笔记1---新建工程和创建源代码文件

图4 软件内容更改

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图5 增加源文件

Xilinx 学习笔记1---新建工程和创建源代码文件

图6 文件类型和存放路径

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图7 新建的文件内容

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图8 程序范例

Xilinx 学习笔记1---新建工程和创建源代码文件

图 9 编译选项

3.分配引脚

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图10 引脚分配

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图11 文件更改

Xilinx 学习笔记1---新建工程和创建源代码文件

图12 ucf文件内容

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

Xilinx 学习笔记1---新建工程和创建源代码文件

图13 新建ucf文件

Xilinx 学习笔记1---新建工程和创建源代码文件

图14 类型选项

Xilinx 学习笔记1---新建工程和创建源代码文件

图15 新建的ucf文件

Xilinx 学习笔记1---新建工程和创建源代码文件

图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/

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

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

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

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