完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我正在设计一个片上网络,其中一个fifo控制器负责一个FWFT fifo,以决定何时读取或写入fifo。
在这个fifo控制器的VHDL代码中,有两个赋值语句: eop_wr eop_rd 在这张图片中,我试图突出显示“eop_wr”语句的输入和输出。 希望这个足够清楚。 应该有像“eop_rd”这样的LUT。 但事实并非如此。 令我困惑的是,为什么两个相同的“when else”语句可能导致不同的实现。 我的问题在哪里 以上来自于谷歌翻译 以下为原文 I'm designing a network on chip in which a fifo controller is in charge of one FWFT fifo to decide when to read from or write to fifo. in the VHDL code of this fifo controller, there are two assignment statements: eop_wr <= pkt_wr_EOP when pkt_we = '1' else '0'; eop_rd <= pkt_rd_EOP when pkt_re = '1' else '0'; pkt_wr, pkt_rd_EOP, pkt_we and pkt_re are the inputs of fifo controller. When I implement my code I get some warnings telling me some singals don't have drivers. I checked the KEEP HIERARCHY, and opened the Technology Schematic to check the mistake signals, then I found that the the missing driver problem is because my "eop_wr" doesn't have a drive BUT "eop_rd" has. In this image, I highlight the "eop_rd" output In this image, I tried to highlight the input and output of statement for "eop_wr". Hope this one clear enough. There should be a LUT like "eop_rd" have. But there isn't. What makes me confused is that why two same "when else" statements could result in differerent implementations. Where is my problem |
|
相关推荐
3个回答
|
|
|
你得到了什么信息?
你应该在这里复制并粘贴它们。 XST报告合成后的状态是什么? 我认为eop_wr信号已被优化,但输入/输出端口保持不变,因为它们存在于实体级别。 无法确切地看到所有逻辑如何相互作用(例如pkt_wr_EOP和pkt_we来自何处?这些信号如何变化?),很难说明实现的不同之处。 模拟pre / post_synthesis时你能看到什么? 问候, 霍华德 ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 以上来自于谷歌翻译 以下为原文 Exactly what messages do you get? You should copy and paste them here. What does the XST report state after synthesis? It looks to me like that the eop_wr signal has been optimised away but the input/output ports maintain because they exist at an entity level. Without being able to see exactly how all of your logic interacts (e.g. where do pkt_wr_EOP and pkt_we come from? How do those signals change?), it is difficult to state why the implementation is different. What can you see when you simulate pre/post_synthesis? Regards, Howard ---------- "That which we must learn to do, we learn by doing." - Aristotle |
|
|
|
|
|
霍华德
谢谢你的回复。 我发现了问题。 这是因为该信号不会驱动上层组件中的任何信号。 但是为什么编译器没有给我一个警告,就像信号没有负载一样。 我还有一个小问题,当我尝试实现我的一个组件时,我得到两个警告: 警告:NgdBuild:452 - 逻辑网'p01_vc / vc_req_id'没有driverWARNING:NgdBuild:452 - 逻辑网'p01_vc / vc_req_id'没有驱动程序 实际上有两个信号被创建为在子组件中使用的虚拟通道id。 它们不连接任何驱动程序。 gen_vcids:process(rst,clk)begin lgen:for I in NOCEM_NUM_VC-1 downto 0 loop vc_myid_conv(I)end loop; 结束过程; 这些警告会影响我的最终PAR设计吗? 或者他们将转换为功能性LUT。 以上来自于谷歌翻译 以下为原文 Howard Thanks for you response. I find the problem. It's due to that this signal doesn't drive any signals in the very upper level component. But why the compiler didn't give me a warning like the signal doesn't have a load. I still have a small problem that when I try to implememt one of my component, I get two warnings like: WARNING:NgdBuild:452 - logical net 'p01_vc/vc_req_id<1><0>' has no driver WARNING:NgdBuild:452 - logical net 'p01_vc/vc_req_id<0><1>' has no driver There two signals actully are created as virtual channel id that used in sub-component. They don't connect to any drivers. gen_vcids : process(rst,clk) begin lgen : for I in NOCEM_NUM_VC-1 downto 0 loop vc_myid_conv(I) <= CONV_STD_LOGIC_VECTOR(2**I, NOCEM_VC_ID_WIDTH); end loop; end process; Will these warning affect my final PAR design? Or they'll be translate to functional LUT. |
|
|
|
|
|
首先,我不知道vc_req_id和vc_myid_conv是如何相关的。
我不可能说出为什么这些工具发出了警告,而不是说这些工具在这些问题上并不常见。 Ngdbuild:452是警告设计者可能未连接的信号。 如果这很重要,那么你应该采取措施避免它。 PAR无法路由无人信号。 无人驾驶信号是没有输入其值的信号。 您应该考虑循环如何驱动该信号的值。 问候, 霍华德 ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 以上来自于谷歌翻译 以下为原文 Firstly, I cannot tell how vc_req_id and vc_myid_conv are related. It is impossible for me to say why the tools have issued a warning other than to say that the tools are not often wrong in these matters. Ngdbuild:452 is a warning to alert the designer to a possibly unconnected signal. If this is important, then you should take steps to avoid it. A driverless signal will likely not be routed by PAR. A driverless signal is one that has no input to its value. You should consider how your loop is DRIVING the value of that signal. Regards, Howard ---------- "That which we must learn to do, we learn by doing." - Aristotle |
|
|
|
|
只有小组成员才能发言,加入小组>>
3118 浏览 7 评论
3407 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2873 浏览 9 评论
3966 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
3057 浏览 15 评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
1325浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
1167浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:03 , Processed in 0.948405 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1312
