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元素的分配