Pblock是對一些邏輯實行物理上的約束,即把一些邏輯綁定到FPGA上固定的資源區(qū)域內(nèi)。它是優(yōu)化走線,改善時序的一種很重要方法。Pblock的大小限定了該邏輯單元使用的FPGA資源,pblock的位置限定了邏輯單元在FPGA中的位置。通常一個pblock大小不要超過總設計資源的20%。如果pblock占比資源很大,就要將一個pblock劃分給更底層的邏輯。
打開綜合后的設計,我們切換到floorplanning選項,這個時候我們可以看到綜合后的模塊以及device視圖。
從netlist中可以看到有兩個模塊,一個是頂層模塊adder,還有一個mult模塊。我們選擇mult模塊,然后右鍵,floor planning/draw Pblock,我們就可以手動去畫一個pblock。如下圖所示,我們?yōu)閜block命名,然后可以看到其包含的資源:154個slice和4個DSP。
我們可以從pblock property中看到被分配為pblock的mult模塊占用的資源:
我們放大device視圖可以看到pblock的區(qū)域,其中含有兩個矩形。外邊矩形表示pblock覆蓋的FPGA面積,內(nèi)層矩形表明了這個pblock占用的FPGA資源。也就是我們的mult模塊只能用內(nèi)層矩形中的資源大小。
我們對手動生成的pblock進行保存,可以將tcl約束保存到xdc文件中。在xdc中的約束表示為:
這里用到了三個命令:
Create_pblock用于生成一個pblock。
Add_cells_to_Pblock用于將設計中模塊添加到這個pblock中來。
Resize_pblock限定了pblock在FPGA中的位置。使用了slice的兩個點來限制了pblock的位置,同時還給定了dsp的位置。
-
dsp
+關(guān)注
關(guān)注
554文章
8058瀏覽量
349619 -
FPGA
+關(guān)注
關(guān)注
1630文章
21777瀏覽量
604795
發(fā)布評論請先 登錄
相關(guān)推薦
評論