原创 非常有用的Virtual JTAG——比串口还好用

2007-5-7 23:20 9142 9 8 分类: FPGA/CPLD

    今天加了一会儿班,把节前调通的网络接口芯片操作程序整理了一下。 riple


    这个Tcl程序用于控制一个Virtual JTAG接口,通过Virtual JTAG给FPGA输入控制信号,通过FPGA内部的逻辑产生网络接口芯片的控制波形,实现对网络接口芯片的读写操作。 riple


    通过一段时间的调试,当前这个Tcl程序已经比较完善了。在调试过程中,我愈发认识到了Virtual JTAG在FPGA调试中的作用:在没有Virtual JTAG之前,我只能借助于电路板上的按键和串口,或者是一个有串口控制平台的CPU芯片给FPGA施加控制信号;反馈信息只能借助于7段数码管或者串口才能显示。有了Virtual JTAG,复杂的控制输入、详细的反馈信息显示和处理都可以在Tcl中实现,在PC机的命令行中显示。如果核心程序稳定下来,还可以借助Tk制作一个图形化的人机交互界面。Tcl + Virtual JTAG真的是FPGA调试中的绝配。 riple


    采用Virtual JTAG进行调试,适用于渐进式的开发流程。FPGA往往是一个被动系统,没有激励就不会自己动作。当部分代码开发完成后,往往不能独立上板调试:缺乏控制输入和输出显示。即使采用外部辅助电路,也只能实现比较简单的控制和显示功能。采用Tcl + Virtual JTAG,可以对这个尚未完成的系统施加复杂的控制激励,对于反馈的输出也能够进行细致的分析和处理。随着代码逐步完善,可以调整Virtual JTAG的接口,逐步用已经实现的电路代替Tcl的功能,实现渐进式的板级调试和验证。 riple


    从施加激励和检查响应的角度看,Tcl + Virtual JTAG是一种板级的验证平台,就像使用testbench在Modelsim中验证一样。 riple


    需要说明的一点是,上面这句话仅仅强调了VJI调试与Modelsim仿真二者在功能上的近似性。除了上面这一点近似性外,调试与仿真的差异还很多,比如运行速度、控制和观察信号的难易程度、开发成本等等。总体来说,仿真比调试的性价比高得多。采用VJI进行调试仅仅适用于仿真不能胜任的情况,比如仿真模型不存在或功能不完善或者开发仿真模型的成本和难度太大的情况下。再有一种情况是由FPGA对外部的芯片进行主动控制时,由于编写和调试复杂状态机的难度很大,可以考虑用Tcl+VJI模拟需要进行的控制操作,用一种类似于嵌入式软件编程的方法调试外部芯片,待调试成功后再总结操作程序,据此编制控制状态机。

文章评论2条评论)

登录后参与讨论

用户162122 2014-10-28 22:31

说得很详细

用户249726 2010-11-22 15:38

正在学习中... 受教了,太感谢你了!

用户48957 2006-10-11 16:53

哈哈,不错。鲜花,不是鸡蛋

相关推荐阅读
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)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
2
9
关闭 站长推荐上一条 /2 下一条