Procise使用之PL端流程(1)

本文介绍了使用纯PL端流程开发Zynq7Z020芯片时遇到的问题,如UCF约束文件、JTAG连接识别错误、ID代码不匹配等,并探讨了Vivado和Procise工具的使用方法,特别关注了PS/PL端通信和USER_LEVEL_SHIFTER寄存器的设置。
摘要由CSDN通过智能技术生成

PL端

纯PL端的流程其实和vivado的步骤相似,也是新建工程,创建verilog文件,添加约束以及生成bit位流。

不同的是,约束文件不是.xdf而是UCF文件格式,约束内容也包括管脚和时钟约束(只能手动编写约束,不能自动生成):

成功:

 然后准备烧写程序:

vivado下也扫链成功了:

但是是zynq7z020的型号(因为工程设置的型号?还是fmql20对标该型号?)

看教程也是这么个情况。

连接成功!

前提:MIO[2]=1(MIO[2]=0默认级联模式)

但是设备管理器中没有识别出Xilinx Cable,只有Usb port:

不知道为啥。换了一个Xilinx Cable的话能识别出驱动,但是有感叹号(感觉可能设备出问题了因为一下载程序Xilinx Cable的灯就灭)。

然后Program,但是报错了。

 

芯片用的是fmql20,为什么识别出来是jfmql20呢?想要新建project换成jfmql20,但是没有这个型号。

The idcode read from the device does not match the idcode in the bsdl File.-CSDN博客

板子下载失败:The idcode read from the device does not match the idcode - FPGA论坛-资源最丰富FPGA/CPLD学习论坛 - 21ic电子技术开发论坛

 可能是JTAG连接问题:TDI等连线是否有波形;电脑接口;

万用表测了一下JTAG的4条数据线均为3.3V。

然后用vivado发现可以下载程序。也可以调试。灯会闪烁(成功!)。

可能是因为独立模式下支持PL_JTAG接Xilinx Cable,PS_JTAG接Jlink,而级联模式下PL_JTAG只支持Jlink。

但是这样的话,独立模式下,PL_JTAG只能用vivado;而级联模式下,PL_JTAG可以用Procise烧写bit位流。所以为什么级联模式下识别的也是jfmql20?

 PS+PL端

PS端通过EMIO点亮PL端的LED,需要vivado创建工程、新建block design(包括zynq system,勾选EMIO GPIO,将bank1的电压设为1.8V;取消勾选AXI、FCLK、DDR)。生成HDL wrapper。添加约束并生成bit位流。

——上述步骤是一般情况下使用vivado的步骤。

接下来是Procise软件部分。

新建新的Procise工程。在菜单栏的PSOC中选择From Vivado。选择vivado生成的block design文件(.bd)和PS的配置文件(.xci)。

文件路径一般在project文件夹 --> scrs --> sources_1 --> bd -->

确定后,选择需要的第三方开发平台模板工程。(选择Empty和FSBL)

接下来就会启动IAR。

注:在访问任何PL资源之前,需要使能USER_LEVEL_SHIFTER寄存器

       (Procise)PL端必须打补丁。

在empty.c中输入以下代码(使能USER_LEVEL_SHIFTER):

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值