赛灵思
直播中

石胜厚

8年用户 1145经验值
私信 关注
[问答]

在编程文件生成时遇到DRC错误怎么办

我在编程文件生成时遇到DRC错误:
错误:PhysDesignRules:2022 - 在块::>上发生引脚连接和/或配置问题。
RST引脚应始终具有用于FIFO操作的ACtiVE信号。
我已将FIFO的RST端口连接到0,(。RST(1'b0))。
这些工具是否要求我在配置后手动启用和禁用重置?
在配置期间是否一切都不会重置?

回帖(12)

黄淳

2020-6-19 07:06:07
russ.dill写道:
我在编程文件生成时遇到DRC错误:
错误:PhysDesignRules:2022 - 在块::>上发生引脚连接和/或配置问题。
RST引脚应始终具有用于FIFO操作的ACTIVE信号。
我已将FIFO的RST端口连接到0,(。RST(1'b0))。
这些工具是否要求我在配置后手动启用和禁用重置?
在配置期间是否一切都不会重置?
您没有说明您正在使用哪个FPGA系列,但是使用Virtex 4后,必须在配置后明确重置FIFO。
----------------------------是的,我这样做是为了谋生。
举报

杨玲

2020-6-19 07:14:41
某些硬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
举报

廖漳彩

2020-6-19 07:20:00
这与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%路线)
举报

黄淳

2020-6-19 07:31:21
russ.dill写道:
这与Virtex-6 LXT有关。
我尝试过短暂的重置,它确实有效,但它会产生定时错误。
它是一个异步FIFO,具有慢速时钟和快速时钟。
检查数据表,看看复位是否在FIFO内部与其中一个时钟同步。
您可能需要对其进行时间忽略。
在时间报告中看到这一点:
源时钟:hash_clk_BUFG上升至4199.998nsDestination时钟:serial_clk_BUFG上升至4200.000ns
这表示复位信号在一个域中,FIFO预期它在另一个域中。
你知道,它只有2皮秒!
----------------------------是的,我这样做是为了谋生。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分