正在加载图片...
若运算量中存在 signed类型,结果就为 signed类型;否 则为 unsinged类型 若结果被指定为 std logic、 std logic vector等类型,则 signed或 unsigned类型的结果自动转为指定类型; 运算结果的长度为最长运算量的长度,但若 型与 signed类型运算,会自动变为后一类型,其长度会增加 以在最高位增加符号位"O 对于通常所用的 sdt logic vector类型的数据d,需要进 行算术运算时,可以采用函数 signed(d将其转换为 signed类 型,或采用函数 unsigned(d)将其转换为 unsigned类型,运算 完毕后,通过代入语句将结果直接赋值给 sdt logic vector类 型的信号,即可恢复通用的类型; 例P445表5-55各种运算结果的类型 8位不同类型数据的加/减法器 数据流设计 library ieee use ieee std logic 1164. all; use ieee std logic arith.all vadd Is port(a, b: in unsigned( 7 downto0); c: in signed(7 downton); d: in std logic vector( 7 downto0 ); s: out unsigned 8 downto O) t: out signed( 8 downto 0) u:out signed (7 downto 0); v: out std logic vector( 8 downto O)) end vac若运算量中存在 signed 类型,结果就为 signed 类型;否 则为 unsinged 类型; 若结果被指定为 std_logic、std_logic_vector 等类型,则 signed 或 unsigned 类型的结果自动转为指定类型; 运算结果的长度为最长运算量的长度,但若 unsigned 类 型与 signed 类型运算,会自动变为后一类型,其长度会增加 1 以在最高位增加符号位'0'; 对于通常所用的 sdt_logic_vector 类型的数据 d,需要进 行算术运算时,可以采用函数 signed(d)将其转换为 signed 类 型,或采用函数 unsigned(d)将其转换为 unsigned 类型,运算 完毕后,通过代入语句将结果直接赋值给 sdt_logic_vector 类 型的信号,即可恢复通用的类型; 例 P.445 表 5-55 各种运算结果的类型 8 位不同类型数据的加/减法器 数据流设计 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity vadd is port (a,b: in unsigned( 7 downto 0 ); c : in signed ( 7 downto 0 ); d : in std_logic_vector( 7 downto 0 ); s : out unsigned (8 downto 0); t : out signed (8 downto 0); u : out signed (7 downto 0); v : out std_logic_vector(8 downto 0)); end vadd;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有