02PLL_TEST_在线调试仿真实验

发布时间:2022-06-24 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了02PLL_TEST_在线调试仿真实验脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

软件版本:Fuxi2022.1

操作系统:WIN10 64bit

硬件平台:适用京微齐力FPGA

登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!

1概述

前面一节课我们完成了基于Fuxi软件工程的创建、FPGA代码的创建,并且实现了modelsim的联合仿真。本节课实验中,我们将添加debug-core 在线逻辑分析仪,并且添加PIN脚约束,通过下载程序到FPGA中实现在线逻辑分析仪监控芯片的关键内部信号运行情况。

2添加PIN脚约束

Fuxi软件目前添加PIN脚约束只能通过向导方式,所以需要先实现RTL的综合,这样软件才能识别到端口的IO名称(后期Fuxi应该也会支持直接添加文本方式的PIN脚约束)。

如果综合有错误,需要修改后重新综合

02PLL_TEST_在线调试仿真实验

之后单击IO Editor就可以添加PIN脚了

 

02PLL_TEST_在线调试仿真实验

Port Name:端口信号名称

Location和Pin Name都是可以约束到具体的IO上的,其中location是X芯片封装的IO位置,而Pin Name对应了IO的功能

Direction:代表了信号的传输方向,这个也是由代码的端口信号决定

Operation Mode:操作模式,可以看到Fuxi可以自动识别是时钟还是普通IO信号

Fast Input:是否是高速输入信号

Fast Output:是否是高速输出信号

Bank: IO所在的BANK位置

IO Stander 选择IO电平,正确的IO电平可以达到最大的速度

Drive Strength(mA):电流驱动能力,这里选择默认8ma

Bus Keeper:暂时不知道什么功能

Slew Rate:设置信号的速度类型

Transceiver I/O Termination:终端电阻设置

Input Delay:输入延迟时序约束

Output Delay:输出延迟时序约束

02PLL_TEST_在线调试仿真实验

设置完成后保存

02PLL_TEST_在线调试仿真实验

3添加时序约束

单击箭头所指图标

02PLL_TEST_在线调试仿真实验

可以选择创建一个新的时序约束文件,或者一个已经存在的时序约束文件

02PLL_TEST_在线调试仿真实验

首先对系统输入时钟约束

02PLL_TEST_在线调试仿真实验

之后设置正确的时钟频率或者周期

02PLL_TEST_在线调试仿真实验

以同样的方式对PLL输出的时钟约束

02PLL_TEST_在线调试仿真实验

之后保存约束

02PLL_TEST_在线调试仿真实验

提示是否添加到当前的工程,单击YES

02PLL_TEST_在线调试仿真实验

刷新下,就能看到timing.sdc添加进来了

02PLL_TEST_在线调试仿真实验

4添加Debugware在线调试逻辑分析仪IP核

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

可以根据用户习惯取一个容易记住的名字

02PLL_TEST_在线调试仿真实验

设置支持的LA Core数量,我们这里选择1个

02PLL_TEST_在线调试仿真实验

Data With设置数据的位宽,最大支持1024个信号

Memory Depth设置支持的采样深度,设置的越大消耗的Block RAM越多,也可能导致时序违规

02PLL_TEST_在线调试仿真实验

单击Finish后,单击OK

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

刷新下

02PLL_TEST_在线调试仿真实验

可以看到出来了dbwave IP

trig_out:目前不清楚如何使用,一般也用不到

data_in:需要被观察的信号

ref_clk:采样时钟

02PLL_TEST_在线调试仿真实验

在代码中调用dbwave模块,并且设置号参考时钟和被观察信号

02PLL_TEST_在线调试仿真实验

5FPGA工程编译

1:设置编译模式

 

02PLL_TEST_在线调试仿真实验

设置如下,Compression Algorithm 选择 High Compression Ratio 这样后面下载FLASH的时候可以快一些,其他默认

02PLL_TEST_在线调试仿真实验

2:编译

可以一键编译,单击箭头所指

02PLL_TEST_在线调试仿真实验

也可以分步编译

02PLL_TEST_在线调试仿真实验

编译输出,提示有6个waring

02PLL_TEST_在线调试仿真实验

这个暂时不管

02PLL_TEST_在线调试仿真实验

6查看时序报告

02PLL_TEST_在线调试仿真实验

可以看到时序都满足要求,没有违规

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

7在线调试

1:下载程序

先把之前编译好的程序下到FPGA,这里对于P1下到FLAHS更快

 

02PLL_TEST_在线调试仿真实验

2:启动debug

之前点击在线调试图标

02PLL_TEST_在线调试仿真实验

默认所有信号支持触发功能,我们应该选择关键信号作为触发信号。

02PLL_TEST_在线调试仿真实验

3:设置触发信号

对于Fuxi软件这里无法以信号命名的方式直观显示,我们自己需要自己知道是哪一个信号,比如rigo_in_0对应的是我们dbwave中的cnt[0]

这里为了观察方便,我们设置计数器cnt[5]作为触发信号

02PLL_TEST_在线调试仿真实验

4:运行

单击Run

02PLL_TEST_在线调试仿真实验

5:auto-pick功能使用

这个信号看起来不怎么友好,但是Fuxi具有auto-pick功能

02PLL_TEST_在线调试仿真实验

比如我们想把高2bit命名位led 其他继续命名位cnt,必须确保我们自己清楚哪一个命名对应哪一个信号

02PLL_TEST_在线调试仿真实验

比如cnt[25:0]={up_led[1:0],cnt[23:0]}

右击信号总线,右击选择Create Bus

02PLL_TEST_在线调试仿真实验

单击auto pick

02PLL_TEST_在线调试仿真实验

根据提示可以,这样定义我们的信号名称,你也可以自己定义其他名称,主要是搞清楚关系即可

02PLL_TEST_在线调试仿真实验

创建完成后,可以看到多了cnt[23:0]和up_led[1:0]

02PLL_TEST_在线调试仿真实验

6:设置数值显示方法

对于计数器,选择设置十进制的方法更加直观

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

7:设置显示原始名字

02PLL_TEST_在线调试仿真实验

02PLL_TEST_在线调试仿真实验

脚本宝典总结

以上是脚本宝典为你收集整理的02PLL_TEST_在线调试仿真实验全部内容,希望文章能够帮你解决02PLL_TEST_在线调试仿真实验所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: