Pblock是對(duì)一些邏輯實(shí)行物理上的約束,即把一些邏輯綁定到FPGA上固定的資源區(qū)域內(nèi)。它是優(yōu)化走線,改善時(shí)序的一種很重要方法。Pblock的大小限定了該邏輯單元使用的FPGA資源,pblock的位置限定了邏輯單元在FPGA中的位置。通常一個(gè)pblock大小不要超過(guò)總設(shè)計(jì)資源的20%。如果pblock占比資源很大,就要將一個(gè)pblock劃分給更底層的邏輯。
打開(kāi)綜合后的設(shè)計(jì),我們切換到floorplanning選項(xiàng),這個(gè)時(shí)候我們可以看到綜合后的模塊以及device視圖。

從netlist中可以看到有兩個(gè)模塊,一個(gè)是頂層模塊adder,還有一個(gè)mult模塊。我們選擇mult模塊,然后右鍵,floor planning/draw Pblock,我們就可以手動(dòng)去畫一個(gè)pblock。如下圖所示,我們?yōu)閜block命名,然后可以看到其包含的資源:154個(gè)slice和4個(gè)DSP。

我們可以從pblock property中看到被分配為pblock的mult模塊占用的資源:

我們放大device視圖可以看到pblock的區(qū)域,其中含有兩個(gè)矩形。外邊矩形表示pblock覆蓋的FPGA面積,內(nèi)層矩形表明了這個(gè)pblock占用的FPGA資源。也就是我們的mult模塊只能用內(nèi)層矩形中的資源大小。

我們對(duì)手動(dòng)生成的pblock進(jìn)行保存,可以將tcl約束保存到xdc文件中。在xdc中的約束表示為:

這里用到了三個(gè)命令:
Create_pblock用于生成一個(gè)pblock。
Add_cells_to_Pblock用于將設(shè)計(jì)中模塊添加到這個(gè)pblock中來(lái)。
Resize_pblock限定了pblock在FPGA中的位置。使用了slice的兩個(gè)點(diǎn)來(lái)限制了pblock的位置,同時(shí)還給定了dsp的位置。
-
dsp
+關(guān)注
關(guān)注
556文章
8158瀏覽量
357647 -
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618592
發(fā)布評(píng)論請(qǐng)先 登錄
使用PBLOCK來(lái)約束我設(shè)計(jì)的一部分,請(qǐng)問(wèn)如何將用戶定義的單元格(對(duì)于特定的pblock)放在其中?
區(qū)域限制地點(diǎn)和組關(guān)閉不起作用
pblock_a中有一些BRAM沒(méi)有使用,那么其他模塊可以使用嗎
如何生成跨越Pblock邊界的網(wǎng)絡(luò)文本列表?
Vivado 2017.4 PBLOCK問(wèn)題
如何通過(guò)pblock限制路由
FPGA設(shè)計(jì)工具淺談
淺談鋼鐵行業(yè)中PLC網(wǎng)關(guān)的應(yīng)用

淺談電力控制系統(tǒng)中PLC網(wǎng)關(guān)的應(yīng)用

評(píng)論