Vivado當中的ooc與global模式


ooc(out of context)是在Vivado當中非常常用的概念。在ug1118中關於ip_core OOC模式下的約束文件的描述中有兩點:

  • OOC約束的USED_IN屬性應該同時設置synthesis,implementation,out_of_context而不是只設置out_of_context;(page16)
  • OOC約束在編譯的時候,處理順序早於非OOC約束的文件,甚至早於PROCESSING_ORDER設置成EARLY的情況。(page16)

概述

這個方面最詳細的內容在ug896的page36。Global和OOC本身是作為IP Package的generate output的生成選項存在的。

簡單一句話來概括兩者的關系就是:在OOC模式下,IP成為了一個完全的黑盒結構,它會以網表結構參與整個工程的綜合;而在Global模式下,IP核與頂層邏輯一起進行綜合,也被稱為Global synthesis,對原始文件的任何更改需要對整個工程和該IP進行重新綜合。(參見ug939(v2016.1) Page30)

OOC是默認的IP生成產物的生成方式,生成產物包括:XCI文件,dcp文件,changelog,行為仿真文件(<ip_name>_sim_netlist.v,應該是用來封裝網表黑盒的文件,此時應該只使用單獨語言種類的仿真器(沒說是不是應該對應)page40)。

DCP文件在其中最為重要(但是不能是只有dcp文件,見ug896,page36),dcp文件是一個容器,其中包含了網表和約束文件(_ooc.file和_in_context.xdc)。

在BD當中的OOC

Block design可以看做是IP的可視化的集合,相當於一個大的IP。這個東西也支持OOC模式,並且支持三個選項(參見ug995,v2016.4,page33),分別是Global,Out-of-Context per IP以及Out-of-context per BD。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM