1 / 48
文档名称:

FPGA开发流程及的设计工具.ppt

格式:ppt   大小:3,581KB   页数:48页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FPGA开发流程及的设计工具.ppt

上传人:平哥 2022/4/27 文件大小:3.50 MB

下载得到文件列表

FPGA开发流程及的设计工具.ppt

相关文档

文档介绍

文档介绍:结构层次化编码有如下注意事项:
(1)结构的层次不易太深,一般为3到5层即可。在综合时,一般综合工具为了获得更好的综合效果,特别是为了使综合结果所占用的面积更小,会默认将RTL代码的层次打平(Flatten)。
(2)顶层模块最好仅仅包含对结构层次化编码有如下注意事项:
(1)结构的层次不易太深,一般为3到5层即可。在综合时,一般综合工具为了获得更好的综合效果,特别是为了使综合结果所占用的面积更小,会默认将RTL代码的层次打平(Flatten)。
(2)顶层模块最好仅仅包含对所有模块的组织和调用,而不应该完成比较复杂的逻辑功能。较为合理的顶层模块由输入输出管脚声明、模块的调用与实例化、全局时钟资源、全局置位/复位、三态缓冲和一些简单的组合逻辑等构成。
(3)所有的I/O信号,如输入、输出和双向信号等的描述在顶层模块完成子模块之间也可以有接口,但是最好不要建立子模块间跨层次的接口,例如图中模块A1到模块B1之间不宜直接连接,两者需要交换的信号可以通过模块B的接口传递。这样做的好处是增加了设计的可读性和可维护性。
(4)子模块的合理划分非常重要,应该综合考虑子模块的功能、结构、时序、复杂度等多方面因素。
Date
41
第2章
模块划分的技巧(Design Partitioning)
结构层次化设计方法的第一个要点就是模块划分,模块划分非常重要,关系到能否最大程度上发挥项目成员协同设计的能力,更重要的是它直接决定着设计的综合、实现的耗时与效率。
⊿ 对每个同步时序设计的子模块的输出使用寄存器
⊿ 将相关和可以复用的逻辑划分在同一模块内
⊿ 将存储逻辑独立划分成模块
⊿ 合适的模块规模
Date
42
第2章
⊿对每个同步时序设计的子模块的输出使用寄存器(Registering)
这个原则也被称为用寄存器分割同步时序模块的原则。使用寄存器分割同步时序单元的好处是:便于综合工具权衡所分割的子模块中的组合电路部分和同步时序电路部分,从而达到更好的时序优化效果,这种模块划分符合时序约束的****惯,便于利用约束属性进行时序约束。
下图中综合工具必须去决定如何去优化逻辑B和逻辑C,让综合工具去做决定是不明智的。这种设计会导致设计更大、更慢。
没有考虑寄存器分割的例子
Date
43
第2章
使用了寄存器分割原则,逻辑B可以直接被优化,而不必考虑下级会连接什么模块,从而使设计稳定,并用可复用,模块1和模块2可以独立进行综合和测试,使整体性能得到保证 。
考虑寄存器分割原则的例子
Date
44
第2章
⊿将相关的逻辑或者可以复用的逻辑划分在同一模块内
上图中,寄存器A和寄存器C之间被分成三个不同的模块A、B和C,不利于综合及综合的优化和模块的复用。
下图中,相关的组合逻辑在同一个模块中驱动寄存器,在组合逻辑和寄存器之间没有层次化边界,从而提高了时序性能。
呼应系统原则的例子
Date
45
第2章
该原则有时被称为呼应系统原则。这样做的好处有:
---将相关的逻辑和可以复用的逻辑划分在同一模块,可在最大程度上复用资源,减少设计所消耗的面积。
---更利于综合工具优化某个具体功能的时序关键路径,其原因是,传统的综合工具只能同时优化某一部分的逻辑,而所能同时优化的逻辑的基本单元就是模块,所以将相关功能划分在同一模块将在时序和面积上获得更好的综合优化效果。
---可以将不同优化目标的逻辑分开。合理的设计目标应该综合考虑面积最小和频率最高两个指标。好的设计,在规划阶段设计者就应该初步规划了设计的规模和时序关键路径,并对设计的优化目标有一个整体上的把握。对于时序紧张的部分,应该独立划分为一个模块,其优化目标为“speed”,这种划分方法便于设计者进行时序约束,也便于综合和实现工具进行优化。例如时序优化的利器Amplify,以模块为单元进行物理区域约束,从而优化关键路径时序,以达到更高的系统工作频率就更为方便有效。
Date
46
第2章
⊿ 将存储逻辑独立划分成模块
RAM、ROM和FIFO等存储单元应该独立划分模块。这样做的好处是:便于利用综合约束属性显化指定这些存储单元的结构和所使用的资源类型,也便于综合器将这些存储单元自动类推为指定器件的硬件原语。另一个好处是在仿真时消耗的内存也会少些,便于提高仿真速度,这是因为大多数仿真器对大面积的RAM都有独特的内存管理方式,以提高仿真效率。
⊿ 合适的模块规模
从理论上将,模块的规模越大,越利于模块资源共享(Resource Sharing)。但是庞大的模块,将要求对综合器同时处理更多的逻辑结构,这将对综合器的处理能力和计算机的配置提