原创 Avalon-MM总线上的vjtag master总线调试工具

2007-7-23 22:43 5559 2 8 分类: FPGA/CPLD

    想了很久,昨天终于做成了——Avalon-MM总线上的vjtag master。 riple


 


    Virtual JTAG可以很方便地用来向FPGA的内部逻辑输入激励,或者从FPGA的内部逻辑读取信息,输入和读取的动作可以完全受控于Tcl程序,而Tcl程序又可以实现很灵活的控制序列和友好的人机交互界面,Virtual JTAG  + Tcl这样一种组合使得FPGA的调试具备了良好的可控性和可观测性。 riple


    以往Avalon-MM总线的调试多借助Nios II CPU来实现,Nios II可以向总线上的从设备发起各种操作序列,并且可以把操作的结果通过UART反馈给调试者。但是这一调试环境是以一系列已经调试成功的代码作为先决条件的。为了一个很简单的调试,调试者也不得不编译一定量的代码;如果需要实现一定的人机交互功能,还需要UART的配合。对于像我这样从硬件角度入手学习Avalon-MM总线的人来说,这是一个不低的门槛。 riple


    所以,如何把Virtual JTAG  + Tcl这样易用的调试组合应用到Avalon-MM总线上,替代Nios II进行SOPC Builder的调试,一直是我在思考的一个问题。 riple


    细想一下,其实也不难。只要把Virtual JTAG包装成一个Avalon-MM总线的主设备,并实现基本的主设备读写操作就成了。 riple


 


    Virtual JTAG最适宜实现数据的操作,对于总线传输控制信号的操作不是很直接,需要采用边沿提取逻辑把Virtual JTAG的状态信号转化为Avalon-MM总线的同步操作信号,还需要结合waitrequest信号实现Avalon-MM总线的特定握手关系。 riple


    采用这样的方式,Avalon-MM总线读操作可以分解为地址移入,读控制信号移入,waitrequest状态信息移出和判断,数据移出四步操作;Avalon-MM总线写操作可以分解为地址移入,数据移入,写控制信号移入,waitrequest状态信息移出和判断四步操作。 riple


    实现了读写操作,再配合一段交互式命令输入的循环代码就可以实现在命令行控制Avalon-MM总线的目的了。 riple


    此外,为了支持中断信号,还加入了中断信息读取的操作。 riple


    压缩文件rar是添加好的SOPC Builder模块,操作很简单,在命令行运行quartus_stp -t avalon_vjtag_master.tcl即可。 riple


    操作界面示例: riple


点击看大图

文章评论6条评论)

登录后参与讨论

ash_riple_768180695 2009-6-27 21:41

似乎你的USB下载电缆上没有连接有效的FPGA器件。你确认FPGA下载没有问题?

xkun 2009-6-25 13:04

按照文件步骤操作,出现这些错误: D:\Virtual JTAG>quartus_stp -t avalon_vjtag_master.tcl Info: ****************************************************************** Info: Running Quartus II SignalTap II Info: Version 8.1 Build 163 10/28/2008 SJ Full Version Info: Copyright (C) 1991-2008 Altera Corporation. All rights reserve Info: Your use of Altera Corporation's design tools, logic functions Info: and other software and tools, and its AMPP partner logic Info: functions, and any output files from any of the foregoing Info: (including device programming or simulation files), and any Info: associated documentation or information are expressly subject Info: to the terms and conditions of the Altera Program License Info: Subscription Agreement, Altera MegaCore Function License Info: Agreement, or other applicable license agreement, including, Info: without limitation, that your use is for the sole purpose of Info: programming logic devices manufactured by Altera and sold by Info: Altera or its authorized distributors. Please refer to the Info: applicable agreement for further details. Info: Processing started: Thu Jun 25 13:01:14 2009 Info: Command: quartus_stp -t avalon_vjtag_master.tcl USB-Blaster [USB-0] Select JTAG chain connected to USB-Blaster [USB-0]. Devices on the JTAG chain: ------------------------------------------------ ERROR: The specified device is not found. while executing "get_device_names -hardware_name $Blaster_name" invoked from within "foreach device_name [get_device_names -hardware_name $Blaster_name] { puts " $device_name" }" (file "avalon_vjtag_master.tcl" line 119) ------------------------------------------------ Error: Evaluation of Tcl script avalon_vjtag_master.tcl unsuccessful Error: Quartus II SignalTap II was unsuccessful. 1 error, 0 warnings Error: Peak virtual memory: 77 megabytes Error: Processing ended: Thu Jun 25 13:01:15 2009 Error: Elapsed time: 00:00:01 Error: Total CPU time (on all processors): 00:00:01 D:\Virtual JTAG> 请问如何修改? 如有必要,我的邮箱是wxkhappy@163.com

wangyd_sea_932904099 2007-7-24 17:22

看到了,呵呵

ash_riple_768180695 2007-7-24 16:23

看看这个:http://www.ednchina.com/blog/riple/10862/category.aspx

wangyd_sea_932904099 2007-7-24 15:23

好,但是tcl用在什么地方了?

pooo.mc_524501366 2007-7-24 14:09

写得不错。曾经用的处理器都是独立于FPGA,Nios II还没去玩过。你的设计用在什么地方?

gongsk 2006-11-10 18:42

不错的方案,是位置传感器

zxq914_104053942 2006-11-9 09:23

可以提供完整的底层USB驱动源码(c51),原理图及PCB,详细的设计手册。

zxq914_104053942 2006-11-8 15:19

有,而且得到了实际的产品应用,有兴趣的话可以联系:

Email:zxq914@sohu.com

fengwei321123 2006-11-8 14:45

有没有这样的实验板的成品啊

 

相关推荐阅读
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)。该协议可以在软件中实现,如果需要提高时间同步...
广告
EE直播间
更多
我要评论
6
2
广告
关闭 热点推荐上一条 /7 下一条