一种基于JTAG接口的军用FPGA通用重构电路制造技术

技术编号:27934299 阅读:9 留言:0更新日期:2021-04-02 14:14
本发明专利技术涉及基于JTAG接口的军用FPGA通用重构电路,该重构电路设计有4个输入管脚、4个输出管脚,可分别与FPGA、CPLD、PROM的管脚连接,接收上位机指令,通过JTAG接口对链路中的FPGA、CPLD、PROM进行回读IDCODE操作,确定器件型号,根据上位机指令,通过JTAG接口对选中器件进行擦除、编程、回读、校验,通过本发明专利技术中的重构电路,实现设计产品装机后现场变更系统中FPGA、CPLD设计程序的目的,有效减少产品的外部接口,延长调试线缆的距离,提高装机产品的现场调试效率。

【技术实现步骤摘要】
一种基于JTAG接口的军用FPGA通用重构电路
本专利技术涉及基于JTAG接口的军用FPGA通用重构电路及其实现方法,特别是用于产品装机后现场远程变更系统中FPGA、CPLD的设计程序,属于集成电路

技术介绍
当前武器装备中,SRAM型FPGA和CPLD得到了广泛的使用,目前SRAM型FPGA和CPLD的主流生产厂商有Xilinx和Altera,在实际的板级产品设计中,如果同时包含两个厂商的产品,则往往无法将其放在同一条JTAG菊花链中进行调试和烧写程序,影响板级产品小型化;同时,在装机产品现场试验过程中,通常利用JTAG接口进行烧写和更改设计程序,其弊端在于接口占用面积大,信号线多,调试线缆不能延长,不利于现场调试的开展。
技术实现思路
本专利技术的目的在于:克服现有技术的不足,提出一种基于JTAG接口的军用FPGA通用重构电路,该电路能够实现Xilinx与Altera两个厂商的产品设计在一条JTAG菊花链中,并对链路中的选中器件进行擦除编程回读和校验,链路最大支持10个器件的直连,满足通用设计需求。同时该电路提供了UART接口,有效减少了对外接口面积和信号线数量,并有效延长了调试距离,满足装机产品现场调试过程中,调试人员与产品的安全距离,保证产品在不开盖的前提下,实现对产品内部FPGA、CPLD进行设计程序变更。本专利技术的上述目的主要是通过如下技术方案予以实现的:基于JTAG接口的军用FPGA通用重构电路,所述重构电路(102)连接上位机(101)、CPLD(103)、PROM(104)以及FPGA(105);重构电路(102)接收上位机(101)发送的指令后,根据传输协议解析指令数据,指令数据包括链路识别指令、器件选择指令、器件擦除指令、器件编程指令、器件回读指令以及器件CRC校验指令;在确定指令数据后,重构电路(102)将之转化为相应的JTAG指令,对JTAG链路中的CPLD(103)、PROM(104)以及FPGA(105)按照指令进行操作,完成后,向上位机(101)发送“指令执行完成”响应,并进入接收上位机(101)指令的待机状态;所述重构电路(102)包括8个功能管脚,其中输入管脚4个,分别为:时钟管脚CLK、复位管脚RST、通信数据输入管脚UART_IN、JTAG数据输出数据管脚TDO;输出管脚4个,分别为:JTAG时钟管脚TCK、JTAG模式选择管脚TMS、JTAG数据输入管脚TDI、通信数据输出管脚UART_OUT,其中:重构电路(102)的通信数据输入管脚UART_IN管脚连接上位机(101)的输出管脚COM_OUT,重构电路(102)的通信数据输出管脚UART_OUT管脚连接上位机(101)的输入管脚COM_IN;重构电路(102)的JTAG时钟管脚TCK管脚连接CPLD(103)的JTAG时钟管脚TCK_C、连接PROM(104)的JTAG时钟管脚TCK_P、连接FPGA(105)的JTAG时钟管脚TCK_F;重构电路(102)的JTAG模式选择管脚TMS管脚连接CPLD(103)的JTAG模式选择管脚TMS_C、连接PROM(104)的JTAG模式选择管脚TMS_P、连接FPGA(105)的JTAG模式选择管脚TMS_F;重构电路(102)的JTAG数据输入管脚TDI管脚连接CPLD(103)的JTAG数据输入选择管脚TDI_C;CPLD(103)的JTAG数据输出管脚TDO_C连接PROM(104)的JTAG数据输入管脚TDI_P,PROM(104)的JTAG数据输出管脚TDO_P连接FPGA(105)的JTAG数据输入管脚TDI_F;重构电路(102)的JTAG数据输出数据管脚TDO连接FPGA(103)的JTAG数据输出选择管脚TDO_F;重构电路(102)通过CLK管脚接收外部时钟信号,通过RST管脚接收外部复位信号;在重构电路(102)上电后的任一状态,若将复位管脚RST置为0电平,则重构电路(102)进入复位状态。进一步的,该通用重构电路按照如下步骤工作:(1)、上电后,重构电路(102)初始态为等待指令状态,等待指令状态下若通过RST管脚从外部输入的RST信号为“0”电平,则进入复位状态,且将所有寄存器清零;若所述RST信号由“0”翻转为“1”电平则进入等待指令状态,进入步骤(2);(2)、重构电路(102)根据通信数据输入管脚UART_IN解析的接收指令选择进入下一步状态,若所述接收指令解析为“链路识别”,则进入JTAG链路识别状态,进入步骤(3);如重构电路(102)上电后未执行过“链路识别”指令,则其他指令不响应;(3)、重构电路(102)分别通过TCK、TMS、TDI三个管脚向CPLD(103)、PROM(104)、FPGA(105)发送读取IDCODE指令,重构电路(102)通过TDO管脚接收FPGA(105)的JTAG数据输出管脚TDO_F输出的链路中所有器件的器件识别码IDCODE,重构电路(102)将接收的IDCODE通过UART_OUT管脚发送给上位机(101),完成后向上位机(101)发送“指令执行完成”,然后进入等待接收指令状态;若接收指令为“链路识别”,则重复步骤(3);若接收指令为“器件选择”,则进入步骤(4);若重构电路(102)上电后未执行过“器件选择”指令,则除“链路识别”、“器件选择”两个指令外,其他指令不响应;(4)、重构电路(102)根据解析接收“器件选择”指令中器件的序号,通过TCK、TMS、TDI三个管脚对除该器件外的其他器件执行旁路寄存器指令BYPASS,完成后向上位机(101)发送“指令执行完成”,然后进入等待接收指令状态;若接收指令为“链路识别”,则返回步骤(3);若接收指令为“器件选择”,则重复步骤(4);若接收指令为“器件擦除”,则进入步骤(5);若接收指令为“器件编程”,则进入步骤(6);若接收指令为“器件回读”,则进入步骤(7);若接收指令为“器件CRC校验”,则进入步骤(8);若重构电路(102)上电后未依次执行过“链路识别”、“器件选择”指令,则重构电路(102)不响应“器件擦除、“器件编程”、“器件回读、“器件CRC校验”四个指令;(5)、重构电路(102)通过TCK、TMS、TDI三个管脚对选中器件发送擦除指令,通过TDO管脚接收选中器件执行擦除指令完成信息,完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态;(6)、重构电路(102)通过UART_IN管脚以1024字节为一帧不断接收上位机(101)的数据信息,同时通过TCK、TMS、TDI三个管脚对选中器件发送编程指令,将接收数据信息注入选中器件,直至数据信息结束,完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态;(7)、重构电路(102)通过TCK、TMS、TDI、TDO四个管脚对选中器件发送回读指令,以1024字节为一帧,从选中器件TDO中读取数据,通过本文档来自技高网...

