EDA技术试题库 下载本文

内容发布更新时间 : 2024/11/19 6:35:15星期一 下面是文章的全部内容请认真阅读。

WHEN_ELSE条件信号赋值语句中无标点只有最后有分号必须成对出现 是 并 行 语 句  必 须 放 在 结 构 体 中 IF_ELSE顺序语句中有分号是顺序语句必须放在进程中

37. 简述PROCESS语句结构的三部分构成并说明进程语句、顺序语句和信号之间的关系。 答PROCESS语句结构是由三部分构成即进程说明部分顺序描述语句部分和敏感信号参数表。2? 各个进程是并行运行的无先后之分必须放在结构体中顺序语句是按顺序运行的有先后之分必须放在进程中信号放在结构体和进程之间是用以完 成 各 个 进 程 之 间 数 据 交换。

38. 采用可编程逻辑器件进行电路和系统设计有什么好处

优点便于修改和调试缩短开发周期降低开发成本简化系统构成缩小系统体积降低系统功耗提高系统可靠性等。

39、Protel 99SE的元件属性中,Lib Ref、Footprint、Designator、PartType分别代表什么含意? 答:Lib Ref代表元件图形符号名称,Footprint代表元件封装名称,Designator代表元件标号,PartType代表元件主要规格型号。

40、简要说明印刷电路板设计的一般步骤。 答:(1)绘制原理图;(2)启动PCB编辑器并设置参数;(3)定义板框;(4)装入网络表和元件封装库;(5)元件布局;(6)自动布线;(7)手工调整;(8)DRC检查;(9)编辑丝印层;(10)文件保存与输出。

41、简要说明原理图设计的一般步骤。 答:(1)设置图纸大小;(2)设置环境;(3)放置元件;(4)原理图布线;(5)编辑与调整;(6)输出报表;(7)存盘打印。 42、简单介绍一下电路板的分类? 答:印刷电路板常见的板层结构包括单层板(Single Layer PCB)、双层板(Double Layer PCB)和多层板(Multi Layer PCB)三种,这三种板层结构的简要说明如下:

单层板:即只有一面敷铜而另一面没有 敷铜的电路板。通常元器件放置在没有敷铜的一面,敷铜的一面主要用于布线和焊接。

双层板:即两个面都敷铜的电路板,通常称一面为顶层(Top Layer),另一面为底层(Bottom Layer)。一般将顶层作为放置元器件面,底层作为元器件焊接面。

多层板:即包含多个工作层面的电路板,除了顶层和底层外还包含若干个中间层,通常中间层可作为导线层、信号层、电源层、接地层等。层与层之间相互绝缘,层与层的连接通常通过过孔来实现。

43、在PCB设计中,选取元件的主要方法有哪些? 答:

1. 直接选取元件 2. 画框选取元件

3.用菜单命令选取元件

44、执行自动布线的方法主要有下几种? 答:1.全局布线(All) 2.指定网络布线(Net)

3.指定两连接点布线(Connection) 4.指定元件布线(Component) 5.指定区域布线(Area)

45、在PCB设计中的DRC电气规则检查主要有几种方式?

答:实时检查(On-Line DRC) 和分批检查(Batch DRC)。 46、与HDL文本输入法相比较,原理图输入法有何优点? 1:设计者不需增加新的相关知识,如HDL等。

2:输入方法与用protel作图相似,设计过程形象直观, 适合初学者入门。

3:对于较小的电路模型,其结构与实际电路十分接近, 设计者易于把握电路全局(适合设计小型数字电路)。

4:设计方式接近于底层电路布局,因此易于控制逻辑资源的耗用,节省面积。 47、写出结构体的一般语言格式并说明其作用 ARCHITECTURE 结构体名 OF 实体名 IS [说明语句] BEGIN

[功能描述语句]

END ARCHITECTURE 结构体名;

结构体用于描述电路器件的内部逻辑功能或电路结构。使用的语句有顺序语句和并行语句。

48、写出五种以上的VHDL的预定义数据类型。

布尔(BOOLEAN)数据类型、位(BIT)数据类型、位矢量(BIT_VECTOR)数据类型 字符(CHARACTER)数据类型、整数(INTEGER)数据类型、实数(REAL)数据类型 字符串(STRING)数据类型、时间(TIME)数据类型

49. 若状态机仿真过程中出现毛刺现象,应如何消除;试指出两种方法,并简单说明其原理。

方法1,添加辅助进程对输出数据进行锁存。

方法2,将双进程状态机改写为单进程状态机,其输出也是锁存过了,故能消除毛刺。 50、描述一下EDA技术的4个基本条件 答:

1)大规模可编程逻辑器件为设计载体

2)硬件描述语言为系统逻辑描述的主要表达手段

3)软件开发工具,它是利用EDA技术进行点字系统设计的智能化的自动化设计工具 4)实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。 51、试用TYPE语句定义这样一个数组: 要求数组名称为HELLO,其中包含十个由INTEGER类型的数据,按升序排列。

答:TYPE HELLO IS INTEGER RANGE 0 TO 9。

52、什么叫标识符?VHDL的基本标识符是怎样规定的?

