当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平)

资源类别:文库,文档格式:PPT,文档页数:23,文件大小:335.5KB,团购合买
点击下载完整版文档(PPT)

333数据类型的转换 转换方法:函数转换法、类型标识符转换法和常量转换法 1、函数转换法 即利用一些转换函数进行对象数据类型的转换。 在 std_logic_1164中定义了四个转换函数 a.to_ stdlogicvector(a)将对象a由 bit vector类型转换为 std_logic_vector b.to_ bitvector(a)将对象 a tstd_logic_vector类型转换为 bit vector c.to_ stdlogic(a)将对象a由b类型转换为 std_ logic类型 d.to_bi(a)将对象a由 std_logic类型转换为b类型 ★在设计ⅥHDL程序过程中,若要调用程序包中的转换函数,必须在调用前 进行程序包使用的说明。 如:要调用 std_logic_unsigned程序包中的转换函数 library ieee use ieee std_logic_1164. all: use ieee std_logic_unsigned. all

3.3.3数据类型的转换 转换方法:函数转换法、类型标识符转换法和常量转换法 1、函数转换法 即利用一些转换函数进行对象数据类型的转换。 在std_logic_1164中定义了四个转换函数: a. to_stdlogicvector(a) 将对象a由bit_vector类型转换为std_logic_vector b. to_bitvector(a) 将对象a由std_logic_vector类型转换为bit_vector c. to_stdlogic(a) 将对象a由bit类型转换为std_logic类型 d. to_bit(a) 将对象a由std_logic类型转换为bit类型 ★在设计VHDL程序过程中,若要调用程序包中的转换函数,必须在调用前 进行程序包使用的说明。 如:要调用std_logic_unsigned程序包中的转换函数 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

2、类型标识符转换法 类型标识符就是类型的名称,适用于标量类型之间的转换,如整数和浮点数,如: variable a: integer; variable b: real; a: =integer(b) b =reala; §3.4VHDL的运算符 四种运算符:逻辑运算符、算数运算符、关系运算符和并置运算符 3.4.1逻辑运算符 VHDL中的逻辑运算符 运算符 功能 and 与或 nand 与非 nor 或非 Xor 异或 xnor 异或非 not 非

2、类型标识符转换法 类型标识符就是类型的名称,适用于标量类型之间的转换,如整数和浮点数,如: variable a: integer; variable b: real; a :=integer(b); b:=real(a); §3.4 VHDL的运算符 四种运算符:逻辑运算符、算数运算符、关系运算符和并置运算符 3.4.1 逻辑运算符 运算符 功能 and 与 or 或 nand 与非 nor 或非 xor 异或 xnor 异或非 not 非 VHDL中的逻辑运算符

优先级:not的优先级最高,其它6个逻辑运算符的优先级相同 VHDL中左右没有优先级差别。 q<= a and b or not c and d 应为:q<=( a and b)or( notc and d; 注意: 使用逻辑运算符时允许在一个表达式中出现两个或两个以上and运算符而不加括号; 0r、xOr、nor的规定与and相同; 不允许一个表达式中出现两个或连个以上nand和xnor而不加括号 例 g<=a and b and c and d; g<= a or b or c or d; q<= a xor b xor c xor d; g<= a nand b and c and d;

优先级:not的优先级最高,其它6个逻辑运算符的优先级相同; q <= a and b or not c and d; 应为: q <= (a and b) or (not c and d); VHDL中左右没有优先级差别。 注意: 使用逻辑运算符时允许在一个表达式中出现两个或两个以上and运算符而不加括号; or、xor、nor的规定与and相同; 不允许一个表达式中出现两个或连个以上nand和xnor而不加括号。 例: q<= a and b and c and d; q<= a or b or c or d; q<= a xor b xor c xor d; q<= a nand b and c and d;

3.4.2算数运算符 VHDL中的算数运算符 运算符 功能 运算符 功能 加 正号 减 负号 乘 sIl 逻辑左移 除 srl 逻辑右移 mod 取模 sla 算数左移 rem 取余 sra 算数右移 乘方 rol 逻辑循环左移 abs 取绝对值 ror 逻辑循环右移 sll、srl、sla、sra、rol和ror为二元运算操作符,只能定义在一维数组上, 其元素必须是bit和 boolean型

3.4.2 算数运算符 运算符 功能 运算符 功能 + 加 + 正号 - 减 - 负号 * 乘 sll 逻辑左移 / 除 srl 逻辑右移 mod 取模 sla 算数左移 rem 取余 sra 算数右移 ** 乘方 rol 逻辑循环左移 abs 取绝对值 ror 逻辑循环右移 VHDL中的算数运算符 sll、srl、sla、sra、rol和ror为二元运算操作符,只能定义在一维数组上, 其元素必须是bit和boolean型

sl(逻辑左移) 舍弃 填0 srl(逻辑右移) 填0 舍弃 sla(算术左移) 舍弃 srl(算术右移) 填0 舍弃 rol(逻辑循环左移) ror(逻辑循环右移) 移位运算符移位规则图

sll(逻辑左移) 舍弃 填0 srl(逻辑右移) 填0 舍弃 sla(算术左移) 舍弃 srl(算术右移) 填0 舍弃 rol(逻辑循环左移) ror(逻辑循环右移) 移位运算符移位规则图

3.4.3关系运算符 VHDL中的关系运算符 运算符 功能 相等 不等于 小于 大于 小于等于 大于等于 3.4.4并置运算符 作用是进行位和位矢量的连接,即将并置运算符右边的内容接在左边的内容之后 形成一个新的位矢量。 并置运算符: 三种情况:(1)将两个位连接起来形成一个位矢量; (2)将两个位矢量连接起来形成一个新的位矢量; (3)将位矢量和位连接起来形成一个新的位矢量

3.4.3 关系运算符 运算符 功能 = 相等 /= 不等于 大于 = 大于等于 VHDL中的关系运算符 3.4.4 并置运算符 作用是进行位和位矢量的连接,即将并置运算符右边的内容接在左边的内容之后 形成一个新的位矢量。 并置运算符: & 三种情况: (1)将两个位连接起来形成一个位矢量; (2)将两个位矢量连接起来形成一个新的位矢量; (3)将位矢量和位连接起来形成一个新的位矢量

★位连接的不同表示方法: 定义信号: signal a, b, c: std_logi signal q: std_ logic_vector(2 downto O); (1)直接连接 qa,1=>b,0=>0); 3.4.5运算符的优先级 优先级顺序 运算操作符 * not abs mod rem (正号)负号) +(加)-(减)& sI srl sla sra rol ror /> and or nand nor xor xnor