【技术保护点】
1.基于JTAG接口的军用FPGA通用重构电路,其特征在于:所述重构电路(102)连接上位机(101)、CPLD(103)、PROM(104)以及FPGA(105);/n重构电路(102)接收上位机(101)发送的指令后,根据传输协议解析指令数据,指令数据包括链路识别指令、器件选择指令、器件擦除指令、器件编程指令、器件回读指令以及器件CRC校验指令;在确定指令数据后,重构电路(102)将之转化为相应的JTAG指令,对JTAG链路中的CPLD(103)、PROM(104)以及FPGA(105)按照指令进行操作,完成后,向上位机(101)发送“指令执行完成”响应,并进入接收上位机(101)指令的待机状态;/n所述重构电路(102)包括8个功能管脚,其中输入管脚4个,分别为:时钟管脚CLK、复位管脚RST、通信数据输入管脚UART_IN、JTAG数据输出数据管脚TDO;输出管脚4个,分别为:JTAG时钟管脚TCK、JTAG模式选择管脚TMS、JTAG数据输入管脚TDI、通信数据输出管脚UART_OUT,其中:/n重构电路(102)的通信数据输入管脚UART_IN管脚连接上位机(101)的输出管脚COM_OUT,重构电路(102)的通信数据输出管脚UART_OUT管脚连接上位机(101)的输入管脚COM_IN;/n重构电路(102)的JTAG时钟管脚TCK管脚连接CPLD(103)的JTAG时钟管脚TCK_C、连接PROM(104)的JTAG时钟管脚TCK_P、连接FPGA(105)的JTAG时钟管脚TCK_F;/n重构电路(102)的JTAG模式选择管脚TMS管脚连接CPLD(103)的JTAG模式选择管脚TMS_C、连接PROM(104)的JTAG模式选择管脚TMS_P、连接FPGA(105)的JTAG模式选择管脚TMS_F;/n重构电路(102)的JTAG数据输入管脚TDI管脚连接CPLD(103)的JTAG数据输入选择管脚TDI_C;/nCPLD(103)的JTAG数据输出管脚TDO_C连接PROM(104)的JTAG数据输入管脚TDI_P,PROM(104)的JTAG数据输出管脚TDO_P连接FPGA(105)的JTAG数据输入管脚TDI_F;/n重构电路(102)的JTAG数据输出数据管脚TDO连接FPGA(103)的JTAG数据输出选择管脚TDO_F;/n重构电路(102)通过CLK管脚接收外部时钟信号,通过RST管脚接收外部复位信号;/n在重构电路(102)上电后的任一状态,若将复位管脚RST置为0电平,则重构电路(102)进入复位状态。/n...

