![]() |
|
||||||||||||||
| . 网站首页 . 产品新知 . 业界资讯 . 技术文库 . 下载中心 . 服务导航 . 邮购需知 . 技术论坛 . | ||
|
||
|
|||||
| 用抽象方法加快IC设计流程(四) | |||||
作者:Taher Ab… 文章来源:电子系统设计 点击数: 更新时间:2008-4-15 ![]() |
|||||
|
POCA编码 如上所述,用于体系结构综合的HDL编码样式被称为Pin输出周期精确法POCA(pins-out-cycle-accurate)。这种编码样式可以使用任意一种流行HDL来编写,包括Verilog、VHDL、SystemVerilog、Superlog、SystemC和CoWare C。 POCA的基本前提是要创建的模块的输入和输出事务(读和写)被明确固定在时钟周期时间内,而所有的相关计算可以在优化期间移动。因此,模块的I/O协议在优化前后是相同的。这就克服了行为综合中出现的主要难题――模块之间的I/O协议不断变化,总是不一致。 用于POCA样式HDL编码的语言结构与用于基于RTL设计的语言结构基本上相同。虽然POCA中循环较为常用,但是关键差异在于POCA中时钟边沿较常用。RTL代码受每个工艺一个时钟边沿的限制,并且时钟边沿必须位于工艺的开头。 相反,POCA允许的时钟边沿不受限制。它们可以分散在整个工艺中。以POCA样式Verilog编码的简单滤波器设计使用许多常见的RTL结构(图2)。随附的控制流程图(CFG)已提供循环和数据操作的注解。设计工程师将实现这个图形视图来了解由体系结构综合建立的自动微体系结构。 运行综合 体系结构综合工具与RTL综合工具的操作方式和控制方式基本相同。它们可以使用相同的技术库和定时限制类型并且生成相同类型的结果报告。本论述将仅集中在差异上,但是大多数环境几乎与基于RTL的环境完全相同。
体系结构综合所作的设计变换比RTL综合所作的要“大”,这是因为前者不受单个微体系结构解决方案空间的限制。体系结构综合所执行的两种优化变换包括调度和资源分配。 调度过程将每个操作指定给一个时钟周期。它执行定时分析、查看时钟周期和时钟树,然后将操作分布在各个时钟周期中。如果某个值超过了周期边界,则该值会被保存在寄存器中。为了避免多周期操作,它将复杂的操作分割成多个周期。调度过程检查定时违例并且通过重新调度操作来修正这些违例。 另一方面,资源分配过程确定可用于给定实现的资源数量和类型。它建立FSM来控制这些资源的使用,并且生成一组寄存器或者内存块来存储中间值。如果可能的话,它会复用寄存器、功能和操作器等硬件资源。 此外,体系结构综合工具还提供几个RTL综合无法提供的功能,如链接、流水线处理、内存推断、资源共享和寄存器共享。这些优化变换在许多主题为高级综合的书籍中都有说明。 在基于RTL的设计中,设计工程师必须执行调度和资源分配任务。通过体系结构综合所提供的自动化,这些任务的结果必须传递给想要或者需要了解模块实现细节的设计工程师。说明结果的最简单方法是使用设计抽象或者设计视图,但是可能并非所有设计工程师都熟悉这些抽象或者视图。这些视图包括控制流程图和数据流程图(DFG)。 查看设计的一个方法是将该设计看成由三条信息组成:what、when和where。一个设计的特性是通过想要的行为(what)描述的,设计可映射至时间(when),并且通过特定结构(where)来实现。DFG压缩了想要的行为,而控制流程图精简了定时信息。在设计细化期间,体系结构综合从高级HDL代码中抽取CFG和DFG。在体系结构综合的调度阶段,这两个图被链接起来,并且设计优化得以执行。在分配阶段,体系结构综合最终将硬件资源分配给各个操作。 体系结构综合工具提供用来图示设计的CFG和DFG视图的用户界面以及较常见的源代码、层次结构和门级视图。这些视图全部超链接在一起,以便它们的关系容易被理解。 体系结构综合工具的处理步骤是以通常连续的方式进行的,并且在不同的优化步骤中隐藏了许多迭代(图3)。输入包括POCA样式HDL代码、实现限制以及工艺库(与用于RTL综合的相同)。输出可以在多个抽象级别生成,包括优化的POCA样式调度设计、RTL或者门级。
作者:Taher Abbasi |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|