欢迎来到天天文库
浏览记录
ID:11412094
大小:581.50 KB
页数:68页
时间:2018-07-11
《tcl语言及其在fpga设计中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCL语言及在fpga设计中的应用讲座内容TCL简介TCL基本语法ISE下TCL应用ModelSim下的脚本语言TCL简介什么是TCLTcl全称是ToolcommandLanguage。它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握。Tcl语言是一个解释性语言,所谓解释性是指不象其他高级语言需要通过编译和联结,它象其他shell语言一样,直接对每条语句顺次解释执行。历史Tcl/Tk的发明人JohnOusterhout教授在八十年代初,是伯克利大学的教授。在其教学过程中,他发现在集成电路CAD设计中,很多时间是花在编程建立测试环境上。并且,
2、环境一旦发生了变化,就要重新修改代码以适应。这种费力而又低效的方法,迫使Ousterhout教授力图寻找一种新的编程语言,它即要有好的代码可重用性,又要简单易学,这样就促成了Tcl(ToolCommandLanguage)语言的产生。Tcl最初的构想的是希望把编程按照基于组件的方法(componentapproach),即与其为单个的应用程序编写成百上千行的程序代码,不如寻找一个种方法将程序分割成一个个小的,具备一定“完整”功能的,可重复使用的组件。这些小的组件小到可以基本满足一些独立的应用程序的需求,其它部分可由这些小的组件功能基础上生成。不同的组件有不同的
3、功能,用于不同的目的。并可为其它的应用程序所利用。当然,这种语言还要有良好的扩展性,以便用户为其增添新的功能模块。最后,需要用一种强的,灵活的“胶水”把这些组件“粘”合在一起,使各个组件之间可互相“通信”,协同工作。程序设计有如拼图游戏一样,这种设计思想与后来的Java不谋而合。终于在1988年的春天,这种强大灵活的胶水-Tcl语言被发明出来了运行平台Tcl/Tk可以提供跨平台的支持。Tcl语言可以运行于绝大多数当今流行的UNIX、WINDOWS和Macintosh等系统上,而且命令通用,只是启动的细节有些不同。Tcl/Tk与C/C++的良好兼容性。Tcl/T
4、k脚本可以很好的集成到C/C++程序中。TCL运行环境Tcl的执行是交互式的,Tcl提供了交互式命令界面,界面有两种:tclsh和wish。tclsh只支持Tcl命令,wish支持Tcl和Tk命令。通过交互界面,我们就可以象执行UNIXshell命令一样,逐条命令执行,并即时得到执行结果。内嵌的Tk(toolkit)图形工具可以提供简单而又丰富的图形功能,让用户可以轻松的创建简单的图形界面。TCL工具本文使用activeTcl:Activestate公司开发的工具下载地址http://www.activestate.com/activetcl/download
5、sTCL基本语法简单文本输出1.注释符号是#或者;#,在命令后注释用;#,在行开头两者均可;2.puts:输出文本,多个单词如被空格或TAB分隔需要使用“”或{}括起来;3.多个命令写在一行使用;间隔。puts"Hello,World-Inquotes";#注释给变量赋值set:给变量赋值,格式为setvarvalue;#给变量X赋一个字符串setX"Thisisastring";#给变量Y赋一个数字setY1.24;#显示X和Y的内容puts$Xputs$Y命令的赋值与置换一1.TCL中命令的赋值分为置换和赋值两个步骤2.续行符为3.转义符同为4.特殊字
6、符列表:puts“BenFranklinisonthe$100.00bill”;#换行;$100前的必须有,否则会将100作为一个变量,提示出错seta100.00puts"Washingtonisnotonthe$abill";#Thisisnotwhatyouwantputs"Lincolnisnotonthe$$abill";#显示$100,说明是后结合的,先置换了$a,此处严格的写应该写为$$a命令的赋值与置换二最外层是{}则不会进行置换操作,但其中的续行符仍然有效setZ"Albany"setZ_LABEL"TheCapitolofNe
7、wYorkis:"puts"$Z_LABEL$Z";#显示TheCapitolofNewYorkis:Albanyputs{$Z_LABEL$Z};#显示$Z_LABEL$Z,没有进行置换,{}中不会置换puts"$Z_LABEL{$Z}";#最外层是双引号,所以进行了置换命令的赋值与置换三1.[]可以传递其中的命令结果,注意不能被{}包含;2.双引号包含的[]中的命令可以正常执行,命令结果也可以传出;3.{}包含的[]中的命令不会执行,更不会有命令结果传出来。setx"abc"puts"$x";#显示abcsety[setx"def"];#先执行[]中的
8、命令,将”def”赋值给x,然后将该命
此文档下载收益归作者所有