在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2103|回复: 6

[求助] FPGA模块设计问题

[复制链接]
发表于 2015-12-22 17:10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

模块图

模块图

设计了一个信号处理流程,里面有3个子模块。现在已经完成了每个模块的verilog代码编写。现在想往下进一步,遇到了些问题:
1、每个模块之间怎么通信?
数据都是串行处理的,肯定要保证第一个模块完成后才开始第二模块工作,由于没有使用状态机,每个模块内部都是用计数器来实现控制的。我的初步想法是还是利用这些计数器,比如说处理1000个数,我计数到1000输出完成信号?
2、每个模块的时钟是怎么确定的?
我在写代码的时候没有考虑到速度要多快,只求先把功能做出来,但基本都是使用的同步复位。现在不知道是所有的模块使用同一个时钟,还是这三个模块分别使用不同的时钟?还有就是时钟大小怎么确定?我想尽量能速度快就速度快,所以这个速度怎么确定?

谢谢!
发表于 2015-12-22 21:37:07 | 显示全部楼层
1.第二个模块处理时,数据肯定要有效对吧,就要求第一个模块必须给出一个信号指示了数据合适是有效的,也就是你所说的完成信号。
2.肯定所有模块都用同一个时钟了,因为你是串行的,最慢的时钟决定了总体时钟,所以用同一个时钟就好了,还省了同步。先跑50M试试,然后用时序分析跑一下,看看能达到的最大时钟是多少。
发表于 2015-12-23 14:58:46 | 显示全部楼层
我来回答一下吧。因为您的问题并不收敛,属于开放性的问题,我暂且开放性的回答。
1、FPGA的优势之一在于容易做成流水处理。从你的字里行间看,你并没有掌握这一要领,倒是很像做CPU或者写C出身的套路。所以,我的意思是你只要处理好模块之间的接口时序就好了。
2、做事情的方法是错的。应该首先想清楚模块怎么划分,确定好时钟和接口方案,然后再开始一个模块一个模块coding,此之谓从顶到底的设计。而你逆其道而行之,由底到顶,理应摒弃。
3、时钟当然是越少越好,能用一个时钟就用一个时钟。至于大小,要看你的吞吐量来计算,够用即可。
发表于 2015-12-23 15:35:18 | 显示全部楼层
LS说得对啊
 楼主| 发表于 2015-12-23 21:32:19 | 显示全部楼层
回复 3# gracefulhe

受教了!确实之前C用的比较多,FPGA开发刚刚开始学。1、关于流水线处理,我有些疑惑。我所理解的流水线就是在一堆组合逻辑中插入REG来实现,但具体到某个具体的设计时,不明白该怎么去考虑,比如说我有现在有3个子模块,是在总体上实现流水线,还是说在每个子模块中实现流水线?
2、还是关于子模块的问题,这个我现在也很困扰。比如说我整个数据是串行处理的,里面有复数乘、FFT等,我该怎么去划分子模块,网上说为了时序分析要把每个子模块的输出定为reg型,例化子模块时连线要定义成wire型。但我有个疑问,就是假如我当前这个子模块的输出部分就是直接例化的更下一层的子模块,例化时采用wire,但作为当前子模块的输出需要reg型,这个我没有理解。


谢谢解答!
 楼主| 发表于 2015-12-23 21:40:07 | 显示全部楼层
回复 2# fkl523


   关于时钟这一块,我想问下我第一步是处理第1到第1024个数据,结果还是1024点数据,但第二部我对第一步结果处理时要求按照1,16,32,48...\2,17,33,49...(做64点FFT)这样的顺序来处理,这样的话我用了一块RAM在第一步和第二部之间当做缓存,请问这样的话对时钟是不是有很大的影响,感觉就好像是我第一步再怎么快,也得等到我1024点数据都存放完了,再进行第二步的操作,这样太限制整个系统的处理速度了。这里很是不解。谢谢!
发表于 2015-12-24 17:18:50 | 显示全部楼层
加个valid信号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 06:08 , Processed in 0.023702 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表