如何对项目中的问题进行分析——FPGA失败案例小结
本人最近在做一个小项目,自己取名叫做《基于zedboard的千兆以太网底层设计》,一般我都是写好各模块的verilog代码,确定模块没bug后再做整个系统级联,之后直接先进行综合看看有没有bug,有则改进,没则继续写约束,然后器件实现。
但是这个项目,我在第一步就错了,先把我找到的原因说下:是因为zedboard分为ps和pl端,zedboard的PHY芯片是有ps端控制,而我直接将其引脚用ps端驱动了。出现了以下vivado报错:
废话不多说,来看问题,vivado综合时保持如下:
[Vivado 12-1411] Cannot set LOC property of ports, Site location is not valid ["F:/xilink_file/ethernet_test/ethernet_test.srcs/constrs_1/new/ethernet_constraints.xdc":10]
。。。。。
[Vivado 12-1411] Cannot set LOC property of ports, Site location is not valid ["F:/xilink_file/ethernet_test/ethernet_test.srcs/constrs_1/new/ethernet_constraints.xdc":24]
基本上我是在所有设计都完成时,先约束引脚,最后综合后再做时序约束,再利用singnaltapii(vivado上叫ILA)做板级验证。但是我在综合时遇上上述问题,说明我的引脚不可用。
去查阅xilinx官方论坛与器件商DIGILENT论坛,发现国外一老哥也是做以太网遇到了同样的问题。

大意是“我用的zedboard z7010开发版写了一个以太网驱动程序,按照原理图上搭配了引脚但是还是出现了严重警告的问题,难度是我原理图拿错了吗?”
大佬的回答是

大意是通过pl(纯逻辑)驱动以太网现在在论坛还处于讨论阶段,因为zedboard上的以太网芯片是直接与PS端(ARM端)相连的,PL端没有与PHY芯片直连,所以没法用纯底层verilog逻辑电路驱动PHY芯片。
看到这里,我马上又去翻了一下zedboard的用户手册。

PHY芯片通过MIO Bank连接z7000Soc,也就是说,想要驱动PHY芯片,需要看看MIO Bank是谁家管的引脚(PL还是PS)。我又去翻了下原理图。

果然是PS端控制的引脚,也就是我想驱动zedboard的以太网是绕不开ARM的。算我自己的问题,第一步方向就不对,固定思维让我走向了穷途。
看看有没有大佬有其他的解决办法。
我先尝试去玩玩ARM吧,看看能不能再年前跑起来,感觉在IC设计的道路越走越远:)
如何对项目中的问题进行分析——FPGA失败案例小结的更多相关文章
- 对某项目中Vuex用法的分析
上周五刚发布一个线上版本,趁着新的需求和bug还没到来,决定分析一下正在维护的一个使用Vue 2.0 开发的后台管理系统中Vuex部分代码.这部分代码不是我写的,加上我一直在“使用”现成的而不是“搭建 ...
- vue项目中微信jssdk在ios签名失败
一.问题描述 1. vue项目中微信jssdk签名时,在安卓和ios是有差异的,签名时使用的url=window.location.href.split('#')[0],此时在安卓没问题,在ios会导 ...
- Lessons Learned 1(敏捷项目中的变更影响分析)
问题/现象: 业务信息流转的某些环节,会向相关人员发送通知邮件,邮件中附带有链接,供相关人员进入察看或处理业务.客户要求邮件中的链接,需要进行限制,只有特定人员才能进入处理或察看.总管想了想,应道没问 ...
- hello1 web项目中web.xml作用分析
该web.xml文件包含Facelets应用程序所需的几个元素.使用NetBeans IDE创建应用程序时,将自动创建以下所有内容. 指定项目阶段的上下文参数: <context-param&g ...
- Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
Roslyn 是微软为 C# 设计的一套分析器,它具有很强的扩展性.以至于我们只需要编写很少量的代码便能够分析我们的项目文件. 作为 Roslyn 入门篇文章,你将可以通过本文学习如何开始编写一个 R ...
- AutoMapper在项目中的应用
一.先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领 ...
- 项目中Map端内存占用的分析
最近在项目中开展重构活动,对Map端内存尽量要省一些,当前的系统中Map端内存最高占用大概3G左右(设置成2G时会导致Java Heap OOM).虽然个人觉得占用不算多,但是显然这样的结果想要试 ...
- 关联分析FPGrowth算法在JavaWeb项目中的应用
关联分析(关联挖掘)是指在交易数据.关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式.关联.相关性或因果结构.关联分析的一个典型例子是购物篮分析.通过发现顾客放入购物篮中不同商品之 ...
- 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】
初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...
随机推荐
- BugkuCTF-web-速度要快
打开题目显示一串文字,应该是提示. 查看源代码 OK ,now you have to post the margin what you find post提交参数margin burp发送后发现响应 ...
- 日志聚合工具之 Loki
本文使用的 Loki 和 Promtail 版本为 1.6.1,Grafana 版本为 7.2.0:部署在 Linux 服务器 Loki 负责日志的存储和查询:Promtail 负责日志的采集并推送给 ...
- 第二十六章、containers容器类部件QToolBox工具箱详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- PyQt(Python+Qt)学习随笔:QScrollArea滚动区域的scrollAreaWidgetContents、widget及setWidget等相关概念解释
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Designer中设计将一个lable放到滚动区域上,使用PyUIC生成代码后,可以看到除了QSc ...
- 安装pyspider出现的问题
本文来自微信公众号:coder_xiaobu,欢迎关注 一.安装pyspider pip install pyspider 二.启动 pyspider all 三.安装中出现的问题处理 安装的时候出现 ...
- python 读取excel表格内不同类型的数据
不同类型数据对应值: #coding=utf-8 import os import xlrd from datetime import datetime,date newparh = os.chdir ...
- C++详解(8-9)
八. C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded).内联(inline).const和virtual四种新机制.其中重载和内联机制既可用于全局函数也可用于类的成员 ...
- 利用promise实现间隔1s打印1,2,3
利用promise结合数组的rduce方法 let arr = [1, 2, 3]; arr.reduce((pre, cur) => { return pre.then(() => { ...
- CentOS 用户请关注,你期待的 CentOS Linux 9 再也不会来了
2020年12月晚上红帽官网发布了一条公告,宣布了几件事情: 将不会发行 CentOS Linux 9 CentOS Linux 8 的更新支持持续到2021年12月31日 CentOS Linux ...
- 题解-JSOI2011 分特产
题面 JSOI2011 分特产 有 \(n\) 个不同的盒子和 \(m\) 种不同的球,第 \(i\) 种球有 \(a_i\) 个,用光所有球,求使每个盒子不空的方案数. 数据范围:\(1\le n, ...