DIY编程器网
标题:
Microblaze与片内逻辑分析工具Chipscopepro
[打印本页]
作者:
liyf
时间:
2012-1-17 14:57
标题:
Microblaze与片内逻辑分析工具Chipscopepro
随着FPGA规模的不断增大,其封装形式大多向球形方式转移,这样使得传统的探针方式监测信号变得越来越困难。Chipscopepro是一种片内逻辑分析工具,它能通过JTAG口,将FPGA内部信号实时读出,传入计算机进行分析。它的基本实现方法是通过利用FPGA中未使用的BLOCKRAM,利用设置的触发条件将相应信号实时的存储其中,然后利用JTAG口将数据传入计算机,最后在计算机中显示其波形。 在XILINXEDK中提供的了5个Chipscopepro核,1.chipscope_icon—集成控制核,与其它的ChipScopecores进行通讯,最后将数据通过JTAG口送出。2.chipscope_opb_iba—监测OPB总线动作3.chipscope_plb_iba—监测PLB总线动作4.chipscope_vio—创建虚拟IO(VirtualIO),通过JTAG实现监测和驱动FPGA内部信号。5.chipscope_ila—监测单独的非总线信号,现行版本只支持MHS级信号的探测。 下面简要介绍其在EDK中实现过程: 在MHS中加入相应的IPcores,图中加入了chipscope_icon,chipscope_opb_iba和chipscope_ila。
建立模块信号的连接关系,并对其相应参数做设置,
相应的MHS文件为,BEGINchipscope_iconPARAMETERINSTANCE=chipscope_icon_0PARAMETERHW_VER=1.00.aPARAMETERC_NUM_CONTROL_PORTS=2PARAMETERC_SYSTEM_CONTAINS_MDM=1PORTcontrol0=chipscope_icon_0_control0PORTcontrol1=chipscope_icon_0_control1ENDBEGINchipscope_opb_ibaPARAMETERINSTANCE=chipscope_opb_iba_0PARAMETERHW_VER=1.00.aPARAMETERC_NUM_DATA_SAMPLES=512PARAMETERC_CONTROL_UNITS=1PARAMETERC_ADDR_UNITS=1PARAMETERC_DATA_UNITS=1BUS_INTERFACEMON_OPB=mb_opbPORTOPB_Clk=sys_clk_sPORTSYS_Rst=sys_rst_sPORTchipscope_icon_control=chipscope_icon_0_control0ENDBEGINchipscope_ilaPARAMETERINSTANCE=chipscope_ila_0PARAMETERHW_VER=1.00.aPARAMETERC_ENABLE_TRIGGER_OUT=1PARAMETERC_DATA_SAME_AS_TRIGGER=1PARAMETERC_TRIG0_TRIGGER_IN_WIDTH=8PORTCHIPSCOPE_ILA_CONTROL=chipscope_icon_0_control1PORTCLK=sys_clk_sPORTTRIG0=fpga_0_LEDs_8Bit_GPIO_d_outEND
? 相应的设置完成之后,连接好硬件,就可以将包含chipscope核的整个系统重新下载到FPGA中,然后利用打开Chipscopeproanalyzer进行信号的上传观察,
点击,扫描JTAG键,
找到JTAG键上的两个器件,选择XC3S400,点OK。导入.cdc文件,Platgen和ChipScopecores的Tclwrappers基于设计参数在/implementation/_wrapper/.cdc目录中创建了包含信号的.cdc文件,如设计中的OPBILA例化为chipscope_ila_0,然后录/implementation/chipscope_opb_ila_0_wrapper/chipscope_opb_ila_0.cdc中建立ChipScope信号的.cdc文件,将其导入ChipScopeanalyzer即可得到其信号信息,
此时可选择相应的DEV(XC3S400,XCF02S)和DEV中的UNIT(MyIBA/OPB0和MyILA1),然后对其触发条件进行设置,将关心的信号加入波形窗口中,最后执行触发即可。 上述过程只是简单介绍,具体关于chipscope的使用,请参见其帮助文档。文中错误在所难免,希望大家指正
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2