EDA技术P3-VHDL简介_第1页
EDA技术P3-VHDL简介_第2页
EDA技术P3-VHDL简介_第3页
EDA技术P3-VHDL简介_第4页
EDA技术P3-VHDL简介_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1EDAEDA技术技术VHDLVHDL简介简介任课教师:于国庆任课教师:于国庆 电话:电话子邮箱:电子邮箱:HBKDEDA 密码:密码:123456办公地点:办公地点:C2052VHDL简介简介 Introduction of VHDL 本部分将通过一些简单的实例程序代码本部分将通过一些简单的实例程序代码 介绍介绍VHDL语言的基本特性语言的基本特性 介绍介绍VHDL的基本设计单元的基本设计单元 实体:实体:定义设计系统的外部接口信号定义设计系统的外部接口信号 结构体:结构体:描述设计实体的逻辑功能描述设计实体的逻辑功能 VHDL语言的基本数据类型语言的基本数据类型

2、标准逻辑:标准逻辑:std_logic 标准逻辑矢量:标准逻辑矢量:std_logic_vector3 实体先以与非门的设计开始。首先,我们要描述设计器件的对外接口 。主要是描述端口说明,即,该设计实体的输入、输出信号3.1 A simple example in VHDL1. EntityWe will start off with a NAND gate. The first thing is to say what the device looks like to the outside world. This basically means describing its port ma

3、p, i.e. the signals that flow in and out of it. Block diagram of the NAND gate(与非门框图) 简单例子简单例子43.1 A simple example in VHDLTo describe this in VHDL, we use an entity declaration. ENTITY nandgate IS PORT ( a, b: IN STD_LOGIC; c: OUT STD_LOGIC ); END ENTITY nandgate;Each of the signals in the port map

4、 is declared as having a mode and a type. The mode can be IN or OUT, and simply says whether the signal is an input or an output.我们用VHDL实体声明实体声明来描述这个器件以关键词ENTITY引导描述电路器件外部情况及各信号端口基本性质以关键词END结尾实实体体实体名端口说明中每个信号都须声明端口模式端口模式和数据类型数据类型。端口说明端口模式可以是IN 或 OUT简单的说信号是输入还是输出。 简单例子简单例子53.1 A simple example in VHD

5、L语法语法1: 声明实体声明实体格式:格式: ENTITY 实体名实体名 IS GENERIC (参数名:数据类型)参数名:数据类型) PORT (端口名表)端口名表) END ENTITY 实体名实体名 ;标点符号,定义实体最后加分号。实体名是自定义的该电路器件名,最好根据电路功能来取名;不能用数字或中文定义实体名实体名不能与EDA工具库中已定义好的元件名重名实体名不能用数字起头程序结构类语法程序结构类语法最后分号符合VHDL93版语法要求,VHDL87版无要求, 简单例子简单例子参数传递说明端口说明63.1 A simple example in VHDL语法语法2: 端口说明语句端口说明

6、语句格式:格式: PORT ( 端口名端口名,端口名端口名: 端口模式端口模式 数据类型;数据类型; 端口名端口名,端口名端口名: 端口模式端口模式 数据类型);数据类型); 是对一设计实体界面的说明,其与外部电路接口通道的说明。实体说明语句之一实体说明语句之一程序结构类语法程序结构类语法最后分号无分号 简单例子简单例子73.1 A simple example in VHDLThe type STD_LOGIC represents a signal that can a value of 0, 1, X, U, Z, W, L, H, -.STD_LOGIC is the normal w

7、ay to describe logic signals that appear at the input or output of gates, or at wires in between them.0, 1 Strong Logic 强逻辑0 ,1X Strong unknown 强未知 Z High-impedance 高阻U uninitialized 未初始化的W Weak Unknown 弱未知L, H Weak Logic 弱逻辑0,1 - Ignore 忽略标准逻辑类型STD_LOGIC取值可是0, 1, X, U, Z, W, L, H, -数字器件中实现的只有这4种STD

8、_LOGIC通常用来通常用来表示输入、输出端及表示输入、输出端及其连线上的逻辑信号。其连线上的逻辑信号。 简单例子简单例子83.1 A simple example in VHDL2. Architecture Now that we have described the inputs and outputs, we need to say what the device does, i.e. how its outputs respond to its inputs. ARCHITECTURE simple OF nandgate ISBEGIN c = a NAND b;END ARCHI

