CPU设计实战-FPGA基础操作学习

目录

硬件调试方法

ILA(监控内如何端口信号)或VIO核(不仅可以监控还可以驱动)进行硬件调试

添加ILAIP核

实例化ILAIP核

使用ILA排查错误

另一个debug方法

仿真

代码固化(即写入Flash中)

方法一

方法二

时钟IP核(MMCM可动态调整和取反、PLL)


硬件调试方法

主要思路:(看卡到哪一步,然后一步一步向下排查,按照一个个小模块去检查)

1.排查外设的硬件问题(更换硬件器件进行测试)

2.clk与rst

3.主从设备之间有没有正常联系(M-S,看最关键的直接输出的信号)

4.协议检查:对协议中的关键信号进行检查如状态机信号——影响状态机的控制信号——一步一步推比如到计数器之类(state)

5.读写的数据是否正确(data)

6.用假数据测试,用简单的数据如12345678去测试可以方便的排查地址问题(触发信号trgger)

前提:手册读懂

ILA(监控内如何端口信号)或VIO核(不仅可以监控还可以驱动)进行硬件调试

使用方法:

添加ILAIP核

1.搜索栏输入ILA找到ILAIP核进行添加

2.ILAIP核的设置,主要有抓取信号个数和位宽还有抓取深度

实例化ILAIP核

1.找到veo文件里自动实现的实例化代码复制到自己的顶层模块中

2.将需要抓取的信号连接上

使用ILA排查错误

1.自顶向下的思路定位错误信号

2.使用多次触发来查看避免特殊情况

3.使用指定数值触发直接观察信号(如目标数值是data,设置数值达到data触发观察)

4.找到错误修改信号后对应的ILA探针信号也要记得修改,如位宽等,避免再次出错

掌握调试方法是成功实现的第一步!!!!!

另一个debug方法

1.进入原理图界面切换到debug,点击set debug,此时可以对端口信号添加探针,主要只能在BUF端添加,若想对内部信号进行检测需要再信号前加(*mark_debug = "true"*)

后续调试和IAL一样

仿真

1.RTL(行为级即寄存器级)仿真,理想状态下的行为级仿真,测试逻辑功能

2.时序(门级)仿真,综合后的仿真,考虑路径延迟和门延迟,最接近真实情况

代码固化(即写入Flash中)

方法一

1.tools里的CCF中选择flash类型,注意flash位宽是4位,此处的大小是128MB,选择生成路径即可

2.再次之前生成4位宽的比特需要在xdc中写相关原语:

set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

3.上电添加flash进行烧录

方法二

bin文件生成

setting中设置bin文件后直接进行生成bin文件,直接把这个bin文件下载进去就行了

时钟IP核(MMCM可动态调整和取反、PLL)

1.输入clock调用IP核进行设置:选择哪种IP核;生成几个时钟可以设置频率和相位;注意选择复位有效电平,此处应该低电平有效

2.使用veo进行实例化,其实就是连接输入输出管脚

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值