完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的程序是自己编写第一个通讯端口,其中FPGAtoAD_state是数据输出端口,PGAtoAD_clk_in是时钟输入端口,FPGAtoAD_data是数据输入端口,位宽为8位,FPGAtoAD_clk_out是时钟输出端口程序的主要流程如下:一开始是向上位机传一次数据,首先FPGAtoAD_clk_out拉低,等待上位机的PGAtoAD_clk_in时钟信号拉低表示上位机准备就绪,然后FPGAtoAD_clk_out置高,等待上位机的PGAtoAD_clk_in时钟信号置高就表示上位机读取成功,然后开始上位机向FPGA开始传输66次数据,每次传输以上位机的PGAtoAD_clk_in时钟信号拉低,然后FPGAtoAD_clk_out拉低表示准备好接受数据,之后PGAtoAD_clk_in时钟信号置高,等FPGAtoAD_clk_out也置高表示一次数据传输完成,反复66次,计数结果为参数n
现在的问题就是FPGA计数有问题,用示波器看了,要不是到64次就不响应,要不就是中间丢两个数据,又或者是传输66次之后还在等待传输,有时偶尔能正常传输几次,但很快就又会漏数据。 求各位大牛帮我看看程序,看问题在哪 不胜感谢,小弟这里只有168个积分,尽数奉上 系统时钟频率为50 MHz 具体程序如下
补充说明一下: 计数的是n 其实原来的计数我是简单的通过n<= n+1'b1; 这个语句来实现的,但是计数有问题我才改成现在这样的 原来的程序没有 wire [7:0] n_add; reg [7:0] n_buf; 这两个参数,但是计数还是有问题 除此之外,我写的部分程序利用计数来实现时序控制,有时也是会有时序抖动的问题,估计问题也是出在计数输出结果不对。 求大牛指点 |
|
相关推荐
1个回答
|
|
程序没来得及仔细看,你可以试试先用modelsim仿真,仔细看下逻辑有没有问题。如果逻辑没出问题,那就应该是时序出现问题了,把那个assign语句改一下,这样写时钟不太好,IP核有一个选择时钟的,我忘了是哪个了,你可以找一下。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
275 浏览 0 评论
1026 浏览 0 评论
343 浏览 0 评论
FPGA零基础学习系列精选:半导体存储器和可编程逻辑器件简介
977 浏览 0 评论
cmos的slvs-ec协议40针引脚该如何连接到xilinx a7开发版上?
1694 浏览 1 评论
1322 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-18 03:22 , Processed in 0.508828 second(s), Total 66, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号