请教一个FPGA的问题
在FPGA中,if的嵌套最好不要超过几个?
跟频率有关么?比如说如果我的模块时钟只有1MHz,那么是否就可以多嵌套几个?
做FPGA也有快一年了,别说keep hardware in mind了,
我现在简直就是no hardware in mind,呵呵,各位有什么好的方法给传授传授?
我用的是xilinx的FPGA,在MAP中有个FPGA EDITER,可以看到代码生成的硬件电路是什么样子的,
可是里面的symbol我不清楚是什么东西(比如说管角对应的是什么等),有没有什么相关的资料可以参考一下?
这个就不是入门搞的了,靠经验。
多看看UserGuide吧。
4到5个时,ASIC .18um 100M以下一般都没问题。
频率要求高的,要早做打算。
FPGA看型号、LUT结构。
可以先限制到4个,出问题了再考虑优化。
另外,设计时先考虑一下,case实现资源少还是if少。
呵呵,谢谢楼上几位的回答
还想请教
xilinx 的FPGA EDITER里面的各种symbol的说明文档在哪能找到?
if嵌套太多 不仅仅是影响速度的问题
还说明你一个进程里逻辑关系相对复杂 很容易有逻辑bug
要深入理解硬件并行的概念
建议从编码风格开始 最好一个进程控制3-4个if
另外,如果你想快速提高,闷头做闷头看没有用的
一个捷径是:去找一个IP核,开源的都可以
仔细看人家的编码风格、设计思路
等你全部弄懂了 你的水平就上升了一个档次
跟着学习
代码写出来,综合一下就知道了,这个与器件有关系。
一般情况不会这个不会成为关键路径的。
我写的一个时钟下完成3个12bit的加法都可以在V5跑到120M。
十分感谢5楼的回答。我会按照你的建议多去看看别人的code style,学习学习。
但我现在面临的问题是:VHDL是硬件描述语言,所以我想从根源上,知道我的每一句话生成的是什么硬件,这样我看别人的代码的时候,我不光知道它好,我还知道它好在哪里。
请问有什么好的方法?
来学习了
来学习了。
这个只能靠经验了,也要靠自己下意识的培训自己这方面的感觉,如果不能看代码就知道形成的电路,做数字芯片还是有点吃力的
呵呵,多想吧。如果基础好,多想,实际的做点项目,提高还是比较快的。相信自己。
看不懂啊。
设计的电路能跑多快在同样的工艺条件下主要由你的组合逻辑的时延决定,最基本的tsu,tco不知道你理解不理解。比如同样是加法器,8位和32位其组合逻辑延时是不一样的,因为32位是由8位拼起来的,8位是由2位的加法器级联而来的。你的ifelse越多实现该功能的组合逻辑电路越复杂,延时越大,电路速度也越慢。