9、TECTURE simple;The ARCHITECTURE statement says what goes on inside nandgate. 结构体我们已描述了输入和输出端口,现在我们需要说明器件要做什么,即它的输出是怎样响应其输入的。 声明结构体功能描述以END结尾结结构构体体结构体名功能描述可加入说明和定义结构体开始这个结构体声明描述了与非门内部(逻辑)功能属那个实体的 简单例子简单例子93.1 A simple example in VHDL以关键字BEGIN引导出结构体主体部分,它描述了输出与输入间关系The word BEGIN introduces the main b

10、ody of the architecture, which explains how the outputs relate to the inputs. At the end of the body comes the END statement, which says that we have reached the end of the body.How the outputs relate to the inputs is described by c = a NAND b;The symbol = means that the signal c gets the value of a

11、 NANDed together with the value of b. Whenever a or b change their value, this statement causes the value of c to be updated. 最后是END语句,它是整个结构体的结束。用下面的语句描述了输出和输入的关系:符号=表示信号C的值是a 和 b被与非的结果。a值或b值的改变即刻更新c值。 简单例子简单例子103.1 A simple example in VHDL语法语法3: 结构体声明结构体声明格式:格式: ARCHITECTURE 结构体名结构体名 OF 所属实体名所属实体名

12、 IS 说明语句说明语句 BEGIN (功能描述语句功能描述语句) END ARCHITETURE 结构体名结构体名 ;一个实体可以有多个结构体,每个结构体分别代表该实体功能的不同实现方案。具体综合时,选择哪一个结构体来综合,由配置配置语句语句来确定 。程序结构类语法程序结构类语法最后分号 为非必需的( )为必有的 简单例子简单例子113.1 A simple example in VHDL运算符运算符1: 信号传输(赋值)符号信号传输(赋值)符号 =表达式:表达式: y = a要求赋值符 “ = ” 两边的信号的数据类型必须一致。仿真中赋值并非立即发生,要经历一个模拟器的最小分辨时间才发生,

13、可视作实际电路中存在固有的延时量运算符类语法运算符类语法 简单例子简单例子123.1 A simple example in VHDLIf we want to check that our description is functioning correctly, we can feed it into a simulator, a program that predicts how the outputs would change in response to changes in the input. 如果我们要验证我们的功能描述正确性,可以将其输入仿真器:一个预测输出变化怎样响应输入变

14、化的程序。 简单例子简单例子133.1 A simple example in VHDLAnother architecture 我们可以有多种不同的方式来描述同一输入与输出的关系关系。We are allowed to give many different description of the way that the input is related to the output.另一种结构体另一种结构体ARCHITECTURE simple OF nandgate ISBEGIN c = NOT( a AND b );END ARCHITECTURE simple;This achiev

15、es exactly the same functions as the first description, but does it in a different way.这和第一种描述都实现完全一样的功能,但用了不同的方法。 简单例子简单例子143.1 A simple example in VHDL运算符运算符 1: 取反取反 NOT 2: 与与 AND 3:或:或 OR优先级优先级 4:与非:与非 NAND 5:或非:或非 NOR 6:异或:异或 XOR 7:同或:同或 NXOR运算符的优先级的顺序是递减的运算符的优先级的顺序是递减的。运算符类语法运算符类语法优先级优先级 简单例子简单

16、例子153.1 A simple example in VHDL3. BEGIN and END statementsVHDL uses the keywords BEGIN and END to indicate the beginning and end of a block respectively. 4. SemicolonsVHDL uses the semicolon to indicate the end of a statement. BEGIN 和和 END 语句语句VHDL 用关键词 BEGIN and END 来分别标示一代码 “块”的起始和结束. 分号分号VHDL 用分

17、号标识语句的结束。注:实体、结构体的命名语句,BEGIN语句不需要分号标。 简单例子简单例子16 3.2 Stylistic issues1. CaseVHDL is not case sensitive. 2. Spaces and indents Any number of spaces can be used between words without affecting the meaning of the code. 3. Returns Putting in a return makes no difference to the function of the code. 词法词法

