1. 程式人生 > 其它 >時鐘資源

時鐘資源

Xilinx的7系列時鐘輸入有SRCC和MRCC。在手冊上有描述,SRCC可用於本時鐘區域,MRCC用於本時鐘區域和相鄰時鐘區域。單看這個就有些困惑了,那難不成還連線不到全域性時鐘了。官方手冊中有下面這個圖,可以看出SRCC和MRCC都是可以連線到全域性時鐘的。這個圖由於有點具體,不太好理解。

看下面這個圖,首先MRCC和SRCC都是可以連線到全域性時鐘的,但是全域性時鐘的資源有限。如果程式較大都使用全域性時鐘的話,那時鐘資源就不夠用了。SRCC可用於本區域時鐘這個比較好了解,MRCC用於相鄰的區域該這麼理解,MRCC通過不同於全域性時鐘的渠道可以到達相鄰的區域。雖然通過手冊可以看到晶片的各個區域分佈,但是這個還是最好交給EDA自己優化。如下圖BANK1和BANK3可以使用BANK2的MRCC分上來的時鐘,沒必要先將BANK2的MRCC連線到全域性時鐘再連線到BANK1和BANK3,這樣不但節省了全域性時鐘資源,而且路徑更短。

1)BUFR是區域時鐘緩衝器,要進入區域時鐘網路,必須例化BUFR。

2)bufg和bufr都要ccio驅動 包括bufg。(clock capable io)。普通io無法驅動bufg和bufr。

3)一個design,如果不例化bufg,或者bufr,直接定義一個input clk,則會在綜合階段自動插入bufg。

4)一個design的時鐘,不僅可以由bufg驅動,也能由bufr和bufio驅動。

5)ccio = MRCC + SRCC.

看下面這個圖,首先MRCC和SRCC都是可以連線到全域性時鐘的,但是全域性時鐘的資源有限。如果程式較大都使用全域性時鐘的話,那時鐘資源就不夠用了。SRCC可用於本區域時鐘這個比較好了解,MRCC用於相鄰的區域該這麼理解,MRCC通過不同於全域性時鐘的渠道可以到達相鄰的區域。雖然通過手冊可以看到晶片的各個區域分佈,但是這個還是最好交給EDA自己優化。如下圖BANK1和BANK3可以使用BANK2的MRCC分上來的時鐘,沒必要先將BANK2的MRCC連線到全域性時鐘再連線到BANK1和BANK3,這樣不但節省了全域性時鐘資源,而且路徑更短。

另,文章引用:

Xilinx 7 Series FPGA時鐘網路的區別(BUFG,BUFGR,BUFIO)​xilinx.eetrend.com/d6-xilinx/blog/2016-01/9758.html

當Xilinx 7Series FPGA中,存在3種主要的時鐘網路:BUFG,BUFR,BUFIO以及他們所衍生出的各種變種。那麼他們有什麼主要特點和區別呢?

BUFIO是IO時鐘網路,顧名思義,它只能驅動IO Block裡面的邏輯,不能驅動CLB裡面的LUT,REG等邏輯。BUFIO可以被如下節點驅動:

1、SRCCs and MRCCs in the same clockregion
2、MRCCs in an adjacent clock regionusing BUFMRs
3、MMCMs clock outputs 0-3 driving theHPC in the same clock region

BUFR是regional時鐘網路,顧名思義,它的驅動範圍只能侷限在一個clock region的邏輯,但是它可以同時驅動IO和內部邏輯。BUFR可以被如下節點所驅動:

1、所有能驅動BUFIO的節點
2、MMCMs clock outputs 0-3
3、General interconnect

BUFIO和BUFR的主要區別可以用下圖概括:

BUFG是全域性時鐘網路,這個大家最熟悉了,它可以驅動所有的IO和邏輯,並且可以被Transceiver所驅動。

那既然有BUFG了還需要BUFR做什麼呢?

BUFR相比BUFG的最大優勢是skew和功耗都比較小,在源同步的設計中,這一點也是很關鍵的。