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

电子科技大学:《VHDL语言与数字集成电路设计》第十六章 组合运算模块的ⅥHDL设计

资源类别:文库,文档格式:PPT,文档页数:30,文件大小:296KB,团购合买
在硬件逻辑电路中,实际面对的数据对象总 是逻辑量,能够直接形成的运算是逻辑运算 算术运算可以看作是一种抽象的行为描述 组合运算电路主要包括加法器( adder)和 乘法器( multipliers)。
点击下载完整版文档(PPT)

组合运算模块的VHDL设计 在硬件逻辑电路中,实际面对的数据对象总 是逻辑量,能够直接形成的运算是逻辑运算。 算术运算可以看作是一种抽象的行为描述。 组合运算电路主要包括加法器( adder)和 乘法器( multipliers)

在硬件逻辑电路中,实际面对的数据对象总 是逻辑量,能够直接形成的运算是逻辑运算。 算术运算可以看作是一种抽象的行为描述。 组合运算电路主要包括加法器(adder)和 乘法器(multipliers)。 组合运算模块的VHDL设计

组合运算模块的设计特点 VHDL的算术运算可以采用不同方式进行: 利用算术量和算术运算进行行为描述 利用 igned和 unsigned类型直接进行 进 制加减运算(对应于加法器) 直接设计加法的基本逻辑单元,再通过结 构设计方式形成加法器和乘法器等功能单元

组合运算模块的设计特点 VHDL的算术运算可以采用不同方式进行: 利用算术量和算术运算进行行为描述。 利用signed和unsigned类型直接进行 二 进 制加减运算(对应于加法器); 直接设计加法的基本逻辑单元,再通过结 构设计方式形成加法器和乘法器等功能单元

组合运算模块的行为设计 直接利用VHDL中的加法运算和乘法运算可 以对 integer类型的数据进行运算。 例:一个4抽头的FR滤波器的直接实现。 X3 X2 X1 XO ∝ ∝ ∝ hO h2 h3

组合运算模块的行为设计 直接利用VHDL中的加法运算和乘法运算可 以对integer类型的数据进行运算。 例:一个4抽头的FIR滤波器的直接实现

组合运算模块的行为设计 entity fir is port(X0, x1, x 2, X3: in integer; hO, h1, h2, h3: in integer, y: out integer end fir: architecture beh of fir is egin y<=x32h0+x2h1+x1h2+x0h3: end beh 综合结果:需要使用15800个LUT

组合运算模块的行为设计 entity fir4 is port (x0,x1,x2,x3: in integer; h0,h1,h2,h3: in integer; y: out integer); end fir4; architecture beh of fir4 is begin y<=x3*h0+x2*h1+x1*h2+x0*h3; end beh; 综合结果:需要使用15800个LUT!

组合运算模块的行为设计 在数字逻辑电路中,通常进行的运算采用二 进制形式,通过符号数或无符号数的运算规 则进行 为了体现这一特点,在算术运算包集合 IEEE std_logic_arith中,定义了 signed和 unsinged两种数据类型

组合运算模块的行为设计 在数字逻辑电路中,通常进行的运算采用二 进制形式,通过符号数或无符号数的运算规 则进行; 为了体现这一特点,在算术运算包集合 IEEE.std_logic_arith中,定义了signed和 unsinged 两种数据类型

组合运算模块的行为设计 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类型的信号, 即可恢复通用的类型;

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

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

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