原创 Quartus II中添加Tk程序的几个关键语句

2009-12-17 18:09 5320 5 15 分类: FPGA/CPLD
Quartus II支持Tcl程序并且提供了很多专用的Tcl扩展命令。Virtual JTAG的用户接口就需要通过Tcl和Virtual JTAG的Tcl API来编写。
通过Tcl编写的Virtual JTAG用户接口是通过命令行来实现的,Tcl程序提示并且捕获用户的输入来完成与用户的对话。当需要输入较多的参数时,命令行的串行输入方式效率很低。
Tk(Tool Kit)是基于Tcl的图形程序开发工具箱。通过Tk可以编写简易的用户界面,提高与用户交互的速度,方便用户的使用。
在最近的工作中,我开发了一个Virtual JTAG工具,用于捕获CPU对FPGA寄存器的写入操作。最初只是简单地采用了命令行的提示方式,不方便使用。最近我把这个Tcl程序改写成了Tk程序,给这个工具添加了图形化用户界面。



在改写过程中,我发现通过Quartus II的命令行可执行命令(比如quartus_stp -t)启动包含Tk语句的Tcl脚本时,需要注意两点:
1. 在Tcl脚本中调用Tk语句之前,需要添加一条init_tk命令。不添加这条命令,Quartus II是不能识别Tk语句的。这一问题,在Altera的网站上给出了解释。
2. 在退出Tcl脚本之前,需要添加一条vwait variable命令。如果不添加这条命令的话,Quartus II会认为脚本已经执行完毕,并立即退出。采用vwait命令后,只有当variable取值变为1时,脚本才会正常退出。所以需要初始化该变量为0,在需要退出时置该变量为1。这一问题,在Altera的网站上查不到,我是在Quartus II的安装目录下逐个查找Tcl程序才找到答案的。

以上两点,在编写Modelsim中执行的包含Tk命令的脚本时都是不需要添加的。这与Modelsim的用户界面是采用Tk编写实现的是有关的。

相关链接:
Error: "invalid command name" when running a Tcl script that uses Tk widgets
Debug a microcontroller-to-FPGA interface from the FPGA side GUI界面的源程序可以在这篇文章中找到。
PARTNER CONTENT

文章评论10条评论)

登录后参与讨论

ash_riple_768180695 2009-8-26 13:51

要配和你的设计和你需要发送的命令编写HDL和Tcl代码,构建一个特定的JTAG电路和相应的简单的PC机驱动程序。

用户534970 2009-8-22 08:43

请问,怎么通过VJ向FPGA发送命令啊?

ash_riple_768180695 2009-8-20 16:28

我觉得,把VJ和你的开发板结合起来,可以实现PC机上的“虚拟I/O”控制,比如读取引脚的电平值,比如驱动LED的亮灭,再比如读取和驱动特定设计的某些关键信号。再增加一个漂亮的,甚至是可订制的用户界面,就更方便用户使用了。

用户1034847 2009-8-20 11:29

看了你写的VJ方面的博文,感觉真的挺有用的,我有空也要研究一下 感谢博主的总结

coyoo 2009-8-20 09:30

没有关系,我遇到的也是类似的问题,我想方向有了,应该会解决的!

ash_riple_768180695 2009-8-20 08:46

对不起阿,虽然没什么高深的,但是还要等一段时间才能公布出来。

ash_riple_768180695 2009-8-20 08:33

通过quartus_stp -t启动。这篇文章就是解决从quartus_stp -t启动的时候不能正确执行tk命令获得GUI界面问题的。

coyoo 2009-8-17 15:50

请教一个问题:是先启动quartus-stp解析tcl(tk) script生成GUI,还是先通过其他解析工具创建好该GUI然后通过GUI调试VJ呢?

coyoo 2009-8-17 10:35

十分想看到博主的这个gui的源码,^0^!!!

用户396103 2009-7-15 15:28

谢谢斑竹的分享!!以后有什么这方面的心得多多分享哦,我正在学习虚拟JTAG,向斑竹学习!!
相关推荐阅读
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直播间
更多
我要评论
10
5
关闭 站长推荐上一条 /3 下一条