当我的设计包含ALTUFM_SPI宏功能时,为什么会出现时钟偏差或设置并保持违规消息?

如果您没有为ALTUFM_SPI时钟定义时钟设置,编译使用ALTUFM_SPI宏功能通过串行外设接口访问用户闪存(UFM)的MAX®II设计会在Quartus®II5.0版中产生以下警告消息信号:警告:电路可能无法运行。检测到由时钟“sck”计时的23个非操作路径,时钟偏差大于数据延迟。

如果您确实为ALTUFM_SPI时钟信号定义了时钟设置,则此类设计会产生以下消息:

警告:无法沿11条路径实现最小的设置和保持要求<时钟馈送sck端口>。

该消息是由于宏功能中的LE寄存器与UFM数据输出寄存器之间的时钟保持检查不正确所致。 UFM寄存器的保持时间要求比源LE寄存器的保持时间长。 ALTUFM_SPI宏功能使用相反的时钟边沿用于源和目标寄存器,以确保满足建立和保持时间。出现警告消息是因为Quartus II时序分析器默认使用连续的上升时钟沿,软件计算保持时间,但没有关于ALTUFM_SPI宏功能内双边时钟的信息。此问题不会影响接口操作,您可以安全地忽略此警告消息。

进行以下时序分配以消除与此问题相关的消息:

  1. 为SCK时钟端口创建时钟设置,并指定8 MHz或更低的FMAX要求。
  2. 在UFM数据寄存器上,进行以下分配:
    1. 在“任务”菜单上,选择“分配编辑器”:
    2. 为UFM寄存器创建一个值为ON的反转时钟分配(典型的后综合名称以maxii_ufm_block1_drdout结尾)。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-03 22:21:20 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它