18、大小写大小写VHDL 不区分大小写 注:1、编辑器可自动判别关键词、自定义标识符、注释,并用不同颜色显示 2、扩展标识符是区分大小写的。空格和缩进空格和缩进字与字之间加任意空格字与字之间加任意空格都不会影响代码含义。都不会影响代码含义。 换行换行加入换行,不影响代加入换行,不影响代码功能码功能 17 3.2 Stylistic issues词法单元词法单元4. Annotating END statementsIn a long description, in order to keep track, we can put the name of what we intend to end a

19、fter the END statement. ENTITY nandgate IS PORT ( a, b: IN STD_LOGIC; c: OUT STD_LOGIC);END ENTITY nandgate;ARCHITECTURE simple OF nandgate ISBEGIN c = a NAND b;END ARCHITECTURE simple;END 注释语句注释语句程序代码较长时,为了保持流程清晰,可以可以在END后注明要结束的名字(如实体、结构体)。A:非常好的习惯B:编译器若发现END注释与结果不符,将发出错误信息。18 3.2 Stylistic issues词

20、法单元词法单元5. CommentsComments are text that we introduce into the VHDL description in order to help a person reading to the code to understand what is happening. Comments are introduced by . Everything between the two dashes and the is regarded as a comment.注释注释注释是插入在VHDL程序中的文字,利于对代码的阅读和对用途的理解。注释用开始。两连

21、接符到行尾之间内容均视为注释ENTITY nandgate IS PORT ( a, b: IN STD_LOGIC; - Input to the gate c: OUT STD_LOGIC); - Output of the gateEND ENTITY nandgate;19课堂练习:相位检测pdABSTART STOPSTART STOPAB20课堂练习:相位检测nENTITY pd ISn PORT ( A, B: IN STD_LOGIC; n START: OUT STD_LOGIC; STOP : OUT STD_LOGIC );n END ENTITY pd;nARCHITE

22、CTURE rtl OF pd ISnBEGINn START = A OR B;n STOP = A AND B;nEND ARCHITECTURE rtl;21 3.3 The IEEE libraryA large number of features and extensions to the capabilities of the VHDL language are bundled into a library called “IEEE”IEEE库库The definitions used for STD_LOGIC are held in this library. VHDL语言的

23、大量资源语言的大量资源和扩展功能都被绑定在和扩展功能都被绑定在一个称作一个称作“IEEE”的库的库里。里。标准数据类型标准数据类型 STD_LOGIC的定的定义就在该库里。义就在该库里。Another :STD library: Is the VHDLs standard library WORK library: the current working library duringVHLD design of the user另外:另外:STD 库库:是是VHDL的标的标准库。准库。WORK 库库:用户进行用户进行VHDL设计时的设计时的现行工作库现行工作库22 3.3 The IEEE l

24、ibrary1. Opening libraries The IEEE library is made available by the statement: LIBRARY IEEE;IEEE库库打开库打开库 用下面语句打开IEEE库:In order to use the features of this library1. Must open the library first.2. Say which features of the library it wished to access.要使用库资源要使用库资源首先必须打开库首先必须打开库说明需要开放那说明需要开放那些库资源些库资源2

25、3 3.3 The IEEE libraryIEEE库库语法语法5: 库的打开库的打开格式:格式: LIBRARY ;常用的库有常用的库有IEEE库、库、STD库和库和WORK库。库。(1)IEEE库:最常用的资源库,库:最常用的资源库,含含IEEE标准的标准的STD_LOGIC_1164等一等一些支持工业标准的包集合。些支持工业标准的包集合。 STD_LOGIC_1164是其最重要和是其最重要和最常用,大部分程序都是以此包集合中设定的标准为设计基础。最常用,大部分程序都是以此包集合中设定的标准为设计基础。(2)STD库:是库:是VHDL的标准库,的标准库,VHDL在编译过程中会自动调用这个在

26、编译过程中会自动调用这个库,所以使用时不需要用语句另外说明。库,所以使用时不需要用语句另外说明。(3)WORK库:是用户在进行库:是用户在进行VHDL设计时的现行工作库,设计时的现行工作库,用户的用户的设计成果将自动保存在这个库中,即设计成果将自动保存在这个库中,即设计顶层文件所在文件夹路设计顶层文件所在文件夹路径,同径,同STD库一样,使用库一样,使用该库不需要任何说明。该库不需要任何说明。程序结构类语法程序结构类语法最后分号24 3.3 The IEEE libraryThe IEEE library contains many sub-libraries, which in turn c

