完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在Linux 64bit上使用ISE 13.3。
设备是XC6SLX25-FG484。 我正在尝试实现DDR ADC接口(使用XAPP1064作为指南),但是地图失败了: 错误:PhysDesignRules:2164 - 引脚连接和/或配置问题 块::。 使用属性DATA_RATE设置DDR需要连接输入 引脚CLK,IOCLK0和IOCLK1。 对于所有DATA [7]到DATA [0]。 相关的实例化代码是: DATA:对于0到NUM_DATA_PAIRS-1生成的n Inst_iodelay_m:IODELAY2 通用地图( DATA_RATE =>“DDR”, IDELAY_VALUE => 0, IDELAY2_VALUE => 0, IDELAY_MODE =>“正常”, ODELAY_VALUE => 0, IDELAY_TYPE =>“DIFF_PHASE_DETECTOR”, COUNTER_WRAPAROUND =>“WRAPAROUND”, DELAY_src =>“IDATAIN”, SERDES_MODE =>“MASTER”, SIM_TAPDELAY_VALUE => 49 ) 港口地图( IDATAIN => data_in(n * 2), TOUT =>打开, DOUT =>打开, T =>'1', ODATAIN =>'0', DATAOUT => delay_m(n), DATAOUT2 =>打开, IOCLK0 => bitclk_p, IOCLK1 => bitclk_n, CLK => frameclk, CAL => cal_en, INC => delay_inc, CE => frameclk_en, RST =>重置, BUSY => dlym_busy(n) ); Inst_iodelay_s:IODELAY2 通用地图( DATA_RATE =>“DDR”, IDELAY_VALUE => 0, IDELAY2_VALUE => 0, IDELAY_MODE =>“正常”, ODELAY_VALUE => 0, IDELAY_TYPE =>“DIFF_PHASE_DETECTOR”, COUNTER_WRAPAROUND =>“WRAPAROUND”, DELAY_src =>“IDATAIN”, SERDES_MODE =>“SLAVE”, SIM_TAPDELAY_VALUE => 49 ) 港口地图( IDATAIN => data_in(n * 2 + 1), TOUT =>打开, DOUT =>打开, T =>'1', ODATAIN =>'0', DATAOUT => delay_s(n), DATAOUT2 =>打开, IOCLK0 => bitclk_p, IOCLK1 => bitclk_n, CLK => frameclk, CAL => cal_en, INC => delay_inc, CE => frameclk_en, RST =>重置, BUSY => dlys_busy(n) ); Inst_iserdes_m:ISERDES2 通用地图( DATA_WIDTH => S, DATA_RATE =>“DDR”, BITSLIP_ENABLE =>正, SERDES_MODE =>“MASTER”, INTERFACE_TYPE =>“退休” ) 港口地图( D => delay_m(n), CE0 =>'1', CLK0 => bitclk_p, CLK1 => bitclk_n, IOCE => serdesstrobe, RST =>重置, CLKDIV => frameclk, SHIFtiN => pd_edge(n), BITSLIP => bitslip_p, FABRICOUT =>打开, Q4 => dout(S * n + 7), Q3 => dout(S * n + 6), Q2 => dout(S * n + 5), Q1 => dout(S * n + 4), DFB =>打开, CFB0 =>打开, CFB1 =>打开, VALID => is_valid(n), INCDEC => serdes_incdec(n), SHIFTOUT =>级联(n) ); Inst_iserdes_s:ISERDES2 通用地图( DATA_WIDTH => S, DATA_RATE =>“DDR”, BITSLIP_ENABLE =>正, SERDES_MODE =>“SLAVE”, INTERFACE_TYPE =>“退休” ) 港口地图( D => delay_s(n), CE0 =>'1', CLK0 => bitclk_p, CLK1 => bitclk_n, IOCE => serdesstrobe, RST =>重置, CLKDIV => frameclk, SHIFTIN =>级联(n), BITSLIP => bitslip_n, FABRICOUT =>打开, Q4 => dout(S * n + 3), Q3 => dout(S * n + 2), Q2 => dout(S * n + 1), Q1 => dout(S * n), DFB =>打开, CFB0 =>打开, CFB1 =>打开, VALID =>打开, INCDEC =>打开, SHIFTOUT => pd_edge(n) ); 结束生成; 我已经使用RTL查看器和PlanAhead的原理图(在综合之后)验证了IODELAY上的IOCLK0,1和CLK线确实已连接。 (作为参考,它们都连接到BUFIO2的输出)。 关于为什么地图没有看到这种连接的任何想法,所以失败了? 以上来自于谷歌翻译 以下为原文 Using ISE 13.3 on Linux 64bit. Device is a XC6SLX25-FG484. I am trying to implement a DDR ADC interface (using XAPP1064 as a guide), but map is failing with: ERROR:PhysDesignRules:2164 - Issue with pin connections and/or configuration on block::. The use of attribute DATA_RATE set DDR requires connectivity for the input pins CLK, IOCLK0 and IOCLK1.for all DATA[7] to DATA[0]. The relevant instantiation code is: DATA: for n in 0 to NUM_DATA_PAIRS-1 generate Inst_iodelay_m : IODELAY2 generic map ( DATA_RATE => "DDR", IDELAY_VALUE => 0, IDELAY2_VALUE => 0, IDELAY_MODE => "NORMAL", ODELAY_VALUE => 0, IDELAY_TYPE => "DIFF_PHASE_DETECTOR", COUNTER_WRAPAROUND => "WRAPAROUND", DELAY_src=> "IDATAIN", SERDES_MODE => "MASTER", SIM_TAPDELAY_VALUE => 49 ) port map ( IDATAIN => data_in(n*2), TOUT => open, DOUT => open, T => '1', ODATAIN => '0', DATAOUT => delay_m(n), DATAOUT2 => open, IOCLK0 => bitclk_p, IOCLK1 => bitclk_n, CLK => frameclk, CAL => cal_en, INC => delay_inc, CE => frameclk_en, RST => reset, BUSY => dlym_busy(n) ); Inst_iodelay_s : IODELAY2 generic map ( DATA_RATE => "DDR", IDELAY_VALUE => 0, IDELAY2_VALUE => 0, IDELAY_MODE => "NORMAL", ODELAY_VALUE => 0, IDELAY_TYPE => "DIFF_PHASE_DETECTOR", COUNTER_WRAPAROUND => "WRAPAROUND", DELAY_src=> "IDATAIN", SERDES_MODE => "SLAVE", SIM_TAPDELAY_VALUE => 49 ) port map ( IDATAIN => data_in(n*2+1), TOUT => open, DOUT => open, T => '1', ODATAIN => '0', DATAOUT => delay_s(n), DATAOUT2 => open, IOCLK0 => bitclk_p, IOCLK1 => bitclk_n, CLK => frameclk, CAL => cal_en, INC => delay_inc, CE => frameclk_en, RST => reset, BUSY => dlys_busy(n) ); Inst_iserdes_m : ISERDES2 generic map ( DATA_WIDTH => S, DATA_RATE => "DDR", BITSLIP_ENABLE => TRUE, SERDES_MODE => "MASTER", INTERFACE_TYPE => "RETIMED" ) port map ( D => delay_m(n), CE0 => '1', CLK0 => bitclk_p, CLK1 => bitclk_n, IOCE => serdesstrobe, RST => reset, CLKDIV => frameclk, SHIFTIN => pd_edge(n), BITSLIP => bitslip_p, FABRICOUT => open, Q4 => dout(S*n+7), Q3 => dout(S*n+6), Q2 => dout(S*n+5), Q1 => dout(S*n+4), DFB => open, CFB0 => open, CFB1 => open, VALID => is_valid(n), INCDEC => serdes_incdec(n), SHIFTOUT => cascade(n) ); Inst_iserdes_s : ISERDES2 generic map ( DATA_WIDTH => S, DATA_RATE => "DDR", BITSLIP_ENABLE => TRUE, SERDES_MODE => "SLAVE", INTERFACE_TYPE => "RETIMED" ) port map ( D => delay_s(n), CE0 => '1', CLK0 => bitclk_p, CLK1 => bitclk_n, IOCE => serdesstrobe, RST => reset, CLKDIV => frameclk, SHIFTIN => cascade(n), BITSLIP => bitslip_n, FABRICOUT => open, Q4 => dout(S*n+3), Q3 => dout(S*n+2), Q2 => dout(S*n+1), Q1 => dout(S*n), DFB => open, CFB0 => open, CFB1 => open, VALID => open, INCDEC => open, SHIFTOUT => pd_edge(n) ); end generate;I have verified with the RTL viewer and PlanAhead's schematic view (after Synthesis) that the IOCLK0,1 and CLK lines on the IODELAY's are indeed connected. (For reference they are all connected to outputs from a BUFIO2). Any ideas on why map is not seeing this connection, and so failing? |
|
相关推荐
6个回答
|
|
出于调试目的,您可以设置变量XIL_MAP_NODRC以绕过错误并生成可在FPGA编辑器中检查的NCD文件。
如果时钟网上有连接在逻辑设计(输入网表)和物理设计(NCD)之间被删除,那么在UCF文件中应用“S”属性可能会有所帮助。 NET“net_name”S; 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 For debug purposes you can set the variable XIL_MAP_NODRC to bypass the error and produce an NCD file that can be examined in FPGA Editor. If there are connections on the clock net that are being removed between the logical design (input netlist) and the physical design (NCD) then it might help to apply an "S" property in the UCF file. NET "net_name" S; View solution in original post |
|
|
|
我要检查的第一件事是地图报告,看你是否删除了你正在使用的任何东西。
一种可能性是BUFIO2的输入没有被驱动,导致输出到 在地图期间删除。 - Gabor - Gabor 以上来自于谷歌翻译 以下为原文 The first thing I'd check is the map report to see if anything you're using was removed. One possibility is that the input to your BUFIO2 is not driven, causing the outputs to be removed during map. -- Gabor -- Gabor |
|
|
|
我在地图中关闭了“修剪未连接的信号”。
通过综合和地图报告搜索任何时钟信号的任何参考都没有找到删除信号的工具的任何建议。 在完整的上下文中,我在IODELAY / BUFIO2 / ISERDES级别附加了ADC输入部分的原理图。 adcinput_schematic.pdf 168 KB 以上来自于谷歌翻译 以下为原文 I turned off "trim unconnected signals" in map. A search through the Synthesis and Map reports for any reference to any of the clock signals does not find any suggestions of the tools removing the signals. For the full context, I have attached a schematic of the ADC input section at the IODELAY/BUFIO2/ISERDES level. adcinput_schematic.pdf 168 KB |
|
|
|
出于调试目的,您可以设置变量XIL_MAP_NODRC以绕过错误并生成可在FPGA编辑器中检查的NCD文件。
如果时钟网上有连接在逻辑设计(输入网表)和物理设计(NCD)之间被删除,那么在UCF文件中应用“S”属性可能会有所帮助。 NET“net_name”S; 以上来自于谷歌翻译 以下为原文 For debug purposes you can set the variable XIL_MAP_NODRC to bypass the error and produce an NCD file that can be examined in FPGA Editor. If there are connections on the clock net that are being removed between the logical design (input netlist) and the physical design (NCD) then it might help to apply an "S" property in the UCF file. NET "net_name" S; |
|
|
|
这样做可以让我找出丢失的信号(adc_fclk)。
(遗憾的是,FPGA编辑器在Linux 64bit下运行得非常糟糕 - 我们可以尽快获得更新版本吗?) 重新编写驱动它的VHDL已经解决了这个错误,现在该线正确链接到CLK引脚。 以上来自于谷歌翻译 以下为原文 Doing this did allow me to find out which signal was missing (adc_fclk). (Shame the FPGA Editor works so badly under Linux 64bit - can we have an updated version soon please?) Re-wording the VHDL that drives it has sorted out this error, and the line is now correctly linked onto the CLK pin. |
|
|
|
您对FPGA编辑器有什么问题?
当报告问题时,它会像每个ISE版本一样在任何其他应用程序中更新。 以上来自于谷歌翻译 以下为原文 What issues are you having with FPGA Editor? It gets updated in each ISE release like any other application when problems are reported. |
|
|
|
只有小组成员才能发言,加入小组>>
2380 浏览 7 评论
2797 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2262 浏览 9 评论
3335 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2428 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
756浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
544浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
365浏览 1评论
1962浏览 0评论
681浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:43 , Processed in 1.499812 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号