有時我們需要在設(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":
File -> Project -> Open Example
選中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 鍵可以打開這條路徑的原理圖
%report_timing -from [get_cells clkx_spd_i0/meta_harden_bus_new_i0/signal_meta_reg] -to [get_cells clkx_spd_i0/meta_harden_bus_new_i0/signal_dst_reg] -delay_type max -name test1
可以看到Data Path的布線延遲是0.504ns
路徑的原理圖
6. 把目的寄存器的D端從net上斷下來
%disconnect_net -net clkx_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的INIT property
%create_cell -reference LUT1clkx_spd_i0/meta_harden_bus_new_i0/my_lut1 %set_property INIT 2'h1 [get_cells clkx_spd_i0/meta_harden_bus_new_i0/my_lut1]
可以看到這個新創(chuàng)建的LUT1所有端口(Pin)都是懸空的. 接下來的步驟要將這些pin連接到合適的net上.
8. 把LUT1的輸入端口連接到之前斷開的net上.
%connect_net -net clkx_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和之前斷下來的寄存器D pin 到新創(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文件
%write_bitstream test.bit
責(zé)任編輯:lq
-
ECO
+關(guān)注
關(guān)注
0文章
51瀏覽量
14853 -
腳本
+關(guān)注
關(guān)注
1文章
387瀏覽量
14811 -
Vivado
+關(guān)注
關(guān)注
19文章
805瀏覽量
66230
原文標(biāo)題:【干貨分享】用ECO腳本的方式在網(wǎng)表中插入LUT1
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論