- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章VHDL语言介绍与设计-Saunalahti.doc
第六章 VHDL语言介绍与设计
VHDL语言的英文全名为Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言。
6.1 VHDL语言的基本语法
6.1.1 VHDL语言的标识符
VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则:
标识符由字母(A…Z;a…z)、数字和下划线字符组成。
任何标识符必须以英文字母开头。
末字符不能为下划线。
不允许出现两个连续下划线。
标识符中不区分大小写字母。
VHDL定义的保留子或称关键字,不能用作标识符。
VHDL中的注释由两个连续的短线(--)开始,直到行尾。
以下是非法标识符:
-Decoder —起始不能为非英文字母
3DOP —起始不能为数字
Large#number —“#”不能成为标识符的构成符号
Data__bus —不能有双下划线
Copper_ —最后字符不能为下划线
On —关键字不能用作标识符。
注:在AHDL语言中标识符要区分大小写,但在VHDL语言中不区分大小写。所以写程序时,一定要养成良好的书写习惯,应用关键字时用大写,自己定义的标识符用小写。
标识符表示的几种数据对象的详细说明如下:
常数(Constant )
常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一被赋值就不能在改变。一般格式:
CONSTANT 常数名:数据类型:=表达式;
例:CONSTANT Vcc: REAL: =5.0;
—设计实体的电源电压指定
常数所赋得值应与定义的数据类型一致。
常量的使用范围取决于它被定义的位置。程序包中定义的常量具有最大的全局化特性,可以用在调用此程序包的所有设计实体中;设计实体中某一结构体中定义的常量只能用于此结构体;结构体中某一单元定义的常量,如一个进程中,这个常量只能用在这一进程中。
变量(Variable)
变量是一个局部变量,它只能在进程语句、函数语句和进程语句结构中使用。用作局部数据存储。在仿真过程中。它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量常用在实现某种算法的赋值语句中。
一般格式:
VARIABLE 变量名 数据类型 约束条件:=表达式;
例:VARIABLE x,y:INTEGER; —定义x,y为整数变量
VARIABLE count: INTEGER RANGE0 TO255:=10; —定义计数变量范围
变量的适用范围仅限于定义了变量的进程或子程序中。若将变量用于进程之外,必须该值赋给一个相同的类型的信号,即进程之间传递数据靠的信号。
变量赋值语句的语法格式如下:
目标变量:=表达式;
变量赋值符号是“:=”。赋值语句右方的表达式必须是一个与目标变量有相同数据类型的数值。变量不能用于硬件连线和存储元件。
信号(Signal)
信号是描述硬件系统的基本数据对象,它类似于连接线,它除了没有数据流动方向说明以外,其它性质与实体的端口(Port)概念一致。变量的值可以传递给信号,而信号的值不能传递给变量。信号通常在构造体、包集合和实体中说明。信号说明格式为:
SIGNAL 信号名: 数据类型;
信号初始值的设置不是必需的,而且初始值仅在VHDL的行为仿真中有效。
变量
变量只能在进程、函数和过程中使用,一旦赋值立即生效。
例:VARIABLE x, y: INTEGER;
VARIABLE count: INTEGER RANGE 0 TO 255:=10;
信号
信号除了没有方向的概念以外几乎和端口概念一致。
例:SIGNAL sys_clk: BIT:=’0’;
SIGNAL ground: BIT:=’0’
在程序中,信号值输入信号时采用代入符”=”,而不是赋值符“:=”,同时信号可以附加延时。
信号传送语句:
s1=s2 AFTER 10ns
信号是一个全局量,可以用来进行进程之间的通信
信号与变量的区别:
信号赋值可以有延迟时间,变量赋值无时间延迟;
信号除当前值外还有许多相关值,如历史信息等,变量只有当前值;
进程对信号敏感,对变量不敏感;
信号可以是多个进程的全局信号,但变量只在定义它之后的顺序域可见;
信号可以看作硬件的一根连线,但变量无此对应关系。
例:ENTITY reg1 IS
PORT ( d : in BIT;
clk : in BIT;
q : out BIT);
END reg1;
A
您可能关注的文档
- 第23章山域事故搜救安全指导原则.PDF
- 第2章PL设计概述-程序设计语言原理.ppt
- 第2章数学基础-Read.PDF
- 第3单元位移和时间的关系.doc
- 第3章集合跑墓夏属运算3.1集合的基本概念.PDF
- 第3讲·上形式语言与自动机刘群.PDF
- 第4章滤波技术4.1.1电磁干扰滤波器的工作原理.ppt
- 第5-6讲二次函数与构造二次函数法例题精选.PDF
- 第5节n维欧氏空间.ppt
- 第6章有限集合.PDF
- 福建省邵武市四中学片区达标名校2024届中考化学最后一模试卷含解析.doc
- 山东省临沂市沂南县重点达标名校2024届中考适应性考试化学试题含解析.doc
- 2024届浙江省嘉兴地区达标名校中考猜题化学试卷含解析.doc
- 2024届山东省菏泽市单县市级名校中考化学最后一模试卷含解析.doc
- 上海市建平西校2024届中考适应性考试化学试题含解析.doc
- 江苏省南京市六校联考2024年中考联考化学试卷含解析.doc
- 江苏省扬州市江都区城区重点名校2024届中考考前最后一卷化学试卷含解析.doc
- 郑州二中学2024届中考化学五模试卷含解析.doc
- 2024届湖南省张家界市永定区重点中学中考化学最后冲刺模拟试卷含解析.doc
- 河北省石家庄市43中学2024年中考化学模拟试题含解析.doc
最近下载
- 数列与概率统计经典8题含详解.pdf VIP
- MSDS-柴油(柴油MSDS安全技术说明书2019年版).pdf
- UML考试题及答案.pdf VIP
- 2020-2021 年小学六年级毕业考试数学试卷(十套附答案解析).pdf
- 2023年安徽中考历史试题及答案.doc VIP
- 2023西城区初中信息科技学业考试试卷-参考答案及评分标准.docx VIP
- 非道路柴油移动机械车载法检测规程和要求、生产一致性保证要求及检查、在用符合性技术要求.pdf VIP
- 2023年06月新疆轻工职业技术学院面向高校毕业生人才引进招聘(18人)上岸笔试历年难、易错点考题附带参考答案与详解.docx
- 4.2.1-基于链路聚合提高公司局域网带宽v1.2.pdf VIP
- 2023年副主任医师(副高)-普通外科学(副高)考试历年真题拔高带答案.docx
文档评论(0)