27、ontain many features. VHDL sub-libraries are called packages. IEEE库库IEEE库包含多个子库,每个子库又包含许多资源(项目)。VHDL的子库又叫做“包集合包集合”。In order to say which features of which packages we wish to access, we use :USE IEEE.XXXX.YYYYXXXX: 所需包集合名 YYYY: 所需包里的具体项USE IEEE.XXXX.ALL Often we simply make all features within a pac

28、kage visible by using the VHDL keyword ALL:通常,简单地用通常,简单地用VHDL语语言的关键字言的关键字ALL,打开包,打开包集合的所有项目。集合的所有项目。25 3.3 The IEEE libraryIEEE库库语法语法6: 包集合的打开包集合的打开格式:格式: USE .;程序结构类语法程序结构类语法(1)STD_LOGIC_1164包集合:包集合:定义了一些数据类型、子类型和函数。定义了一些数据类型、子类型和函数。最常用的包集合,其数据类型能够满足工业标准,非常适合最常用的包集合,其数据类型能够满足工业标准,非常适合CPLD、FPGA器件的多值

29、逻辑设计结构。器件的多值逻辑设计结构。(2)STD_LOGIC_ARITH包集合:包集合:主要是在主要是在STD_LOGIC_1164的基础的基础上扩展了上扩展了UNSIGNED(无符号无符号)、SIGNED(符号符号)和和SMALL_INT(短短整型整型)三个数据类型,并定义了相关的算术运算符和转换函数。三个数据类型,并定义了相关的算术运算符和转换函数。(3)STD_LOGIC_SIGNED包集合:包集合:主要定义有符号数的运算,重载后主要定义有符号数的运算,重载后可用于可用于INTEGER(整数)、(整数)、STD_LOGIC(标准逻辑位)和(标准逻辑位)和STD_LOGIC _VECTO

30、R(标准逻辑位向量)之间的混合运算,并(标准逻辑位向量)之间的混合运算,并且定义了且定义了STD_LOGIC _VECTOR到到INTEGER(整数)的转换函数。(整数)的转换函数。(4)STD_LOGIC_UNSIGNED包集合:包集合:该包集合用来定义无符号数的该包集合用来定义无符号数的运算,其他功能与运算,其他功能与STD_LOGIC_SIGNED相似。相似。ALL打开全部26 3.3 The IEEE libraryIEEE库库2. Using STD_LOGIC The standard logic definitions are held in a called std_logic

31、_1164. The full listing for a NAND gate is: LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY nandgate IS PORT ( a, b: IN STD_LOGIC; c: OUT STD_LOGIC );END ENTITY nandgate;ARCHITECTURE simple OF nandgate ISBEGIN c = a NAND b;END ARCHITECTURE simple;标准逻辑类型的定义放在 std_logic_1164中,下面是与非门设计的完整程序清单。27条件信号赋值语

32、句条件信号赋值语句 3.4 Conditionals in VHDLSometimes we want to assign a signal in a way that is conditional on something else happening. Exp1: This device is called equals. It has two inputs a and b and one output c. If the two inputs are then the output is 1. If the two inputs are unequal, then the output

33、is 0.有时我们要根据其他条件来决定决定一个信号(的值)。例1:一命名为equals器件,有两个输入端口a和b,有一个输出端口c。如果两个输入输出1,如果当两个输入端不同时,输出0。注意框图的画法注意框图的画法28条件信号赋值语句条件信号赋值语句 3.4 Conditionals in VHDLLIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY equals IS PORT ( a, b: IN STD_LOGIC; c: OUT STD_LOGIC);END ENTITY equals;ARCHITECTURE number1 OF equals

34、 ISBEGIN c = 1 WHEN a=b ELSE 0;END ARCHITECTURE number1;The VHDL description VHDL 描述29条件信号赋值语句条件信号赋值语句 3.4 Conditionals in VHDL语法语法7: 条件信号赋值语句条件信号赋值语句格式:格式: 赋值目标赋值目标 = 表达式表达式1 WHEN 赋值条件赋值条件1 ELSE 表达式表达式2 WHEN 赋值赋值条件条件2 ELSE 表达式表达式n ;当条件当条件1成立,将表达式成立,将表达式1的值赋给赋值目标的值赋给赋值目标当条件当条件2成立,将表达式成立,将表达式2的值赋给赋值目

