
神州龙芯_VERILOG_代码规范
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
《神州龙芯_VERILOG_代码规范》是一套针对VERILOG硬件描述语言编写的编码标准和最佳实践指南,旨在提升芯片设计团队的开发效率与代码质量。
神州龙芯专注于Verilog编码规范的制定与执行,旨在通过标准化提高设计效率及代码可读性,并促进团队协作以及代码资源的有效复用。该规范主要针对可综合逻辑部件、虚拟组件(Virtual Component--VC)和测试模块进行指导,明确了文件命名规则、存储方式及相关编写标准。
遵循此规定有助于提升代码的理解性和修改便捷度,在跨平台移植时减少工作量并确保一致性。此外,若在IP设计验收阶段发现不符合规范的代码,则需由评审人员指出,并要求开发团队及时修正问题。
该编码规范的主要目标包括:
1. 确保Verilog RTL模块综合后的门级结构与仿真器对RTL行为的理解一致;
2. 利用参数传递简化常数修改,便于扩展输入输出信号位宽;
3. 优化模块分割设计以提高可重用性。
在编写代码时,规范明确禁止了某些语句的使用:
- 禁止给变量赋初始值X;寄存器必须有确定的初始状态。
- 不允许添加时间延迟、门控时钟或复位逻辑;
- 不能采用锁存器机制;
- 在可综合代码中不得使用宏定义,而应选择参数(Parameter)定义方式;
- 禁止在可综合模块内运用`initial`, `wait`, `fork-join`, 和`while`等语句。
- 不得引入用户自定义的原语元件(UDP),或逻辑反馈环路。
- 在条件分支中,只能使用case和if-else结构;禁止casex、casez的形式;
- 对于时序与组合逻辑设计分别推荐非阻塞赋值<=及阻塞赋值=操作符的应用,并且仅允许在always(*)语句内生成组合逻辑。
此外,建议采用高电平有效的硬件异步复位和同步软件复位策略来降低风险、节约成本。这些措施能够帮助实现以下目标:
- 增强代码的可读性和维护性;
- 减少综合与仿真工具之间的兼容性问题;
- 提升整体设计效率,并优化模块化架构,以支持快速建模及SOC仿真的需求。
尽管在某些特定情况下可能需要根据具体工具有所调整,但这些规定依旧适用于大多数情况。神州龙芯的Verilog编码规范不仅为公司的IP开发人员提供了详细的指导方针,也为整个行业设立了值得参考的标准。
全部评论 (0)


