zjk实习报告.docx
- 文档编号:25614342
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:13
- 大小:365.27KB
zjk实习报告.docx
《zjk实习报告.docx》由会员分享,可在线阅读,更多相关《zjk实习报告.docx(13页珍藏版)》请在冰豆网上搜索。
zjk实习报告
课程设计任务书
题目基于ChipScope的比较器设计调试
起讫日期2013年3月4日—3月22日
学生姓名专业班级通信工程(铁道信号)
所在院系 电气信息学院
指导教师曾洁、李晖、邵银萍
职称副教授、讲师、讲师
所在单位通信工程教研室
2013年3月2日
任务及要求:
1.设计内容和要求(包括设计内容、主要指标与技术参数)
设计内容:
使用ChipScope调试比较器设计
设计要求:
(1)设计语言为Verilog,硬件开发平台为Spartan-3E开发板;
(2)使用ChipScope创建一个名字为test的ILA核并配置该核;;
(3)在配置ILA核时,捕获时钟选择50MHz,触发信号选择A(实际可以任意选择),捕获的数据为A,B,A_EQ_B,A_GT_B和A_LT_B共11位数据,捕获数据深度选择512;
(4)在ChipScope中,捕获数据使用Windows模式,捕获512个数据;
(5)使用拨码开关输入A和B数据后,开始捕获数据。
最后捕捉到的(多位宽)数据要以总线的形式在ChipScope中显示,输出的数据显示A和B的大小关系;
提示:
数据输入请配合UCF文件和Spartan-3E开发板上的LED、拨码开关、按键对应
2.原始依据
本设计要求学生应用XilinxFPGAChipScope进行比较器的调试,通过设计能够让学生进一步掌握FPGA的基本开发流程,同时提高时序设计能力,学生已学习过EDA课程,掌握硬件描述语言基本知识,通过本次设计可进一步提高学生的动手能力,加强理论联系实际的能力。
3.进度计划
3.4-3.8查阅相关资料,掌握FPGA基本知识。
3.11-3.15应用Verilog语言进行程序开发,设计调试。
3.18-3.22调试验收,撰写专业课程实践训练报告。
4.参考文献
[1]夏宇闻.Verilog数字系统设计教程[M].北京:
北京航空航天大学出版社,2008.
[2]SnairPalnitkar(美).VerilogHDL数字设计与综合.夏宇闻等译.(第二版)[M].北京:
电子工业出版社,2009.
[3]Xilinx.UG230[Z/OL].
指导教师签字:
教研室主任签字:
2013年3月2日
摘要
●在ISE里面创建一个ChipScopePro源
●使用ChipScopePro创建ILA内核
●配置该内核,包括时钟信号、触发信号、捕获数据和数据深度
●在ChipScope中,捕获数据使用Windows模式,捕获512个数据
●下载比特流文件,并在硬件上运行设计
●在ChipScopeAnalyzer中完成片上验证并观察总线显示。
目录
摘要…………………………………………………………………1
正文…………………………………………………………………3
Chipscope简介…………………………………………………3
实验步骤…………………………………………………………4
创建ChipScopePro源………………………………………………4
配置并连接ILACore…………………………………………………6
指定ChipScopeAnalyzer选项……………………………………11
在硬件上测试…………………………………………………………13
参考文献………………………………………………………14
正文
ØChipscope简介
Chipscope是XILINX推出的一款在线调试软件,价格便宜,通过它完全可以脱离传统逻辑分析仪(太贵)来调时序,观察FPGA内部的任何信号,触发条件、数据宽度和深度等的设置也非常方便,但是肯定也存在不足,比如速度和数据量方面。
Chipscope本身是一个逻辑分析仪,主要用于在上板测试过程中采集并观察芯片内部信号,以便于调试。
它的原理是,在你综合完的网表里插入用于采集数据的core(包括ILA和ICON),插入的方式可以用coreinserter,也可以用coregenerator,只不过后者需要在源代码中实例化。
用coreinserter更为快捷,基本上就是选择你要观察的信号以及触发源、时钟等,然后运行之后会自动生成一个新的网表文件,再用这个网表在ISE里面进行布局布线,生成下载文件,通过JTAG方式下载到芯片里运行。
在芯片运行的过程中,如果你选择的触发源发生跳变,或满足触发条件时,芯片里的core会将你要观察的信号采集并存储在芯片内的RAM(也可以是FF)中,然后通过JTAG口将采集到的信号上载到PC,最后在PC的chipscopeanalyzer的界面中以波形的方式显示出来,因此你就能看到芯片里的信号波形。
我们平时都是使用Chipscope的coreinserter方式来往我们的工程里面植入Chipscope核。
凡事都是利弊相生的,XILINX的Chipscopecoreinserter工具帮你便捷地把core植入到你的工程里面,那么存在一定的弊端,那就是编译时间被延长得很长,而且每次编译过程中,都会根据你的cdc工程文件重新生成一次ICON、ILA内核网表,再重新编译整个工程,那么编译时间就不可避免地被延长了。
所以,如果要采集到你所要的信号波形,首先是你的触发条件被满足。
chipscope不会去改变你的原始设计中的信号,只对他们作采集。
总结来说,chipscope是利用植入FPGA的两个core:
ILA和ICON,利用JTAG数据线传回数据的方式来观察、调试设计的。
Ø实验步骤
v创建ChipScopePro源
◆打开目录下的源程序comparator.ise。
✧源程序如下:
`
timescale1ns/1ps
//////////////////////////////////////////////////////////////////////////////////
//Company:
//Engineer:
//
//CreateDate:
14:
44:
0010/06/2010
//DesignName:
//ModuleName:
comparator
//ProjectName:
//TargetDevices:
//Toolversions:
//Description:
//
//Dependencies:
//
//Revision:
//Revision0.01-FileCreated
//AdditionalComments:
//
//////////////////////////////////////////////////////////////////////////////////
modulecomparator(
input[3:
0]A,
input[3:
0]B,
outputregA_GT_B,
outputregA_LT_B,
inputclk,
outputregA_EQ_B
);
reg[3:
0]X;
always@(posedgeclk)begin
X[0]<=(A[0]&B[0])|(~A[0]&~B[0]);
X[1]<=(A[1]&B[1])|(~A[1]&~B[1]);
X[2]<=(A[2]&B[2])|(~A[2]&~B[2]);
X[3]<=(A[3]&B[3])|(~A[3]&~B[3]);
A_GT_B<=(A[3]&~B[3])|(X[3]&A[2]&~B[2])|(X[3]&X[2]&A[1]&~B[1])|(X[3]&X[2]&X[1]&A[0]&~B[0]);
A_LT_B<=(~A[3]&B[3])|(X[3]&~A[2]&B[2])|(X[3]&X[2]&~A[1]&B[1])|(X[3]&X[2]&X[1]&~A[0]&B[0]);
A_EQ_B<=X[3]&X[2]&X[1]&X[0];
end
endmodule
◆在Processes窗口下,双击CreateNewSource打开NewSourceWizard,选择ChipScopeDefinitionandConnectionFile,在FileName区域输入test,然后点击
◆如果不能看到CreateNewSource,请确认是否选中了Sources窗口的HDL文件。
◆选择关联文件为comparator,对文件进行片上逻辑分析,点击
v配置并连接ILACore
◆将ILA内核连接到PicoBlaze输出总线上。
◆在Sources窗口,双击test.cdc打开这个内核,出现如图所示对话框
◆点击
ILA.已添加到系统中,如图所示
◆点击
◆注意:
每个ILA或ILA/ATC内核都有高达16个独立的触发器端口,可以独立设置。
独立的触发器端口是总线型的,由独立的信号或1~256bit组成。
每个触发器端口可以连接1~16MatchUnits
◆每个MatchUnit都是一个比较器,与触发器端口连接,用来检测触发器端口的事件。
一个或多个触发单元连接起来形成整个事件触发条件,用于控制数据捕获。
不同的比较和匹配函数可以被触发端口根据匹配单元类型来执行
◆接下来,你将设置ILA内核来触发某些经过UART的控制信号
✧按如下参数设置ILA触发器,然后点击
●TriggerInputandMatchUnitSettings
●Numberofinputtriggerports:
1
●TriggerConditionSettings
●EnableTriggerSequencer:
勾选(这个允许你指定一个时序事件来使触发使能)
●MaxNumberofSequencerLevels:
11
●StorageQualificationConditionSettings
●EnableStorageQualification:
勾选(这将允许你指定将数据存储在内部缓冲区内)
✧按以下要求设置捕获参数
●DataDepth:
512
●SampleOn:
Risingclockedge
●DataSameasTriggerPort:
不勾选
●DataWidth:
11
◆注意:
ILA内核在采样缓冲区中所能存储的最大采样数据个数称为数据深度(datadepth)。
最大采样数取决于器件中BlockRAM的数量和大小。
◆点击
NetConnection标签允许选择信号和ILA连接。
如果触发和数据是独立的,则必须指定Clock,Trigger,Data。
没有连接将以红色显示,如图
◆点击ModifyConnections标签,如图
◆在NetSelections下选择ClockSignals,在net列表中选择clk55MHz,然后点击MakeConnections按钮,将这个时钟信号连接到ILA内核的时钟端口
◆点击TriggerSignals标签,并连接触发端口,共4位
◆点击DataSignals标签,并连接PicoBlaze控制器的输出端口到ILAcore的数据端口,共11位,然后点击
◆在NetConnections看到Clock,Trigger和Data端口都是黑色的,说明连接有效,如图所示。
点击ReturntoProjectNavigator并保存文件
v指定ChipScopeAnalyzer选项
◆选中顶层文件,在Processes窗口中双击AnalyzeDesignUsingChipScope
◆打开Spartan-3E开发板电源,并连接串口线到PC上
◆点击OpenCable/SearchJTAGChain按钮,如图所示
◆点击
◆在xc3s500e器件上,右击选择configure
◆点击SelectNewFile,从工程目录里选择比特流文件。
然后点击
◆提示:
在图所示的Projecttree处,双击相应标签,可以打开对应窗口
ChipScopeProAnalyzer界面由4个部分组成
每个ChipScopeProILA,ILA/ATC和IBA内核都有自己的触发端口,它为用户提供了图形化的界面来设置触发条件。
在运行时,每个ChipScopePro内核的触发条件都可以修改。
触发机制有三个要素:
●MatchFunctions:
用于设定每个MatchUnit的匹配函数
●TriggerConditions:
用于把一个或多个触发条件组合起来构成最终的触发条件
●CaptureSettings:
用于设定捕获多少个采样,多少个捕获窗口和在这些窗口中的捕获位置
◆在这个设计里,你将设置触发器,用于在向超级终端输入数据后,捕获PicoBlaze输出端口上的数据。
◆选择File→Import,导入工程目录下的cdc文件,这个文件包含连接到触发器上的PicoBlaze信号网络名和ILA内核的数据端口
v在硬件上测试
◆分别选择A<0>到A<3>,B<0>到B<3>,A_GT_B、A_LT_B和A_EQ_B,使其高亮显示
◆右击高亮显示的信号,选择AddtoBus→NewBus,创建新总线
◆设置缓冲区Depth为512
◆点击ApplySettingsandArmTrigger按钮,如图所示
◆根据如下管教对应,在仪器上进行调试,观察结果
NET"clk"LOC="C9"|IOSTANDARD=LVCMOS33;
NET"A<0>"LOC="L13"|IOSTANDARD=LVTTL|PULLUP;
NET"A<1>"LOC="L14"|IOSTANDARD=LVTTL|PULLUP;
NET"A<2>"LOC="H18"|IOSTANDARD=LVTTL|PULLUP;
NET"A<3>"LOC="N17"|IOSTANDARD=LVTTL|PULLUP;
NET"B<0>"LOC="H13"|IOSTANDARD=LVTTL|PULLDOWN;
NET"B<1>"LOC="V4"|IOSTANDARD=LVTTL|PULLDOWN;
NET"B<2>"LOC="K17"|IOSTANDARD=LVTTL|PULLDOWN;
NET"B<3>"LOC="D18"|IOSTANDARD=LVTTL|PULLDOWN;
NET"A_GT_B"LOC="F12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;
NET"A_LT_B"LOC="E12"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;
NET"A_EQ_B"LOC="E11"|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;
参考文献
[1]夏宇闻.Verilog数字系统设计教程[M].北京:
北京航空航天大学出版社,2008.
[2]SnairPalnitkar(美).VerilogHDL数字设计与综合.夏宇闻等译.(第二版)[M].北京:
电子工业出版社,2009.
[3]Xilinx.UG230[Z/OL].
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- zjk 实习 报告