DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1456|回复: 0
打印 上一主题 下一主题

[待整理] 在xilinx-FPGA中实现包含有Synopsys DesignWare IP的RTL代码

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 19:59:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在SoC的设计中,FPGA验证是必不可少的一个步骤,如果芯片中所有的数字逻辑都是由RTL明码写成,那么FPGA的综合、布局布线和下载往往不会出现什么问题。但是如果我们在设计中使用了Synopsys公司提供的DesignWare的IP,那么我们的FPGA综合就会出现问题,由于DesignWare的IP是加密的,所以无论是对于Xilinx的ISE还是Synplicity的Synplify,DesignWare IP的RTL代码都是不可见的,所以我们将只能选择Synopsys(r)的FPGA Compiler对所有代码进行综合,但是由于FPGA Compiler的效率不如Synplify,所以有时会出现FPGA资源耗尽的情况,更加麻烦的是由于综合没有在FPGA供应商提供的统一环境(如Xilinx ISE)下进行,用户在使用FPGA上的DCM和memory等资源时会遇到很多麻烦。所以有时需要我们使用Synopsys的FPGA Compiler单独对DesignWare IP的RTL进行综合,然后再使用Synplify等综合工具对整个项目进行综合。下面以使用DesignWare的memory controller(DW_Memctl)和Xilinx的FPGA为例,详细介绍一下这个过程:(我们整个FPGA的开发环境是Xilinx的ISE,使用的综合工具是Synplify)

如上文所述,由于DW_Memctl是Synopsys公司提供的IP,RTL只能用Synopsys公司的综合工具进行综合。所以我们必须先用Synopsys的综合工具将DW_Memctl综合为网表文件,然后加入ISE的环境中综合入TOP中,步骤如下:

用Synopsys公司的FPGA Compiler II综合DW_Memctl,注意一定要先在Creat Implementation选项中选中Do not Insert I/O pad,否则ISE中实现的时候将不能将带有I/O pad信息的网表综合到顶层中去。综合完后我们可以得到一个不带I/O pad信息的网表文件DW_Memctl.edf。如图1所示:




















在ISE中做一个DW_Memctl的黑盒子,这个verilog文件只有输入与输出端口,synplify在综合的时候可以识别出这是一个黑盒子,在log file中将有如下的显示:
W:CG146 :"E:XXXXXX_TOP_NODCMDW_memctl.v":3:7:3:15|Creating black box for empty module DW_memctl


将用FPGA Compiler II综合出来的网表文件DW_memctl.edf放入ISE 相应工程的根目录下。

用Synplify对TOP进行综合的时候,遇到这样的黑盒子,Synplify将自动在根目录下寻找没有I/O pad信息的edf网表文件,并且加入到设计中去,下面是在综合过程中显示的信息:
Command Line: ngdbuild -intstyle ise -dd e:XXXXXX_top_nodcm/_ngo -nt
timestamp -uc XXX_top.ucf -p xc2v1500-bg575-6 XXX_top.edn XXX_top.ngd
Reading module "XXX_top.ngo" ( "XXX_top.ngo" unchanged since last run )...
Reading NGO file 'e:/XXX/XXX_top_nodcm/_ngo/XXX_top.ngo' ...
Reading module "DW_memctl.ngo" ( "DW_memctl.ngo" unchanged since last run )...
Loading design module "e:XXXXXX_top_nodcm_ngoDW_memctl.ngo"...
Reading module "dprf9gp_512x16m4.ngo" ( "dprf9gp_512x16m4.ngo" unchanged since last run )...
这样我们就完成了对真个项目的综合,解下来的步骤就和以前的步骤一摸一样的,Translate,Map,P&R,Generate Program File,然后就可以下载测试了。

同样的方法也适用于Xilinx ISE中提供的综合工具XST。

作者:蒋燕波
意法办导体深圳设计中心
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-23 00:55 , 耗时 0.101860 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表