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