好文档 - 专业文书写作范文服务资料分享网站

VHDL复习题

天下 分享 时间: 加入收藏 我要投稿 点赞

VHDL复习题

制到输入参数中,若无特别制定在FUNCTION的语句中按常数处理

3.30 库由哪些部分组成?在VHDL语言中常见的有几种库?编程人员怎样使用现有的库?

(1)设计库由若干程序包组成,每个程序包都有一个包声明和一个可选的包体声明。在设计库中,包声明和包体声明是分别编译的。

(2)在VHDL语言中常见的由1.标准设计库:std,2.用户现行工作库:work,3.IEEE设计库:IEEE。

3.31 一个包集合由哪两大部分组成?包集合体通常包含哪些内容?

(1)程序包首和程序包体

(2)组成部分可以是USE语句、子程序定义、子程序体、数据类型说明子类型说明和常类说明

3.32 什么是结构体的行为描述方式?它应用于什么场合?用行为描述方式所编写的VHDL程序是否都可以进行逻辑综合?

(1)行为描述:设计实体按算法的路径进行描述,他不是对某一个器件的描述,而是对整个设计单元的数学模型描述。

(2)主要用于系统数学模型的仿真或系统工作原理的仿真。

(3)故其大量采用的算术运算、关系运算、惯性延时、传输延时等描述方式是难以或不能进行逻辑综合的。

3.33 什么叫数据流描述方式?它和行为描述方式的主要区别在哪里?用数据流描述方式所编写的VHDL程序是否都可以进行逻辑综合?

(1)数据流描述也称RTL描述,它以类似于寄存器传输级的方式描述数据的传输和变换,以规定设计中的各种寄存器形成为特征,然后再寄存器之间插入组合逻辑。

(2)行为描述只表示输入与输出间转换的行为,它不包含任何结构信息,而数据流的描述会伴有大量的有关这种结构信息的“流出”。

(3)类似于寄存器传输级的方式描述数据的传输和变换,认为数据是从一个设计流出,从输入到输出的观点称为数据流风格,所以不是所有的VHDL程序都可以进行逻辑综合。

3.34 什么是结构体的结构描述方式?实现结构描述方式的主要语句是哪两个?

(1)结构描述:是描述该设计单元的硬件结构,即该硬件是如何组成的。复杂数字逻辑系统的层次化设计法(设计中高层次的模块调用低层次的模块,或者直接用门电路设计单元直接设计一个复杂的逻辑电路)。

(2)采用元件例化语句或生成语句进行设计。

3.35 什么叫状态机?状态机的基本结构如何?状态机的种类有哪些?

答:(1)状态机是一类很重要的时序电路,是许多数字电路的核心部件。

(2)状态机的基本结构包括输入信号、输出信号和一组寄存器,它用于记忆状态机的内部庄涛。状态机可认为是组合逻辑和寄存器逻辑的特殊组合。它包括两个主要部分: 组合逻辑部分和寄存器部分。寄存器部分用于存储状态机的内部状态;组合逻辑部分又分为状态译码器和输出译码器。状态译码器确实状态机的下一个状态,即确定状态机的激励方程; 输出译码器确定状态机的输出,即确定状态机的输出方程。

(3)两种典型的状态机是摩尔(MOORE)状态机和米立(MELAY)状态机。

3.36 阅读第4.9节中的例3.9.2、例3.9.3、例3.9.5、例3.9.8、例3.9.9、例3.9.10、例3.9.13、例3.9.14、例3.9.15、例3.9.18、例3.9.20和例3.9.22,画出系统原理框图,阐述系统工作原理,并对主要语句作出注释。

VHDL复习题

1.3-8线译码器

下面我们分别以四种方法描述一个3-8线译码器。 【例3.9.2】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED_ALL; ENTITY DECODER IS

PORT(INP:IN STD_LOGIC_VECTOR(2 DOWNTO 0);

OUTP:OUT BIT_VECTOR (7 DOWNTO 0)); END ENTITY DECODER;

方法1:使用SLL逻辑运算符

ARCHITECTURE ART1 OF DECODER IS BEGIN

OUTP<= \ (CONV_INTEGER(INP)); END ARCHITECTURE ART1; 方法2:使用PROCESS语句

ARCHITECTURE ART2 OF DECODER IS BEGIN

PROCESS(INP) IS

BEGIN

OUTP<=(OTHERS=>‘1’);

OUTP(COVN_INTEGER(INP))<=‘1’; END PROCESS;

END ARCHITECTURE ART2;

方法3:使用WHEN-ELSE语句 ARCHITECTURE ART3 OF DECODER IS BEGIN

OUTP(0)<=‘1’ WHEN INP=\; OUTP(1)<=‘1’ WHEN INP=\; OUTP(2)<=‘1’ WHEN INP=\;

OUTP(3)<=‘1’ WHEN INP=\; OUTP(4)<=‘1’ WHEN INP=\; OUTP(5)<=‘1’ WHEN INP=\; OUTP(6)<=‘1’ WHEN INP=\; OUTP(7)<=‘1’ WHEN INP=\; END ARCHITECTURE ART3;

方法4:使用CASE-WHEN 语句 ARCHITECTURE ART4 OF DECODER IS BEGIN

CASE INP IS

WHEN \; WHEN \; WHEN \; WHEN \;

