完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PAR可以多次运行,每次递增路由(-k选项)。
有没有办法在这些运行之间向NCD添加DIRT约束? 我的设计需要很长时间才能通过MAP,但路由速度相当快。 我想运行MAP,执行部分路由,将这些路由锁定为DIRT约束,然后完成路由。 现在好像我必须再次运行MAP才能插入DIRT约束......有什么方法可以解决这个问题吗? 以上来自于谷歌翻译 以下为原文 PAR can be run multiple times, routing incrementally each time (-k option). Is there any way to add DIRT constraints to the NCD between these runs? I have a design that takes a very long time to go through MAP, but routes rather quickly. I'd like to run MAP, do a partial route, lock down those routes as DIRT constraints, and then finish the routing. Right now it seems like I have to run MAP again in order to insert the DIRT constraints... is there any way around this? |
|
相关推荐
4个回答
|
|
您也许可以使用XDL将DIRT约束插入到NCD中,但除非您编写流程的那部分内容,否则它可能会更麻烦。
SmartGuide是使用DIRT约束来锁定现有路由的另一种方法。 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 You could perhaps use XDL to insert DIRT constraints into the NCD but that may be more trouble that it's worth unless you scripted that part of the flow. SmartGuide would be an alternative approach to using DIRT constraints to lock the existing routing. View solution in original post |
|
|
|
您也许可以使用XDL将DIRT约束插入到NCD中,但除非您编写流程的那部分内容,否则它可能会更麻烦。
SmartGuide是使用DIRT约束来锁定现有路由的另一种方法。 以上来自于谷歌翻译 以下为原文 You could perhaps use XDL to insert DIRT constraints into the NCD but that may be more trouble that it's worth unless you scripted that part of the flow. SmartGuide would be an alternative approach to using DIRT constraints to lock the existing routing. |
|
|
|
是的,我考虑过SmartGuide,但它不承诺将引导路线保持原样,此时我需要尽可能多的控制以排除这些疯狂迂回路线的原因。
以上来自于谷歌翻译 以下为原文 Yeah, I considered SmartGuide, but it doesn't promise to keep guide routes where they are, and at this point I need as much control as possible in order to rule out the causes of these crazy circuitous routes. |
|
|
|
您也许可以使用XDL将DIRT约束插入NCD
谢谢! 这是有效的,虽然XDL格式比我预期的要复杂一点。 为了任何其他人试图这样做的好处,这里是我正在使用的(丑陋,混乱,黑客共同)代码。 显然,“cfg”字符串开头的空格很重要; 没有它PAR将进入100%CPU循环。 此外,在xdl-> ncd-> xdl转换往返中存在某种错误; bitgen抱怨说,ncd-built-an-xdl没有指定输入焊盘的驱动强度或转换速率,它们不需要这些属性。 import java.io. *; import java.util。*; 公共类DirtWriter { public static void main(String [] args)throws Exception { if(args.length!= 3){ System.err.println(“usage:java”+ DirtWriter.class.getName()+“design_in.xdl dirtconstraints.ucf design_out.xdl”); 返回; } HashMap constraints = new HashMap(); //由fpga_editor生成的UCF非常粗糙的解析器 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(args [1]))); StringBuffer acc = new StringBuffer(); String name = null; while(true){ boolean semicolon = false; String s = br.readLine(); if(s == null)break; s = s.trim(); if(s.startsWith(“//”))继续; if(s.startsWith(“NET ”“)){ s = s.substring(5); name = s.substring(0,s.indexOf(“”“)); s = s.substring(s.indexOf(“”“)+ 1); acc.append(s.trim()); 继续; } if(s.startsWith(“”“))s = s.substring(1); if(s.endsWith(“”“))s = s.substring(0,s.length() - 1); else if(s.endsWith(“;”)){semicolon = true; s = s.substring(0,s.length() - 1); } acc.append(一个或多个); if(分号){ String a = acc.toString(); if(a.startsWith(“ROUTE =”))a = a.substring(6); if(a.startsWith(“”“))a = a.substring(1); if(a.endsWith(“”“))a = a.substring(0,a.length() - 1); constraints.put(name,a); acc.setLength(0); } } br.close(); br = new BufferedReader(new InputStreamReader(new FileInputStream(args [0]))); PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(args [2]))); while(true){ String s = br.readLine(); if(s == null)break; //粗 String s_save = s; if(s.toLowerCase()。startsWith(“net”)){ s = s.substring(4); if(s.startsWith(“”“)){ s = s.substring(1); name = s.substring(0,s.indexOf(“”“)); s = s.substring(s.indexOf(“”“)+ 1); String c = constraints.get(name); if(c!= null){ pw.println(“net ”“+ name +”“,cfg ” n _NET_PROP :: ROUTE:“+ c +”“”+ s); constraints.remove(名称); 继续; } } } pw.println(s_save); } pw.close(); br.close(); if(constraints.size()> 0){ System.out.println(“未应用的约束:”); for(String s:constraints.keySet())System.out.println(s); } } } 以上来自于谷歌翻译 以下为原文 You could perhaps use XDL to insert DIRT constraints into the NCD Thanks! This works, though the XDL format is a bit more finicky than I'd expected. For the benefit of anybody else trying to do this, here's the (ugly, messy, hacked-together) code I'm using. Apparently the whitespace at the beginning of the "cfg" string is important; without it PAR will go into a 100% CPU loop. Also, there's some sort of bug in the xdl->ncd->xdl conversion round trip; bitgen complains that the ncd-built-from-an-xdl does not specify the drive strength or slew rate for input pads, which don't need those attributes. import java.io.*;import java.util.*;public class DirtWriter { public static void main(String[] args) throws Exception { if (args.length != 3) { System.err.println("usage: java "+DirtWriter.class.getName()+" design_in.xdl dirtconstraints.ucf design_out.xdl"); return; } HashMap |
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2831 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1335浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
595浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
457浏览 1评论
2012浏览 0评论
737浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 11:26 , Processed in 1.229186 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号