立即注册
查看: 398|回复: 0

[资料] XILINX FPGA/CPLD开发环境:ISE6.1i简明教程

已绑定手机
发表于 2022-5-22 12:00:01 | 显示全部楼层 |阅读模式 来自 广东省深圳市
在本章里介绍 Xilinx 公司 FPGA/CPLD 的集成开发环境——ISE(Xilinx Integrated Software Environment)6.1i 软件的简单使用,该软件环境集成了 FPGA 的整个开发过程所用到的工具,不过仿真工具除外。本章主要介绍了用 VHDL、VerilogHDL、原理图以及 EDIF网表进行设计输入、用 ModelSim 仿真工具对设计进行功能仿真和时序仿真以及将数据流文件加载到 FPGA 等方面的内容。本章给初学者演示了一个完整的实现 FPGA 设计的开发流程,没有涉及较深入的细节问题,阅读并练习本章介绍的各节,读者就有足够的信心去把精力放到设计本身,而不是放到掌握 ISE 软件上来。如果你有 HDL 语言方面的基础,读完本章,也许你会发现,原来开发 FPGA 并不神秘,而且是如此容易上手。关于较为深入的方面,可以参阅 ISE 高级设计工具一章。

设计准备
ISE6.1i 软件的安装
ISE6.1i 软件本身共有两张光盘,包括了 ISE 的各种工具。如果读者需要对设计进行仿真,可以安装 ModelSim,一般在购买 ISE 时会有一张 ModelSim 的光盘,该光盘为 ModelSim 的Xilinx 版本 ModelSimXE(XilinxEdition)。

在安装时,先放入第一张光盘,运行 setup.exe 文件,输入申请的注册号码,根据提示一步一步地确认即可正常安装,第一张光盘安装完成之后,放入第二张光盘,运行 setup.exe 文件,再根据提示信息一步一步完成安装。相信对于有 Windows 操作基础的读者应该不成问题。
要注意的是 ISE 是根据注册号码来确认是评估版本还是正式版本,两个版本之间除了评估版本有时间限制外,两者其他区别不大。要确定自己按照的版本是不是正式版本,只需要看看编译结果中是否有警告信息说明该版本是评估版本就可以了。如果读者需要,可以安装ModelSim,建议初学者安装 ModelSimXE,因为不需要编译 Xilinx 的仿真库文件。另外,在安装时选择类型为初学者类型,可以到 Xilinx 网站上申请免费的 License 文件,使用该 License文件足够完成一般的设计仿真,并且避免了费很大功夫去试那些破解文件的烦恼。何乐不为呢?关于 ModelSim 的安装以及 License 的申请等等关于 ModelSim 的问题,在 ModelSim 使用一章中详细讨论。
另外,如果读者需要,可以购买安装其他第三方工具(前面所说的 ModelSim 就是第三方工具),例如文本输入工具 UltraEdit、Code Wright 等,以及 Synplify、Synplify Pro、LeonardOSPectrum 等综合工具,另外,如果还可以安装 ChipScope(片内逻辑分析仪)工具。
之所以提到这些工具是因为 ISE6.1i 中可以集成使用这些工具。这也是不同于以前版本的地方。同时,也希望读者明白,这些工具是可选的,没有这些工具也可以完成设计,在深入教程中会对部分上述提到的部分工具介绍一下。

ISE软件的运行及ModelSim的配置
安装完成之后,单击“开始->程序->Xilinx ISE6->Project Navigator”,进入 ISE 软件。为了能够使用 ModelSim 进行仿真,选择菜单 Edit->Preferences…,选择选项卡 Partner Tools,出现界面如图 7-1 所示。单击按钮 找出 ModelSim.exe 文件,单击“确定”。需要注意的是这方面的设置与以前 ISE 版本不同,在 ISE4.2 中设置是这样的。但在 ISE5.1 以及 ISE5.2 中是指定 ModelSim.exe 文件所在的目录,而 ISE6.1 的设置与 ISE4.2 的设置相同。单击“确定”关闭该窗口,关闭 ISE(这一步非常重要,否则可能不能在 ISE 中调用 ModelSim 进行仿真),再重新进入 ISE 既可用调用 ModelSim 对设计进行仿真了。
1.jpg
在下一节我们以一个具有复位(reset)、使能(ce)、置数(load)、计数方向控制(dir)功能的计数器为基础进行设计。其方块图如图 7-2 所示。其中 CLK 为输入计数时钟信号,系统在该信号的驱动下开始工作;RESET 为复位信号,在上升沿处,输入复位为全零;CE 为使能信号,为 1 时计数正常进行,为 0 时停止计数;LOAD 为置数信号,当在时钟上升沿该信号为 1 时,将 DIN0~DIN3 分别置给 COUT0~COUT3。DIR 为计数方向控制,为 1 时递增计数,为 0 时递减计数。这些功能描述只是我们的设计目标,或称为设计需求,我们在设计一个系统时,第一步就是要明确我们的设计要求。下面,我们就开始设计过程。
2.jpg

用 VHDL 语言设计输入
在本节,我们用 ISE6.1 中的 VHDL 语言模板来实现图 7-2 所示的 4 位计数器模块。所谓的语言模板是对特定功能模块给出了一个基本的描述或者给出了一些部件的使用信息,编程者可以根据这些基本的描述来做稍微的修改来实现设计所需功能。下面就一步步开始我们的设计。对于已经初步掌握 ISE 的读者,可以略过这一部分。对于初学者,建议按照所列的步骤一步一步实现一遍,体会一下。

创建一个新工程
步骤如下:
Step1. 单击“开始->程序->Xilinx ISE6->Project Navigator”,进入 ISE 软件。
Step2. 选择 File->New Project…,出现如图 7-3 所示的窗口。这个窗口与以前版本的差别较大,以前的版本出现的窗口中可以直接选取器件类型、封装、门数、速度等级等信息。而在 ISE6.1 中需要单击“下一步”才能看到这些设置信息。在本例中,我们先选择工程存放的路径,然后输入工程名称。系统自动为每一个工程设定一个目录,目录名为工程名。再选择顶层模块类型为 HDL。其他几种类型说明如下:Schematic为原理图输入类型,类似于我们制作 PCB 原理图时的情况,可以从库中选取器件,也可以用 HDL 语言来生成器件,在后续章节会介绍原理图为设计输入的情况;EDIF为网表输入类型,EDIF 是 Electronic Data Interchange Format 的缩写,是一种描述设计网表的标准的工业文件格式,可以由第三方工具生成,在 ISE 中可以将其作为一种标准的输入格式。NGC 文件是一种包含了逻辑设计数据和约束的网表,所谓约束是指 FPGA 设计中的一些特定的要求,例如,我们分配设计中的信号到具体的管脚时,需要一个文件来指定如何分配,这就是一种约束文件,由于 NGC 网表包含了设计和约束,因此一个文件足够描述一个设计了。NGC/NGO 和 EDIF 都可以在 ISE 外由其他综合工具生成也可由 ISE 生成。如果我们需要用 ISE 作为设计输入,需要选择Schematic 或 HDL 作为顶层模块类型;如果已经完成的设计文件为 ABEL、Verilog或 VHDL,应选择 HDL 为顶层模块类型;如果已经完成的设计文件为原理图,这里应该选择 Schematic 作为顶层模块类型。这里我们先学习一下最常用的用 HDL 语言来描述设计。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表