Intel FPGA Clock Region概念以及用法
阿新 • • 發佈:2020-05-23
[TOC]
## Intel FPGA 的Clock Region概念
FPGA裡面有著大量的邏輯資源,DSP,Memory,PLL,硬核IP,佈線資源等。 我們可以用這些資源來實現我們的設計。當設計佔用的資源過多時,佈線資源將會變得擁塞,設計的Fmax將沒那麼容易提高。
本筆記將從 Clock Region這一小視角,來分析和理解硬體資源
許多大型FPGA提供了 專用的全域性時鐘網路,區域時鐘網路,專用的快速區域時鐘網路等。這些層次化的時鐘結構將允許在不同裝置區域的多個時鐘得到一個較低的延遲和抖動。
## Intel 不同系列FPGA 的Clock Region
我們可以用Quartus 的chip planner 來檢視不同型號FPGA的硬體資源:
#### 1. Clock Region Assignments in Intel Stratix 10 Devices
![](https://gitee.com/deezeng/picbed/raw/master/img/20200427103641.png)
每個sector 有編號。約束的時候 可以以 SX# SY#去約束
#### 2. Clock Region Assignments in Intel Agilex Devices
#### 3. Clock Region Assignments in Intel Cyclone V SX Devices
##### 3.1 Spine Clock Region
##### 3.2 Periphery Clock Region
##### 3.3 Quadrant Clock Region
##### 3.4 Regional Clock Region
##### 3.5 Global Clock Region
## Clock Region的用法
首先 Quartus 可以自動佈線來決定Clock Tree的位置和大小。然後我們也可以直接的對Clock Tree 進行約束,比如使用Clock Region Assignment 或用 LogicLock來約束
#### 如何用?
我想到一個使用場景,並實際應用了一下:(example) 在 Agilex 中需要對DDR4做一個Logiclock約束
如果沒理解Clock Region 之前,我們可能起始位置和結束位置,就照著IO分佈和需求大概畫一個。
這次,我畫LogicLock區域的時候,剛好以clock Region 的邊界為起始。
這樣就能將DDR4 塞到儘量少的 Clock Region 中(資源夠的情況下減少跨clock region)。 雖說資源多,但同一個clock region 中需要兼顧的logic多了,總會互相擠佔佈線資源。
[參考連結](https://www.intel.cn/content/www/cn/zh/programmable/documentation/sbc1513987577203.html#mwh1409959