答:标识符是指用来为常数、变量、信号、端口、子程序或者参数等命名,由英文字母、数字和下划线组成。 遵从的规则:

(1)首字符必须是英文字母。

(2)不连续使用下划线“_”,不以下划线“_”结尾的。 (3)大小写英文字母等效,可以大小写混合输入。 (4)标识符中不能有空格。

(5)VHDL的保留字不能用于作为标识符使用。 53、简单比较一下EXIT语句和NEXT语句的区别 答: EXIT语句和NEXT语句都是LOOP语句的内部循环控制语句,区别是NEXT语句是跳向LOOP 语句的起始点,而EXIT语句则是跳向LOOP语句的终点。 54、判断以下标识符是否合法?

-AB, ABDED,AB12-9,ADF_78,FDFD_ 答:非法,合法,非法,合法,非法

55、简单描述一下VHDL语言中描述整数的数制表示法。 答:主要由5部分组成:

第1部分:用十进制数标明的数制进位基数 第2部分:数制分隔符“#” 第3部分:表达的数值 第4部分:指数分隔符“#”

第5部分:指数部分,为0时可以略去

56.一个设计实体由哪几个基本部分组成?它们的作用如何? 答:(1)库与程序包部分:使实体所用资源可见; (2)实体部分:设计实体的外部特征描述;

(3)结构体部分:设计实体的内部电路结构或功能描述。

分析题(28题)

70%分析题(28道)

1、在下面横线上填上合适的语句,完成减法器的设计。 由两个 1 位的半减器组成一个1 位的全减器 --1 位半减器的描述 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY HALF_SUB IS

PORT(A,B : IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END HALF_SUB;

ARCHITECTURE ART OF HALF_SUB IS BEGIN

COUT<= (A XOR B) ; --借位 DIFF<= ((NOT A) AND B) ; --差 END ; --1 位全减器描述 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY FALF_SUB IS

PORT(A,B,CIN: IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END FALF_SUB;

ARCHITECTURE ART OF FALF_SUB IS

COMPONENT HALF_SUB PORT(A,B : IN STD_LOGIC; DIFF,COUT : OUT STD_LOGIC); END COMPONENT;

(SIGNAL) T0,T1,T2:STD_LOGIC; BEGIN

U1: HALF_SUB PORT MAP(A,B, ( T0 ) ,T1);

U2: HALF_SUB PORT MAP(T0, ( CIN ) ,( T1 ) ,T2);

COUT<= ( T2 ) ; END ;

2. 在下面横线上填上合适的语句,完成分频器的设计。 说明:占空比为 1:1的 8 分频器 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CLKDIV8_1TO2 IS

PORT(CLK:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC ); END CLKDIV8_1TO2;

ARCHITECTURE TWO OF CLKDIV8_1TO2 is

SIGNAL CNT:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL CK:STD_LOGIC; BEGIN

PROCESS(CLK) BEGIN

IF RISING_EDGE( CLK )THEN IF CNT=\ CNT<=\ CK<= ( NOT CK ) ; ELSE CNT<=( CNT+1 ) ; END IF; END IF;

CLKOUT<=CK; END PROCESS; END;

3. 在下面横线上填上合适的语句,完成 60进制减计数器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS

PORT(CLK: IN STD_LOGIC;

H,L: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COUNT;

ARCHITECTURE BHV OF COUNT IS BEGIN

PROCESS(CLK)

VARIABLE HH,LL: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

IF CLK'EVENT AND CLK='1' THEN IF LL=0 AND HH=0 THEN HH:=\ LL:=\

ELSIF LL=0 THEN

LL:= ( “1001” ) ; HH:= ( HH-1 ) ;

ELSE LL:= ( LL-1 ) ; END IF; END IF; H<=HH; L<=LL;

END PROCESS; END BHV;

4.在下面横线上填上合适的语句,完成 4-2优先编码器的设计。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY CODE4 IS

PORT(A,B,C,D : IN STD_LOGIC; Y0,Y1 : OUT STD_LOGIC); END CODE4;

ARCHITECTURE CODE4 OF CODE4 IS

SIGNAL DDD:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL Q:STD_LOGIC_VECTOR( 31 DOWNTO 0); BEGIN

DDD<=( A &B &C & D ) ; PROCESS(DDD) BEGIN

IF (DDD(0)='0') THEN Q <= \ ELSIF (DDD(1)='0') THEN Q <= \ ELSIF(DDD(2)='0') THEN Q<=\ ELSE Q <= \ END IF;

( END PROCESS ); Y1<=Q(0); Y0<=Q(1); END CODE4;

5.在下面横线上填上合适的语句,完成 10位二进制加法器电路的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ (UNSIGNED ).ALL; ENTITY ADDER1 IS

PORT(A,B:IN STD_LOGIC_VECTOR(9 DOWNTO 0); COUT:OUT STD_LOGIC;

SUM:OUT STD_LOGIC_VECTOR(9 DOWNTO 0)); END;

ARCHITECTURE JG OF ADDER1 IS

SIGNAL ATEMP: STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL BTEMP: STD_LOGIC_VECTOR(10 DOWNTO 0);

SIGNAL SUMTEMP: STD_LOGIC_VECTOR(10 DOWNTO 0); BEGIN