随着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_icon
PARAMETERINSTANCE=chipscope_icon_0
PARAMETERHW_VER=1.00.a
PARAMETERC_NUM_CONTROL_PORTS=2
PARAMETERC_SYSTEM_CONTAINS_MDM=1
PORTcontrol0=chipscope_icon_0_control0
PORTcontrol1=chipscope_icon_0_control1
END
BEGINchipscope_opb_iba
PARAMETERINSTANCE=chipscope_opb_iba_0
PARAMETERHW_VER=1.00.a
PARAMETERC_NUM_DATA_SAMPLES=512
PARAMETERC_CONTROL_UNITS=1
PARAMETERC_ADDR_UNITS=1
PARAMETERC_DATA_UNITS=1
BUS_INTERFACEMON_OPB=mb_opb
PORTOPB_Clk=sys_clk_s
PORTSYS_Rst=sys_rst_s
PORTchipscope_icon_control=chipscope_icon_0_control0
END
BEGINchipscope_ila
PARAMETERINSTANCE=chipscope_ila_0
PARAMETERHW_VER=1.00.a
PARAMETERC_ENABLE_TRIGGER_OUT=1
PARAMETERC_DATA_SAME_AS_TRIGGER=1
PARAMETERC_TRIG0_TRIGGER_IN_WIDTH=8
PORTCHIPSCOPE_ILA_CONTROL=chipscope_icon_0_control1
PORTCLK=sys_clk_s
PORTTRIG0=fpga_0_LEDs_8Bit_GPIO_d_out
END