AN 738:Intel® Arria® 10器件设计指南

ID 683555
日期 6/30/2017
Public
文档目录

1.6.5. 寄存器上电电平与控制信号

表 51.  寄存器上电电平与控制信号检查表
编号 是否完成? 检查表项目
1   如果需要,使能芯片全(chip-wide)复位以清零所有寄存器。
2   需要考虑可用于寄存器上电和控制信号的资源。不要对一个寄存器同时应用复位和预置信号。

Arria® 10器件支持可选的全芯片复位特性,可以覆盖所有器件寄存器的所有清零,包括存储器模块的寄存器在内(但无法覆盖存储器内容本身)。当此DEV_CLRn管脚被驱动为低电平时,所有寄存器清零或复位为0。如果由于寄存器控制信号的缘故,综合功能执行一种被称为NOT-gate-push back的优化,那么当DEV_CLRn被驱动为低电平时,受影响的寄存器表现为如同它们已被预置为高电平值。当DEV_CLRn管脚被驱动为高电平时,所有寄存器将按照编程设置动作。要使用此全芯片复位功能,在进行设计编译前,从 Quartus® Prime软件的Device and Pin Options对话框的General类别中使能Enable device-wide reset (DEV_CLRn)

每个 Arria® 10逻辑阵列模块(LAB)还包含将寄存器控制信号驱动至其ALM的专用逻辑。由于寄存器控制信号在LAB中是共享的,因此会限制寄存器在LAB中的封装方式。请注意控制信号应使用器件架构中的专用控制信号,所以有些情况下可能需要限制设计中使用的不同控制信号的数量。

如果在复位时时钟信号不可用,通常使用异步复位对逻辑进行复位。此推荐复位体系结构允许复位信号异步置位和同步取消置位。然后将复位信号源连接寄存器的异步部分,进而直接连接全局布线资源。同步取消置位允许所有状态机和寄存器同时启动。它还能避免异步复位信号在触发器的有效时钟沿位置或其附近释放,否则触发器的输出可能变为未知的亚稳定状态。

默认情况下, Quartus® Prime的集成综合功能会启用称为Power-Up Don’t Care的逻辑选项,该选项假定您的设计不依赖器件体系结构的上电状态,允许软件移除保持在高位的寄存器。其他综合工具可能使用类似假设。

设计师通常在设计中使用显式复位信号在复位后(不一定在上电时)强行将所有寄存器置于相应的值。可以创建这样的设计:即异步复位时电路板可以在安全状态下工作。然后通过激活复位使设计恢复运行。这样就不必依赖器件的上电状态。

如果要强行使设计达到某种上电状态,不妨使用综合工具中提供的综合选项。

部分综合工具还可读取源代码中寄存信号的默认值或初始值,并在器件中实现此操作。例如, Quartus® Prime中集成的综合功能可将寄存信号的HDL默认值和初始值转换为Power-Up Level设置。这样就使综合后的行为与功能仿真过程的HDL代码的上电状态一致。

器件内核中的寄存器上电后在物理器件体系结构中始终处于低逻辑电平(0)。如果指定高上电电平或非零复位值(通常称为预置信号),综合工具通常会使用寄存器中提供的清零信号(clear signal)执行被称为NOT-gate push back的优化。

如果为复位在低位的寄存器指定高上电电平,或为预置为高位的寄存器指定低上电电平值,则综合工具无法使用NOT-gate push back优化技术,可能会忽略上电条件。

为能在同一个寄存器中实现复位和预置信号,由于不同的寄存器连接路径之间的延时不同,综合工具需对容易出现毛刺的逻辑和锁存器控制进行模拟。此外,这些寄存器未定义上电值。