格子博客bob88体育登陆

分享:

FPGA设计中计时约束的重要性

FPGA设计中计时约束的重要性
发布06/07/2021由Eugen Krassin

发布了

“LEC2 Workbench”将是一系列持续的技术博客帖子,专注于使用格子产品的应用开发。bob88体育登陆该职位由FPGA设计专家提供撰写格子教育能力中心(LEC2),完整的培训和教育计划,与莱迪思半导体密切合作。bob投注软件培训计划将包括整个格子半导体FPGA和解决方案堆栈组合,包括设计工具和方法。bob投注软件

在芯片设计的早期,平均的低功耗FPGA包括几千个查找表(lut)。然而,随着深亚微米制造技术的进步,今天的低功耗fpga可以支持100K或更多LUTS。bob电子竞技俱乐部这些更复杂的fpga结合了处理器、内存块和其他IP(知识产权)块。这种增加的复杂性需要一个结构良好的设计流,该设计流是可伸缩的,并为FPGA设计者提供足够的灵活性来定义无缝的设计方法。

FPGA开发的首要目标是设计出符合应用程序性能要求的安全可靠的电路。因此,FPGA设计周期中最重要的步骤之一是正确地指定和验证设计的时序约束,以确保它们针对模块的时序和性能要求进行了优化。这也适用于无约束路径,因为验证失败意味着它们不仅不会被优化,而且也不会被报告。幸运的是,Lattice Radiant®设计软件包括FPGA开发人员需要的工具来满足这两个要求。

时序约束

定时参数的规范和验证的基本路径类型是从时钟元素启动和结尾的路径。这种类型的路径可以存在于典型的FPGA设计中的不同位置。让我们来看看一些例子。

FPGA输入路径(示例1)

FPGA输入路径(示例1)

在上面的示例中,FPGA的输入信号由外部组件生成。通常,CLKA和CLKB时钟是不同的。

FPGA输入路径(示例1)代码块

辐射时序约束编辑器为用户提供适当的模板,可显着降低输入参数所需的努力。

FPGA内部路径(例2)

上面描述的一般路径类型在下面的图片中可见。

FPGA内部路径(例2)

与实施例1相反,源和目的地触发器现在在FPGA内部。这里的差异是,除了时钟规范之外,没有必须指定进一步的定时参数,因为辐射软件已经知道内部定时参数值。以下规范通常是足够的。

FPGA内部路径(示例2)代码块1

但是可以有例外。在最简单的情况下,定时约束定义要开发系统中的时钟(或时钟)的工作频率。然而,并非设计中的所有时钟都具有可以更详细地分析的时序关系。异步时钟是一个示例,因为它不可能精确地确定它们的阶段。

  • 同步时钟具有可预测的定时/相位关系。这通常是主要时钟的情况及其导数时钟,因为两者都基于共同的一代(根)并具有常见的时期。
  • 异步时钟没有可预测的时间/相位关系。这种情况经常发生在不同的主杆,以及由它们衍生出来的杆。异步时钟基于不同的根。

您可以在约束文件的帮助下设置周期路径与周期组声明之间的关系。例如,如果在FPGA中使用两个异步时钟(CLKB1和CKKB2),则可以使用以下规范。

FPGA内部路径(示例2)代码块2

在典型的FPGA设计中,我们还必须处理所谓的定时异常(也称为多周期路径)。定时异常是每隔一个时钟周期才需要的结果。例如,在下面的图表中,信号EN只会在每秒钟出现一次

FPGA内部路径(示例2)图2

当两个时钟都是同步时,定时异常的另一个例子是从较慢到更快的时钟系统(反之亦然)的数据传输。最后,假路径也可以被视为一种定时异常。

FPGA内部路径(示例2)代码块3

通过提前识别时序异常,定时引擎可以专注于优化更多关键路径以提供更高质量的结果。

FPGA输出路径(示例3)

FPGA输出路径(示例3)

在上面的示例中,FPGA的输出信号从外部组件接收额外的处理。通常,时钟CLKB和CLKC是不同的,但它们也可以是相同的。

FPGA输出路径(示例3)代码块

在本例中,Radiant Timing Constraints Editor为用户提供了合适的模板,并显著减少了输入参数所需的工作量。

时序约束分析

辐射软件包括定时分析器,用于检查指定的定时参数。分析仪可以创建一个报告,显示所有指定和无约束时序路径的结果和分析。定时约束编辑器与定时分析器的组合使得优化FPGA更容易。

Eugen Krassin是格子教育能力中心(LEC2)的总裁兼创始人

分享:

与大多数网站一样,我们使用cookie和类似的技术来增强您的用户体验。我们还允许第三方在我们的网站上放置Cookie。通过继续使用本网站,您同意使用cookie,如我们所述Cookie政策