如何在LatticeECP3器件中有效使用次区域时钟?

对于LatticeECP3器件,总共有8个SECONDARY时钟。

每个SECONDARY时钟可以进一步划分为REGION时钟。

SECONDARY时钟根据器件密度分为不同大小的REGION。

例如,在LatticeECP3-150中,每个SECONDARY可以分为6 x 6个区域,可以用作36个不同的本地时钟。

  1. 根据时钟负载,可以将时钟分配给一个或多个级联区域。
    辅助时钟资源也可以用作时钟使能和本地复位。

    要使用SECONDRY区域时钟,必须首先在首选项文件(* .lpf)中定义区域,然后为该区域分配时钟网络。

    分配区域后,布局布线工具将遵循区域分配,将相关的顺序元素放置到指定的区域。

    用户有责任确保区域已正确分配,但首选项检查程序和布局布线工具会对无效的分配发出警告或错误。

    以下是分配时钟以使用辅助区域时钟资源的示例:
  2. 定义区域:
    REGION“< region_name>”
CLKREG“CLKREG_R1C1”6 3; 。其中< region_name>。是该地区的名称; 。CLKREG“CLKREG_R1C1”2 3定义该区域。 。CLKREG_R1C1定义区域的原点,即从左上角区域的R1C1(ECP3 -150设备的总共6 x 6)开始。 。“2 3”定义了该区域的大小,即2×3级联区域。 。要将区域定义为左下方块,语法如下: 。REGION“< region_name>” 。CLKREG“CLKREG_R6C6”1 1; 。将时钟分配到定义的区域: 。使用SECONDARY NET“< clock_name>” 。REGION“< region_name>”;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 11:22:28 +0800

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

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