完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在编程文件生成时遇到DRC错误:
错误:PhysDesignRules:2022 - 在块::>上发生引脚连接和/或配置问题。 RST引脚应始终具有用于FIFO操作的ACtiVE信号。 我已将FIFO的RST端口连接到0,(。RST(1'b0))。 这些工具是否要求我在配置后手动启用和禁用重置? 在配置期间是否一切都不会重置? |
|
相关推荐
12个回答
|
|
russ.dill写道:
我在编程文件生成时遇到DRC错误: 错误:PhysDesignRules:2022 - 在块::>上发生引脚连接和/或配置问题。 RST引脚应始终具有用于FIFO操作的ACTIVE信号。 我已将FIFO的RST端口连接到0,(。RST(1'b0))。 这些工具是否要求我在配置后手动启用和禁用重置? 在配置期间是否一切都不会重置? 您没有说明您正在使用哪个FPGA系列,但是使用Virtex 4后,必须在配置后明确重置FIFO。 ----------------------------是的,我这样做是为了谋生。 |
|
|
|
某些硬IP模块在配置后需要有效的复位信号。
看起来像 您正在使用内置FIFO逻辑,这可能是需要重置的逻辑之一 信号。 如果您没有FPGA的实际复位输入(我很少),那么您可以制作一个 使用一个初始化为全1的短移位寄存器,在配置后移入0。 在Verilog中,这看起来像: 参数RES_WIDTH = 4; reg [RES_WIDTH-1:0] reset_pipe = {RES_WIDTH {1'b1}}; reg reset = 1'b1; 总是@(posedge clk){reset,reset_pipe} - Gabor |
|
|
|
这与Virtex-6 LXT有关。
我尝试过短暂的重置,它确实有效,但它会产生定时错误。 它是一个异步FIFO,具有慢速时钟和快速时钟。 ================================================== ==============================时序约束:从NET“clk”PERIOD = 10 ns导出的net“serial_clk”的PERIOD分析 高50%; 乘以7.00到70 nS有关更多信息,请参阅“时序收敛用户指南”(UG612)中的“周期分析”。 分析了2864个路径,分析了2101个端点,6个故障端点6检测到定时错误。 (6个设置错误,0个保持错误,0个组件切换限制错误)最小周期为71365.000ns。 -------------------------------------------------- ------------------------------ 终点路径input_fifo / INPUT_FIFO [2] .FIFO_DUALCLOCK_MACRO_inst(RAMB36_X3Y29.RSTRAMARSTRAMLRST),2路径------------------------------ -------------------------------------------------- Slack(设置路径): - 2.037ns(要求 - (数据路径 - 时钟路径偏移+不确定性))源:fifo_rst(FF)目的地:input_fifo / INPUT_FIFO [2] .FIFO_DUALCLOCK_MACRO_inst(RAM)要求:0.002ns数据路径延迟: 2.056ns(逻辑电平= 0)(仅限组件延迟超出约束)时钟路径偏移:0.209ns(2.388 - 2.179)源时钟:hash_clk_BUFG上升至4199.998ns目标时钟:serial_clk_BUFG上升至4200.000ns时钟不确定度:0.192ns 时钟不确定度:0.192ns((TSJ ^ 2 + DJ ^ 2)^ 1/2)/ 2 + PE总系统抖动(TSJ):0.070ns离散抖动(DJ):0.126ns相位误差(PE):0.120ns 慢进程角的最大数据路径:fifo_rst到input_fifo / INPUT_FIFO [2] .FIFO_DUALCLOCK_MACRO_inst位置延迟类型延迟(ns)物理资源逻辑资源------------------ ----------------------------------------- --------- ---------- SLICE_X105Y151.CQ Tcko 0.246 fifo_rst fifo_rst RAMB36_X3Y29.RSTRAMARSTRAMLRST net(fanout = 7)1.557 fifo_rst RAMB36_X3Y29.CLKBWRCLKU Trrec_RST 0.253 input_fifo / INPUT_FIFO [2] .FIFO_DUALCLOCK_MACRO_inst input_fifo / INPUT_FIFO [2] .FIFO_DUALCLOCK_MACRO_inst - -------------------------------------------------- -------- ---------------------------总计2.056ns(0.499ns逻辑,1.557ns路线)(24.3%) 逻辑,75.7%路线) |
|
|
|
russ.dill写道:
这与Virtex-6 LXT有关。 我尝试过短暂的重置,它确实有效,但它会产生定时错误。 它是一个异步FIFO,具有慢速时钟和快速时钟。 检查数据表,看看复位是否在FIFO内部与其中一个时钟同步。 您可能需要对其进行时间忽略。 在时间报告中看到这一点: 源时钟:hash_clk_BUFG上升至4199.998nsDestination时钟:serial_clk_BUFG上升至4200.000ns 这表示复位信号在一个域中,FIFO预期它在另一个域中。 你知道,它只有2皮秒! ----------------------------是的,我这样做是为了谋生。 |
|
|
|
我切换到另一个时钟,违规跟着它,再次关闭我的2ps。
|
|
|
|
russ.dill写道:
我切换到另一个时钟,违规跟着它,再次关闭我的2ps。 这意味着信号在两个时钟域中使用,因此必须进行处理 异步。 您应该对此设置TIG约束以防止它也被使用 在这个地方做了很多努力& 路线。 - Gabor |
|
|
|
|
|
|
|
的Gabor,
我试过这个技术,但工具没有将重置源识别为ACTIVE信号(无论可能是什么)。 BTW我的FIFO由MMCM的锁定复位,因此在我的情况下,这种持续的PWRON复位不是必需的。 Xilinx支持人们,以及“以此为生”的人 - 关于工具识别为主动复位源的其他想法? 谢谢,GaborBecker |
|
|
|
开始一个新主题。
|
|
|
|
maszoka写道:
的Gabor, 我试过这个技术,但工具没有将重置源识别为ACTIVE信号(无论可能是什么)。 BTW我的FIFO由MMCM的锁定复位,因此在我的情况下,这种持续的PWRON复位不是必需的。 Xilinx支持人们,以及“以此为生”的人 - 关于工具识别为主动复位源的其他想法? 对于需要这种复位的事情,我所做的是使用DCM(或PLL,或其他)锁定信号作为一种复位触发器,然后在锁定变为真之后将复位置位一定数量的时钟。锁定为false 在预置位(全1)中保持一个短移位寄存器,然后当锁定变为真时,将0时钟移入移位寄存器,稍后移位寄存器输出为0。 signal clk:std_logic; - 可能是DCM输出或其他) signal iResetSR:std_logic_vector(15 downto 0):=(其他=>'1'); 别名gReset:std_logic是iResetSR(15); MyReset:进程(clk,dcmlocked)是 开始 如果dcmlocked ='0'则 - 未锁定 iResetSR'1'); - 确保我们的重置仍然有效 elsif rising_edge(clk)然后 iResetSR 万一; 结束过程MyReset; 因此,在初始化时以及DCM未锁定时,将置位复位。 DCM锁定后16个时钟的复位将被置为无效。 并且它将与时钟同步解除断言,因此它非常适合用作任何下游逻辑的同步复位。 ----------------------------是的,我这样做是为了谋生。 |
|
|
|
Yidfal,
这是之前建议的,我也尝试过这个。 每当我碰到这个错误时,我都会继续调试,直到我意识到解决方法是不使用内置FIFO,只需恢复到基于BRAM的FIFO。 瞧,它有效。 我认为bitgen DRC错误应该在合成阶段被捕获并报告,并且应该更多地阐述短语“活动信号”。 问候,Gabor |
|
|
|
有效信号意味着哪个不是常数并且有一些与之相关的逻辑。如果您要继续使用基于BRAM的FIFO,请将此线程标记为已应答以关闭它。
-------------------------------------------------- ----------------------------别忘了回复,给予kudo并接受为解决方案--------- -------------------------------------------------- ------------------- |
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2830 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1287浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
592浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
455浏览 1评论
2010浏览 0评论
736浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 22:36 , Processed in 1.561566 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号