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