35、标的值赋给赋值目标其他情况,将表达式其他情况,将表达式n的值赋给赋值目标的值赋给赋值目标并行并行 语句类语法语句类语法最后分号条件一具有最高条件一具有最高优先权,条件二优先权,条件二次之,依此类推。次之,依此类推。30矢量信号处矢量信号处理理 3.5 Handling multi-bit signals1. STD_LOGIC_VECTORs STD_LOGIC_VECTOR can be thought as an array of STD_LOGIC signals. Exp2: Use VHDL to describe the 2-input OR gate. 标准逻辑矢量数据类型标准逻

36、辑矢量数据类型标准逻辑矢量可想象为标标准逻辑矢量可想象为标准逻辑类型信号的一个准逻辑类型信号的一个(一维)(一维)数组。数组。例2: 用 VHDL描述2输入或门。注意框图的画法注意框图的画法31矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY orgate IS PORT ( a, b: IN STD_LOGIC_VECTOR (0 TO 3) ; c: OUT STD_LOGIC_VECTOR (0 TO 3) );END ENTITY orgate;ARCHI

37、TECTURE number OF orgate ISBEGIN c = a OR b;END ARCHITECTURE number;也可:也可:c(0) = a(0) or b(0);c(1) = a(1) or b(1);c(2) = a(2) or b(2);c(3) = a(3) or b(3);或:或:(3 DOWNTO 0)32矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsARCHITECTURE number OF orgate ISBEGIN c (0 to 3) = a(0 to 3) OR b(0 to 3);END ARCHITE

38、CTURE number;The VHDL tools will know that a, b and c are four bit wide, and therefore infer the appropriate operation for each of the bit position. If we preferred, we could write thisVHDL工具已知工具已知a、b和和c都都是是4位位宽,位位宽,据此据此为每一位为每一位推算推算合理合理操作。如操作。如首选,首选,我们应这样写:我们应这样写:This is effectively a loop,which mak

39、es four assignment, one for each of the four bit positions 0,1,2 and 3.这是一高效高效的循环语句,做4次赋值,每次为0、1、2、3中的一位赋值。33矢量信号处理矢量信号处理 3.5 Handling multi-bit signals2. STD_LOGIC_VECTOR values The value of an STD_LOGIC is indicated by a 0, 1, X or U enclosed in single quotes. Assignment statement is: a = 1;The va

40、lue of an STD_LOGIC_VECTOR is indicated by a string of values enclosed in double quotes. Assignment statement is:a = ”1110”;标准逻辑矢量标准逻辑矢量 值值标准逻辑STD_LOGIC的值用单引号括起来的0、1、X 或 U表示表示。赋值语句是:标准逻辑矢量STD_LOGIC的值用双引号括起来的数值串表表示示。赋值语句是:a = X”1”;16进制表进制表示方式示方式2进制表进制表示方式示方式对应对应a(0)对于对于a: STD_LOGIC_VECTOR(0 TO 3)34矢量

41、信号处理矢量信号处理 3.5 Handling multi-bit signals3. AggregatesAnother way to specify the value of a STD_LOGIC_VECTOR is to use an aggregate. An aggregate is a group values, separated by commas. a = ( 1,1,1,0); 集合体集合体另外一种指定标准逻辑矢量STD_LOGIC_VECTOR的值的方法是使用集合体集合体。一个集合体是用逗号隔开的数值。a = ”1110”;使用使用集合体集合体对应对应a(0)对于对于a

42、: STD_LOGIC_VECTOR(0 TO 3)35矢量信号处理矢量信号处理 3.5 Handling multi-bit signals(1) Positional associationa 1, 0 = 1, 3 = 0, 2 = 1);the 0th value listed goes in the 0th position, the first goes in the first position and so on. (2) Named association 位置位置关联第0个值给第0个位置,第1个值给第1个位置, a = ( 1,1,1,0); 结果是 a(0)=1 a(3)

