通常在設(shè)計網(wǎng)表中,需要在基礎(chǔ)上微調(diào)邏輯,這樣既無需修改代碼,也無需重新做綜合,在設(shè)計調(diào)試中可以節(jié)省時間的同時維持其邏輯無任何改動。
本文將帶大家一起體驗一下Vivado的ECO流程,以Vivado自帶的Example Design為例, 直接用TCL命令修改網(wǎng)表,在正常的寄存器路徑之間加一級LUT.
1.打開Vivado 界面
2.打開Example Design "Wavegen":
<1> File -> Project -> Open Example
<2> 選中Wavegen (HDL),器件選擇xcku035
3.點擊左側(cè)Flow Navigator 窗口 Run Implementation 按鈕, 完成綜合實現(xiàn).
4. 打開Implemented Design
(點擊左側(cè)Flow Navigator 窗口 Open Implemented Design 按鈕)
5.選一條兩個寄存器之間的路徑
運行以下命令,選中打印出的路徑,雙擊可以查看時序報告,F(xiàn)4 鍵可以打開這條路徑的原理圖,可以看到Data Path的布線延遲是0.504ns
%report_timing -from[get_cells clkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg] -to [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg] -delay_type max -name test1

路徑的原理圖

6.把目的寄存器的D端從net上斷下來
%disconnect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0-objects {clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}
在這里獲取操作對象(net, Pin)的方法:在原理圖中選中對象,然后查看走下角Property 窗口中的NAME 屬性

Pin被從Net上斷開后,會在原理圖上顯示n/c

7.創(chuàng)建一個LUT1,并設(shè)置LUT的INITproperty
%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1
%set_property INIT 2'h1 [get_cellsclkx_spd_i0/meta_harden_bus_new_i0/my_lut1]

可以看到這個新創(chuàng)建的LUT1所有端口(Pin)都是懸空的. 接下來的步驟要將這些pin連接到合適的net上.
8.把LUT1的輸入端口連接到之前斷開的net上.
%connect_net -netclkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg_n_0 -objects{clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/I0}
9.創(chuàng)建一個新的net用來連接LUT1的輸出pin和之前斷下來的寄存器D pin
%create_net clkx_spd_i0/meta_harden_bus_new_i0/my_net
10. 連接LUT1的輸出pin和之前斷下來的寄存器Dpin 到新創(chuàng)建的net上
%connect_net -net clkx_spd_i0/meta_harden_bus_new_i0/my_net -objects {clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/O clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg/D}

11.在Netlist窗口選窗口選中新建的LUT1,將其拖曳到Device中空著的slice LUT bel中對應(yīng)的命令:
place_cell clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 SLICE_X52Y83/B6LUT
12.對新的LUT1兩端的net進行布線
%route_design -nets [get_nets -of [get_pins clkx_spd_i0/meta_harden_bus_new_i0/my_lut1/*]]
13. 檢查布線結(jié)果確保沒有布線錯誤
%report_route_status

14.用步驟5的命令重新報一下時序
15.生成bit文件
責任編輯:lq
-
寄存器
+關(guān)注
關(guān)注
31文章
5611瀏覽量
130112 -
ECO
+關(guān)注
關(guān)注
0文章
54瀏覽量
15472 -
Vivado
+關(guān)注
關(guān)注
19文章
857瀏覽量
71191
原文標題:開發(fā)者分享 | 用ECO腳本的方式在網(wǎng)表中插入LUT1
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
通過vivado HLS設(shè)計一個FIR低通濾波器
奇捷科技EasyAI ECO Suite即將發(fā)布
AMD Vivado Design Suite 2025.2版本現(xiàn)已發(fā)布
FPGA板下載運行調(diào)試流程
FPGA板下載調(diào)試流程
vcs和vivado聯(lián)合仿真
AMD Vivado ChipScope助力硬件調(diào)試
Vivado無法選中開發(fā)板的常見原因及解決方法
如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果
適用于Versal的AMD Vivado 加快FPGA開發(fā)完成Versal自適應(yīng)SoC設(shè)計
Vivado 2018.3軟件的使用教程
Vivado HLS設(shè)計流程
Vivado的ECO流程
評論