| **银杏科技有限公司旗下技术文档发布平台** |||| |技术支持电话|**0379-69926675-801**||| |技术支持邮件|Gingko@vip.163.com||| ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | V1.0 | 2020-05-08 | gingko | 初次建立 | ===== 实验四:调用ChipScopePro查看波形实验 ===== ==== 一、实验目的与意义 ==== - 掌握ChipScopePro的使用方法。 ==== 二、实验设备及平台 ==== - iCore4TX 双核心板。[[https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22598974120.3.5923532fAsAtPz&id=614919247574|点击购买]] - USB-CABLE(或相同功能)仿真器。 - Micro USB线缆。 - ISE开发平台。 - 电脑一台。 ==== 三、实验原理 ==== * Xilinx 推出的一款在线调试软件ChipScopePro,集成在ISE开发环境中,通过它可以用来观察FPGA内部的信号、触发条件和调整时序。 * 它的原理是通过在综合后的网表中插入用于采集数据的Core,运行之后自动生成一个新的网表文件,再用这个网表文件在ISE里面进行布局布线,生成下载文件,并通过JTAG方式下载到芯片中运行。芯片运行过程中,如果触发源发生跳变,或者满足触发条件时,芯片里的core会将采集到的信号通过JTAG口传到PC上ChipScope analyzer的界面中以波形的方式显示出来。 ==== 四、实验步骤及结果 ==== * **ChipScopePro分析工具是在建立的工程基础上进行信号的抓取和分析。整体步骤大概分为以下几个步骤:** - 建立工程; - 进行引脚约束,并编译; - 新建.cdc文件; - 设置.cdc文件并添加分析信号; - 编译; - 连接硬件加载仿真文件; - 运行仿真并分析波形。 * **下面就来详细讲解一下调用ChipScopePro并查看波形的详细步骤。** * 1、首先建立工程,编写一个简单的带输入输出和简单逻辑的工程。 {{ :icore4tx:icore4tx_fpga_4_1.png?direct |图4.1}} * 2、绑定引脚信息并进行编译。 * 3、编译完成后,设置保持层次,使原电路代码结构保持在ChipScopePro中;右键点击Synthesize → Process Properties…。 {{ :icore4tx:icore4tx_fpga_4_2.png?direct |图4.2}} * 4、在Process Properties窗口中选中Synthesis Options,右边的keep Hierarchy栏选择“Yes”,然后点击OK。 {{ :icore4tx:icore4tx_fpga_4_3.png?direct |图4.3}} * 5、工程目录选中工程,右键选择New Source…。 {{ :icore4tx:icore4tx_fpga_4_4.png?direct |图4.4}} * 6、弹出窗口中选中ChipScope Definition and Connection File,并给文件命名,然后点击Next。 {{ :icore4tx:icore4tx_fpga_4_5.png?direct |图4.5}} * 7、直接点击Finish。工程目录栏出现.cdc文件。 {{ :icore4tx:icore4tx_fpga_4_6.png?direct |图4.6}} * 8、双击该文件,进入cdc设置窗口,然后点击next。 {{ :icore4tx:icore4tx_fpga_4_7.png?direct |图4.7}} * 9、点击Next。 {{ :icore4tx:icore4tx_fpga_4_8.png?direct |图4.8}} * 10、弹出窗口中进行chipscope参数配置,在Trigger Parameters栏目下,设置要检测的信号个数Trigger Width的值为5;然后点击Next。 * **注意:** * 要检测几个信号,Trigger Width的值就填几(一般除了clk之外的所有要检测的信号数量),否则无法生成bit文件。 {{ :icore4tx:icore4tx_fpga_4_9.png?direct |图4.9}} * 11、设置采样深度,具体数值根据器件所自带的RAM大小以及网表文件占用资源的情况确定。这里设置为4096。然后点击Next。 {{ :icore4tx:icore4tx_fpga_4_10.png?direct |图4.10}} * 12、点击Modify Connections。 {{ :icore4tx:icore4tx_fpga_4_11.png?direct |图4.11}} * 13、添加时钟信号,左侧红框中选中时钟信号,点击右下红框中的Make Connections按钮,即可看到时钟信号添加完成,如下图右上红框中所示; * **注意:** * 这里选中的时钟信号要选带BUF后缀的。否则无法生成bit文件。 {{ :icore4tx:icore4tx_fpga_4_12.png?direct |图4.12}} * 14、点击1处的Trigger/Data Signals栏,然后点击2处需要观察的信号,再点击3处的Make Connections按钮,依次添加;完成后如4处红框中所示,然后点击OK。 * **注意:** * 4处添加完信号后,不应有红色空余未添加信号,如果有多余信号,可返回图4.9页面修改Trigger Width的值。 {{ :icore4tx:icore4tx_fpga_4_13.png?direct |图4.13}} * 15、点击Return to Project Navigator,返回工程界面。 {{ :icore4tx:icore4tx_fpga_4_14.png?direct |图4.14}} * 16、双击Generate Programming File,进行编译。 {{ :icore4tx:icore4tx_fpga_4_15.png?direct |图4.15}} * 17、将iCore4TX的下载器和供电线连接,并给iCore4TX供电。 {{ :icore4tx:icore4tx_fpga_4_16.png?direct |图4.16}} * 18、双击Analyze Design Using ChipScope。弹出窗口中点击左上角红框中的连接图标。 {{ :icore4tx:icore4tx_fpga_4_17.png?direct |图4.17}} * 19、右键点击DEV:0 → Configure…。 {{ :icore4tx:icore4tx_fpga_4_18.png?direct |图4.18}} * 20、点击Select New File 按钮。 {{ :icore4tx:icore4tx_fpga_4_19.png?direct |图4.19}} * 21、找到.bit文件,选中并点击打开,然后点击OK,完成.bit文件添加。 {{ :icore4tx:icore4tx_fpga_4_20.png?direct |图4.20}} * 22、点击工具栏File选项,下拉菜单中选中Import…,导入.cdc文件。 {{ :icore4tx:icore4tx_fpga_4_21.png?direct |图4.21}} * 23、点击Select New File 按钮。 {{ :icore4tx:icore4tx_fpga_4_22.png?direct |图4.22}} * 24、弹出窗口选中.cdc文件,然后点击打开,之后点击OK,完成.cdc文件的导入。 {{ :icore4tx:icore4tx_fpga_4_23.png?direct |图4.23}} * 25、在ChipScope Pro Analyzer 窗口对观测信号进行设置。包括触发条件和观测位置设置;观测位置设置的值假如是100,表示从触发位置开始,往前100个时间单位的位置开始显示波形。 {{ :icore4tx:icore4tx_fpga_4_24.png?direct |图4.24}} * 26、双击Waveform,点击运行;当满足触发条件时,可以在波形窗口观察到信号变化,如下图所示。3处红框内的三角按钮代表触发一次,“T!”代表实时触发。 {{ :icore4tx:icore4tx_fpga_4_25.png?direct |图4.25}} ==== 五、拓展实验 ==== - 通过Signaltap工具采集复位信号和led控制信号,看是否与其工作原理一致。