43、=0名称名称关联a(1)为为1a(0)为为1a(3)为为1a(2)为为1对于对于a: STD_LOGIC_VECTOR(0 TO 3)a 0, OTHERS = 1);还可OTHERS可以将数组元素统一赋值:b 1);第第0个值个值36运算符运算符2: 名称关联符号名称关联符号 =表达式:表达式: 名称名称 1= 表达式表达式 或或 名称名称2名称可是信号名称,将两个信号连接。用于给矢量的位赋值,名称1为矢量的位下标,关联表达式。运算符类语法运算符类语法矢量信号处理矢量信号处理 3.5 Handling multi-bit signals37矢量信号处理矢量信号处理 3.5 Handling

44、multi-bit signals4. Direction of numbering a: STD_LOGIC_VECTOR ( 0 TO 3) If a is declared as:As a result, the individual bit positions within a are numbered as 排序方式排序方式如果一个声明如下:标准逻辑矢量a的排列顺序为 a(0),a(1),a(2),a(3) 结果,各位位置排序如下: 元素元素38矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsThere is also the option to

45、 have arrays where the index count downwards. a: STD_LOGIC_VECTOR ( 3 DOWNTO 0) If a is declared as:As a result, the individual bit positions within a are numbered as 数组下标也可数组下标也可选择选择按按降序降序排列排列如果一个声明如下:标准逻辑矢量a的排列顺序为 a(0),a(1),a(2),a(3) 结果,各位位置排序如下: 元素元素39矢量信号处理矢量信号处理 3.5 Handling multi-bit signals一般

46、习惯总是以第0位作为最低位,为防止代码混乱,通常标准逻辑矢量是按降序排列。40矢量信号处理矢量信号处理 3.5 Handling multi-bit signals5. Arithmetic on STD_LOGIC_VECTORsExp3: It has two inputs, a and b, both of which represent four-bit binary numbers. There is a single one-bit output g, which represents the “greater than” condition. When ab then g=1;

47、otherwise g=0. 标准逻辑矢量的标准逻辑矢量的算数运算算数运算例3:一器件有a、b两组输入,均相当于相当于4位2进制数,有一个1位信号输出g,代表“大于”状态。 当ab时,g=1; 否则,g=0 Blok diagram for 4-bit comparator注意框图的画法注意框图的画法41矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsFirst, we need to know whether a and b are signed(2s complement) or unsigned numbers. 首先,我们需要知道A和B是有符号数(

48、2的补码的补码)还是无符号数。 Suppose a=“1111” and b=“0001” If the number are unsigned: a is fifteen b is one so ab g=1 Suppose a=“1111” and b=“0001” If the number are signed: a is minus one b is plus one so ab g=1令a=“1111” , b=“0001”如果采用有符号数: a 为 负负1 b 为 正1则 ab g=042矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsThe

49、 way that VHDL handles this is by having two different types of STD_LOGIC_VECTOR. These are called SIGNED and UNSIGNED. VHDL 处理处理这类问这类问题的方法是采用不题的方法是采用不同类型的标准逻辑同类型的标准逻辑矢量,即矢量,即符号型符号型和和无符号型无符号型。The definitions of these types are held in a package called STD_LOGIC_ARITH.这些类型的这些类型的定义定义包含包含在名为在名为STD_LOGI

50、C_ARITH的包集合内。43矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY comp IS PORT ( a, b: IN SIGNED(3 DOWNTO 0); g: OUT STD_LOGIC);END ENTITY comp;ARCHITECTURE simple OF comp ISBEGIN g b ELSE 0;END ARCHITECTURE simple;44矢量信号处理矢量信号处理 3

51、.5 Handling multi-bit signalsExp4: The device has two inputs, a and b, each of which are 16 bits wide. The 16-bit output c is produced by some arithmetic or logical operation on the two inputs. The operation performed on a and b to produce c depends on the value presented at the opcode input. 例例4:一器

52、件有两个:一器件有两个16位输入位输入a和和b,16位输出位输出c是两个输入的某种是两个输入的某种算术算术运算运算或或逻辑运算逻辑运算的的结果结果。a和和b到输出到输出c执行执行的操的操作是由输入端作是由输入端opcode 的值决定的。的值决定的。Blok diagram for a 16-bit arithmetic-logic unit(ALU)An arithmetic-logic unit(ALU) design算术逻辑单元算术逻辑单元(ALU)设计设计45矢量信号处理矢量信号处理 3.5 Handling multi-bit signalsLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY alu IS PORT ( a, b: IN SIGNED(15 DOWNTO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论