完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,大家好,
我正在使用TCL脚本合成基于Zynq的系统,我发现只需更改实例的字符串名称(在我的情况下为axi_interconnect),输出结果就不同了。 通常差异很小(但它们应该是空的!!!)但我刚刚发现它们变得很大的情况。 例如,如果我替换这一行脚本 set processing_system7_0_axi_periph [create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 processing_system7_0_axi_periph] 带有“aaaprocessing_system7_0_axi_periph”的字符串名称“processing_system7_0_axi_periph”(显然在这一行以及脚本中所有出现的字符串)我有@75MHz的第一选择所有的时序约束都被满足,而另一个时序失败了(见 附图)。 我有相同类型的问题,但在数字上略有不同,版本2016.4和Vivado的旧版本(2015.4.2)也是如此。 简单地,一个实例的字符串名称可以导致实现逻辑的不同性能,面积和功耗? 我可以想象一下原因,但我很难接受它。 谢谢 V-意大利语 以上来自于谷歌翻译 以下为原文 Hi guys, I'm synthesizing a Zynq based system with a TCL script and I have discovered that simply changing the string name of an instance (an axi_interconnect in my case) the output results are different. Usually the differences are very small (but they should be null !!!) but I just discovered a case where they become substantial. For example if I replace in this row of script set processing_system7_0_axi_periph [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 processing_system7_0_axi_periph ] the string name "processing_system7_0_axi_periph" with "aaaprocessing_system7_0_axi_periph" (obviously in this row and in all occurrences of this string inside the script) I have that @75MHz with the first choice all timing constraints are met, instead with the other one timing fails (see the attached image). I have the same type of issue, but numerically a little bit different, with version 2016.4 and with an older version (2015.4.2) of Vivado too. Can simply a string name of an instance leads to different performances, area and power consumptions of an implemented logic? I can maybe imagine the reason but I find hard to accept it. Thanks V-italiano |
|
相关推荐
1个回答
|
|
|
嗨syedz,
不幸的是我无法分享剧本,但我已经做了你建议我的检查; 日志文件是不同的,但是以与实例的不同实现兼容的方式。 我确定两个脚本是相同的,只是对于这些字符串。 请记住: 1)我使用文本编辑器的查找/替换工具进行了更改(不是手动); 如果我尝试手动进行错误更改,例如忘记进行一些真正的连接,则Vivado合成失败 2)我发布的图片来自post_route_timing_summary.rpt,这两种情况非常不同; 而不是两个post_synth_timing_summary.rptfiles几乎是相同的,只有在初始日期信息(明显)和单排,两个脚本里面,我可以复制/粘贴在这里:低脉冲宽度快速RAMD32 / CLK N / A 1.250 6.666 5.416 axi_mem_intercon / s00_couplers / auto_pc /安装/ gen_axi4_axi3.axi3_conv_inst / USE_WRITE.write_addr_inst / USE_BURSTS.cmd_queue /安装/ fifo_gen_inst / inst_fifo_gen / gconvfifo.rf / grf.rf / gntv_or_sync_fifo.mem / gdm.dm_gen.dm / RAM_reg_0_31_0_5 / RAMA / CLK 低脉冲宽度快速RAMD32 / CLK不适用1.250 6.666 5.416 axi_mem_intercon / s00_couplers / auto_pc / inst / gen_axi4_axi3.axi3_conv_inst / USE_READ.USE_SPLIT_R.read_addr_inst / USE_R_CHANNEL.cmd_queue / inst / fifo_gen_inst / inst_fifo_gen / gconvfifo.rf / grf.rf / gntv_or_sync_fifo .MEM / gdm.dm_gen.dm / RAM_reg_0_31_0_0 / DP / CLK 3)如果我在同样的字符串名称但“zzzprocessing_system7_0_axi_periph”取代,而是以“aaaprocessing_system7_0_axi_periph”,该post_synth_timing_summary.rpt是相同的情况下,当我使用字符串“processing_system7_0_axi_periph”(在我的系统还有另一个名为axi_connect” axi_mem_intercon“),但其他两个报告(post_place和post_route)之间的差异......也许这是最奇怪的事情 我的第一个假设是工具有一种字母数字解析实例来为它们分配结构资源/原语,在某些情况下,这些资源中的一些根据实现顺序结束实例或另一个实例。 看起来更好看两个post_synth_timing_summary.rpt差异,而不是推断,可能会有不同的推断,总是出于alfabetic原因,但如果没有,那么资源/原语就会短缺。 谢谢 V-意大利语 以上来自于谷歌翻译 以下为原文 Hi syedz, unfortunally I can't share the script, but I already made the checks that you suggest me; log files are different but in a compatible way with a different implementation of the instances. I sure that two scripts are identical except that only for these strings. Keep in mind that: 1) I made the change with find/replace tool of my text editor (not manually); if I try to make a wrong changing manually, for example forgetting to make some true connections, Vivado synthesis fails 2) image that I posted is taken from post_route_timing_summary.rpt that are very different in the two cases; instead two post_synth_timing_summary.rpt files are almost identical, except for initial date informations (obviously) and for a single row, inside two scripts, that I can copy/paste here: Low Pulse Width Fast RAMD32/CLK n/a 1.250 6.666 5.416 axi_mem_intercon/s00_couplers/auto_pc/inst/gen_axi4_axi3.axi3_conv_inst/USE_WRITE.write_addr_inst/USE_BURSTS.cmd_queue/inst/fifo_gen_inst/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/gdm.dm_gen.dm/RAM_reg_0_31_0_5/RAMA/CLK Low Pulse Width Fast RAMD32/CLK n/a 1.250 6.666 5.416 axi_mem_intercon/s00_couplers/auto_pc/inst/gen_axi4_axi3.axi3_conv_inst/USE_READ.USE_SPLIT_R.read_addr_inst/USE_R_CHANNEL.cmd_queue/inst/fifo_gen_inst/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/gdm.dm_gen.dm/RAM_reg_0_31_0_0/DP/CLK 3) if I replace in same way the string name but with "zzzprocessing_system7_0_axi_periph", instead that with "aaaprocessing_system7_0_axi_periph", the post_synth_timing_summary.rpt is identical to the case when I use the string "processing_system7_0_axi_periph" (in my system there's another axi_connect called "axi_mem_intercon"), but the other two reports (post_place and post_route) are yet differents between them...and perhaps it is the strangest thing My first hypothesis was that there is a sort of alphanumeric parsing of instances by the tool to assign them fabric resources/primitives and in some cases some of these resources end for an instance or for another one depending on the implementing order. Looking better the two post_synth_timing_summary.rpt differences it seems me instead that something is maybe differently inferred, always for alfabetic reasons, but without that there is a shortage of resources/primitives. Thanks V-italiano |
|
|
|
|
只有小组成员才能发言,加入小组>>
3148 浏览 7 评论
3437 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2899 浏览 9 评论
4100 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
3083 浏览 15 评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
1359浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
1198浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 07:40 , Processed in 0.839430 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1920
