Verilog代碼和FPGA硬件的映射關係(四)

    其實在FPGA的開發中理想狀況下FPGA之間的數據要經過寄存器輸入、輸出,這樣才能使得延時最小,從而更容易知足創建時間要求。咱們在FPGA內部硬件結構中得知,IOB內是有寄存器的,且IOB內的寄存器比FPGA內部的寄存器更靠近外部的輸出管腳,這樣就可以獲得更小的延時,從而使時序更好。咱們能夠看到在沒有指定的狀況下寄存器的映射都是隨機的,那麼問題來了,如何才能指定寄存器映射到IOB中呢?咱們依然用異步復位D觸發器的例子來給你們演示。異步

    如圖1所示,咱們回到工程界面點擊Assignment Editor」圖標來約束寄存器映射的位置。佈局

 

1學習

    如圖2所示,在打開的Assignment Editor」界面中點擊「To」下面的「<<new>>」添加要約束的項。spa

 

23d

       點擊如圖3所示的望遠鏡圖標,打開Node Finder」。blog

 

3ip

    在打開的Node Finder」界面中咱們找到信號的輸入key_in,如圖4所示,根據序號順序,在①處的「Named :」選項框中輸入「*」,點擊 ②處的「List」,在③處的「Node Found :」列表中就會列出名爲key_in 的信號,雙擊③處key_in 信號或點擊圖標④,key_in 信號就被添加到⑤處的「Selected Nodes:」中了。若是咱們想取消⑤處選擇的信號則在「Selected Nodes:」選中該信號後點擊圖標⑥便可。設置完畢後點擊「OK」退出。資源

 

4開發

    如圖5所示,設置Assignment Name」,下拉列表找到「Fast Input Register(Accepts wildcards/groups)」,這是設置將寄存器映射在輸入IOB中的約束,若是設置將寄存器映射在輸出IOB中則選擇「Fast Output Register(Accepts wildcards/groups)」。it

 

5

    如圖7所示,設置Value」的值爲「on」。

 

6

       所有設置完成後的結果如 22-90所示。

 

7

    點擊Start Compilation圖標全編譯進行佈局佈線,不然沒法從新映射資源。此時會彈出如圖8所示的對話框,提示是否要保存更改,選擇「Yes」後會執行佈局佈線。

 

8

       當佈局佈線從新完成映射後咱們再來看看Chip Planner視圖,如9所示,咱們發現整個視圖都沒有什麼明顯的變化,難道是映射失敗了?

 

9

    如圖10所示,既然不能用肉眼直接看到,那咱們能夠在Chip Planner界面右上角紅色框處的Find what」處搜索定位信號在版圖模型中的位置,若是沒有找到Find what搜索框,按住鍵盤Ctrl + F」就會自動出現。

 

10

       在11中紅色區域中的Find what」搜索RTL代碼中的信號名「key_in」,而後點擊「List」。

 

11

    點擊圖12所示的「key_in」能夠看到在版圖模型的對應位置高亮顯示,這個位置就是FPGAIOB區域。

 

12

    如圖13所示,將映射的IOB區域放大,其中①爲咱們key_in的輸入端,而②則是寄存器所映射的新位置。

  

13

    如圖14所示,咱們雙擊②處的寄存器,觀察其內部結構,發現IOB中的寄存器已經高亮顯示了,說明真的映射上了,實現了咱們的要求。

 

14

歡迎加入FPGA技術學習交流羣,本羣致力於爲廣大FPGAer提供良好的學習交流環境,不按期提供各類本行業相關資料!QQ交流羣號:450843130

相關文章
相關標籤/搜索