【技术特征摘要】
1.基于JTAG接口的军用FPGA通用重构电路,其特征在于:所述重构电路(102)连接上位机(101)、CPLD(103)、PROM(104)以及FPGA(105);
重构电路(102)接收上位机(101)发送的指令后,根据传输协议解析指令数据,指令数据包括链路识别指令、器件选择指令、器件擦除指令、器件编程指令、器件回读指令以及器件CRC校验指令;在确定指令数据后,重构电路(102)将之转化为相应的JTAG指令,对JTAG链路中的CPLD(103)、PROM(104)以及FPGA(105)按照指令进行操作,完成后,向上位机(101)发送“指令执行完成”响应,并进入接收上位机(101)指令的待机状态;
所述重构电路(102)包括8个功能管脚,其中输入管脚4个,分别为:时钟管脚CLK、复位管脚RST、通信数据输入管脚UART_IN、JTAG数据输出数据管脚TDO;输出管脚4个,分别为:JTAG时钟管脚TCK、JTAG模式选择管脚TMS、JTAG数据输入管脚TDI、通信数据输出管脚UART_OUT,其中:
重构电路(102)的通信数据输入管脚UART_IN管脚连接上位机(101)的输出管脚COM_OUT,重构电路(102)的通信数据输出管脚UART_OUT管脚连接上位机(101)的输入管脚COM_IN;
重构电路(102)的JTAG时钟管脚TCK管脚连接CPLD(103)的JTAG时钟管脚TCK_C、连接PROM(104)的JTAG时钟管脚TCK_P、连接FPGA(105)的JTAG时钟管脚TCK_F;
重构电路(102)的JTAG模式选择管脚TMS管脚连接CPLD(103)的JTAG模式选择管脚TMS_C、连接PROM(104)的JTAG模式选择管脚TMS_P、连接FPGA(105)的JTAG模式选择管脚TMS_F;
重构电路(102)的JTAG数据输入管脚TDI管脚连接CPLD(103)的JTAG数据输入选择管脚TDI_C;
CPLD(103)的JTAG数据输出管脚TDO_C连接PROM(104)的JTAG数据输入管脚TDI_P,PROM(104)的JTAG数据输出管脚TDO_P连接FPGA(105)的JTAG数据输入管脚TDI_F;
重构电路(102)的JTAG数据输出数据管脚TDO连接FPGA(103)的JTAG数据输出选择管脚TDO_F;
重构电路(102)通过CLK管脚接收外部时钟信号,通过RST管脚接收外部复位信号;
在重构电路(102)上电后的任一状态,若将复位管脚RST置为0电平,则重构电路(102)进入复位状态。


