Microblaze與片內(nèi)邏輯分析工具Chipscopepro
隨著FPGA規(guī)模的不斷增大,其封裝形式大多向球形方式轉移,這樣使得傳統(tǒng)的探針方式監(jiān)測信號變得越來越困難。Chipscopepro是一種片內(nèi)邏輯分析工具,它能通過JTAG口,將FPGA內(nèi)部信號實時讀出,傳入計算機進行分析。它的基本實現(xiàn)方法是通過利用FPGA中未使用的BLOCKRAM,利用設置的觸發(fā)條件將相應信號實時的存儲其中,然后利用JTAG口將數(shù)據(jù)傳入計算機,最后在計算機中顯示其波形。
在XILINXEDK中提供的了5個Chipscopepro核,
1.chipscope_icon—集成控制核,與其它的ChipScopecores進行通訊,最后將數(shù)據(jù)通過JTAG口送出。
2.chipscope_opb_iba—監(jiān)測OPB總線動作
3.chipscope_plb_iba—監(jiān)測PLB總線動作
4.chipscope_vio—創(chuàng)建虛擬IO(VirtualIO),通過JTAG實現(xiàn)監(jiān)測和驅動FPGA內(nèi)部信號。
5.chipscope_ila—監(jiān)測單獨的非總線信號,現(xiàn)行版本只支持MHS級信號的探測。
下面簡要介紹其在EDK中實現(xiàn)過程:
在MHS中加入相應的IPcores,圖中加入了chipscope_icon,chipscope_opb_iba和chipscope_ila。
建立模塊信號的連接關系,并對其相應參數(shù)做設置,
相應的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
相應的設置完成之后,連接好硬件,就可以將包含chipscope核的整個系統(tǒng)重新下載到FPGA中,然后利用打開Chipscopeproanalyzer進行信號的上傳觀察,
點擊,掃描JTAG鍵,
找到JTAG鍵上的兩個器件,選擇XC3S400,點OK。導入.cdc文件,Platgen和ChipScopecores的Tclwrappers基于設計參數(shù)在<EDKProjectDirectory>/implementation/<OPBIBAinstancename>_wrapper/<OPBIBAinstancename>.cdc目錄中創(chuàng)建了包含信號的.cdc文件,如設計中的OPBILA例化為chipscope_ila_0,然后錄<Project>/implementation/chipscope_opb_ila_0_wrapper/chipscope_opb_ila_0.cdc中建立ChipScope信號的.cdc文件,將其導入ChipScopeanalyzer即可得到其信號信息,
此時可選擇相應的DEV(XC3S400,XCF02S)和DEV中的UNIT(MyIBA/OPB0和MyILA1),然后對其觸發(fā)條件進行設置,將關心的信號加入波形窗口中,最后執(zhí)行觸發(fā)即可。
上述過程只是簡單介紹,具體關于chipscope的使用,請參見其幫助文檔。文中錯誤在所難免,希望大家指正