组合运算模块的行为设计 library ieee; use ieee std_logic_arith.all; entity fir is port (x0, x1, X2, X3: in unsigned(15 downto 0); ho, h1, h2, h3: in unsigned (15 downto 0); y: out unsigned( 31 downto 0)) end fir architecture beh of fir is begin y<=x3*h0+x2*h1+x1*h2+x0*h3; end beh 综合结果:需要使用8194个LUT
组合运算模块的行为设计 library ieee; use ieee.std_logic_arith.all; entity fir4 is port (x0,x1,x2,x3: in unsigned ( 15 downto 0 ); h0,h1,h2,h3: in unsigned ( 15 downto 0 ); y: out unsigned ( 31 downto 0 ) ); end fir4; architecture beh of fir4 is begin y<=x3*h0+x2*h1+x1*h2+x0*h3; end beh; 综合结果:需要使用8194个LUT !
组合运算模块的 y: out unsigned downto 设计 architecture beh of fir is signal yo, yl,y2,y3: unsigned (31 downto O); begin y0<=X32h0y1<=X2h1y2<=x1h2y3<=x0 *h3 y<=yo(3l downto 16)+yl( 3l downto 16)+y2 (31 downto 16)+y3(31 downto 16) end beh 综合结果:需要使用7959个LUT 采用二进制符号数或无符号数,可以对运算过程进
组合运算模块的行为设计 y: out unsigned ( 15 downto 0 ) ); ---- architecture beh of fir4 is signal y0,y1,y2,y3: unsigned (31 downto 0); begin y0<=x3*h0;y1<=x2*h1;y2<=x1*h2;y3<=x0 *h3; y<=y0(31 downto 16)+y1(31 downto 16)+y2(31 downto 16)+y3(31 downto 16); end beh; 综合结果:需要使用7959个LUT ! 采用二进制符号数或无符号数,可以对运算过程进 行更准确的描述
signed和 unsigned类型的特点 1当两个二进制量进行相加时,若运算量中存 在 signed类型,结果就为 signed类型;否 则为 unsinged类型; 2若结果被指定为 std_logic_vector std_logic等类型,则 signed或 unsigned 类型的运算结果可以自动转为指定类型;
signed和unsigned类型的特点 1 当两个二进制量进行相加时,若运算量中存 在signed类型,结果就为signed类型;否 则为unsinged 类型; 2 若结果被指定为std_logic_vector、 std_logic等类型,则signed或unsigned 类型的运算结果可以自动转为指定类型;
signed和 unsigned类型的特点 3两个运算量长度不同时,运算结果的长度自 动取为最长运算量的长度 4但着 unsigned类型与 signed类型运算 会自动变为后一类型,则其长度会增加1 (在最高位增加符号位“0′)
signed和unsigned类型的特点 3 两个运算量长度不同时,运算结果的长度自 动取为最长运算量的长度; 4 但若unsigned 类型与signed类型运算, 会自动变为后一类型,则其长度会增加1 (在最高位增加符号位‘0’);
signed和 unsigned类型的特点 5对于通常所用的 sdt_logic_vector?类型的 数据d,进行算术运算时,可以采用函数 signed(d)将其转换为 signed类型,或采 用函数 unsigned(d)将其转换为 unsigned 类型,运算完毕后,通过赋值语句将结果直 接赋值给 sdt_logic_vector类型的信号, 即可恢复通用的类型;
signed和unsigned类型的特点 5 对于通常所用的sdt_logic_vector类型的 数据d,进行算术运算时,可以采用函数 signed(d)将其转换为signed类型,或采 用函数unsigned(d)将其转换为unsigned 类型,运算完毕后,通过赋值语句将结果直 接赋值给sdt_logic_vector类型的信号, 即可恢复通用的类型;