原创 维护遗留代码(3)——缺少JTAG接口的遗憾

2009-12-28 17:06 4227 8 9 分类: FPGA/CPLD
        早在代码移交阶段,我就向第三方提出过电路板上缺少给FPGA预留的JTAG调试接口的问题。电路板上本来已经给CPLD预留了JTAG下载接口,把FPGA连接到已有的JTAG链路中并不是什么难事。可是由于我们看到PCB设计时电路板已经投产,并且是最终要交付用户使用的量产版,即使是这样微小的改动也无法加入了。要改动,只有飞线。 riple
        在搭建仿真环境工作的后期,我曾经一度想通过JTAG接口捕获CPU给FPGA中的寄存器写入的命令和参数信息,由于从遗留代码的波形激励文件中能够得到一组有效的FPGA寄存器配置信息,这一需求变得不那么迫切起来。在接下来的两个月中,我一直忙于给FPGA设计增加时序约束,并没有着手这一工作。直到时序约束和调整工作完成后,我才有时间开始解决遗留的bug,这时增加JTAG调试接口的需求又一次突显了出来。 riple
        这一次,我花费了两天的时间完成了缺失的JTAG外围电路的设计和下载电缆转接电路板的焊接,又请组长Tom帮忙完成了飞线,这才把JTAG调试通路打通。有了这个调试手段,我很快通过SignalTap II观察到了CPU接口和MDIO接口的读写波形。更重要的是,我捕获到了完整的CPU配置信息,完善了仿真环境,减少了仿真环境与真实器件运行状况的差异,提高了在仿真环境中发现和解决问题的能力。 riple

        保留JTAG接口对于FPGA项目维护工作的助益是长远的:通过JTAG接口,发生在FPGA内部的逻辑问题都可以被观察到,甚至可以对FPGA的内部逻辑施加恰当的控制。就像在PCB设计之初应该考虑给FPGA预留JTAG调试接口一样,我在接手这一项目之初就应该通过飞线把这一接口增加到电路板上,而不应该采用其它手段绕道而行,一直等待到应用JTAG接口进行调试的需求变得如此迫切之时才动手(换句话说,如果我要责备PCB设计工程师没有预留JTAG接口,那么我也应该责备自己没有在意识到这一问题时立即解决这一问题;缺少JTAG接口的遗憾是PCB设计工程师的,也是我自己的)。如果从项目移交伊始,我就通过JTAG接口捕获了所有的CPU配置信息、观察到了所有的底层信号波形,那么我对维护这一FPGA项目的信心就会更早地建立起来,这一项目的进展就会大为改观。 riple


        在以往的FPGA开发、调试、维护工作中,我对JTAG调试接口是很依赖的,这一接口给我提供了极大的便利。这一次,在缺少JTAG接口的情况下,我宁肯舍弃这一便利,转而探寻其它的解决方法,真可谓是“舍近求远”。我要承认,自己在对JTAG外围电路设计的认识上存在盲点,往引脚间距很小的表贴器件上焊接飞线也并不是我擅长的工作。我对这一本应是“举手之劳”的工作的畏难情绪,是阻碍项目进展的一个主观因素。现在看来,我在克服自己的畏难情绪、说服自己开始着手不熟悉的工作上花费的时间,比真正用于完成这一工作的时间要长得多。在今后的工作和学习中,我应该警惕和识别自己的这种畏难情绪,少一些犹豫,多一些果断。 riple

相关链接:

基于Quartus II的在线调试方法
江湖越老,胆子越小?


July 17 2009 - July 23 2009, November 20 2009 - November 24 2009

文章评论1条评论)

登录后参与讨论

用户1359795 2010-11-30 11:16

我是硬件出身的,在遇到问题的时候,我常常会去从硬件的角度想解决的方案。 的确,有时候,换一个角度去做,的确是事半功倍的。 支持博主!
相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条