- 290
- 0
- 约4.29千字
- 约 6页
- 2018-12-22 发布于天津
- 举报
EasyHDL是Proteus专有的脚本编程语言它比通用的硬件描述语言
EasyHDL简介
EasyHDL是Proteus专有的脚本编程语言,它比通用的硬件描述语言(VHDL,Verilog等)更简单易用,功能也更加强大,可用于生成复杂的测试信号,包括数字信号和模拟信号,还可以用一个脚本为多个信号源对象生成复杂的测试向量。
EasyHDL基于BASIC编程语言,在此基础上添加了一些应用特性。接下来,本文将引导你创建EasyHDL脚本,并且链接到一个或多个信号发生器对象上。但本文除了对那些EasyHDL新加的,用于仿真建模和控制的功能进行细致描述外,不对BASIC语言的基本语法进行详细介绍。
创建和编辑EasyHDL脚本
EasyHDL脚本分为两种,一种是本地脚本,对应于某一个具体的信号发生器;另一种是全局脚本,放在原理图上,可链接到多个信号发生器,可用于定义复杂的测试向量。
本地EasyHDL脚本的创建
选择信号发生器图标,把它放置到原理图中,双击信号发生器,打开属性对话框,如下图所示:
根据需要选择信号发生器的类型,可选模拟EasyHDL和数字EasyHDL。
在右边的文本框中输入脚本,也可以点击编辑按钮,调用外部编辑器输入。
输出管脚的变量名自动定义为“OUT”,对于模拟信号,它是“NODE”类型的变量,而对于数字信号,它是“PIN”类型的变量。
全局EasyHDL脚本的创建
选择脚本图标,并放置到原理图中,将自动弹出编辑脚本对话框,如下图所示:
对于全局EasyHDL脚本,第一行必须如下定义:
*SCRIPT GENERATOR 脚本名称
关键字SCRIPT表示在脚本块中的文字将会放进网络表中,而关键字GENERATOR将告诉PROSPICE脚本的类型(链接时用到)。关键字GENERATOR后面的是脚本名称,可以使用数字、字母和下划线,其它的字符不能使用。
最后一行必须如下定义:
*ENDSCRIPT
关键字ENDSCRIPT表示脚本结束。如果没有找到这个关键字,ISIS在编译网络表的过程中将会提示。在这一行后面的所有脚本都将被忽略掉。
在*SCRIPT... 和 *ENDSCRIPT之间输入EasyHDL脚本。你需要把信号发生器名称定义为NODE或PIN类型。
完成脚本输入后关闭对话框即可。
链接信号发生器到全局EasyHDL脚本
选择信号发生器图标,把它放置到原理图中,双击信号发生器,打开属性对话框。
根据需要选择信号发生器的类型,可选模拟EasyHDL和数字EasyHDL。
使用“分配脚本”列表框选择激烈信号发生器的脚本,信号发生器的名字必须与脚本中的NODE/PIN类型变量一致。
可以参照SAMPLES目录下的“SPI Memory Stimulus.DSN”例子,学习全局脚本控制多个信号发生器的方法。
EasyHDL编程结构
EasyHDL由声明语句,赋值语句和命令语句组成。声明语句用于声明变量的名称,也可以进行初始化;赋值语句用于给变量赋值;命令语句用于控制脚本的流程。
每一个声明语句和命令语句都与一个或多个关键字关联,但有些命令有多个关键字,有一些关键字是可选的,在某些情况下可以省略。例如FOR...TO...STEP...NEXT命令具有四个关键字,只有FOR、TO和NEXT是必要的,STEP关键字和跟随它的表达是可以省略的。
一些命令有两种语法,分块(block)和单行(inline)。分块语法允许在命令的开始和结束之间嵌套多条命令。单行语法则必须把其它命令放在同一行上,但可以省略结束语句。下面是IF...ELSE...ENDIF命令的两种语法示例:
IF i=0 THEN
j=1 // IF... BLOCK
k=2
ELSE
j=3 // ELSE... BLOCK
k=4
ENDIF
IF i=0 THEN j=1:k=2 ELSE j=3:k=4 // 不需要ENDIF
使用EasyHDL描述模拟信号
定义输出
模拟信号发生器的输出管脚应该定义为NODE类型的变量,例如:
NODE V(OUT) // 单电压输出
NODE V(POS,NEG) // 差分电压输出
NODE I(OUT) // 单端电流输出
NODE I(POS,NEG) // 电流输出
本地脚本对电流电压输出进行了隐式定义,电压信号发生器定义为NODE V(OUT),而电流信号发生器定义为NODE I(OUT)。
程序流程
使用EasyHDL脚本定义模拟信号,在每个模拟仿真的时间点上或者回调事件出现时,整个脚本都是从上到下执行的。SLEEP命令将被禁止,并且假定程序将对每个声明的NODE变量进行赋值。
回调事件可以通过CALLBACK和TIMER命令进行安排。这些命令将会在指定时间上产生模拟仿真时间点,并且在这个时间点上通过相应的事件ID调用相应的脚本。
通常,我们
您可能关注的文档
- Pro_E课题1特征的基本操作.PPT
- NF-κB在卵圆细胞增殖和分化中的作用及黄芩苷的调节机制-F6出版系统.PDF
- PublicKey解密金钥称私密金钥-静宜大学资讯学院.PPT
- Python自动化运维人工智能开发课程大纲.PDF
- P67补给类型补给季节补给特点我国主要分布地区径流量的季节变化.PPT
- ROSA资源敏感的高性能Web容器体系结构-OpenRepositoryof.PDF
- September2013Vol3资诚联合会计师事务所.PDF
- ST南风2018年第三季度报告正文.PDF
- rǔtōufūmíhuòzhějíwáng死亡bì躲避wěi枯萎páng庞大hán寒冷.PPT
- SPB-XSL型智能巡回检测报警仪.PDF
- 《GB/T 46962-2026印刷技术 安全印刷过程管理》.pdf
- 中国国家标准 GB/T 46962-2026印刷技术 安全印刷过程管理.pdf
- GB/T 46962-2026印刷技术 安全印刷过程管理.pdf
- 中国国家标准 GB/T 32580.5-2026轨道交通 地面装置 高压交流开关设备及互感器 第5部分:27.5 kV和2×27.5 kV金属封闭开关设备和控制设备.pdf
- 《GB/T 32580.5-2026轨道交通 地面装置 高压交流开关设备及互感器 第5部分:27.5 kV和2×27.5 kV金属封闭开关设备和控制设备》.pdf
- GB/T 33248-2026印刷技术 胶印橡皮布.pdf
- GB/T 18282.6-2026医疗产品灭菌 化学指示物 第6部分:用于小型蒸汽灭菌器性能测试的二类指示物和过程挑战装置.pdf
- 中国国家标准 GB/T 18282.6-2026医疗产品灭菌 化学指示物 第6部分:用于小型蒸汽灭菌器性能测试的二类指示物和过程挑战装置.pdf
- 中国国家标准 GB/T 31308.1-2026行政、商业和行业中的数据元、过程和文档 长效签名 第1部分:CMS高级电子签名(CAdES)规范.pdf
- GB/T 31308.1-2026行政、商业和行业中的数据元、过程和文档 长效签名 第1部分:CMS高级电子签名(CAdES)规范.pdf
原创力文档

文档评论(0)