1位二进制全加器的VHDL设计_第1页
1位二进制全加器的VHDL设计_第2页
1位二进制全加器的VHDL设计_第3页
1位二进制全加器的VHDL设计_第4页
1位二进制全加器的VHDL设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、1位二进制全加器的VHDL设计EDA技术实用教程 1位二进制全加器的VHDL设计 图4-10 半加器h_adder电路图 图4-11 全加器f_adder电路图 1位二进制全加器的VHDL设计 1.1 半加器描述和CASE语句 表4-1 半加器h_adder逻辑功能真值表absoco0000011010101101 1位二进制全加器的VHDL设计 1.1 半加器描述和CASE语句 1. CASE语句 CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ; 1位二进制全加器的VHDL设计 1.1 半加器描述和CASE语句 2. 标准逻辑矢量数据类型STD_L

2、OGIC_VECTOR 在使用STD_LOGIC_VECTOR中,必须注明其数组宽度,即位宽,如: B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或 SIGNAL A :STD_LOGIC_VECTOR(1 TO 4) B = 01100010 ; - B(7)为 0 B(4 DOWNTO 1) = 1101 ; - B(4)为 1 B(7 DOWNTO 4) = A ; - B(6)等于 A(2) 1位二进制全加器的VHDL设计 1.1 半加器描述和CASE语句 3. 并置操作符 以下是一些并置操作示例:SIGNAL a : STD_LOGIC_VECTOR

3、(3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ;.a = 10d(1)1 ; - 元素与元素并置,并置后的数组长度为4.IF a d = 101011 THEN .- 在IF条件句中可以使用并置符 3. 并置操作符 【例4-18】 LIBRARY IEEE ; -或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF o

4、r2a IS BEGIN c = a OR b ; END ARCHITECTURE one; 3. 并置操作符 【例4-19】LIBRARY IEEE; -半加器描述(1)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh

5、1; 【例4-20】LIBRARY IEEE; -半加器描述(2)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS

6、; END ARCHITECTURE fh1 ; 【例4-21】. -半加器描述(3) SIGNAL abc,cso : STD_LOGIC_VECTOR(1 DOWNTO 0 ); BEGIN abc = a & b ; co = cso(1) ; so cso cso cso csoain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin, co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1; 1位二进制全加器的VHDL设计 1.2 全加器描述和

7、例化语句 COMPONENT 元件名 IS PORT (端口名表) ;END COMPONENT 文件名 ; COMPONENT h_adder PORT ( c,d : IN STD_LOGIC; e,f : OUT STD_LOGIC); 例化名 : 元件名 PORT MAP( 端口名 = 连接端口名,.); 1位二进制全加器的VHDL设计 1.3 VHDL设计基本概念和语言现象小节 VHDL库: LIBRARY语句打开VHDL库:IEEE库、标准库STD、工作库WORK . . . 程序包: USE语句声明使用程序包:STD_LOGIC_1164程序包、STANDARD标准包 1位二进制

8、全加器的VHDL设计 1.3 VHDL设计基本概念和语言现象小节 数据类型: 标准逻辑位数据类型Std_logic,定义值有9种:0、1、Z、X. 数据对象: 信号:SIGNAL,变量:VERIABLE,常数:CONSTANT 信号属性: 信号属性函数EVENT、LAST_VALUE。 1位二进制全加器的VHDL设计 1.3 VHDL设计基本概念和语言现象小节 时钟检测: 时钟检测上升沿检测表式:CLKEVENT AND CLK=1、RISING_EDGE()。 时序电路: 不完整条件语句产生时序电路:IF THEN END IF,IF THEN ELSIF THEN END IF 1位二进制全加器的VHDL设计 1.3 VHDL设计基本概念和语言现象小节 异步时序: 好的异步时序应该用多个时钟进程实现。 真值表表达: 表达方法之一是用CASE_WHEN语句,但要注意OTHERS的应用。 标准逻辑矢量: STD_LOGIC_VECTOR类型可用于定义总线或数组的数据类型。

温馨提示

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

评论

0/150

提交评论