- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲:VHDL语言的数据对象与数据类型 硬件描述语言与数字系统设计 本章内容提要 VHDL的标识符 数据对象 数据类型 硬件描述语言与数字系统设计 标识符是最常用的命名符,标识符可以是常数、变量、信号、端口、子程序、实体、结构体的名称等; VHDL的标识符有两种,基本标识符(VHDL’87版)和扩展标识符(VHDL’93版)。 基本标识符和扩展标识符以反斜杠“\”界定 VHDL标识符 VHDL基本标识符的命名必须遵循如下规则: 基本标识符由字母、数字和下划线组成 第一个字符必须是字母 最后一个字符不能是下划线 不允许连续2个下划线 保留字(关键字)不能用于标识符 大小写是等效的 定义标识符一定要有意义 下面是合法的标识符: Decoder_1,fft,sig_N,state,aaa 一、基本标识符 VHDL标识符 保留字 扩展标识符用反斜杠来界定,可以以数字打头; 例:\74ls173\,\controller_docode\ 都是合法的标识符 允许包含图形符号和空格; 例:\$500T\, \A OR B\ 都是合法的标识符 允许多个下划线相邻; 例:\out____entity\ 是合法的标识符 扩展标识符区分大小写,且与短标识符不同; 例:\adder\,Adder,adder是不同的标识符 扩展标识符的名字如果含有一个反斜杠,则用相邻的两个反斜杠来代表它; 例:\tex\\t\表示该扩展标识符的名称是tex\t 二、扩展标识符 VHDL标识符 VHDL数据对象(Data Objects) Constant width: integer := 7; Constant Vcc: REAL:=5.0; Constant D2:Std_Logic_Vector(width Downto 0):= ”0000”; 不能在程序中改变; 增强程序的可读性,便于修改程序; 1、常数(Constant) 常数的定义格式: Constant 常数名:数据类型 :=表达式; 知识点1 VHDL数据对象(Data Objects) 常量的使用范围取决于其声明的位置,可在Library、Entity、Architecture、Process中进行声明,其有效范围也相应限定。 Library程序包中的声明:引用的整个程序皆有效; Entity(实体)部分声明:该实体和结构体皆有效; Architecture(结构体)声明:该结构体有效; Process(进程)中声明:只在该进程有效。 实例1: 1、常数(Constant) 定义格式为: Constant 常数名:数据类型 :=表达式; 知识点2 常量的作用范围: 2、信号 信号数据对象,代表电路内部线路,其在元件之间起互连作用,没有方向性,可给它赋值,也可当作输入。 信号定义格式为: Signal 信号名:数据类型[:=设定值]; 如: Signal A : Std_logic_vector(3 Down to 0) := “0000”; 注意:设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。 信号赋值语句的语法格式为: 目标信号名=表达式(设定值); A = “1010” VHDL数据对象(Data Objects) 知识点3 知识点4 3、 变量 变量是一个局部量,用于对中间数据的临时存储,并不一定代表电路的某一硬件,没有物理意义。 变量定义格式为: Variable 变量名:数据类型[:=设定值]; 如:Variable a: integer := 0; 变量赋值语句的语法格式为: 目标变量名 := 表达式(设定值); 如: a := b and c; VHDL数据对象(Data Objects) 知识点5 知识点6 信号、变量、常数对比 一、定义 Signal clk: std_logic; Variable data: std_logic_vector(7 downto 0); Constant width: integer :=7 ; 二、赋值方式 clk = ‘1’; (非立即) data := “1010”; (立即) 三、定义区域 信号:实体、结构体、程序包 变量:进程、子程序 常数:实体、结构体、程序包、块、进程、子程序 四、适用范围 信号:实体、结构体、程序包(全局性) 变量:定义了变量的进程、子程序的顺序语句中 常数:视其定义的位置而定 信号、变量、常数对比 信号赋值(非立即) 信号和变量赋值区别举例 Architecture abc of
您可能关注的文档
- 高中数学必修3几何概型.ppt
- 高中数学必修一课件342换底公式(共15张PPT).ppt
- 高中数学第3章2-1-1一元二次不等式及其解法(一)课件北师大版必修.ppt
- 高中数学第3章32一元二次不等式(二)配套课件苏教版必修.ppt
- 高中数学第二章§2-2-2对数函数及其性质(二)课件新人教A版必修.ppt
- 高中数学第二章§222对数函数及其性质(一)课件新人教A版必修.ppt
- 高中数学第一章§1-3-1第2课时函数的最大(小)值课件新人教A版必修.ppt
- 高中数学第一章§131第2课时函数的最大(小)值课件新人教A版必修.ppt
- 高中数学典型例题解析:第二章_函数概念与基本初等函数(学生用).doc
- 高中数学对数函数的性质与应用课件新人教A版必修1.ppt
原创力文档


文档评论(0)