首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

“Vivado高效设计案例分享”建议大家在开发7系列的FPGA时,使用Vivado

“Vivado高效设计案例分享”建议大家在开发7系列的FPGA时,使用Vivado

提要:    在开发7系列的FPGA时,建议使用Vivado;尤其是开发7A系列的FPGA,必须使用Vivado. 最近接触了一个项目,使用的是7A200T的芯片。设计内容中使用BUFG等全局时钟网络比较多,由于是多路信号的输入输出。 设计初期,规划的是N路输入输出。设计出的问题在综合和实现后,很顺利。后来对产品需求有更改,规划为2*N路输入输出。使用ISE做开发,问题就来了。 问题中在几个地方:1.经常性在MAP或PAR提示失败,失败原因很多,有时候是布局布线有问题,有时候是Timing的hold timing不能resolved.有时候是存储资源诸如FIFO,BRAM布局布线的原因。  2.跑一个BIT需要很长很长的时间,多达8个小时左右。任何一个小修改,重新跑BIT版本,要等上一天时间。  3.即使bit跑出来了,运行不稳定,之前工作正常稳定的模块,再跑一次BIT后,结果就不正常了。  当时,我们是拒绝使用VIVADO的,1.因为这个工程中的很多代码或私有IP core是在ISE中实现的,修改起来很麻烦。2.另外,就是ISE中的IP core和VIVADO的IP core 版本不一致,导致IP core的Port都发生改变,需要重新写代码或重新仿真设计相关的模块。3.本设计的特点是时钟网络多,但使用资源不多 60%的SLICE的消耗量,ISE不至于对付不了这样的设计。 这个项目做下来太痛苦了,没的办法,在avnet FAE的支持和帮助下,修改好部分代码,以适应VIVADO(主要是IP core 不兼容,导致VIVAdo报错)。 这样一来,问题都迎刃而解。 1.首先是运行时间,修改一下设计,只需要不到2个小时就能跑出BIT. 2.各个功能模块都能正常运行,且很稳定。原因分析:7A系列的FPGA,它的芯片版图有几个"黑洞",即空白区,没有任何晶体管,是个空洞(可以在VIVADO的Device View看到它们)。他们是使用ISE做开发的拦路虎。因为ISE的布局布线算法很难绕过去,布线效率很低。 现在真相大白。 另外,如果是使用V7等芯片,设计资源耗用比较多,或者时钟速度比较高,也必须使用Vivado.切记!   
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表