VHDL复习题

WHEN \; WHEN \; WHEN \; WHEN \; WHEN OTHERS=>OUTP<= \; END CASE;

END ARCHITECTURE ART4; 2.8-3线优先编码器

下面我们用三种方法设计8-3线优先编码器。 8-3线优先编码器,输入信号为A、B、C、D、E、F、G和H,输出信号为OUT0、OUT1和OUT2。输入信号中A的优先级别最低,依次类推,H的优先级别最高。 【例3.9.3】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ENCODER IS

PORT (A,B,C,D,E,F,G,H:IN STD_LOGIC: OUT0,OUT1,OUT2:OUT STD_LOGIC); END ENTITY ENCODER; 方法1:使用条件赋值语句

ARCHITECTURE ART1 OF ENCODER IS

SIGNA OUTS:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

OUTS (2 DOWNTO 0)<= \HEN H=‘1’ ELSE

\ \ \ \ \ \B=‘1’ ELSE \ \;

OUT0<=OUTS(0); OUT1<=OUTS(1); OUT2<=OUTS(2);

END ARCHITECTURE ART1; 方法2:使用LOOP语句

ARCHITECTURE ART2 OF ENCODER IS BEGIN

PROCESS(A,B,C,D,E,F,G,H) IS

VARIABLE INPUTS:STD_LOGIC_VECTOR(7 DOWNTO 0); VARIABLE I:INTEGER; BEGIN

INPUT:=(H,G,F,E,D,C,B,A); I:=7;

VHDL复习题

WHILE I>=0 AND INPUTS(I)/=‘1’ LOOP

--此处的“/=”表示不等于

I:=I-1;

END LOOP;

(OUT2,OUT1,OUT0)<=CONV_STD_LOGIC_VECTOR(I,3); END PROCESS;

END ARCHITECTURE ART2; 方法3:使用IF语句 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ENCODER IS

PORT(IN1:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

OUT1:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END ENTITY ENCODER;

ARCHITECTURE ART3 OF ENCODER IS BEGIN

PROCESS(INT1) IS

BEGIN

IF IN1(7)=‘1’ THEN OUT1<=\; ELSIF IN1(6)=‘1’ THEN OUT1<=\; ELSIF IN1(5)=‘1’ THEN OUT1<=\; ELSIF IN1(4)=‘1’ THEN OUT1<=\; ELSIF IN1(3)=‘1’ THEN OUT1<=\; ELSIF IN1(2)=‘1’ THEN OUT1<=\; ELSIF IN1(1)=‘1’ THEN OUT1<=\; ELSIF IN1(0)=‘1’ THEN OUT1<=\; ELSE OUT1<=\;

END IF ;

END PROCESS;

END ARCHITECTURE ART3; 3.四选一选择器

选择器常用于信号的切换,四选一选择器可以用于四路信号的切换。四选一选择器有四个信号输入端INP(0)~INP(3),两个信号选择端A和B和一个信号输出端Y。当A、B输入不同的选择信号时,就可以使INP(0)~INP(3)中某个相应的输入信号与输出端Y接通。 【例3.9.5】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX41 IS

PORT (INP: IN STD_LOGIC_VECTOR(3 DOWNTO 0); A,B:IN STD_LOGIC; Y:OUT STD_LOGIC); END ENTITY MUX41;

ARCHITECTURE ART OF MUX41 IS

VHDL复习题

SIGNA SE :STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN

SEL<=B&A;

PROCESS(INP,SEC) IS BEGIN

IF(SEL=\; ELSIF (SEL=\; ELSIF (SEL=\;

ELSE Y<=INP(3); END IF; END PROCESS;

END ARCHITECTURE ART; 4.三态门及总线缓冲器

三态门和总线缓冲器是驱动电路经常用到的器件。 2) 单向总线驱动器

在微型计算机的总线驱动中经常要用单向总线缓冲器,它通常由多个三态门组成,用来驱动地址总线和控制总线。一个8位的单向总线缓冲器。

TRI_BUF8ENDIN[7..0]ENDOUT[7..0]DIN[7..0]

【例3.9.8】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRI_BUF8 IS

PORT (DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); EN:IN STD_LOGIC;

DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ENTITY TRI_BUF8;

ARCHITECTURE ART OF TRI_BUF8 IS BEGIN

PROCESS(EN,DIN) IS BEGIN

IF(EN=‘1’)THEN DOUT<=DIN;

ELSE DOUT<=\; END IF;

END PROCESS;

END ARCHITECTURE ART; 3) 双向总线缓冲器

双向总线缓冲器用于数据总线的驱动和缓冲,典型的双向总线缓冲器。图中

DOUT[7..0]

VHDL复习题

VHDL复习题制到输入参数中,若无特别制定在FUNCTION的语句中按常数处理3.30库由哪些部分组成?在VHDL语言中常见的有几种库?编程人员怎样使用现有的库?(1)设计库由若干程序包组成,每个程序包都有一个包声明和一个可选的包体声明。在设计库中,包声明和包体声明是分别编译的。(2)在VHDL语言中常见的由1.标准设计库
推荐度:
点击下载文档文档为doc格式
9jhd961qg97e16g2f5026bod04q39t00p26
领取福利

微信扫码领取福利

微信扫码分享