“揭秘” Xilinx FPGA 的 ECO 功能


欲觀原文,請君移步

ECO 指的是 Engineering Change Order ,即工程變更指令。目的是為了在設計的后期,快速靈活地做小范圍修改,從而盡可能的保持已經驗證的功能和時序。ECO 是從 IC 設計領域繼承而來,ECO 便相當於 ISE 上的 FPGA Editor。本文可以對於一些FPGA疑難雜症文件排查,或者對於一些加密 IP 進行破解,請讀者自行琢磨,不予公開。【如有興趣,請聯系作者】

1.ECO的用途

  • 修改 ILA 或者 VIO 的調試探針

  • 將一個內部網絡路由到外部探針

  • 修復邏輯錯誤等

2.ECO 流程

打開已經實現的設計,修改網表后,如果設計未完全布局,請運行“增量布局”。否則,可以直接跳至增量布線。然后可以保存更改到新的檢查點並編寫新的編程和調試探針文件,打開
硬件管理器對設備進行編程。

3.ECO 工程實例

打開 dcp ,在 vivado 中一個工程在生成bit流過程中會產生 implementation 階段產生三個 dcp 文件,分別是 *_opt.dcp, *_place.dcp, *_route.dcp中添加,如果需要固定布線,只是微調一下某些net,則使用, *_route.dcp, 對應不同的階段,如果工程需要添加一些 cell ,可以在*_place.dcp中添加,如果需要固定布線,只是微調某些net,則使用*_route.dcp

3.1 修改 ila 信號

本次實例采用*_route.dcp

3.1.1 斷開 net

disconnect_net -net u_ila_0_axis_rx_tlast -objects [list {u_ila_0/probe8}]
  • u_ila_0_axis_rx_tlast 的 net 名

  • Objects 后面的 pin 腳

該命令是為了將某一 net 斷開

3.1.2 連接新的net

connect_net -hierarchical -net {u_ila_0_axis_rx_tdata[47]} -objects [list {u_ila_0/probe8}]

該命令是為了將某一 net 連接到某一 object

3.1.3 將原來的 net 布線 unroute

route_design -unroute -net [get_nets u_ila_0_axis_rx_tlast]

3.1.4 重新 route 新的 net

route_design -net [get_nets {u_ila_0_axis_rx_tdata[47]}]

3.1.5 重新 route 新的 net

route_design -net [get_nets {u_ila_0_axis_rx_tdata[47]}]

查看布線狀態

report_route_status

3.1.5 生成 bit 流

write_bitstream aurora_test_route.bit -force

3.2 將內部網絡布線到另一個cell

本次實例采用*_place.dcp

3.2.1 斷開 net

disconnect_net -net u_ila_0_axis_rx_tlast -objects [list {u_ila_0/probe8}]

3.2.2 創建 cell

startgroup
create_cell -reference LUT1 {LUT1}
set_property init 2'h3 [get_cells { {LUT1}}]
endgroup
create_cell -reference VCC {VCC}

3.2.3 創建 net

startgroup
create_net {LUT1_IO}
LUT1_IO
connect_net -hierarchical -net {LUT1_IO} -objects [list {LUT1/I0}]
endgroup
startgroup
create_net {LUT1_O}
LUT1_O
connect_net -hierarchical -net {LUT1_O} -objects [list {LUT1/O}]
endgroup

3.2.4 連接 net

將LUT1的輸入連接到 VCC ,輸出連接到 ila 的 probe8。

connect_net -hierarchical -net {LUT1_IO} -objects [list {VCC/P}]
connect_net -hierarchical -net {LUT1_O} -objects [list {u_ila_0/probe8}]

3.2.5 implementation & bitstream

place_design
route_design 
write_bitstream aurora_test_place.bit -force

4.參考文獻

1.《ug904-Vivado Design Suite User Guide P-143:Vivado ECO Flow》

chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_1/ug904-vivado-implementation.pdf

2.《ug835- Vivado Design Suite Tcl Command Reference Guide》

chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_2/ug835-vivado-tcl-commands.pdf


免責聲明!

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



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