iFPGA 发表于 2011-4-17 02:21:00

如何写好FPGA代码的一点浅见

本帖最后由 iFPGA 于 2011-4-18 21:53 编辑

1.明确芯片的资源,如乘法器,RAM存储器,serdes数量与支持的速率等等。
2.规范的代码风格才是高质量的保证,软件优化只是杯水车薪。
3.注意逻辑力度的均匀,和寄存器平衡有些类似,整个逻辑的力度尽量保持一致,设计更可靠。
4.明确每一行代码都是用什么样的硬件实现的,写代码的时候看到的不仅仅是if else,而是寄存器、lut等资源。
5.对代码的迭代反复分析,能否用更少的资源,时序能否更加,代码水平会有质的提高。
6.完备仿真,主要是异常仿真,才能保证代码的鲁棒性。
7.明确时序分析,能读懂fpga的时序分析报告,根据时序报告去分析逻辑,优化代码。

随便写写,大家姑且随便看看。:)


接着写:
从某一点开始说吧,说说如何避免组合逻辑过大造成时序告警。
时序逻辑有哪些呢?比如比较/判断逻辑,选择逻辑,加法逻辑等。简单说下如何避免这三种组合逻辑造成的时序问题。
1.比较逻辑
尽量避免采用类似下面例子的代码
if(s==10'd70)
xxx
上述逻辑会使组合逻辑过大,尽量采用单比特比较判断.
2.选择逻辑
尽量避免ifelse嵌套太深,造成选择逻辑过大,一般不超过3级嵌套。
3.加法逻辑
超过30bit的加法逻辑,建议将加法拆分成为多个16bit或者12bit的pipeline加法。

明天再更新!!:)

lijie 发表于 2011-4-17 20:46:30

写的很好,很受用

哦十全_至芯学员 发表于 2011-4-17 23:19:10

恩 受益匪浅,顶一个

雪剑 发表于 2011-4-18 21:31:09

还要注意code style!
页: [1]
查看完整版本: 如何写好FPGA代码的一点浅见