FPGA实验报告改进文档格式.docx
- 文档编号:16199952
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:30
- 大小:1.21MB
FPGA实验报告改进文档格式.docx
《FPGA实验报告改进文档格式.docx》由会员分享,可在线阅读,更多相关《FPGA实验报告改进文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
各部分成绩的观测点、考核目标、所占比例可参考附表执行。
各专业也可以根据具体情况,调整考核内容和评分标准。
4、学生必须在完成实验预习内容的前提下进行实验。
教师要在实验过程中抽查学生预习情况,在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。
5、教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。
在完成所有实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。
6、实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。
附表:
实验考核参考内容及标准
观测点
考核目标
成绩组成
实验预习
1.预习报告
2.提问
3.对于设计型实验,着重考查设计方案的科学性、可行性和创新性
对实验目的和基本原理的认识程度,对实验方案的设计能力
20%
实验过程
1.是否按时参加实验
2.对实验过程的熟悉程度
3.对基本操作的规范程度
4.对突发事件的应急处理能力
5.实验原始记录的完整程度
6.同学之间的团结协作精神
着重考查学生的实验态度、基本操作技能;
严谨的治学态度、团结协作精神
30%
结果分析
1.所分析结果是否用原始记录数据
2.计算结果是否正确
3.实验结果分析是否合理
4.对于综合实验,各项内容之间是否有分析、比较与判断等
考查学生对实验数据处理和现象分析的能力;
对专业知识的综合应用能力;
事实求实的精神
50%
实验课程名称:
__FPGA原理及应用____
实验项目名称
ISE9.1使用流程实验
实验成绩
实验者
专业班级
组别
2
同组者
实验日期
2014年6月12日
一、实验目的
(1)熟悉ISE9.1的开发环境,掌握工程的生成方法。
(2)熟悉SEED-XDTKXUPV2Pro实验与仿真设计的环境。
二、实验仪器
pc机一台
三、实验内容
(1)创建工程。
(2)添加HDL资源文件。
(3)配置一个应用程序完成设计。
(4)设计的仿真及实现。
四、实验步骤
1创建工程
1)双击桌面XilinxISE9.1的快捷方式,打开ISE工程管理器(ProjectNavigator)。
2)打开ProjectNavigator后,选择“File”→“NewProject”,弹出新建工程对话框
3)在工程路径中单击“…”按钮,将工程指定到如下目录后单击“确定”按钮:
4)在工程名称中输入Flow_lab,单击“Next”按钮,弹出器件特性对话框。
器件族类型(DeviceFamily)选择“Virtex2P”,器件型号(Device)选择“XC2VP30ff896-7”,综合工具(SynthesisTool)选择“XST(VHDL/Verilog)”,仿真器(Simulator)选择“ISESimulator”,如图1所示。
5)单击“Next”按钮,弹出“CreateNewSource”对话框,可以使用这个对话框来创建新的HDL资源文件,或者也可以创建工程后,新建HDL资源文件。
单击“Next”按钮,弹出添加存在资源对话框。
6)单击“Next”按钮,弹出工程信息后单击“Finish”按钮,单击“OK”按钮,资源文件添加完成。
图1特性对话框
2添加HDL资源文件
1)单击“AddSource”按钮,指向E:
\01.ISE9.1\KCPSM3\VHDL(Verilog)目录,选择kcpsm3_int_test和kcpsm3文件,单击“Open”按钮,
2)单击“Next”按钮,弹出工程信息后单击“Finish”按钮,
3)单击“OK”按钮,资源文件添加完成
3配置一个应用程序完成设计
1)打开E:
\01.ISE9.1\KCPSM3目录下的Assembler文件夹。
注意,KCPSM3.exe汇编编译系统执行文件和ROM_form模板文件与两个PSM例子文件必须在这个目录下。
紧记汇编编译器生成的用于程序内存的VHDL/Verilog文件会在这个目录下
2)用文件编辑器打开int_test.psm文件,浏览一下代码,此档就是设计者编写和输入的源文件。
3)在开始菜单中的所有程序的附件上单击“命令提示符”,使用cd命令指向汇编编译器的目录下,输入“kcpsm3int_test.psm”命令,如图2所示。
图2操作DOS命令示意图
4)执行完命令后,会看到在Assembler下生成了一些文件,其中包括VHDL(int_test.vhd)和Verilog(int_test.v)。
5)在ISEProjectNavigator,单击“Project”→“AddCopyofSource”,指向E:
\01.ISE9.1\KCPSM3\Assembler目录下的int_test.vhd或者int_test.v文件。
单击“打开”按钮。
单击“OK”按钮后,将int_test.vhd或者int_test.v文件添加到工程里,则解决了出现红色问号的问题。
4设计的仿真
1)在ISEProjectNavigator中单击“Project”→“AddCopyofSource”,指向E:
\01.ISE9.1\KCPSM3\vhdl(或者Verilog)目录,选择test_bench.vhd(或者testbench.v)文
件,单击“打开”按钮。
2)选择“SimulationOnly”,单击“OK”按钮,则将测试范本(Testbench)test_bench.vhd/.v文件添加到工程里。
3)单击Sourcese窗口中的“testbench”,则在Processes窗口中显示“XilinxISESimulator”工具栏,扩展开后,右键单击“SimulatorBehavioralModel”,选择“Properties”,对“SimulationRunTime”输入10000ns,单击“OK”按钮,如
4)双击Processes窗口中的“SimulateBehavioralModel”对设计进行仿真,将在右方窗口弹出仿真结果的波形,如图3所示。
图3仿真机结果示意图
5设计的实现
1)在工程的Sources窗口“Sourcesfor”选择“Synthesis/Implementation”,并单击工程的顶层文件kcpsm3_int_test.vhd/v。
2)在工程的资源操作窗(Processes),双击“ImplementDesign”。
3)当实现设计(ImplementDesign)运行的过程中,展开实现(ImplementDesign)的步骤,会看到实现过程中,首先是进行综合(Synthesis),然后才依次完成实现的步骤。
当完成相关操作后,在每个操作步骤前会显示一个小图标,表示该步骤的完成情况。
对于本设计,在一些操作步骤前显示的是叹号,这些警告是可
以忽略的。
对号(√)表示该操作步骤成功完成;
叹号(!
)表示该操作步骤虽完成但有警告信息;
叉号(×
)表示该操作步骤因错误而未完成。
4)当完成这些操作步骤后,生成相应的操作报告供查看。
实现操作完成后,再看designutilization的DesignSummary窗口。
五.思考题
1查阅资料,了解ISE的特点和功能。
答:
1.优良的集成环境
XilinxISE是一个集成环境,可以完成整个FPGA/CPLD开发过程。
2.简洁流畅的界面风格
XilinxISE界面风格简洁流畅,易学易用。
3.丰富的在线帮助信息
XilinxISE有丰富的在线帮助信息,结合Xilinx的技术支持网站,一般设计过程中可能遇到的问题都能得到很好的解决。
4.强大的设计辅助功能
ISE秉承了Xilinx设计软件的强大辅助功能。
教师签字__________
ArchitectureWizard与PACE实验
2014年6月13日
1、实验目的
(1)熟悉并使用ArchitectureWizard。
(2)掌握如何例化DCM模块单元。
(3)熟悉并使用PACE。
二、实验仪器
Pc机一台
3、实验内容
(1)使用ArchitectureWizard生成DCM模块单元。
(2)将例化DCM模块单元添加到工程。
(3)使用PACE进行引脚位置锁定。
1使用ArchitectureWizard生成DCM模块单元
1)选择“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,进入ISE的ProjectNavigator环境。
2)选择“File”→“OpenProject”,并指向如下目录,选择“arwz_pace.ise”打开工程。
Verilog使用者:
E:
\01.ISE9.1\xupv2pro\labs\verilog\lab2\arwz_pace
VHDL使用者:
\01.ISE9.1\xupv2pro\labs\vhdl\lab2\arwz_pace
3)双击Processes窗口中“CreatNewSource”,弹出新资源向导窗口,选择
“IP(CoreGen&
ArchitectureWizard)”,输入my_dcm。
4)单击“Next”按钮,弹出SelectIP窗口,展开FPGAFeaturesandDesign和Clocking目录,选择“SingleDCMv9.1”。
5)单击“Next”按钮,显示新建资源信息。
单击“Finish”按钮,则弹出XilinxClockingWizard–GeneralSetup窗口,选中CLK0,CLKFX和LOCKED,不选中RST,输入时钟频率为100MHz。
6)单击“Next”按钮,弹出XilinxClockingWizard–ClockBuffers窗口,保持默认选项。
7)单击“Next”按钮,弹出XilinxClockingWizard–ClockingFrequencySynthesizer窗口,输入50MHz输出频率。
8)单击“Next”按钮,显示新建资源信息。
单击“Finish”按钮,则在工程的Sources窗口看到my_dcm.xaw作为资源添加到工程中,但没有作为一个模块加入顶层设计文件中,则需要下一步的例化过程。
2DCM组件的例化
1)选中my_dcm.xaw文件,则在工程的Processes窗口双击“ViewHDLSource”,在HDL编辑器中可以看到由ArchitectureWizard生成的DCM的VHDL源代码。
此代码中包含了一个IBUFG、一个DCM和两个BUFG例化的组件。
输入时钟CLKIN_IN驱动IBUFG,输出的时钟与DCM相接,CLKFX_BUF和CLK0_BUF输出时钟驱动BUFG组件,所有的DCM属性使用VHDLgeneric语句传递。
2)在工程的Sources窗口,双击“uart_clock.vhd”在HDL编辑器中打开源代码。
3)在工程的Sources窗口,选择my_dcm.xaw,在Processes窗口双击“ViewHDLInstantiationTemplate”在HDL编辑器中打开例化组件的模板。
在HDL例化范本my_dcm.vhi中,复制组件声明(从COMPONENTmy_dcm到ENDCOMPONENT)并粘贴到uart_clock.vhd代码中的“--InsertDCMcomponentdeclarationhere”注
释的下方。
4)在uart_clock.vhd代码中的“--InsertDCMcomponent
instantiationhere”注释下方,添加下列对端口的名称映像
代码,完成对组件的例化。
Inst_my_dcm:
my_dcmPORTMAP(
CLKIN_IN=>
clk,
CLKFX_OUT=>
clk50MHz,
CLKIN_IBUFG_OUT=>
open,
CLK0_OUT=>
LOCKED_OUT=>
lock
);
5)在“--SignalsforDCM,asfollows:
”注释的下方添加DCM的50MHz的信号声明:
signalclk50MHz:
std_logic;
6)在实体说明里添加lock输出管脚如下:
entityuart_clockis
Port(
tx:
outstd_logic;
rx:
instd_logic;
alarm:
clk:
lock:
outstd_logic
enduart_clock;
7)保存后,my_dcm.xaw作为一个模块加入顶层设计文件中。
3使用PACE进行管脚分配
1)在工程的Sources窗口,选择顶层设计文件uart_clock.vhd/.v,则在Processes窗口,扩展UserConstraints并双击“AssignPackagePins”打开PACE,在此过程中弹出询问是否添加UCF文件到工程中对话框,单击“yes”按钮。
用VHDL做实验时,如果PACE没有自动跳出,可把lab2复制到根目录下再打开工程。
注意:
在PACE能启动之前必须先进行综合。
2)在PACE中浏览DesignObjectList-I/OPins窗口,可看到所列的信号名称和信号方向是Output还是Input。
在Loc栏里每个信号对应于FPGA的管脚,FPGA的管脚分配需查看光盘数据../02.Schmatic目录下的原理图。
3)保存后出现“BusDelimiter”对话框。
选择“XSTDefault”,单击“OK”按钮。
将DeviceArchitecture窗口放大直到可以看清每个管脚。
4)保存后出现“BusDelimiter”对话框,如图1所示,选择“XSTDefault”,单击“OK”按钮。
单击菜单栏中的“File”→“Exit”,退出PACE;
图1BusDelimiter对话框
5)单击工程中Sources窗口中的uart_clock.ucf文件,然后双击Prosesses窗口中UserConstraints目录下的“EditConstraints(Text)”,就可以看到由PACE生成的uart_clock.ucf管脚约束文件。
4检查Pad报告并打开超级终端
1)单击工程中的Sources窗口的uart_clock.vhd/v文件,然后打开Processes窗口中的ImplementDesign目录下的Place&
Route目录,双击“PadReport”。
当Place&
Route完成后,“PadReport”在HDL编辑器中打开,可以看“PadReport”来确定I/O信号管脚约束是否与分配的管脚相匹配。
2)从开始菜单的“File”→所有程序→附件→通讯中单击超级终端,输入名字并单击“OK”按钮,选择COM1作为端口连接,单击“确定”按钮后按照图2进行设定,最后单击“确定”完成设定。
图2
3)单击超级终端菜单中属性中的设置,单击“ASCII码设置”,选中“将换行符附加到传入行末尾”并单击“确定”按钮。
再次单击“确定”按钮退出属性对话框。
5程序的下载并操作UART实时时钟
1)给板卡上电,打开SW11开关。
2)单击工程的顶层文件uart_clock.vhd/v文件,然后双击Processes窗口中“GenerateProgrammingFile”来生成此工程的Bitstream文件并下载到芯片中去。
3)当这个过程完成后,打开GenerateProgrammingFile目录,双击“ConfigureDevice(iMPACT)”,弹出“iMPACT”对话框后选择“ConfigureDevicesusing
Boundary-Scan(JTAG)”,然后单击“Finish”按钮。
4)等到弹出“AssignNewConfigurationFile”对话框后,前两个器件都选择“bypass”按钮,对于最后一个器件单击uart_clock.bit文件选择“Open”按钮,然后再单击“OK”按钮后弹出一个警告信息,单击“OK”按钮所示。
5)在iMPACT窗口右键单击“xc2vp30”,选择“Program”后弹出ProgrammingProperties窗口,单击“OK”按钮,如果下载成功则出现“ProgramSucceeded”,
6)在超级终端窗口则会看到KCPSM3>
提示符
这里超级终端是否显示成功不仅与下载是否成功有关,而且还与电脑的连接有关。
如果COM1不行的话,可以试一下COM2。
7)在KCPSM3>
提示符后输入“time”命令,则会以hh:
mm:
ss格式显示当前时钟。
8)在命令提示符后输入“alarm”命令,则以hh:
ss形式显示当前警告时间,此时alarm是关闭的。
9)输入“alarmon”命令,则警告变成有效,然后输入“alarm00:
00:
30”设定警告时间为30s,输入“time00:
00”设定时间后,会看到板卡上的LED1灯会在30s警告后熄灭。
当你输入“alarmoff”命令后则关闭警告,LED1灯则再次亮起。
全局时序约束实验
2014年6月14日
1)学习使用约束编辑器(ConstraintsEditor)设置全局时序约束。
2)通过分析映像后的静态时序报实现。
3)通过分析布局布线后静态时序报告来确认实际的设计效果。
通过设置全局时序约束来提高系统时钟频率,用映像后的静态时序报和布线布局后的静态时序报告来分析设计的性能。
四.实验背景知识:
1)约束编辑器简介
2)本实验中的PicoBlaze系统原理
5.实验准备:
1)将光盘下03.ExamplesofProgram实验程序目录下的01.ISE9.1文件夹复制到E:
盘根目录下。
2)将USB下载电缆与计算机及XUPV2Pro板的J8连接好。
3)将RS232串口线一端与计算机连接好,另一端与板卡的J11相连接。
4)启动计算机后,将XUPV2Pro板的电源开关SW11打开到“ON”上。
观
察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源。
6.实验步骤:
(1)编译范本中的汇编
1)选择“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,进入ISE的ProjectNavigator环境
2)选择“File”→“OpenProject”,并指向如下目录,选择time_const.ise打开工程。
3)选择“Start”→“Programs”→“Accessories”→“CommandPrompt”,打开命令提示符,并使cd命令指向如下的汇编编译器的目录下,如图1所示。
图1
在提示符后输入kcpsm3program.psm命令,执行结束后的结果如图2所示。
图2
4)执行完命令后,会看到在Assemble下生成了一些文件,其中包括VHDL(program.vhd)和Verilog(program.v),这就是汇编编译系统将编写的汇编源文件program.psm自动生成了用于程序内存的VHDL/Verilog格式文件,用于综合和仿真。
将生成的program.vhd/v文件添加到工程中。
5)单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中Synthesis-XST目录下的“CheckSyntax”,检验添加的文件是否有语法错误。
(2)输入全局时钟约束
1)单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中的UserConstraints目录下的“CreateTimingConstraints”。
2)本工程若没有UCF文件,则弹出提示对话框,单击“Yes”按钮,将自动生成UCF文件为loopback.ucf,并添加到工程中。
)当打开约束编辑器时,选中“Globle”全局约束窗口,如图3所示。
图3
4)双击Period列下的单元格,弹出“ClockPeriod”对话框,可以设置Period约束。
5)双击PadtoSetup列下的单元格,弹出对话框并输入6ns,单击“OK”按钮,完成输入延迟约束设置。
6)单击ClocktoPad列下的单元格,弹出对话框并输入7.5ns,单击“OK”按钮,完成输出延迟约束设置
7)选择“File”→“Save”保存,然后选择“Exit”退出约束编辑器,如图4所示。
图4
(3)输入引脚位置约束
1)单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中的UserConstraints目录下的“EditTimingConstraints(Text)”,打开loopback.ucf文件。
2)从XUPVirtex-IIPro使用手册可知,关于IO引脚位置的设置如表1所示。
表1
(4)实现设计并进行时序分析
1)单击工程的Sources窗口中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 实验 报告 改进