ECO 指的是 Engineering Change Order ,即工程變更指令。目的是為了在設(shè)計的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗證的功能和時序。ECO 是從 IC 設(shè)計領(lǐng)域繼承而來,Vivado上 的 ECO 便相當(dāng)于 ISE 上的 FPGA Editor。
1.ECO的用途
- 修改 ILA 或者 VIO 的調(diào)試探針
- 將一個內(nèi)部網(wǎng)絡(luò)路由到外部探針
- 修復(fù)邏輯錯誤等
2.ECO 流程
打開已經(jīng)實現(xiàn)的設(shè)計,修改網(wǎng)表后,如果設(shè)計未完全布局,請運行“增量布局”。否則,可以直接跳至增量布線。然后可以保存更改到新的檢查點并編寫新的編程和調(diào)試探針文件,打開 硬件管理器對設(shè)備進行編程。
![pYYBAGGYH8SAKHsfAAHpExL8dFU983.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH8SAKHsfAAHpExL8dFU983.png)
3.ECO 工程實例
在 vivado 中一個工程在生成 bit 流過程中會在 implementation 階段產(chǎn)生三個 dcp 文件,分別是 *_opt.dcp, *_place.dcp, *_route.dcp;如果工程需要添加一些 cell ,可以在*_place.dcp中添加,如果需要固定布線,只是微調(diào)某些net,則使用*_route.dcp。
3.1 修改 ila 信號
本次實例采用*_route.dcp。
3.1.1 斷開 net
![poYBAGGYH8WASKO1AARSriG5Hlc073.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH8WASKO1AARSriG5Hlc073.png)
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 斷開
![pYYBAGGYH8eALNqMAAWA4fw-cGQ240.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH8eALNqMAAWA4fw-cGQ240.png)
3.1.2 連接新的net
connect_net -hierarchical -net {u_ila_0_axis_rx_tdata[47]} -objects [list {u_ila_0/probe8}]
該命令是為了將某一 net 連接到某一 object
![pYYBAGGYH8mARHqrAAQIt6kRcoc488.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH8mARHqrAAQIt6kRcoc488.png)
3.1.3 將原來的 net 布線 unroute
route_design -unroute -net [get_nets u_ila_0_axis_rx_tlast]
![poYBAGGYH8qAAHVhAARuaXW5h8c858.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH8qAAHVhAARuaXW5h8c858.png)
3.1.4 重新 route 新的 net
route_design -net [get_nets {u_ila_0_axis_rx_tdata[47]}]
![poYBAGGYH86AUqaaAATix-zTLLY026.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH86AUqaaAATix-zTLLY026.png)
3.1.5 重新 route 新的 net
route_design -net [get_nets {u_ila_0_axis_rx_tdata[47]}]
查看布線狀態(tài)
report_route_status
![pYYBAGGYH8-ARtyNAAE3pZei1ws830.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH8-ARtyNAAE3pZei1ws830.png)
3.1.5 生成 bit 流
write_bitstream aurora_test_route.bit -force
![poYBAGGYH9GAFhLiAAPrmZ5oGV0938.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH9GAFhLiAAPrmZ5oGV0938.png)
3.2 將內(nèi)部網(wǎng)絡(luò)布線到另一個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 創(chuàng)建 cell
startgroup create_cell -reference LUT1 {LUT1} set_property init 2'h3 [get_cells { {LUT1}}] endgroup create_cell -reference VCC {VCC}
![pYYBAGGYH9KAHk9eAAD7jqLkxsQ860.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH9KAHk9eAAD7jqLkxsQ860.png)
![poYBAGGYH9SAMZIrAAHHDtWADU4555.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH9SAMZIrAAHHDtWADU4555.png)
3.2.3 創(chuàng)建 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
![pYYBAGGYH9WADiLzAAIN6-2zhyg515.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH9WADiLzAAIN6-2zhyg515.png)
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}]
![poYBAGGYH9eASs02AAKlQ8cKQjM965.png](https://file.elecfans.com/web2/M00/1F/63/poYBAGGYH9eASs02AAKlQ8cKQjM965.png)
3.2.5 implementation & bitstream
place_design route_design write_bitstream aurora_test_place.bit -force
![pYYBAGGYH9mAF-2MAAQ6WP5lfR4812.png](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH9mAF-2MAAQ6WP5lfR4812.png)
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1630文章
21797瀏覽量
606014 -
Xilinx
+關(guān)注
關(guān)注
71文章
2171瀏覽量
122141 -
ECO
+關(guān)注
關(guān)注
0文章
52瀏覽量
14945
發(fā)布評論請先 登錄
相關(guān)推薦
XILINX FPGA IP之Clocking Wizard詳解
![<b class='flag-5'>XILINX</b> <b class='flag-5'>FPGA</b> IP之Clocking Wizard<b class='flag-5'>詳解</b>](https://file1.elecfans.com/web2/M00/89/87/wKgaomSG59-AF5p_AAHtoZnJTJE630.jpg)
XILINX FPGA IP之MMCM PLL DRP時鐘動態(tài)重配詳解
![<b class='flag-5'>XILINX</b> <b class='flag-5'>FPGA</b> IP之MMCM PLL DRP時鐘動態(tài)重配<b class='flag-5'>詳解</b>](https://file1.elecfans.com/web2/M00/89/87/wKgaomSG6PSAN78lAAI9Fg555ho372.jpg)
Xilinx FPGA無痛入門,海量教程免費下載
《FPGACPLD設(shè)計工具──Xilinx+ISE使用詳解》
V6 FPGA可以ECO功能嗎?
Xilinx_FPGA系列入門教程(一)—如何搭建Xilinx
Xilinx 16nm Virtex UltraScale+ FPGA器件的功能
Xilinx FPGA的電源設(shè)計詳解
![<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的電源設(shè)計<b class='flag-5'>詳解</b>](https://file.elecfans.com/web1/M00/85/74/pIYBAFxozxmANPGHAAAt7T4OfzY509.png)
評論