Spartan147平台与ISE软件的入门资料.docx
《Spartan147平台与ISE软件的入门资料.docx》由会员分享,可在线阅读,更多相关《Spartan147平台与ISE软件的入门资料.docx(25页珍藏版)》请在冰点文库上搜索。
Spartan147平台与ISE软件的入门资料
Spartan-3平台与ISE软件的入门
一、快速浏览Spartan-3EStarterKit的用户指南,便于以后进行内容查找。
中文用户指南:
Spartan-3EStarterKitBoardUserGuide.mht
英文用户指南:
Spartan-3EStarterKitBoardUserGuide.pdf
二、ISE软件安装。
根据资料自学完成安装(在个人电脑上),ISE推荐版本:
14.7。
注意需要破解(即提供license)。
三、ISE软件的初次使用。
在Spartan-3E开发板上,使用ISE软件,完成一个最基本工程的建立、编程、仿真、下载实现。
3.1
1)运行ISEDesignSuite软件,界面如下
2)新建工程(可参考图书:
XilinxFPGA开发实用教程)
FileNewProject
a)设置顶层文件类型Top-levelsourcetype为Schematic(原理图)
b)选择工程的保存位置Location和工作目录WorkingDirectory为fpgaxunlian
c)为工程取名,如:
xunlian1
点击Next
进行下述设置
根据观察我们使用的Spartan3E开发板上的FPGA芯片上的字,可知目标FPGA芯片的属性如下
芯片系列(Family):
Spartan3E
芯片型号(Device):
XC3S500E
芯片封装(Package):
FG320
速度等级(Speed):
-4(注:
XILINX的FPGA,值越大,速度等级越高)
综合工具(SysthesisTool)选择ISE自带的XST
仿真工具(Simulator)选择ISE自带的Isim
编程语言(PreferredLanguage)选择Verilog
然后,点击Next
观察,然后,点击Finish
3)在工程中加入文件
右键点击“xc3s500e-4fg320”,执行“NewSource”
如上图,先建立一个原理的源文件,取名为Topsch,注意“Addtoproject”复选框需选中,然后点击Next
观察,然后点击Finish,到此建立一张空白原理图。
4)使用原理图方式,实现简单功能如下:
a)LD7灯点亮
b)通过拨码开关控制LD6灯的亮或灭
c)将板上的50Mhz的时钟,二分频后输出到LD5
a)
在symbols子栏目下,在类型(Categories)中,选择General;
然后从元件Symbols中,选择元件gnd,放置在原理图中
然后,点击AddWire,从gnd元件上引出一根导线
然后,点击AddI/OMarker,在红色小方块处(电气连接点)点一下
双击XLXN_1,将网络名改成LD7,点击OK
双击LD7,在Nets中,点击New,新增属性,如下
点击OK,在点击OK
即,将LD7的输出端口的引脚锁定到芯片引脚F8上。
至此,完成将gnd信号输出到F8引脚的功能,即将LD7灯点亮(低电平点灯)。
b)
选择元件ibuf(位置为IO类别中),放置到原理图中
点击AddI/OMarker,分别在上图的两个电气连接出点击
更改输入端口的网络名称为SW3,更改输出端口的网络名称为LD6
双击SW3,
在Nets中,增加引脚锁定的设置。
即点击New
然后,输入上述信息,将SW3端口锁定到FPGA的引脚N17
点击OK,在点击OK
同样,双击LD6,增加引脚锁定设置,LOC=E9
至此,完成拨码开关控制LD6灯的功能。
c)
放入元件fd(位置在Flip_Flop类中),即一个D触发器
放入元件inv(位置在Logic类中),即一个反相器
对两个元件的位置进行适当调整
选中INV,执行EditMirror,将元件INV的放置方向调整一下,便于连线
进行连线,如下图
加上IO端口,如下图
更改端口名称,并锁定引脚
输入:
XLXN_4,改为CLK50,LOC=C9
输出:
XLXN_5,改为CLKOUT,LOC=D11
注:
引脚D11对应LD5灯
原理图画完,注意保存。
5)执行综合,仿真,下载。
在Design子栏目下,选中Topsch
然后双击Systhesize-XST,进行综合。
Console窗口显示“Process"Synthesize-XST"completedsuccessfully”,即成功。
然后双击ImplementDesign,即执行
成功后。
然后进行仿真。
(仿真部分可以跳过不做,直接下载执行)
首先需要增加一个用于仿真的test文件
与需要仿真验证的文件Topsch关联
生成初始的top_bench_v.v文件
//VerilogtestfixturecreatedfromschematicD:
\fpgaxunlian\xunlian1\Topsch.sch-TueJan1217:
36:
232016
`timescale1ns/1ps
moduleTopsch_Topsch_sch_tb();
//Inputs
regSW3;
regCLK50;
//Output
wireLD7;
wireLD6;
wireCLKOUT;
//Bidirs
//InstantiatetheUUT
TopschUUT(
.LD7(LD7),
.SW3(SW3),
.LD6(LD6),
.CLKOUT(CLKOUT),
.CLK50(CLK50)
);
//InitializeInputs
`ifdefauto_init
initialbegin
SW3=0;
CLK50=0;
`endif
endmodule
修改top_bench_v.v的内容(增加蓝色的代码,实现输入信号控制)
//VerilogtestfixturecreatedfromschematicD:
\fpgaxunlian\xunlian1\Topsch.sch-TueJan1217:
18:
382016
`timescale1ns/1ps
moduleTopsch_Topsch_sch_tb();
//Inputs
regSW3;
regCLK50;
//Output
wireLD7;
wireLD6;
wireCLKOUT;
//Bidirs
//InstantiatetheUUT
TopschUUT(
.LD7(LD7),
.SW3(SW3),
.LD6(LD6),
.CLKOUT(CLKOUT),
.CLK50(CLK50)
);
//InitializeInputs
`ifdefauto_init
initialbegin
SW3=0;
CLK50=0;
end
`endif
initial
begin
CLK50=0;
#100;
SW3=1;
#150;
SW3=0;
#200;
SW3=1;
end
always
begin
#10CLK50=~CLK50;
end
endmodule
在Implementation和Simulation的选择框中,从当前的选中Implementation改为选中Simulation
选择后仿真Post-Route
右键点击SimulatePost-Place&RouteModel,选择Run
点击按钮“ZoomtoFullView”,观察仿真结果
下载
在Implementation和Simulation的选择框中,选中Implementatio
右键点击GenerateProgrammingFile,执行Run
右键点击ConfigureTargetDevice,执行Run
选中BoundaryScan,然后点击按钮“InitializeChain”
选择Yes,执行FPGA芯片的下载文件的选择
选择到我们工程下对应的bit文件
接下来,提示选择开发板上PROM存储器的下载文件和CPLD的下载文件,均点击No
然后右键点击xc3s500e芯片,执行Program
显示编程成功,观察开发板效果
LD7等常亮,LD6灯可通过SW3开关,LD5等弱亮,示波器测试为25Mhz的信号。