最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

FPGA可编程逻辑器件芯片EP4SGX70HF35I2中文规格书

IT圈 admin 60浏览 0评论

2024年7月16日发(作者:蛮幻巧)

Hyperflex

体系结构

RTL

设计指南

S10HPHB | 2020.07.13

2.2.2.1. 本地化时钟使能

本地化时钟使能有一个小扇出。本地化时钟使能经常出现在时钟化进程(clocked process)中或者永

久模块(always block)中。在这些情况下,信号的行为在有条件的

case

if

声明语句的特定分

支下是未定义的。因此,信号保留其以前的值,此值是一个时钟使能。

要检查一个设计是否有时钟使能,请查看Fitter Report > Plan Stage > Control Signals

Compilation report and check the Usage列。由于本地化时钟使能有一个小扇出,因此会很容

易地对其重定时,通常不会导致任何时序问题。

2.2.2.2. 高扇出时钟使能

要尽量避免高扇出信号。高扇出时钟使能驱动大量逻辑。逻辑的数量非常大,以至于您重新定时的

寄存器会根据其特定需求在时钟启用路径上下推或上拉寄存器。这种推拉可能导致沿时钟使能线的

冲突。这种情况类似于

同步复位汇总

部分中的主动重定时(aggressive retiming)。该部分讨论的一

些方法,如复制使能逻辑,也有助于解决沿时钟使能线的冲突。

您通常使用这些高扇出信号来禁止运行大量逻辑。 FIFO的满标志变高时可能会出现这些信号。您

可以经常设计这些信号。例如,您可以设计FIFO以提前几个时钟周期指定almost full,并允许时

钟使能几个时钟周期以传播回禁用的逻辑。如有必要,您可以将这些额外的寄存器重定时到逻辑

中。

相关链接

同步复位汇总 (第128页)

2.2.2.3. 带时序异常的时钟使能

Compiler不能重定时那些是多周期或者假路径时序异常的端点的寄存器。时钟使能有时用于创建以

主时钟频率的一半或四分之一运行的子域。有时这些时钟能够控制一条单一路径,其逻辑每隔一个

周期都会改变。因为您通常使用时序异常来缓解时序,所以这种情况不是一个问题。如果时钟使能

验证长数据路径和慢数据路径,并且该路径仍然遇到时序问题,那么要在数据路径中添加一个寄存

器阶段。删除路径上的多周期时序约束。 Hyper-Aware CAD流程允许Retimer重新定时路径以

改善时序。

2.2.3. 综合期间保留寄存器

您可以指定实体级别的分配和综合属性,用于在综合处理期间保留特定的寄存器。

例如,Preserve Registers in ynthesis assignment保留在综合期间分配的寄存器,而不会

限制Hyper-Retiming优化。同样,您可以指定

dont_merge

preserve_syn_only

综合

属性以保留寄存器,而不限制重定时优化,如下例所示。

logic hip_data; /* synthesis preserve_syn_only */

(*preserve_syn_only*) logic hip_data;

Preserve Registers assignment

也保留寄存器,但不支持所分配的寄存器的Hyper-Retimer

优化。当想要保留一个寄存器用于调试可观察性时,此assignment很有用。

通过点击Assignments > Assignment Editor,修改

.qsf

文件,或者在RTL中指定综合属

性来指定以下任何的综合保留分配。

反馈

2024年7月16日发(作者:蛮幻巧)

Hyperflex

体系结构

RTL

设计指南

S10HPHB | 2020.07.13

2.2.2.1. 本地化时钟使能

本地化时钟使能有一个小扇出。本地化时钟使能经常出现在时钟化进程(clocked process)中或者永

久模块(always block)中。在这些情况下,信号的行为在有条件的

case

if

声明语句的特定分

支下是未定义的。因此,信号保留其以前的值,此值是一个时钟使能。

要检查一个设计是否有时钟使能,请查看Fitter Report > Plan Stage > Control Signals

Compilation report and check the Usage列。由于本地化时钟使能有一个小扇出,因此会很容

易地对其重定时,通常不会导致任何时序问题。

2.2.2.2. 高扇出时钟使能

要尽量避免高扇出信号。高扇出时钟使能驱动大量逻辑。逻辑的数量非常大,以至于您重新定时的

寄存器会根据其特定需求在时钟启用路径上下推或上拉寄存器。这种推拉可能导致沿时钟使能线的

冲突。这种情况类似于

同步复位汇总

部分中的主动重定时(aggressive retiming)。该部分讨论的一

些方法,如复制使能逻辑,也有助于解决沿时钟使能线的冲突。

您通常使用这些高扇出信号来禁止运行大量逻辑。 FIFO的满标志变高时可能会出现这些信号。您

可以经常设计这些信号。例如,您可以设计FIFO以提前几个时钟周期指定almost full,并允许时

钟使能几个时钟周期以传播回禁用的逻辑。如有必要,您可以将这些额外的寄存器重定时到逻辑

中。

相关链接

同步复位汇总 (第128页)

2.2.2.3. 带时序异常的时钟使能

Compiler不能重定时那些是多周期或者假路径时序异常的端点的寄存器。时钟使能有时用于创建以

主时钟频率的一半或四分之一运行的子域。有时这些时钟能够控制一条单一路径,其逻辑每隔一个

周期都会改变。因为您通常使用时序异常来缓解时序,所以这种情况不是一个问题。如果时钟使能

验证长数据路径和慢数据路径,并且该路径仍然遇到时序问题,那么要在数据路径中添加一个寄存

器阶段。删除路径上的多周期时序约束。 Hyper-Aware CAD流程允许Retimer重新定时路径以

改善时序。

2.2.3. 综合期间保留寄存器

您可以指定实体级别的分配和综合属性,用于在综合处理期间保留特定的寄存器。

例如,Preserve Registers in ynthesis assignment保留在综合期间分配的寄存器,而不会

限制Hyper-Retiming优化。同样,您可以指定

dont_merge

preserve_syn_only

综合

属性以保留寄存器,而不限制重定时优化,如下例所示。

logic hip_data; /* synthesis preserve_syn_only */

(*preserve_syn_only*) logic hip_data;

Preserve Registers assignment

也保留寄存器,但不支持所分配的寄存器的Hyper-Retimer

优化。当想要保留一个寄存器用于调试可观察性时,此assignment很有用。

通过点击Assignments > Assignment Editor,修改

.qsf

文件,或者在RTL中指定综合属

性来指定以下任何的综合保留分配。

反馈

发布评论

评论列表 (0)

  1. 暂无评论