2010-2011第1学期《PLD原理与EDA技术》考试卷(A)答案与评分标准

更新时间:2023-09-19 01:51:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

装————————————————订————————————————线——————————2010-2011第1学期计算机科学学院《PLD原理与EDA技术》

期末考试试卷(A)答案及评分标准 一、单选题(每题2分,共20分)

1.B;2.D;3.A;4.B;5.C;6.B;7.D;8.A;9.B;10.D。 二、EDA名词解释(每个2分, 共10分) 1.CPLD:复杂可编程逻辑器件 2.HDL:硬件描述语言 3.LUT:查找表

4.ASIC:专用集成电路

5.SOC:单片电子系统(或者片上系统) 三、简答题(每题5分,共15分) 1.简述VHDL程序的基本结构?

答:VHDL程序是由以下几个部分组成的:

(1)LIBRARY (库)部分 (2)PACKAGE (程序包)部分 (3)ENTITY (实体)部分

(4)ARCHITECTURE (结构体)部分 (5)CONFIGURATION (配置)部分 (每答对一个给1分)

2.CPLD和FPGA有什么差异?在实际应用中各有什么特点? 答:差异:(1)CPLD:复杂可编程逻辑器件,FPGA:现场可编程门阵列;(2)CPLD:基于乘积项技术的确定型结构,FPGA:基于查找表技术的统计型结构;(3)CPLD:5500 ~ 50000门,FPGA:1K ~10M 门 。(3分)

实际应用中各自的特点:CPLD适用于逻辑密集型中小规模电路,编程数据不丢失,延迟固定,时序稳定; FPGA适用于数据密集型大规模电路,需用专用的 ROM 进行数据配置,布线灵活,但时序特性不稳定。(2分)

3.设计项目的验证有哪几种方法?它们具体含义? 答:包括功能仿真、时序仿真和定时分析。(2分)

功能仿真又称前仿真,是在不考虑器件延时的理想情况下的一种项目验证方法,通过功能仿真来验证一个项目的逻辑功能是否正确。(1分)

时序仿真又称模拟仿真或后仿真,是在考虑设计项目具体适配器件的各种延时的情况下的一种项目验证方法。时序仿真不仅测试逻辑功能,还测试目标器件最差情况下的时间关系。(1分)

定时分析可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率,还可分析信号的建立、保持时间。

1

———————————(1分)

四、判断题(每题1分,共5分)

1.CPLD被编程信息,掉电后信息仍保存。 (√ ) 2.使用BST(边界扫描测试)规范测试,不必使用物理探针。 (√ ) 3.FPGA被编程信息,掉电后信息仍保存。 (× ) 4.CPLD编程信息保存在SRAM中。 (× ) 5.FPGA可编程资源主要来自逻辑阵列块LAB。 (√ ) 五、VHDL程序分析和处理(每题5分,共10分)

1.检查下述程序,指出程序行中的错误,将正确结果写在该行右边。

Signal A, EN : std_logic; Signal B : std_logic; ………………… Process(A, EN) Begin

if EN='1' then B:=A; end if; --将“B:=A”改成“B<=A” end process;

错误说明:B为信号,赋值符号应为“<=”。

2、画出下述VHDL描述实体对应的原理图符号元件。 ENTITY buf3s IS --实体:三态缓冲器 PORT(input : IN STD_LOGIC; --输入端 Enable : IN STD_LOGIC; --使能端 Output : OUT STD_LOGIC); --输出端

END buf3s ;

原理图符号元件如下:

buf3s input output enable 六、VHDL程序填空:(每空1分,共10分)

下面程序是一个8线-3线优先编码器的VHDL程序,试补充完整。 LIBRARY __ieee___ ;

USE IEEE.___std_logc_1164_____.ALL;

2

装—————————————————————————————————————————— ENTITY coder IS

PORT (a : IN STD_LOGIC_VECTOR(___7 downto 0__);

y : ___out____ STD_LOGIC_VECTOR(2 DOWNTO 0) ); END coder;

ARCHITECTURE behav OF ____coder__IS

SIGNAL SIN : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

PROCESS (____a___) BEGIN

IF (a(7)='0') THEN SIN <= \

___ELSIF (a(6)=’0’) ___ THEN SIN <= \ ELSIF (a(5)='0') THEN SIN <= \ ELSIF (a(4)='0') THEN SIN <= \ ELSIF (a(3)='0') THEN SIN <= \ ELSIF (a(2)='0') THEN SIN <= \ ELSIF (a(1)='0') THEN SIN <= \ ELSIF (a(0)='0') THEN SIN <= \ ELSE ___SIN<=”000” ____; ____END IF__; END PROCESS ; ____Y<=SIN_____; END behav;

订线————————————七、阅读下列VHDL程序,画出原理图(RTL级)(10分) library ieee;

use ieee.std_logic_1164.all; entity mux21 is

port(a,b,s:in std_logic; y:out std_logic); end mux21;

architecture one of mux21 is single d,e:std_logic; begin

d<=a and (not)s; e<=b and s; y<=d or e; end one;

3

画出如下的电路原理图:

八、应用设计(共20分)

l.已知2-4译码器真值表、原理图符号如下,请编写其VHDL程序。(10分;实体描述3分,结构描述7分) 解答:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY decoder2_4 IS PORT( A, B,G1,G2A,G2B: IN STD_LOGIC; Y: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END decoder2_4;

ARCHITECTURE one OF decoder2_4 IS SIGNAL indata: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN indata <= B&A;

PROCESS (indata, G1, G2A,G2B) BEGIN IF (G1='1' AND G2A='0' AND G2B='0') THEN CASE indata IS WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS =>Y<=\ END CASE; ELSE Y<=\ END IF; END PROCESS; END one;

4

2、用VHDL语言的元件例化语句设计如图所示电路。元件为2输入与非门。(10分) 提示:(1)先设计2输入的与非门电路(5分);(2)再用元件例化语句设计4输入的与非门电路(5分)。

装—————————————————————————————————————————— 订线————————————

解答:(1)先设计2输入的与非门电路 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY nand_2 IS

PORT( A1,B1: IN std_logic; C1: OUT std_logic); END nand_2;

ARCHITECTURE one OF nand_2 IS Begin

C1<=not (A1 and B1); End one;

(2)再用元件例化语句设计4输入的与非门电路 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY nand_4 IS

PORT( A,B,C,D: IN std_logic; Z: OUT std_logic); END nand_4;

ARCHITECTURE a OF nand_4 IS COMPONENT nand_2

PORT (A1,B1: IN std_logic; C1: OUT std_logic); END COMPONENT;

SIGNAL X,Y: std_logic ; BEGIN

U1:nand_2 PORT MAP (A,B,X); U2:nand_2 PORT MAP (C,D,Y);

U3:nand_2 PORT MAP (A1 => X, C1=>Z, B1 => Y); END a;

5

本文来源:https://www.bwwdw.com/article/jr8h.html

Top