ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:325.57KB ,
资源ID:18899510      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18899510.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ALU37Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ALU37Word格式文档下载.docx

1、而以上三个模块是由相应的VHDL代码产生的,在VHDL输入方式下,如果要将三个模块连接起来,就要用到元件例化语句。 元件例化语句分为元件声明和元件例化。(1)元件声明 在VHDL代码中要引入设计好的模块,首先要在结构体的说明部分对要引入的模块进行说明。然后使用元件例化语句引入模块。 元件声明语句格式: Component 引入的元件(或模块)名 Port(端口说明); End Component;注意:元件说明语句要放在“architecture”和“begin”之间。(2)元件例化语句 为将引入的元件正确地嵌入到高一层的结构体描述中,就必须将被引用的元件端口信号与结构体相应端口信号正确地连接

2、起来,元件例化语句可以实现该功能。 元件例化语句格式: 标号名:元件名(模块名) Port map(端口映射); 标号名是元件例化语句的唯一标识,且结构体中的标识必须是唯一的;端口映射分为:位置映射、名称映射。 位置映射是指Port map中世纪信号的书写顺序与component中端口说明中的信号书写顺序一致,位置映射对书写顺序要求很严格,不能颠倒;名称映射指Port map中将引用的元件的端口信号名称赋予结构体中要使用元件的各个信号,名称映射的说书写要求不严格,顺序可以颠倒。(3)包集 在实体及结构体中定义的对象、数据类型,对另外代码的实体是不能使用的。但是在同一工程的不同VHDL文件中,有

3、些对象、数据类型、子程序等常常被重复使用。为方便VHDL代码的编写,简化电路设计故引入包集。 包集主要由两部分组成:程序包说明和程序包体。其中,程序包体是可选的, 一般程序包说明列出所有项的名称,而程序包体给出各项的细节。 程序包说明中包含的内容很多,只要是通过的全局量,都可以在程序包中加以说明。主要内容如下: 对象(常量、变量、信号)的数据类型说明。 对象(常量、变量、信号)子类型的数值范围说明。 函数与过程说明。元件语句说明。 程序包说明书写格式如下: Package 程序包名1 is 说明语句; End 程序包名; 程序包名:设计者自定义便于记忆的标识符。说明语句;包括各种类型的说明语句

4、。 程序包体书写格式如下: Package body 程序包名 is 顺序语句; 注意:程序包定义的内容不是自动可见的,不是自动被使用。若摸个实体及结构体设计需要使用程序包,可以使用use语句制定要使用的程序包。代码,要增加注释;ALU的VHDL代码如下:alu_unit_37_38 library ieee;use ieee.std_logic_1164.all;-调用1164包use work.alu_37_38.all;entity alu_unit_37_38 is port(a,b:in std_logic_vector(7 downto 0); -a,b为8位的逻辑矢量输入类型 c

5、lk:in std_logic; -clk为逻辑量输入 cin: -cin为逻辑量输入 selout:out std_logic_vector(3 downto 0); -selout为4位的逻辑矢量输出类型 y:out std_logic_vector(7 downto 0); -y为8位的逻辑矢量输出类型 end; architecture rhg of alu_unit_37_38 is signal x1,x2:std_logic_vector(7 downto 0); signal x3:std_logic_vector(3 downto 0); begin u1:arith_37_

6、38 port map(a,b,x3,cin,x1); -与元件arith_27_28的端口映射 u2:logic_37_38 port map(a,b,x3,x2); -与元件logic_unit_27_28的端口映射 u3:sel_37_38 port map(x3,x1,x2,y); -与元件sel_27_28的端口映射 u4:clk_37_38 port map(clk,x3); -与元件clk_27_28的端口映射 selout=x3;end;arith_37_38 use ieee.std_logic_unsigned.all;entity arith_37_38 is -将a,b

7、定义为8位的逻辑矢量输入类型 sel:in std_logic_vector(3 downto 0); -定义为4位的逻辑矢量输入类型 cin: x:architecture rhg of arith_37_38 isbegin with sel select -选择信号赋值语句 x=a when0000, -当sel为时,将a的值赋给x a+1 when0001, a-1 when0010 b when0011 b-1 when0101 a+b when0110 a+b+cin when0111,-当sel为时,将a+b+cin的值赋给x 00000000 when others;end r

8、hg;logic_37_38 entity logic_37_38 is -将sel定义为4位的逻辑矢量输入类型-将x定义为8位的逻辑矢量输出类型architecture rhg of logic_37_38 is=not a when1000时,将a非的值赋给x not b when1001 a and b when1010 a nand b when1100, a nor b when1101 a xor b when1110 not(a xor b) when1111时,将a异或b的非的值赋给x sel_37_38 entity sel_37_38 is port(sel: -定义sel

9、数据类型为逻辑矢量,宽度为4位 arith: -定义arith为逻辑矢量,宽度为8位 logic: -定义logic为逻辑矢量,宽度为8位 y: -定义y为逻辑矢量,宽度为8位architecture rhg of sel_37_38 is with sel(3) select -信号赋值语句 y=arith when 0, -当sel的最高位为0时,将arith的值赋给y logic when others; -当sel的最高位不为0时,将logic的值赋给yclk_37_38 entity clk_37_38 is port(clk:buffer std_logic_vector(3 do

10、wnto 0); -将y定义为buffer的4位逻辑矢量architecture rhg of clk_37_38 is process(clk) -clk作为敏感信号 variable s: begin if clkevent and clk=1 then if s= s:=; else=s+1; end if; end if;=s; end process; end;package alu_37_38package alu_37_38 is component arith_37_38 -cin为逻辑矢量输入类型 -x为8位的逻辑矢量输出类型 end component; component

11、 logic_37_38 -sel为4位的逻辑矢量输入类型 component sel_37_38 arith: -arith为8位的逻辑矢量输入类型 -logic为8位的逻辑矢量输入类型 component clk_37_38 -y定义为buffer的4位逻辑矢量 end alu_37_38;仿真波形图,对波形进行分析;1)算术单元仿真波2)逻辑单元仿真波形3)Sel仿真波形4)Alu仿真波形总结与体会 通过这次试验掌握了ALU的设计,并对结构体的说明部分对要引入的模块进行说明,说明语句要放在“architecture”和“begin”之间。还有就是注意程序包定义的内容不是自动可见的,不是自动被使用。学的时间感觉不会的东西越多,如果课前不准备感觉在有限的时间内很难做出老师的要求,上电看到正确的现象我一点都不觉得累,感觉时间过得好快啊。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1