RTL Coding 读书笔记4:Data Path

#############################################################
# 1) coding guideline for datapath synthesis   SYNOPSYS
#############################################################

关键字:  符号   位宽

正确:
  1)  用signed实现,不要用unsigned模拟
  2)  不要手动扩展符号位、0
  3) 不要在一个表达式中混用 signed unsigned
  4)  不要用[x:x]选择signed数的所有bit,任意选择都将变成unsigned
  5)  不要用self-determined 表达式(隐式位宽,可能出错)
  6)  .... VHDL

优良:
  7) 将相关逻辑放一个block中
  8) 不要在一组datapath中混用signed unsigned
  9)  用符号标志位变量来切换signed/unsigned复用datapath
  10)用POS: (a+ci)*b  instead of a*b + ci? b:0
  11) 不要调用DesignWare
  12) 用retiming辅助实现pipeline
  13)不要用 ~a + 1来实现补码转换,用-a
  14) 对因子取负,而不是对积取负
  15)共享移位,来优化并行常数乘法
  16)共享表达式
  17)用LSB位加1来四舍五入,而不是加和的LSB

工具:
  1)note warings: sigend-to-unsigned unsigend-to-signed coversion  VER-318
  2)report_resources:  report synthesized datpath

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Synopsys RTL编码风格是一种指导开发者如何编写硬件描述语言(HDL)代码的规范。它提供了一系列的准则和建议,以确保编写的代码具有一致性、可读性和可维护性。以下是Synopsys RTL编码风格的几个重要特点: 1. 命名规范:Synopsys RTL编码风格鼓励使用有意义的、一致的命名方式来命名信号、变量、模块等。这有助于他人理解代码的含义,并提高代码的可读性。 2. 缩进和格式化:编码风格要求使用一致的缩进和格式化规则,以提高代码的可读性。正确的缩进和排版可以使代码更易于理解和调试。 3. 注释规范:为了提高代码的可理解性和可维护性,编码风格要求在代码中添加必要的注释。注释应该清晰地解释模块和信号的功能、目的和使用方法。 4. 模块规范:代码应该按照一定的结构组织成模块。模块应该有明确的功能和接口,并应该尽量避免使用全局变量。 5. 代码复用:编码风格鼓励代码的复用,并提供了一些专门的准则来指导开发者如何复用代码。通过代码复用,可以提高开发效率并减少代码的重复。 综上所述,Synopsys RTL编码风格是一种帮助开发者编写高质量、易读、易于维护的HDL代码的规范。遵循这种编码风格可以增加代码的可理解性、可维护性,并提高团队的开发效率。 ### 回答2: Synopsys RTL编码风格是一种指导和规范,用于编写可读性高、易于维护且符合综合要求的RTL代码。RTL即Register Transfer Level,是一种描述数字电路行为的编码方法。 Synopsys RTL编码风格强调以下几个方面: 1. 命名规范:使用有意义的变量和信号名称,遵循一致的命名约定。变量名可以包含字母、数字和下划线,并以字母开头。为不同类型的信号或变量使用特定的前缀,如"i_"表示输入,"o_"表示输出等。 2. 结构清晰:建议使用层次化设计,按功能模块划分,并使用适当的注释和缩进使代码易于阅读和理解。模块中的代码应按顺序组织,并避免不必要的冗余或复杂性。 3. 硬件建模:使用硬件特定的编码方式,如寄存器和组合逻辑等。合理使用寄存器进行状态存储,使用组合逻辑进行数据处理。同时,应减少逻辑延迟和资源占用,并避免存在冒险和不确定性的情况。 4. 时序和时钟管理:RTL编码应准确、清晰地描述电路发生的时序和时钟相关的行为。确保时钟约束得到正确设置,并遵循时钟边沿触发的原则。在时序约束中要考虑到综合、布局布线和稳定性等因素。 5. 可综合性:RTL代码应符合综合工具的要求,以便正确实现提取的综合结构。代码应避免使用不支持的语言功能和复杂的合成路径。综合性能可以通过编码方式进行优化。 综合来说,Synopsys RTL编码风格提供了一套规范和准则,以帮助设计工程师编写高质量、可维护且易于阅读的RTL代码。它强调可读性、清晰性和规范性,并关注正确性、时序约束和可综合性。遵循这种编码风格可以提高设计的效率和可靠性,同时减少错误和问题的发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值