高分网 > 答案大全 > 作业答案 > 课后作业答案 >

eda第四版课后答案(2)

时间: 炎婷2 课后作业答案

  3-7 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器什归类为FPGA,那么,APEX系列属于什么类型PLD器件? MAX II系列又属于什么类型的PLD器件?为什么? P54~56

  答:APEX(Advanced Logic Element Matrix)系列属于FPGA类型PLD器件;编程信息存于SRAM中。MAX II系列属于CPLD类型的PLD器件;编程信息存于EEPROM中。

  第四章

  4-1:画出与下例实体描述对应的原理图符号元件:

  ENTITY buf3s IS -- 实体1:三态缓冲器

  PORT (input : IN STD_LOGIC ; -- 输入端

  enable : IN STD_LOGIC ; -- 使能端

  output : OUT STD_LOGIC ) ; -- 输出端

  END buf3x ;

  ENTITY mux21 IS --实体2: 2选1多路选择器

  PORT (in0, in1, sel : IN STD_LOGIC;

  output : OUT STD_LOGIC);

  4-2. 图3-30所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序。选择控制的信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1='0',s0='0';s1='0',s0='1';s1='1',s0='0'和s1='1',s0='1'分别执行y<=a、y<=b、y<=c、y<=d。

  4-2.答案

  LIBRARY IEEE;

  USE IEEE.STD_LOGIC_1164.ALL;

  ENTITY MUX41 IS

  PORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号

  a,b,c,d:IN STD_LOGIC; --输入信号

  y:OUT STD_LOGIC);--输出端

  END ENTITY;

  ARCHITECTURE ART OF MUX41 IS

  BEGIN

  PROCESS(s)

  BEGIN

  IF (S="00") THEN y<=a;

  ELSIF (S="01") TH EN y<=b;

  ELSIF (S="10") TH EN y<=c;

  ELSIF (S="11") TH EN y<=d;

  ELSE y<=NULL;

  END IF;

  EDN PROCESS;

  END ART;

  LIBRARY IEEE;

  USE IEEE.STD_LOGIC_1164.ALL;

  ENTITY MUX41 IS

  PORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号

  a,b,c,d:IN STD_LOGIC; --输入信号

  y:OUT STD_LOGIC);--输出端

  END MUX41;

  ARCHITECTURE ART OF MUX41 IS

  BEGIN

  PROCESS(s)

  BEGIN

  CASE s IS

  WHEN “00” => y<=a;

  WHEN “01” => y<=b;

  WHEN “10” => y<=c;

  WHEN “11” => y<=d;

  WHEN OTHERS =>NULL;

  END CASE;

  END PROCESS;

  END ART;

  4-3. 图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。

  4-3.答案

  LIBRARY IEEE;

  USE IEEE.STD_LOGIC_1164.ALL;

  ENTITY MUX221 IS

  PORT(a1,a2,a3:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入信号

  s0,s1:IN STD_LOGIC;

  outy:OUT STD_LOGIC);--输出端

  END ENTITY;

  ARCHITECTURE ONE OF MUX221 IS

  SIGNAL tmp : STD_LOGIC;

  BEGIN

  PR01:PROCESS(s0)

  BEGIN

  IF s0=”0” THEN tmp<=a2;

  ELSE tmp<=a3;

  END IF;

  END PROCESS;

  PR02:PROCESS(s1)

  BEGIN

  IF s1=”0” THEN outy<=a1;

  ELSE outy<=tmp;

  END IF;

  END PROCESS;

  END ARCHITECTURE ONE;

  END CASE;

47739