★位连接的不同表示方法: 定义信号: signal a, b, c: std_logic; signal q: std_logic_vector(2 downto 0); (1)直接连接 q a, 1 =>b, 0=>c); 3.4.5 运算符的优先级 优先级顺序 运算操作符 ** not abs * / mod rem +(正号) -(负号) +(加) -(减) & sll srl sla sra rol ror = /= >= and or nand nor xor xnor

例:BCD7段显示译码器 BCD码:二进制编码的十进制数。用4位二进制数来对每个十进制数进行编码。 如:905(十进制)=100100000101(BCD) 1、显示器 七段字码显示器:七段可以独立控制的发光二极管ED或液晶显示①CD) 单元组成的8字形,可以用于显示十进制数字或其它字符。 分为:共阴极一七段二极管的阴极都连接地; 共阳极—七段二极管的阳极都连接地

例:BCD-7段显示译码器 BCD码:二进制编码的十进制数。用4位二进制数来对每个十进制数进行编码。 如:905(十进制)=1001 0000 0101 (BCD) 1、显示器 七段字码显示器:七段可以独立控制的发光二极管(LED)或液晶显示(LCD) 单元组成的8字形,可以用于显示十进制数字或其它字符。 分为:共阴极—七段二极管的阴极都连接地; 共阳极—七段二极管的阳极都连接地

LED显示的电路条件 Vcc Vcc a a.点亮LED的条件 b.共阴极 C.共阳极

LED显示的电路条件: Vcc a. 点亮LED的条件 a b. 共阴极 b c a b c c. 共阳极 Vcc

BCD-7段显示译码器真值表 输入 输出 数字A3A2A1A0治 a Yb Yc Yd Ye YfYg字形 0 012345678 0000000011111111 00001 010 0 100 011 0 1011010111101011 1101 101000 00 100011111 1111 0 0 0 0 10000 010 00 011 0 010 2 13 00 1111100100 111110100 11110 0111111 0 011110111 456789ABCDEF 14 0 15 1

输入 输出 数字 A3 A2 A1 A0 Ya Yb Yc Yd Ye Yf Yg 字形 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 2 0 0 1 0 1 1 0 1 1 0 1 2 3 0 0 1 1 1 1 1 1 0 0 1 3 4 0 1 0 0 0 1 1 0 0 1 1 4 5 0 1 0 1 1 0 1 1 0 1 1 5 6 0 1 1 0 0 1 0 1 1 1 1 6 7 0 1 1 1 1 1 1 0 0 1 0 7 8 1 0 0 0 1 1 1 1 1 1 1 8 9 1 0 0 1 1 1 1 1 0 1 1 9 10 1 0 1 0 1 1 1 0 1 1 1 A 11 1 0 1 1 0 0 1 1 1 1 1 B 12 1 1 0 0 1 0 0 1 1 1 0 C 13 1 1 0 1 0 1 1 1 1 0 1 D 14 1 1 1 0 1 0 0 1 1 1 1 E 15 1 1 1 1 1 0 0 0 1 1 1 F BCD-7段显示译码器真值表

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共23页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有