先看一個簡單的example project,里面包含兩個verilog文件:


在頂層top里,我們例化了一個adder模塊,adder為一個簡單的加法器。當我們把這兩個文件導入VIvado后即可進行正常的布局布線。
那么問題來了,假設adder是我的一個核心設計(加法器代表一下哈),當其他人想使用我這個adder IP時我不想交付給對方源代碼,那么我應該如何做呢?
交付DCP!
何為DCP
在Vivado的設計流程各個階段里,采用統(tǒng)一的數(shù)據(jù)模型:DCP(design checkpoint),在Vivado的設計流程里,無論是綜合還是布局布線的各個階段,工具都會生成DCP文件,每一步的執(zhí)行設計輸入均為上一階段的DCP文件(綜合階段除外)。那么當我們想把adder以網(wǎng)表形式進行交付時,我們就可以生成對應的綜合后的DCP文件,隨后將DCP文件交付給合作方即可。
甲方:DCP制作流程
在我們的設計中,我們把adder這個模塊作為設計的頂層:

隨后進行綜合,當完成后,我們會在對應的目錄下看到生成了adder的DCP文件:

同時,我們準備一個我們adder對應的設計頂層:

這里的adder模塊不包含任何設計代碼,僅包含端口聲明。同時我們將這個模塊聲明為“black_box”
隨后,我們就可以把這個DCP文件和black box文件交付給別人使用了,而不用擔心我們的源代碼泄漏。
乙方:DCP的使用
當我們拿到別人的DCP文件和black box端口聲明文件后,我們還需要準備一個tcl文件:

tcl文件中制定了adder.dcp的讀取位置。
隨后,我們將balck box文件和tcl文件導入到我們的設計中,top.v文件保持不變:

隨后我們在Implement Setting中的opt_Desing中的tcl.pre中關(guān)聯(lián)導入的balck.tcl文件:

Finally,我們就可以進行正常的綜合及布局布線了,布局布線完成后我們得到的網(wǎng)表和正常工程一模一樣。

審核編輯 :李倩
-
DCP
+關(guān)注
關(guān)注
0文章
30瀏覽量
17811 -
Vivado
+關(guān)注
關(guān)注
19文章
846瀏覽量
70477
原文標題:Vivado—DCP復用
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
vcs和vivado聯(lián)合仿真
意法半導體DC-DC轉(zhuǎn)換器DCP3601賦能工業(yè)電源升級
DCP3601同步降壓轉(zhuǎn)換器技術(shù)解析與應用指南
IP6550至為芯支持雙口DCP協(xié)議的140W輸出DC-DC降壓芯片
Vivado無法選中開發(fā)板的常見原因及解決方法
如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果
DCP010505DB 微型 1W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
DCP021212D 微型 2W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
DCP022405 微型 2W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
DCP021212 微型 2W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
DCP022415D 微型 2W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
DCP010507DB 微型 1W 隔離式非穩(wěn)壓 DC/DC 轉(zhuǎn)換器數(shù)據(jù)手冊
Vivado Design Suite用戶指南:邏輯仿真

Vivado—DCP復用
評論