集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2097|回复: 3

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

[复制链接]
iFPGA 发表于 2011-4-17 02:21:00 | 显示全部楼层 |阅读模式
本帖最后由 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 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-23 01:32 , Processed in 0.089758 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表