有关做FPGA和ASIC设计代码风格的讨论,欢迎各位来谈谈自己的看法。
时间:10-02
整理:3721RD
点击:
工作中发现很多项目组在写代码时候,都是采用统一代码风格。大都没有区分FPGA和ASIC的代码风格。
个人的理解是在设计之前要知道所有的东西的载体到底是什么。
FPGA中不同的片子中的逻辑单元有可能是不同的,这样就应该有规定的代码风格,因为代码只不过是对电路的表述。对ASIC而言,代码的风格就是要和对应的库想对应。
这是我的个人看法,欢迎各位来谈谈自己的看法。
个人的理解是在设计之前要知道所有的东西的载体到底是什么。
FPGA中不同的片子中的逻辑单元有可能是不同的,这样就应该有规定的代码风格,因为代码只不过是对电路的表述。对ASIC而言,代码的风格就是要和对应的库想对应。
这是我的个人看法,欢迎各位来谈谈自己的看法。
除了ram,rom,其他的可综合的电路fpga跟asic没区别
应该是有区别的,不同的FPGA的使用的有可能是LUT就不一样,这就有不同的风格。代码是电路的翻译。
看你用FPGA做什么,如果是prototype的话,除了替换ram、rom、clockgate外的,rtl不应该做什么改变。如果是用FPGA做产品,那么在编写rtl时考虑到FPGA的结构才比较有意义。实际上就个人使用经验而言,当前FPGA的综合工具实际上已经做的很好了,一般的设计都可以比较好的利用FPGA的资源
我觉得现在有些流派把代码风格提到很高的地位,
但是除了时序要求非常严格的部分项目外,目前国内大部分项目都不用过分关心代码风格这个问题。
一方面因为综合器功能已经很强大,综合出来的效果通常都可以接受,比如状态机不管用几段结果都没什么区别。
另一方面,项目的工期要求一般都很紧,没有办法做详细的电路设计,一般有个C模型就非常不错了,因此代码的易读性相对综合效率而言可能更重要,而组合逻辑和时序逻辑分开的经典写法读起来跳跃性太大;甚至多个信号放在一个always里面写更好阅读。
最后,ASIC项目用FPGA的目的是测试功能,所以代码还是用ASIC向的风格更好;纯FPGA项目,更关注使用FPGA的特性相关的风格更好。