赛灵思
直播中

李奂善

7年用户 198经验值
私信 关注
[问答]

MAP报告警告PACK 2515

tify;text-indent: 40px;">大家好,
我看到以下MAP警告,我实现了我的设计。
虽然我认为这并没有伤害我的时间,但我仍然想要了解为什么它首先产生。
其中有16个。
警告:包装:2515  -  LUT-1变频器“USB_UNIT4 / rdi_d1_RNIKV6E”无法加入与输出缓冲器“FD_iobuf [1] / OBUFT”匹配的OLOGIC补偿。
这可能导致时间不理想。
LUT-1逆变器USB_UNIT4 / rdi_d1_RNIKV6E驱动多个负载。
我正在尝试实现以下内容:
//开始逻辑
总是@(posedge Ifclk)开始if(~nReset_)RdI else RdI结束

总是@(posedge Ifclk)开始rdi_d1 rdi_d2

回帖(5)

杨玲

2018-10-15 11:59:02
此警告告诉您,您的三态启用时序不是最佳的,因为
rdi_d2没有被推入IOB的三态触发器。
正在出现的“逆变器”
抱怨与内部三态逻辑的活跃程度有关
IOB。
本机硬件具有活动的高三态,否则描述为
低电平有效输出。
我相信你应该能够说服XST
复制rdi_d2以便进入IOB,但它有助于反转
方程式本身就像:
(* IOB = TRUE *)reg rdi_d2;
//建议XST将此寄存器放在IOB中(需要复制)
rdi_d2
接着:
分配FD = rdi_d2?
{`USB_DATA {1'bZ}}:fdo;
//交换条件,1 =三态,0 =驱动器
通常使用较新版本的XST,这将生成所需的逻辑,您应该这样做
没有看到警告。
如果没有,你可以自己明确地复制rdi_d2。
-  Gabor
-  Gabor
在原帖中查看解决方案

以上来自于谷歌翻译


以下为原文

This warning is telling you that your tristate enable timing is not optimal because
rdi_d2 was not pushed into the IOB's tristate flip-flop.  The "inverter" that is being
complained about has to do with the active level of the tristate logic within the
IOB.  The native hardware has an active high tristate, otherwise described as
active low output enable.  I believe that you should be able to convince XST to
replicate rdi_d2 in order to push into the IOB's, but it would help to invert
the equations yourself like:
 
(* IOB = TRUE *) reg rdi_d2;  // Suggest to XST to place this register in the IOB's (requires replication)
 
rdi_d2 <= ~rdi_d1; // make this enable active low
 
and then:
 
assign FD = rdi_d2 ? {`USB_DATA{1'bZ}} : fdo;  // swap conditions, 1 = tristate, 0 = drive
 
Normally with newer versions of XST this will generate the desired logic and you should
not see the warning.  If not you could explicitly replicate rdi_d2 yourself.
 
-- Gabor
-- GaborView solution in original post
举报

姚庭芳

2018-10-15 12:13:24
嗨,
发生此警告是因为单个逆变器用于数据总线使能,并且是多个OLOGIC comps所需要的。
在这种情况下,消除警告并产生最佳时序的唯一方法是每个数据总线位产生一个逆变器,即8位总线需要8个独立的逆变器。
谢谢。
--------------------------------------------------
------------------------------------------您是否尝试在Google中输入问题?

如果没有,你应该在发布之前。
此外,MARK这是一个答案,以防它有助于解决您的查询/问题。给予帮助您找到解决方案的帖子。

以上来自于谷歌翻译


以下为原文

Hi,
 
This warning occured because a single inverter is being used for a data bus enable and is required by multiple OLOGIC comps. In this case the only way to remove the warning and produce optimal timing is to create an inverter per data bus bit, i.e. 8-bit bus needs 8 seperate inverters.
 
Thanks.
--------------------------------------------------------------------------------------------
Have you tried typing your question in Google? If not you should before posting. Also, MARK this is as an answer in case it helped resolve your query/issue.Give kudos to the post that helped you to find the solution.
举报

杨玲

2018-10-15 12:30:53
此警告告诉您,您的三态启用时序不是最佳的,因为
rdi_d2没有被推入IOB的三态触发器。
正在出现的“逆变器”
抱怨与内部三态逻辑的活跃程度有关
IOB。
本机硬件具有活动的高三态,否则描述为
低电平有效输出。
我相信你应该能够说服XST
复制rdi_d2以便进入IOB,但它有助于反转
方程式本身就像:
(* IOB = TRUE *)reg rdi_d2;
//建议XST将此寄存器放在IOB中(需要复制)
rdi_d2
接着:
分配FD = rdi_d2?
{`USB_DATA {1'bZ}}:fdo;
//交换条件,1 =三态,0 =驱动器
通常使用较新版本的XST,这将生成所需的逻辑,您应该这样做
没有看到警告。
如果没有,你可以自己明确地复制rdi_d2。
-  Gabor
-  Gabor

以上来自于谷歌翻译


以下为原文

This warning is telling you that your tristate enable timing is not optimal because
rdi_d2 was not pushed into the IOB's tristate flip-flop.  The "inverter" that is being
complained about has to do with the active level of the tristate logic within the
IOB.  The native hardware has an active high tristate, otherwise described as
active low output enable.  I believe that you should be able to convince XST to
replicate rdi_d2 in order to push into the IOB's, but it would help to invert
the equations yourself like:
 
(* IOB = TRUE *) reg rdi_d2;  // Suggest to XST to place this register in the IOB's (requires replication)
 
rdi_d2 <= ~rdi_d1; // make this enable active low
 
and then:
 
assign FD = rdi_d2 ? {`USB_DATA{1'bZ}} : fdo;  // swap conditions, 1 = tristate, 0 = drive
 
Normally with newer versions of XST this will generate the desired logic and you should
not see the warning.  If not you could explicitly replicate rdi_d2 yourself.
 
-- Gabor
-- Gabor
举报

谢微微

2018-10-15 12:48:20
你好gszakacs,
感谢您的答复。
你给了我一个正确的方向。
反转rdi_d1并没有帮助,而是当我在延迟生成rdi_d1之前将原始符号转换为RdI本身时,我看到了警告。
因为我没有使用XST进行合成,所以(* IOB = TRUE *)约束不适用于我。
你碰巧知道Synplify的等效约束吗?
所以再一次感谢你给我一个正确的方向。
谢谢,
沙克提

以上来自于谷歌翻译


以下为原文

Hello gszakacs,
Thank You for the reply.
You gave me a nudge into the right direction.
Inverting rdi_d1 did not help, rather when I inverted the orignial sign RdI itself before delaying it to generate rdi_d1, did over come the warnings I was seeing.
As I am not using XST for synthesis, the (* IOB = TRUE *) constraint doesnt apply to me.
Would you happen to know the equivalent constraint for Synplify.
 
So Once again thanks for giving me a push into the right direction.
 
thanks,
shakti
举报

更多回帖

×
20
完善资料,
赚取积分