Spartan-6的一個(gè)Slice中包含8個(gè)觸發(fā)器(FFs),每個(gè)觸發(fā)器包括兩個(gè)控制信號(hào):CE、SR(只能用作Reset或Set之一),但這8個(gè)觸發(fā)器共用控制信號(hào)輸入端口,這一特性限制控制信號(hào)不同的觸發(fā)器在布局(Map)時(shí),不能優(yōu)化入同一Slice,正是基于此,Xilinx推薦對(duì)于低扇出的觸發(fā)器控制信號(hào)在代碼編寫(xiě)時(shí)盡量吸收進(jìn)觸發(fā)器D輸入端之前的LUT中,并在XST的綜合屬性選項(xiàng)中提供配置項(xiàng),讓XST綜合時(shí)自動(dòng)將低扇出的控制信號(hào)吸收進(jìn)觸發(fā)器D輸入端之前的LUT中,如下圖:
但是,對(duì)于設(shè)計(jì)中大量使用的門(mén)控型總線數(shù)據(jù),即滿足某種條件時(shí)寄存一組總線數(shù)據(jù),采用FDE的設(shè)計(jì)方式更有利于控制CE信號(hào)的扇出數(shù)量,基于此思路,特別試驗(yàn),代碼如下,其中DBUF_DOUT、CFGR_BUF即為32-bits的總線型數(shù)據(jù):
布局后,查看XST的Map Report中的Control Sets章節(jié),如下圖:
可以看到,CFGR_BUF[31:0]這組總線數(shù)據(jù)采用8個(gè)Slices實(shí)現(xiàn),每個(gè)Slice使用4個(gè)FFs,符合設(shè)計(jì)預(yù)期。
查看PAR后的Static Timing報(bào)告,可以看到,Static Timing報(bào)告中對(duì)CFGR_BUF_CE信號(hào)的扇出數(shù)量統(tǒng)計(jì)為9,即每個(gè)Slice的CE輸入端口統(tǒng)計(jì)為一個(gè)信號(hào)扇出,符合設(shè)計(jì)預(yù)期,如下圖:
綜合Xilinx用戶手冊(cè)介紹的原理和實(shí)際試驗(yàn)結(jié)果,可以得出如下結(jié)論:XST在對(duì)Spartan-6布局布線時(shí)一個(gè)Slice的SR、CE輸入端口統(tǒng)計(jì)為一個(gè)信號(hào)扇出負(fù)載。
審核編輯:黃飛
-
Xilinx
+關(guān)注
關(guān)注
71文章
2163瀏覽量
121005 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1995瀏覽量
61051 -
控制信號(hào)
+關(guān)注
關(guān)注
0文章
162瀏覽量
11948
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論