完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我写了一个非常简单的代码,其中FGPA从/向处理器读/写。 我使用以下代码推断数据总线的三态缓冲区(16位宽)。 - 推断IOBUF io_datah s_data_read 注意:“s_re_l_2q”是输出使能(in_oe_l)的注册版本。 我试图用FPGA读取FPGA(FPGA正在写入微处理器)。 并且,我用chipcope捕获了以下内容。 根据微处理器数据表,在输出使能的上升沿(当芯片选择为低电平时),微处理器应读取数据。 我相信所有时间都是正确的,并且有足够的余量,微处理器不会错过数据。 然而,奇怪的是,我不知道为什么当我从微处理器读取数据时,我得到数据0xC630,而我期待0xC430。 看起来微处理器正在写入FPGA而不是从FPGA读取。 但情况应该不是这样,而应该恰恰相反! 在推断三态缓冲区时,我是否设置了错误? 当我在planAhead中打开设计时,我可以看到“io_data”被认为是In / Out,这似乎是正确的。 想法,我做错了什么? 全局约束(offset-in / offset-out)是否可能导致此类行为? 任何帮助都很赞赏。 谢谢, --Rudy 以上来自于谷歌翻译 以下为原文 Hi, I have wrote a very simple code, where FGPA read/writes from/to a processor. I was using the following code to infer a tri-state buffer for the data bus (16-bit wide). -- Infering IOBUF io_datah <= s_data_write when (s_re_l_2q = '0') else "ZZZZZZZZZZZZZZZZ"; s_data_read <= io_datah; Note: "s_re_l_2q" is the registered version of the Output Enable (in_oe_l). I made an attempt to read from FPGA with the microprocessor (FPGA is writing to microprocessor). And, I captured the following with the chipscope. Per microprocessor datasheet, at rising edge of the Output Enable (when chip-select is low), microprocessor should read the data. I believe all the timing is correct, and there is enough margin that the microprocessor will not miss the data. However, what is strange is that I don't know why when I read from microprocessor, I get the data 0xC630, whereas I was expecting 0xC430. It seems like that microprocessor is writing to FPGA instead of reading from FPGA. But that should not be the case, and it should be the exact opposite !! Am I setting up something wrong, when infering the tri-state buffer ? When I opened up the design in the planAhead, I can see that "io_data" is infered as In/Out, which seems correct. And idea, what am I doing wrong? Could global constraint (offset-in/offset-out) be responsible for such behavior? Any help is apprecited. Thanks, --Rudy |
|
相关推荐
2个回答
|
|
您的电路板可能有问题。
- 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 You might have a problem on your circuit board. -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
嗨,
如果您怀疑三态缓冲区,我建议您使用OBUFT实例化,其定义可以在相应的库指南中找到。 例如,您可以查看7系列库指南-http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/7series_hdl.pdf 但是,我猜你已经为你的设计完成了模拟。 如果你没有这样做,那么我建议你这样做。 如果模拟确实有效,但它在硬件中不起作用,那么正如已经指出的那样,你的电路板或电路可能存在一些问题。 谢谢, 谢谢,AnirudhPS:请将此标记作为答案,以防它有助于解决您的问题。如果帖子引导您找到解决方案,请给予赞誉。 以上来自于谷歌翻译 以下为原文 Hi, If you doubt the tristate buffer, i suggest you use the OBUFT instantiation whose definition can be found in the respective Library guide. For example you can check the 7 series library guide - http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/7series_hdl.pdf However, i guess you have already done the simulation for your design. In case you have not done that, then i suggest you to do it. If simulation does work but it does not work in hardware then as already pointed out there can be some problem in your board or circuit. Thanks, Thanks, Anirudh PS: Please MARK this as an answer in case it helped resolve your query.Give kudos in case the post guided you to a solution. |
|
|
|
只有小组成员才能发言,加入小组>>
2427 浏览 7 评论
2828 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2295 浏览 9 评论
3377 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2467 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1273浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
592浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
455浏览 1评论
2010浏览 0评论
736浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:44 , Processed in 1.604539 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号