tcl语言及其在fpga设计中的应用

tcl语言及其在fpga设计中的应用

ID:11412094

大小:581.50 KB

页数:68页

时间:2018-07-11

tcl语言及其在fpga设计中的应用_第1页
tcl语言及其在fpga设计中的应用_第2页
tcl语言及其在fpga设计中的应用_第3页
tcl语言及其在fpga设计中的应用_第4页
tcl语言及其在fpga设计中的应用_第5页
资源描述:

《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,然后将该命

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。