2.根据权利要求1所述的基于JTAG接口的通用重构电路,其特征在于:该通用重构电路按照如下步骤工作:
(1)、上电后,重构电路(102)初始态为等待指令状态,等待指令状态下若通过RST管脚从外部输入的RST信号为“0”电平,则进入复位状态,且将所有寄存器清零;若所述RST信号由“0”翻转为“1”电平则进入等待指令状态,进入步骤(2);
(2)、重构电路(102)根据通信数据输入管脚UART_IN解析的接收指令选择进入下一步状态,若所述接收指令解析为“链路识别”,则进入JTAG链路识别状态,进入步骤(3);如重构电路(102)上电后未执行过“链路识别”指令,则其他指令不响应;
(3)、重构电路(102)分别通过TCK、TMS、TDI三个管脚向CPLD(103)、PROM(104)、FPGA(105)发送读取IDCODE指令,重构电路(102)通过TDO管脚接收FPGA(105)的JTAG数据输出管脚TDO_F输出的链路中所有器件的器件识别码IDCODE,重构电路(102)将接收的IDCODE通过UART_OUT管脚发送给上位机(101),完成后向上位机(101)发送“指令执行完成”,然后进入等待接收指令状态;
若接收指令为“链路识别”,则重复步骤(3);若接收指令为“器件选择”,则进入步骤(4);若重构电路(102)上电后未执行过“器件选择”指令,则除“链路识别”、“器件选择”两个指令外,其他指令不响应;
(4)、重构电路(102)根据解析接收“器件选择”指令中器件的序号,通过TCK、TMS、TDI三个管脚对除该器件外的其他器件执行旁路寄存器指令BYPASS,完成后向上位机(101)发送“指令执行完成”,然后进入等待接收指令状态;若接收指令为“链路识别”,则返回步骤(3);若接收指令为“器件选择”,则重复步骤(4);若接收指令为“器件擦除”,则进入步骤(5);若接收指令为“器件编程”,则进入步骤(6);若接收指令为“器件回读”,则进入步骤(7);若接收指令为“器件CRC校验”,则进入步骤(8);
若重构电路(102)上电后未依次执行过“链路识别”、“器件选择”指令,则重构电路(102)不响应“器件擦除、“器件编程”、“器件回读、“器件CRC校验”四个指令;
(5)、重构电路(102)通过TCK、TMS、TDI三个管脚对选中器件发送擦除指令,通过TDO管脚接收选中器件执行擦除指令完成信息,完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态;
(6)、重构电路(102)通过UART_IN管脚以1024字节为一帧不断接收上位机(101)的数据信息,同时通过TCK、TMS、TDI三个管脚对选中器件发送编程指令,将接收数据信息注入选中器件,直至数据信息结束,完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态;
(7)、重构电路(102)通过TCK、TMS、TDI、TDO四个管脚对选中器件发送回读指令,以1024字节为一帧,从选中器件TDO中读取数据,通过UART_OUT管脚发送至上位机(101),直至回数数据结束,完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态
(8)、重构电路(102)通过TCK、TMS、TDI、TDO四个管脚对选中器件发送回读指令,同时对回读数据进行CRC32校验,直至回读数据结束,得到完成数据的CRC32校验值后,将校验值发送至上位机(101),完成后向上位机(101)发送“指令执行完成”,然后进入等待指令状态。


3.根据权利要求2所述的基于JTAG接口的通用重构电路...

【专利技术属性】
技术研发人员:陈雷孙华波李政李学武张帆李琦李明哲
申请(专利权)人:北京时代民芯科技有限公司北京微电子技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1