DC综合的shell命令,在RTL中请谨慎使用

简介: 随着功能复杂度的快速提升,对芯片的要求也是随着提高,所以现在一款芯片的开发,往往需要数十人,长达几个月的共同开发才能完成。

随着功能复杂度的快速提升,对芯片的要求也是随着提高,所以现在一款芯片的开发,往往需要数十人,长达几个月的共同开发才能完成。

因为Verilog HDL的语法相对开放,所以每个人开发的Verilog  HDL之间的差异也是非常的大。但是一个设计团队之间,进行RTL模块的交叉review、相互调用是非常频繁的事情,所以为了增强RTL代码的可移植性,以及review的效率,我们通常在一个项目开始的时候,会统一整理一个RTL编码规则,里面的内容包括,命名的规则、单词的缩略原则,一些标准电路的常用写法等等。往往这个编码规则会写的很具体,但是个人认为,这是非常有必要的。在前面的五篇文章中,我们已经聊了一些,今天的文章,我就继续来聊一聊一般常见的规则。

RTL推荐编码规则

在RTL源代码中禁止使用Design Compiler的综合命令。综合工具有很多种,Design  Compiler只是其中一种,虽然它的市场份额很大,但是并不说100%的占有这个综合工具市场,所以Design  Compiler中的命令并不能被其他综合工具所识别,这样的话,综合结果就变得不可控,因为如果使用其他综合工具,对Design  Compiler的命令,究竟会识别成什么情况,是不能预估的。

另外,即使是一直使用Design   Compiler进行综合,因为有两种综合策略,Top-down和bottom-up,所以当你使用不同的综合策略时候,对不同的综合命令处理方式,也会有很大的不同,所以通过上面的分析,不难看出,综合命令的使用,比较好的方式是放在一个批处理的脚本文件中,进行统一管理,不管是变换约束条件,综合策略还是其他的命令,都可以十分方便的在一个脚本里面进行统一更改。不过在这里有个例外,就是编译开关的打开和关闭命令,这个是可以放到RTL里面。下面我们举两个命令,做简单介绍,后面的文章中,我们将对这两个命令做详细介绍。


translate_off/translate_on,当出现translate_off命令,之后的RTL代码,Design   Compiler将不会再进行编译,直到出现translate_on。这条命令就十分的实用,当我们的RTL里面出现了仅用来进行仿真的RTL时候,就可以使用这两条命令,这条命令简化了RTL在仿真工具和综合工具的移植。

parallel_case/full_case,parallel_case可以让综合工具在综合过程中,使用并行不带优先级的多路现则结构,有利于timing的优化,full_case可以避免锁存器的产生。

小结

RTL的可综合是十分重要的,因为RTL只是中间状态,我们要交付的是网表,所以在RTL编码过程中,我们只有把握好一些编码原则,才能使得综合得到的网表,更加符合我们的预期了。


本文由久芯网www.9icnet.com编辑整理发布,请勿转载

目录
相关文章
|
4月前
|
Shell Linux 程序员
【Linux】Shell 命令以及运行原理
【Linux】Shell 命令以及运行原理
|
5天前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
27天前
|
分布式计算 Hadoop Shell
使用Shell命令操作HDFS
【8月更文挑战第5天】使用Shell命令操作HDFS。
35 5
|
8天前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
11天前
|
存储 Shell 分布式数据库
Hbase 的基本shell 命令
Hbase 的基本shell 命令
|
2月前
|
存储 Shell 分布式数据库
Hbase 的基本shell 命令
Hbase 的基本shell 命令
|
24天前
|
Shell Linux
shell命令-lsof
shell命令-lsof
|
2月前
|
Shell Linux Perl
shell 编程中 awk ,wc ,$0,$1 等 命令的使用总结
shell 编程中 awk ,wc ,$0,$1 等 命令的使用总结
39 0
|
2月前
|
敏捷开发 Shell 测试技术
阿里云云效产品使用合集之如何用私有构建机运行shell命令打出的镜像作为下一个阶段的入参
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
存储 Shell 数据安全/隐私保护
Shell 内建命令:Shell 的内在魔力
Shell 内建命令比外部命令执行快,不需额外进程。`type` 命令用来检查命令类型。内建命令如 `cd`、`alias` 和 `echo` 直接在 Shell 中执行,不涉及磁盘 I/O。`type` 示例展示了 `cd` 是内建的,`ifconfig` 是外部的。`bash` 包含多种内建命令,如 `cd` 用于切换目录,`alias` 定义别名,`read` 从输入读取数据。`echo` 默认加换行,`echo -n` 可避免。
38 5