Design Compiler 相关
"Design Compiler 相关" Design Compiler 是 Synopsys 公司用于电路综合的核心工具,它可以方便地将 HDL 语言描述的电路转换到基于工艺库的门级网表。本章将初步介绍综合的原理以及使用 Design Compiler 做电路综合的全过程。 综述 -------- 综合是使用软件的方法来设计硬件,然后将门级电路实现与优化的工作留给综合工具的一种设计方法。它是根据一个系统逻辑功能与性能的要求,在一个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个逻辑网络结构的最佳实现方案。即实现在满足设计电路的功能、速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。 综合主要包括三个阶段:转换(translation)、映射(mapping)与优化(optimization)。综合工具首先将 HDL 的描述转换成一个与工艺独立(technology-independent)的 RTL 级网表(网表中 RTL 模块通过连线互联),然后根据具体指定的工艺库,将 RTL 级网表映射到工艺库上,成为一个门级网表,最后再根据设计者施加的诸如延时、面积方面的约束条件,对门级网表进行优化。 不同的抽象层次 ------------- 设计的不同的抽象层次如图 2 所示,随着抽象层次的升高,设计者对于最终硬件(门和触发器)的控制能力越来越小。设计者可以在上述的三个层次用 HDL 语言描述他的设计,根据 HDL 语言描述的层次的高低,综合也相应的可以分为逻辑级综合、RTL 级综合以及行为级综合。 逻辑级综合 ---------- 在逻辑级综合中,设计被描述成布尔等式的形式,触发器、锁存器这样的基本单元采用元件例化(instantiate)的方式表达出来。下面是一个加法器的逻辑级描述,输出寄存器如下所示,对比一下不难看出,逻辑级描述实际上已经暗示了综合以后的网表。 RTL 级综合 ---------- 与逻辑级综合不同,在 RTL 级综合中,电路的数学运算和行为功能分别通过 HDL 语言特定的运算符和行为结构描述出来。对于时序电路,我们可以明确的描述它在每个时钟边沿的行为。下面同样是一个加法器的描述,它综合以后的网表如下所示—— 注意到,图 3 中的三个触发器不是例化而是通过 HDL 的特定结构推断出来的。这种推断是根据一些推断法则(Inference rule)进行的,例如在这个例子中,当一个信号(变量)在时钟的边沿进行赋值(always 语句),那么这个信号(变量)可以推断为一个触发器。 行为级综合 ---------- 行为级综合比 RTL 级综合层次更高,同时它描述电路也越抽象,在 RTL 级中,电路在每个时钟边沿的行为必须确切的描述出来,而行为级描述却不是这样,这里没有明确规定电路的时钟周期,推断法则也不是用来推断寄存器。电路的行为可以描述成一个时序程序(sequential program),综合工具的任务就是根据指定的设计约束,找出哪些运算可以在哪个时钟周期内完成,需要在多个周期内用到的变量值需要通过寄存器寄存起来。 例如,假设一次加法操作(加法器)需要 5ns 的延时并且假设系统的时钟是 6ns,那么可以看出执行完上述操作需要 3 个周期的时间。另外,所有的三个加法语句可以通过重用一个加法器来实现,而且只需要一个叫做 Tree 的寄存器保存中间变量的值(不同时钟周期的变量值)。这种假设下的电路结构图如图 4 所示,控制器的时序关系如图 5 所示。 如果改变约束条件,假设时钟周期是 11ns,那么完成全部操作仅需 2 个周期,同时需要 2 个加法器,图 6 和图 7 分别是此时的电路结构图和控制器时序图。 Design Compiler 的位置 ------------------------- Design Compiler 是 Synopsys 公司用于电路综合的核心工具,它位于综合的中间阶段,连接_hdl 语言描述的电路和工艺库之间,提供了从行为级描述到门级网表的转换。 Design Compiler 是一个功能强大且灵活的电路综合工具,为设计者提供了从行为级描述到门级网表的转换,能够满足不同的设计需求和约束条件。
剩余113页未读,继续阅读
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助