1. 簡介
我們在SOC設計中,經常用到JTAG以實現scan-chain 掃描, 還可以實現對SOC每個block的RAM、Memory以及每個IP block的寄存器實現讀寫操作。由于實現JTAG調試,PCB需要10根線的接口連接,于是有的SOC 是以USB轉JTAG實現在線調試功能,這樣可以減少PCB板子上的BOM及空間,節省設計成本,由于USB的缺陷性,只能在電腦面前調試,不能遠程登錄,或遠程調試。因此本文介紹一種更為新進的在現調試功能。ETHERNET轉JTAG, 這樣可以實現遠程程序升級,遠程程序調試。在線調試的更新,可以節省員工的出差費用,更節省大量的出差調試時間。因此ETHERNET轉JTAG調試功能就顯得非常必要性與新進性。
2. 系統構架
基于LX9開發板的現有條件, 采用gate counter比較小的CPU,因為CPU連接總線的接口是AXI的接口, 因此總線采用BUS MATRIX協議。以太網的物理端只有100Mbps,所以我們采用帶AXI接口的EMAC IP。并且采用了帶AXI接口的interrupter 模塊。這樣系統就可以初步搭成, 如圖1所示,中間是AXI Matrix支持3個master,6個slaver。
圖表 1 系統構架
根據圖表1,我們分配各個AXI Master、AXI Slave如圖表2所示
No |
AXI Master 分配 |
AXI Slave 分配 |
1 |
Dump_master |
|
2 |
CPU |
|
3 |
EMAC_JTAG |
|
4 |
|
EMAC_JTAG |
5 |
|
RAM |
6 |
|
ROM |
7 |
|
INT |
8 |
|
Default_slave |
圖表 2 主從AXI元素分配
在確定好主AXI元素,現在需要確定主AXI元素的優先級,如圖表3所示Dump_AXI 具有最高優先級,DMA最低優先級,優先級次序由圖表3中的數序號確定。
NO |
AXI 主元素 |
優先級次序 |
1 |
Dump master |
1 |
2 |
CPU |
2 |
3 |
EMAC_JTAG |
3 |
圖表 3 主AXI元素優先級分配
確定好主AXI元素的優先級后,我們現在需要確定每個從AXI模塊所占用的地址空間。每個主AXI元素可以訪問的幾個從AXI元素。如圖表4所示,其確定了每個主AXI元素可以訪問的從AXI元素的個數。
No |
主AXI元素 |
從AXI元素 |
||||
1 |
Dump_Master |
|
||||
2 |
CPU |
|
||||
|
||||||
3 |
||||||
|
EMAC_JTAG |
|
|
圖表 4 主AXI元素訪問從AXI元素的分配