发明名称 JTAG下载方式下FPGA逻辑代码的下载方法
摘要 本发明公开了一种JTAG下载方式下FPGA逻辑代码的下载方法,在支持相同FPGA逻辑代码高速并行下载的同时,允许对同型号的FPGA配置不同的代码,同时提供对各FPGA并行下载过程的监测。其中,所述下载方法包括:将由CPU端口所模拟的JTAG下载信号中的TMS、TCK、TDO和TDI信号输入到CPLD,从CPLD引出独立的JTAG下载信号到各个FPGA,将逻辑代码下载到FPGA。通过对各TDO信号的监测与仲裁,使得系统具有了更高的自我诊断功能和冗余度。
申请公布号 CN102043747B 申请公布日期 2012.07.18
申请号 CN201010594949.0 申请日期 2010.12.17
申请人 浙江大学 发明人 蒋荣欣;陈耀武;汪鹏君;欧进利
分类号 G06F13/38(2006.01)I 主分类号 G06F13/38(2006.01)I
代理机构 杭州天勤知识产权代理有限公司 33224 代理人 胡红娟
主权项 一种JTAG下载方式下FPGA逻辑代码的下载方法,其特征在于,包括:(1)将CPU的通讯端口连接到CPLD的通讯端口,形成CPU和CPLD的通讯口线;将由CPU端口所模拟的JTAG下载信号中的TMS信号、TCK信号、TDO信号和TDI信号连接到一块CPLD中;所述的CPLD的若干JTAG下载信号端口标记为TMS_x,TDO_x,TCK_x和TDI_x,其中,x为FPGA在该系统中的编号,分别独立连接到编号为x的FPGA的相应JTAG下载信号端口上;根据与CPLD相连的各FPGA的编号、类型和逻辑代码的信息,所述的CPLD中载入相应的CPLD代码;(2)CPU通过所述的通讯口线向CPLD写入寄存器值,CPLD据此来判断各FPGA当前是否进行逻辑代码下载:对于系统中某个待下载逻辑代码的FPGA而言,如果其在被选择下载之列,CPLD将来自CPU端口的TMS、TCK和TDI信号直接输出到该FPGA的对应JTAG下载信号端口,将逻辑代码下载到该FPGA;否则,CPLD与该FPGA的对应JTAG下载信号端口连接的管脚保持高阻状态;同时,CPLD对每个TCK周期内被选择进行下载的FPGA输出的TDO信号的输出电平进行检测,并设定参与下载的FPGA总数M的一半为一致性检测标准,当处于相同输出电平的TDO信号数目超过M/2时,认为该电平为当前TCK周期内TDO信号的正确输出电平,并将其对应的FPGA编号记为正常下载的FPGA编号,然后将该电平输出到CPU的TDO信号端口,并记录具有与该正确输出电平不相等的电平的TDO信号所对应的FPGA编号,作为异常下载的FPGA编号;如果参与下载的FPGA总数M=1,则不进行上述一致性检测操作,CPLD将该FPGA输出的TDO信号电平输出到CPU的TDO信号端口;(3)下载过程结束后,CPU通过通讯口线读取CPLD的寄存器信息,判断各FPGA下载是否成功:对于正常下载的FPGA编号标记的FPGA,认为其下载成功,对于异常下载的FPGA编号标记的FPGA,认为其下载失 败;如果下载失败,CPU读取CPLD寄存器信息中记录的异常下载的FPGA编号,对这些FPGA分别重复步骤(2)的操作,记录重复操作步骤中异常下载的FPGA编号,两次均为异常下载的FPGA编号所对应的FPGA被认为是故障FPGA,不能正确下载;如果下载成功,CPU通过通讯口线向CPLD写入寄存器值,将所有JTAG下载信号端口置为高阻态。
地址 310027 浙江省杭州市西湖区浙大路38号