- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
67常用单元电路的设计实例
6.7 常用单元电路的设计实例
前面几节, 我们介绍了VHDL的主要特点、 主要设计规则和主要描述方法, 以及常用的几种描述语句。 本节将分门别类地介绍一些常用单元电路的设计实例并加以分析, 以帮助读者进一步加深对有关内容的理解, 初步掌握VHDL语言的基本使用方法。 同时, 这些单元电路的描述也可作为描述较大规模电路的素材和参考。
6.7.1 组合电路
常用的组合单元电路主要有译码器、 编码器、 数据选择器、 减法器、 加法器等, 前面我们已经举过许多例子, 这里再做一些补充和总结。
1. 编码器
编码器可以将多个输入信号的组合状态转换成位数较少的二进制编码, 常用于中断控制和键盘查询等, 其实现转换的原理类似于查表。
[例 6 ― 29] 8-3优先编码器。
LIBRARY IEEE ;
USE IEEE. STD-LOGIC-1164. ALL ;
USE IEEE. STD-LOGIC-UNSIGNED. ALL ;
ENTITY encoder8 IS
PORT ( k0, k1, k2, k3, k4, k5, k6, k7:IN STD-LOGIC;
code:OUT INTEGER RANGE 0 TO 7 );
END encoder8;
ARCHITECTURE rtl OF encoder8 IS
BEGIN
PROCESS (k0, k1, k2, k3, k4, k5, k6, k7)
BEGIN
IF k0 = ′0′ THEN
code = 0;
ELSIF k1 =′0′ THEN
code = 1;
ELSIF k2 =′0′ THEN
code = 2;
ELSIF k3 =′0′ THEN
code = 3;
ELSIF k4 =′0′ THEN
code = 4;
ELSIF k5 =′0′ THEN
code = 5;
ELSIF k6 =′0′ THEN
code = 6;
ELSIF k7 =′0′ THEN
code = 7;
END IF;
END PROCESS;
END rtl;
2. 4 位加法器
下面给出一个4位加法器的描述程序, 所采用的是结构描述和行为描述相结合的混合描述方式, 自顶向下展开。 描述共分三个层次: 最底层用行为描述方式描述半加器, 中间层用结构描述方式描述由两个半加器构成的全加器, 顶层用结构描述方式描述由四个全加器级联而成的4位加法器。 具体的描述程序如下。
[例 6 ― 30] 半加器描述。
LIBRARY IEEE ;
USE IEEE. STD-LOGIC-1164. ALL ;
ENTITY half-adder IS
PORT ( a, b: IN STD-LOGIC ;
s, co: OUT STD-LOGIC) ;
END half-adder ;
ARCHITECTURE behav1 OF half-adder IS
SIGNAL c , d : STD-LOGIC ;
BEGIN
c = a OR b ;
d = NOT(a AND b) ;
co = NOT d AFTER 5 ns ;
s = c AND d AFTER 5 ns ;
END behav1 ;
[例 6 ― 31] 全加器描述。
[例 6 ― 32] 4 位加法器描述:
按照上述例子中的方法, 可以很容易地描述任意位数的加法器。 当然, 当位数较多时还需要采取“快速进位”的措施。 使用同样的方法, 也可以利用全减器等构成多位减法器。 下面, 再给出一个使用行为描述方式的8位加法器程序。 读者可以将两个程序对比一下, 更好地体会两种描述方式各自的特点。
[例 6 ― 33] 8 位加法器描述。
6.7.2 时序电路
常用的时序单元电路主要有触发器、 锁存器、 计数器、 分频器和移位寄存器等, 构成这些单元电路的基本要素是触发器和时钟、 复位和置位等信号。 因此, 在对这些电路做具体描述之前, 我们先对有关的概念和基本描述做一归纳。
1. 时钟的状态及其描述
时钟信号是时序电路最基本的执行条件, 任何时序电路总是在时钟的有效边沿或有效电平到来时才改变其状态。 在VHDL描述中, 时序电路对时钟的这种依赖性可以用两种方式来体现:
1) 显式表达
显式表达是指将时钟列入进程的敏感信号
文档评论(0)