淮阴工学院EDA试题库

更新时间:2023-03-14 07:46:01 阅读量: 教育文库 文档下载

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

EDA试题库建设

[70%基础题,20%中档题,10%提高题(试题容量:20套试卷,其中每套试题填空题10空(每空2分),选择题10题(每题2分)),简答题4题(每题5分),分析题2题(每题10分),设计题2题(每题10分)。]

基础题部分

填空题(140空)

1.一般把EDA技术的发展分为(CAD)、(CAE)和(EDA)三个阶段。 2.EDA设计流程包括 (设计准备) 、(设计输入)、 (设计处理) 和(器件编程) 四个步骤。

3.时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为 (功能仿真)。 4.VHDL的数据对象包括 (变量) 、(常量) 和 (信号),它们是用来存放各种类型数据的容器。

5.图形文件设计结束后一定要通过(仿真),检查设计文件是否正确。

6.以EDA方式设计实现的电路设计文件,最终可以编程下载到(FPGA)或者(CPLD)芯片中,完成硬件设计和验证。

7.MAX+PLUS的文本文件类型是(.VHD) 。

8.在PC上利用VHDL进行项目设计,不允许在(根目录)下进行,必须在根目录为设计建立一个工程目录。

9.VHDL源程序的文件名应与(实体名)相同,否则无法通过编译。 10.常用 EDA 的设计输入方式包括(文本输入方式)、(图形输入方式)、(波形输入方式) 。 11.在 VHDL 程序中,(实体)和(结构体)是两个必须的基本部分。 12.将硬件描述语言转化为硬件电路的重要工具软件称为 (HDL 综合器)。 13、VHDL 的数据对象分为(常量)、(变量)和(信号)3 类。

14、VHDL 的 操作 符 包括 (算术 运算 符 )和 (符号运算符) 。 15、常用硬件描述语言有(Verilog HDL)、(AHDL)以及(VHDL)。 16、VHDL基本语句有(顺序语句)、 (并行语句)和属性自定义语句。 17、VHDL 同或逻辑操作符是 (XNOR) 。 18、原理图文件类型后缀名是(.GDF),Verilog HDL语言文本文件类型的后缀名是(.V )。 19、十六进制数16#E#E1对应的十进制数值是(224)。 20、一个完整的VHDL程序应包含三个基本部分,即库文件说明、(程序包应用说明)和(实体和结构体说明)。

21、VHDL 不等于关系运算符是 ( /= ) 。

22、STD_LOGIC_1164程序包是 (IEEE ) 库中最常用的程序包。 23.文本输入是指采用(硬件描述语言) 进行电路设计的方式。

24.当前最流行的并成为IEEE标准的硬件描述语言包括(vhdl) 和 (verilog) 。

25.采用PLD进行的数字系统设计,是基于(芯片)的设计或称之为(自底向上) 的设计。26.硬件描述语言HDL给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为(自顶向下)的设计法。

27.EDA工具大致可以分为(设计输入编辑器) 、(仿真器) 、 (hdl综合器) 、 (适配器) 以及 (下载器) 等5个模块。

28.将硬件描述语言转化为硬件电路的重要工具软件称为(综合器) 。

29.用MAX+plusII输入法设计的文件不能直接保存在(根目录)上,因此设计者在进入设计之前,应当在计算机中建立保存设计文件的(工程) 。

30.若在MAX+plusII集成环境下,执行原理图输入设计方法,应选择(block diagram/Schematic)命令方式。

31.若在MAX+plusII集成环境下,执行文本输入设计方法,应选择(.vhd) 方式。32.\\maxplus2\\max2lib\\prim是MAX+plusII (基本) 元件库,其中包括(门电路)、(触发器)、(电源)、(输入)、(输出)等元件。

33.\\maxplus2\\max2lib\\mf是 函数 元件库,包括(加法器)、(编码器)、(译码器)、(数据选择器数据)、(移位寄存器)等74系列器件。

34.图形文件设计结束后一定要通过(编译) ,检查设计文件是否正确。

35.在MAX+plusII集成环境下可以执行(生成元件) 命令,为通过编译的图形文件产生一个元件符号。这个元件符号可以被用于其他的图形文件设计 ,以实现(多层次)的系统电路设计。

36.执行MAX+p1us Il的“Timlng Analyzer”命令,可以 设计电路输入与输出波形间的(延时量)。

37.指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为(端口映射) 。 38.MAX+plusII的波形文件类型是(.swf) 。

39.层次化设计是将一个大的设计项目分解为若干个(子项目)或者若干个(层次)来完成的。先从(顶层)的电路设计开始,然后在(顶层) 的设计中逐级调用(底层) 的设计结果,直至实现系统电路的设计。

40. 一个项目的输入输出端口是定义在(实体中)中。 41. 描述项目具有逻辑功能的是(结构体) 。

42. 关键字ARCHITECTURE定义的是 (结构体) 。 43. 1987标准的VHDL语言对大小写(不敏感)。

44. 关于1987标准的VHDL语言中,标识符必须以(英文字母)开头。 45.VHDL语言中变量定义的位置是(结构体中特定位置 )。 46. VHDL语言中信号定义的位置是(结构体中特定位置)。 47. 变量赋值号是( := ),信号赋值号是( <= )。 48.IF语句属于(顺序)语句。 49.LOOP语句属于(顺序)语句。 50.PROCESS语句属于(并行)语句。 51.CASE语句属于(顺序)语句。

52. EDA的中文含义是(电子设计自动化)。 53.可编程逻辑器件的英文简称是(PLD)。 54. 现场可编程门阵列的英文简称是(FPGA)。 55.在EDA中,ISP的中文含义是(在系统编程)。 56. EPF10K20TC144-4具有(144)个管脚。 57. MAXPLUSII中原理图的后缀是(.GDF)。

58. VHDL语言共支持四种常用库,其中(WORK)库是用户的VHDL设计现行工作库。 59. 在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为(综合器)。 60. 在VHDL的CASE语句中,条件句中的“=>”不是操作符号,它只相当与(THEN)作用。 61. assign—>pin/location chip命令是MAXPLUSII软件中(引脚锁定)的命令。 62. 在VHDL中,可以用语句(clock? event and clock=?0?) 表示检测clock下降沿。

63. 在VHDL中,语句”FOR I IN 0 TO 7 LOOP ”定义循环次数为(8)次。 64. 在VHDL中,PROCESS结构内部是由(顺序)语句组成的。

65. 执行MAX+PLUSII的(Simulator)命令,可以对设计的电路进行仿真。 66. 执行MAX+PLUSII的(Compiler)命令,可以对设计的电路进行编译。 67. 执行MAX+PLUSII的(Programmer)命令,可以对设计的电路进行下载。 68. 在VHDL中,PROCESS本身是(并行)语句。

69. 在元件例化语句中,用( => )符号实现名称映射,将例化元件端口声明语句中的信号与PORT MAP中的信号名关联起来。

70.在MAX+PLUSII集成环境下为图形文件产生一个元件符号的主要作用是(被高层次电路设计调用)。

71.在MAX+PLUSII工具软件中,完成网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取和编程文件汇编等操作,并检查设计文件是否正确的过程称为(综合)。 72.在VHDL中,IF语句中至少应有1个条件句,条件句必须由 (BOOLEAN) 表达式构成。

73. 在VHDL中(变量)不能将信息带出对它定义的当前设计单元。 74.在VHDL中,一个设计实体可以拥有一个或多个(结构体)。

75. 在VHDL的IEEE标准库中,预定义的标准逻辑数据STD_LOGIC有(9)种逻辑值。 76.在VHDL中,用语句(clock?EVENT AND clock=?1? )表示clock的上升沿。 77、仿真是对电路设计的一种(间接的)检测方法。

78. Quartus II中建立设计项目的菜单是( “File”→“New Project Wizard” )。 79.执行Quartus II的( Create ∠ Update / Create Symbol Files for Current File )命令,可以为设计电路建立一个元件符号。

80.使用Quartus II的图形编辑方式输入的电路原理图文件必须通过(编译)才能进行仿真验证.

81. Quartus II的波形文件当中设置仿真时间的命令是(Edit/ Time Bar )。 82. 完整的IF语句,其综合结果可实现(组合逻辑电路)。 83. 描述项目具有逻辑功能的是(结构体)。

84.protel原理图设计时,按下(Q)键可实现英制和公制的转换。 85.在VHDL语言的程序中,注释使用(--)符号。

86.protel原理图设计时,按下(E+M+M键)快捷键可实现“移动功能”。 87.在放置元器件的过程按下(TAB )键可以调出元件属性对话框。

88. 40mil大约等于( 0.001 )m。 A、 B、0.001cm C、0.001inch D、0.001mm 89.通常所说的几层板指的是(钻孔图层)的层数。 90.执行(Align Top )命令操作,元器件按顶端对齐。 91.执行(Align Bottom )命令操作,元器件按底端对齐. 92.执行(Align Left )命令操作,元器件按左端对齐. 93.执行(Align Right )命令操作,元气件按右端对齐.

94.原理图设计时,实现连接导线应选择(Place/Wire )命令. 95.要打开原理图编辑器,应执行(Schematic)菜单命令. 96.进行原理图设计,必须启动(Schematic )编辑器。

97.使用计算机键盘上的(Page Down )键可实现原理图图样的缩小。 98.往原理图图样上放置元器件前必须先(装载元器件库 )。

99.执行(Tools/Preferences )命令,即可弹出PCB系统参数设置对话框。

100.在印制电路板的(Keep Out Layer )层画出的封闭多边形,用于定义印制电路板形状及

尺寸。

101.印制电路板的( Silkscreen Layers )层主要用于绘制元器件外形轮廓以及标识元器件标号等。该类层共有两层。

102.在放置元器件封装过程中,按(Y)键使元器件封装旋转。

103.在放置元器件封装过程中,按(X )键使元器件在水平方向左右翻转。 104.在放置元器件封装过程中,按(Y )键使元器件在竖直方向上下翻转。 105.在放置元器件封装过程中,按(L )键使元器件封装从顶层移到底层。 106.在放置导线过程中,可以按( Back Space )键来取消前段导线。 107.在放置导线过程中,可以按(Shift+Space )键来切换布线模式。 108.执行(Center Horizontal )命令操作,元器件按水平中心线对齐。

109.MAX+plus II支持原理图、(VHDL)、(Verilog)语言及以波形与EDIF等格式的文件,并支持混合设计、(功能)仿真和(时序)仿真。

110.结构体是用于描述设计实体的(内部结构)以及实体端口间的(逻辑关系),它不能单独存在,必须有一个界面说明即(实体)。对具有多个结构体的实体,必须用(CONFIGURATION配置)语句指明用于综合的结构体和用于仿真的结构体。

111.由(已定义的)、(数据类型不同)的对象元素构成的(数组)称为记录类型的对象。 (共计140空)

选择题(140题) 1. 关于EDA技术的设计流程,下列顺序正确的是 ( A )

A 原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试 B 原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试; C 原理图/HDL文本输入→功能仿真→综合→编程下载→适配硬件测试; D 原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试

2. 对利用原理图输入设计方法进行数字电路系统设计,下面说法是不正确的(C)

A 原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计; B 原理图输入设计方法一般是一种自底向上的设计方法; C 原理图输入设计方法无法对电路进行功能描述; D 原理图输入设计方法也可进行层次化设计。

3. Quartus II的设计文件不能直接保存在( B )。

A 系统默认路径 B 硬盘根目录 C 项目文件夹 D 用户自定义工程目录 4. 使用Quartus II工具软件建立仿真文件,应采用( D )方式.

A.图形编辑 B.文本编辑 C.符号编辑 D.波形编辑 5. 建立设计项目的菜单是( C ). A.“File”?“New ”B.“Project”?“New Project Wizard”C.“File”?“New Project Wizard” 6. 在Quartus II集成环境下为图形文件产生一个元件符号的主要用途是( D ). A.仿真 B.编译 C.综合 D.被高层次电路设计调用 7. 仿真是对电路设计的一种( B )检测方法.

A.直接的 B.间接的 C.同步的 D.异步的 8. 执行Quartus II的(B )命令,可以对设计电路进行功能仿真或者时序仿真. A.Create Default Symbol B.Start Simulation

C.Compiler D.Timing Analyzer

9. Quartus II的图形设计文件类型是( B ).

A. . scf B.. bdf C. . vhd D. . v 10. Quartus II是( C )

A.高级语言 B.硬件描述语言 C.EDA工具软件 D.综合软件 11. 使用Quartus II工具软件实现原理图设计输入,应采用( A )方式.

A.模块/原理图文件 B.文本编辑 C.符号编辑 D.波形编辑

12. 一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序称为( C ).

A.设计输入 B.设计输出 C.设计实体 D.设计结构 13. VHDL常用的库是( A )标准库.

A.IEEE B.STD C.WORK D.PACKAGE 14. 在VHDL的端口声明语句中,用( A )声明端口为输入方向. A.IN B.OUT C.INOUT D.BUFFER

15. 在VHDL的端口声明语句中,用( B )声明端口为输出方向. A.IN B.OUT C.INOUT D.BUFFER

16. 在VHDL的端口声明语句中,用( C )声明端口为双向方向. A.IN B.OUT C.INOUT D.BUFFER

17. 在VHDL的端口声明语句中,用( D )声明端口为具有读功能的输出方向. A.IN B.OUT C.INOUT D.BUFFER

18. 在VHDL标识符命名规则中,以( A )开头的标识符是正确的. A.字母 B.数字 C.汉字 D.下划线 19. 在下列标识符中,( C )是VHDL合法标识符.

A.4h_adde B.h_adde4_ C.h_adder_4 D._h_adde 20. 在下列标识符中,( A )是VHDL错误的标识符.

A.4h_adde B.h_adde4 C.h_adder_4 D.h_adde

21. VHDL程序中的中间信号必须在__________中定义,变量必须在__________中定义.( B )

A.实体 进程 B.结构体 进程 C.进程 进程 D.结构

体 结构体

22. 在VHDL中,目标变量的赋值符号是(C ). A.=: B.= C.:= D.<= 23. 在VHDL中,目标信号的赋值符号是( D ). A.=: B.= C.:= D.<=

24. 在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部变量,( B )事先声明.

A.必须 B.不必 C.其类型要 D.其属性要 25. 在VHDL的并行语句之前,可以用( C )来传送往来信息. A.变量 B.变量和信号 C.信号 D.常量 26. 在VHDL中,PROCESS结构是由( A )语句组成的. A.顺序 B.顺序和并行 C.并行 D.任何

27. 在VHDL中,条件信号赋值语句WHEN_ELSE属于( C )语句. A.并行兼顺序 B.顺序 C.并行 D.任意

28. 在元件例化(COMPONENT)语句中,用( D )符号实现名称映射,将例化

E1 75.下列标识符中, B 是不合法的标识符。

A. State0 B. 9moon C. Not_Ack_0 D. signal

76.在VHDL语言描述中。定义数据类型通常采用的关键词是 ( C )

(A)signal (B)variable (C)type (D)set

77.在VHDL语言的程序中,注释使用以下的哪一种符号? ( B )

(A)// (B)-- (C) ; (D)_ _

78. 关于元件例化的描述中,正确的有 ( B )

(A) 元件例化根据例化语句中所定义的例化元件端口名和当前系统的连接实体

端口名的接口表达方式来说,有两种方式:1)名字关联方式 2)功能关联方式

(B) 元件例化根据例化语句中所定义的例化元件端口名和当前系统的连接实体

端口名的接口表达方式来说,有两种方式:1)名字关联方式 2)位置关联方式

(C) 在位置关联方式的例化语句中,表达式的位置可以互换 (D) 为了方便书写程序,元件例化名可以省略

79.一个进程中允许描述对应于 时钟信号的同步时序逻辑 ( A )

(A) 一个 (B)两个 (C) 三个 (D)多个

80.在以下4种语言中属于硬件描述语言的是 ( A )

(A)VHDL (B)VC (C)VB (D)Delphi

81.Protel 99SE是用于( B )的设计软件。

A电气工程 B电子线路 C机械工程 D建筑工程 82.Protel 99 SE原理图设计工具栏共有( C )个。 A. 5 B. 6 C. 7 D. 8

83.执行( B )命令操作,元器件按垂直均匀分布。

A.Vertically B.Distribute Vertically C.Center Vertically D.Distribute 84.执行(D )命令操作,元器件按底端对齐.

A.Align Right B.Align Top C.Align Left D.Align Bottom 85.执行( A )命令操作,元器件按右端对齐.

A.Align Right B.Align Top C.Align Left D.Align Bottom 86.原理图设计时,实现连接导线应选择( B )命令.

A.Place /Line B.Place/Wire C.Wire D.Line 87.进行原理图设计,必须启动( B )编辑器。

A.PCB B.Schematic C Schematic Library D.PCB Library 88.往原理图图样上放置元器件前必须先( B )。

A.打开浏览器 B.装载元器件库 C.打开PCB编辑器 D.创建设计数据库文件

89.仿真库Fuse.lib中包含了一般的熔丝元器件,Designator指的是熔丝的( A )。 A.名称 B.电流 C.阻抗 D.不清楚 90.网络表中有关网络的定义是( C )。

A. 以“[”开始,以“]”结束 B. 以“〈”开始,以“〉”结束 C. 以“(”开始,以“)”结束 D. 以“{”开始,以“}”结束 91.执行( B )命令,即可弹出PCB系统参数设置对话框。 A.Design/Bord Options B.Tools/Preferences C.Options D.Preferences

92.在放置导线过程中,可以按( A )键来取消前段导线。 A. Back Space B. Enter C.Shift D.Tab 93.Protel99 SE提供了( B)层为内部电源/接地层。 A.2 B.16 C.32 D.8 94.印制电路板的( B )层主要是作为说明使用。 A.Keep Out Layer B.Top Overlay C.Mechanical Layers D.Multi Layer

95.在放置元器件封装过程中,按( D )键使元器件封装旋转。

A.X B.Y C.L D.空格键

96.在放置元器件封装过程中,按( B )键使元器件在竖直方向上下翻转。 A.X B.Y C.L D.空格键

97.在放置导线过程中,可以按( C )键来切换布线模式。 A.Back Space B. Enter C.Shift+Space D.Tab

98.Protel99 SE为PCB编辑器提供的设计规则共分为( D )类。 A.8 B.10 C.12 D.6 99.Protel 99 SE原理图文件的格式为( C )。 A.Schlib B.SchDoc C.Sch D.Sdf 100.执行( C )命令操作,元器件按水平中心线对齐。 A.Center B.Distribute Horizontally C.Center Horizontal D.Horizontal 101.执行( B )命令操作,元器件按顶端对齐。

A.Align Right B.Align Top C.Align Left D.Align Bottom 102.执行( C )命令操作,元器件按左端对齐.

A.Align Right B.Align Top C.Align Left D.Align Bottom 103.原理图设计时,按下( B )可使元器件旋转90°。 A.回车键 B.空格键 C.X键 D.Y键 104.要打开原理图编辑器,应执行( C )菜单命令.

A.PCB Project B.PCB C.Schematic D.Schematic Library 105.进行原理图设计,必须启动( B)编辑器。

A.PCB B.Schematic C Schematic Library D.PCB Library 106.网络表中有关元器件的定义是( A )。

A. 以“[”开始,以“]”结束 B. 以“〈”开始,以“〉”结束 C. 以“(”开始,以“)”结束 D. 以“{”开始,以“}”结束 107.PCB的布局是指( B )。

A.连线排列 B.元器件的排列

C.元器件与连线排列 D.除元器件与连线以外的实体排列 108.Protel99 SE提供了多达( C )层为铜膜信号层。 A.2 B.16 C.32 D.8

109.在印制电路板的( B )层画出的封闭多边形,用于定义印制电路板形状及尺寸。 A.Multi Layer B. Mechanical Layers C.Top Overlay D.Bottom overlay

110.印制电路板的( B )层主要用于绘制元器件外形轮廓以及标识元器件标号等。该类层共有两层。

A.Keep Out Layer B.Silkscreen Layers C.Mechanical Layers D.Multi Layer

111.在放置元器件封装过程中,按( A )键使元器件在水平方向左右翻转。 A.X B.Y C.L D.空格键

112.在放置元器件封装过程中,按( C )键使元器件封装从顶层移到底层。 A.X B.Y C.L D.空格键

113.在放置导线过程中,可以按( C )键来切换布线模式。 A.Back Space B. Enter C.Shift+Space D.Tab

114.Protel99 SE为PCB编辑器提供的设计规则共分为( D )类。 A.8 B.10 C.12 D.6

115.原理图设计窗口顶部为主菜单和主工具栏,左部为( A )。 A.设计管理器 B.底部为状态栏 C.常用工具栏 D.命令栏 116.网络表的内容主要由两部分组成:元器件描述和( A )。

A. 网络连接描述 B.元器件编号 C.元器件名称 D.元器件封装 117.工作层中的信号板层(Signal Layers)包括底层、中间层和( D )。 A.内部电源/地线层 B.其它工作层 C.机械板层 D.顶层 118.Protel 99 SE可以直接创建一个( A )文件。

A. *.DDB B. *.Lib C. *.PCB D. *.Sch

119.原理图可以生成各种类型的报表,生成各种报表的命令都在( A )菜单中。 A.Reports B.File C.Edit D.Help 120.原理图文件的扩展名是( A )。 A.Sch B.ERC C.PCB D.DDB 121.设计电路板文件的扩展名是( C )。 A.Sch B.ERC C.PCB D.DDB

122.创建元器件封装库文件的扩展名是( B )。 A.Sch B.Lib C.PCB D.DDB

123.原理图电气规则检查后产生文件的扩展名是( B )。 A.Sch B.ERC C.PCB D.DDB 124.网络表文件的扩展名是( B )。 A.Sch B.NET C.PCB D.DDB

125.元器件列表文件(Protel Format格式)的扩展名是( B )。 A.csv B.bom C.PCB D.xls

126.元器件列表文件(CSV Format格式)的扩展名是( A )。 A.csv B.bom C.PCB D.xls

127.元器件列表文件(Client Spreadsheet格式)的扩展名是( D )。 A.csv B.bom C.PCB D.xls

128.元器件列表文件的格式有三种,其中( A )与EXCEL格式类似。 A. Client Spreadsheet B. CSV Format C. Protel Format D.xls

129.根据元器件的焊盘种类不同,元件封装可分为插针式元器件封装和( A )两种类型。 A. 表贴式元器件封装 B. 焊盘 C. 导线 D.过孔 130.RB代表( A )。

A. 电解电容 B. 管状元器件 C. 二极管 D.双列直插式元器件 131.AXIAL代表( B )。

A. 电解电容 B. 管状元器件 C. 二极管 D.双列直插式元器件 132.DIP代表( D )。

A. 电解电容 B. 管状元器件 C. 二极管 D.双列直插式元器件 133.SIP代表( B )。

A. 电解电容 B.单列直插式元器件 C. 二极管 D.双列直插式元器件 134.DIP代表( D )。

A. 电解电容 B.单列直插式元器件 C. 二极管 D.双列直插式元器件 135.元器件石英晶体振荡器的封装是( D )。 A. DIP B. SIP C. AXIAL D.XTAL1

136.元器件可变电阻(POT1、POT2)的封装是( B )。 A. DIP B. VR1 C. AXIAL D.XTAL1

137.电阻类的封装是( C )。

A. DIP B. RB C. AXIAL D.XTAL1 138.晶体管的封装是( C )。

A. DIP B. RB C. TO--xxx D.XTAL1 139.PCB编辑器中放置元器件工具栏是( A )。 A. Component Placement B. Find Selection C. Placement Tools D.Wiring Tools 140.PCB编辑器中放置工具栏是( C )。

A. Component Placement B. Find Selection C. Placement Tools D.Wiring Tools

简答题(56题)

1、谈谈你对EDA技术的理解。(什么是EDA)。

EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。 2.简要解释建模、仿真和综合的含义。

答:建模是指用硬件描述语言描述电路的功能。仿真是指验证电路的功能。综合是指把软件模型转化为硬件电路。

3、EDA技术的主要特征有哪些? 答:自顶向下的设计方法;采用硬件描述语言;高层综合优化;并行工程;开放性和标准化。 4、什么是硬件描述语言? 答:是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的功能、电路结构和连接形式;与传统的门级描述方式相比,它更适合复杂数字电子系统的设计。 5、用硬件描述语言设计电路有哪些优点?

突出的优点: ① 语言的公开可利用性; ② 设计与工艺的无关性; ③ 宽范围的描述能力; ④ 便于组织大规模系统的设计; ⑤ 便于设计的复用、交流、保存和修改等。 6、利用EDA技术进行电子系统的设计有什么特点? 答:① 用软件的方式设计硬件;② 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③ 设计过程中可用有关软件进行各种仿真;④ 系统可现场编程,在线升级;⑤ 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。 7、从使用的角度讲,EDA技术主要包括几个方面的内容?

答:EDA技术的学习主要应掌握四个方面的内容:① 大规模可编程逻辑器件;② 硬件描述语言;③ 软件开发工具;④ 实验开发系统。其中,硬件描述语言是重点。 8、硬件描述语言VHDL的特点是什么?

VHDL是一种具备形式化、层次化和规范化的硬件描述语言。1硬件相关结构2 VHDL的并发性3混合级描述以及混合级模拟。

9、信号与变量的区别有哪些?信号可以用来描述哪些硬件特性?

答:变量赋值与信号赋值的区别在于,变量具有局部特征,它的有效只局限于所定义的一个进程中,或一个子程序中,它是一个局部的、暂时性数据对象(在某些情况下)。对于它的赋值是立即发生的(假设进程已启动),即是一种时间延迟为零的赋值行为。 信号则不同,信

号具有全局性特征,它不但可以作为一个设计实体内部各单元之间数据传送的载体,而且可通过信号与其他的实体进行通信(端口本质上也是一种信号)。信号的赋值并不是立即发生的,它发生在一个进程结束时。赋值过程总是有某种延时的,它反映了硬件系统并不是立即发生的,它发生在一个进程结束时。赋值过程总是有某些延时的,它反映了硬件系统的重要特性,综合后可以找到与信号对应的硬件结构,如一根传输导线、一个输入/输出端口或一个D触发器等。

10、名词解释:VHDL、实体说明、.结构体、类属表、数据对象、并行语句、程序包。 答: VHDL(Very high speed intergated circuit Hardware Description Language):非常 高速集成电路的硬件描述语言。 11、名词解释:结构体 答:通过若干并行语句来描述设计实体的逻辑功能(行为描述)或内部电路结构(结构描述),从而建立设计实体输出与输入之间的关系。 12、名词解释:类属表

答:用来确定设计实体中定义的局部常数,用以将信息参数传递到实体,用类属表指明器件的一些特征。最常用的是上升沿和下降沿之类的延迟时间,负载电容、驱动能力和功耗等。 13、名词解释:数据对象

答:数据类型的载体,共有三种形式的对象:Constant(常量)、Variable(变量)、Signal(信号)。

14、名词解释:并行语句

答:并行语句有五种类型,可以把它们看成结构体的五种子结构。这五种语句结构本身是并行语句,但内部可能含有并行运行的逻辑描述语句或顺序运行的逻辑描述语句,如进程内部包含的即为顺序语句。五种语句结构分别为块语句、进程语句、信号赋值语句、子程序调用语句和元件例化语句。 15、名词解释:程序包

答:程序包可定义一些公用的子程序、常量以及自定义数据类型等。各种VHDL编译系统都含有多个标准程序包,如Std-Logic-1164和Standard程序包。用户也可已自行设计程序包。程序包由两个独立的单元组成:程序包声明单元和程序包体单元构成。 16、元件例化语句的作用是什么?

答:元件例化语句作用:把已经设计好的设计实体称为一个元件或一个模块,它可以被高层次的设计引用。是使VHDL设计构成自上而下层次设计的重要途径。 17、什么是并行语句?什么是顺序语句?

答:并行语句主要用来描述模块之间的连接关系,顺序语句一般用来实现模块算法部分。 18、设计项目的验证有哪几种方法?

答:包括功能仿真、时序仿真和定时分析。 功能仿真又称前仿真,是在不考虑器件延时的理想情况下的一种项目验证方法,通过功能仿真来验证一个项目的逻辑功能是否正确。 时序仿真又称模拟仿真或后仿真,是在考虑设计项目具体适配器件的各种延时的情况下的一种项目验证方法。时序仿真不仅测试逻辑功能,还测试目标器件最差情况下的时间关系。 定时分析可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率,还可分析信号的建立、保持时间。 19、简述层次结构设计的优点。

答:层次化设计是一种模块化的设计方法,设计人员对设计的描述由上至下逐步展开,符合常规的思维习惯;由于顶层设计与具体的器件和工艺无关,因此易于在各种可编程逻辑器件中间进行移植。 层次化的设计方法可以使多个设计人员同时进行操作。有利于对设计任务进行合理的分配并用系统工程的方法对设计进行管理。

20、在数字系统设计中锁定引脚的作用是什么?

答:将设计文件中的输入、输出信号定位到所选器件的具体物理管脚上。 21.简述EDA技术的发展趋势:

①.超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺已经走向成熟,在一个芯片上完成的系统级的集成已成为可能。 ②.由于工艺线宽的不断减小,在半导体材料上的许多寄生效应已经不能简单地被忽略,这就对EDA工具提出了更高的要求。同时,也使得IC生产线的投资更为巨大。可编程逻辑器件开始进入传统的ASIC市场。 ③.高性能的EDA工具得到长足的发展,其自动化核智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。 ④.计算机硬件平台性能大幅度提高,为复杂的SOC设计提供了物理基础。

22.EDA技术在进入21世纪后,得到更大的发展,突出表现在哪些方面? ①.在FPGA上实现DSP(数字信号处理)应用成为可能,用纯数字 逻辑进行DSP模块的设计,使得高速DSP实现成为现实,并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实现途径。 ②.嵌入式处理器软核的成熟,使得SOPC步入大规模应用阶段,在一片FPGA上实现一个完备的数字处理系统成为可能。 ③.在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。 ④.电子技术领域全方位融入EDA技术。 ⑤.EDA使得电子领域各学科的界限更加模糊,更加互为包容,如:模拟与数字、软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。 ⑥.基于EDA的用于ASIC设计的标准单元已涵盖大规模电子系统及复杂IP核模块。 ⑦.软硬IP核在电子行业的产业领域广泛应用。 ⑧.SOC高效低成本设计技术的成熟。 ⑨.系统级、行为验证级硬件描述语言的出现,使复杂电子系统的设计和验证趋于简单。 23.简述可编程逻辑器件大致的演变过程:

①.20世纪70年代,熔丝编程编程的PROM和PLA器件是最早的可编程逻辑器件。 ②. 20世纪70年代末,对PLA进行了改进,AMD公司推出PAL器件。 ③. 20世纪80年代初,Lattice公司发明电可擦写的、比PLA使用更灵活的GLA 器件。 ④.20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出了世界上第一片FPGA器件。同时,Altera公司推出EPLD器件,较GAL器件有更高的集成度,可以用紫外线或电擦除。 ⑤.20世纪80年代末,Lattice公司推出一系列具备在系统可编程能力的CPLD器件,将可编程器件的性能和应用技术推向了一个全新的高度。 ⑥.进入20世纪90年代后,可编程逻辑集成电路技术进入飞速发展时期。器件的可用逻辑门数已达百万,并出现了内嵌复杂功能模块(如乘法器、RAM、CPU核、DSP核、PLL等)的FPGA。 ⑦.进入21世纪70后,可编程逻辑集成电路的规模和集成度更有了巨大的进步。利用FPGA方便地实现片上系统(SOC、SOPC)设计已变得十分容易。

24.写出LOOP语句的常用表达式的语法格式:

①.单个LOOP语句 [LOOP标号:]LOOP 顺序语句 END LOOP[LOOP标号];

②.FOR _LOOP语句 [LOOP标号:]FOR 循环变量,IN 循环次数范围 LOOP 顺序语句 END LOOP [LOOP标号]; 25.简述VHDL的程序结构。

1. 实体 (Entity) 2. 结构体 (Architecture) 3. 配置 (Configuration) 4. 程序包集合 (Package) 5. 库 (Library)

26.写出进程语句结构的一般表达式。

进程标号: process (敏感信号参数表) is 进程说明部分 begin

顺序说明语句 End process 进程标号; 3. 对于VHDL程序,特别是进程结构,设计者需要从哪几个方面去判断它的功 能和执行情况?P81 (1)process为一无限循环语句

(2)process中的顺序语句具有明显的顺序/并行运行双重性 (3)进程必须由敏感信号的变化来启动 (4)进程语句本身是并行语句 (5)信号是多个进程间的通信线 (6)一个进程中只允许描述对应于一个时钟信号的同步时序逻辑 27. IF语句的语句结构有哪几种? (1)if 条件句 then 顺序语句 End if; (2)if 条件句 then 顺序语句 else 顺序语句 End if; (3) if 条件句 then If 条件句 then …

End if; end if; (4)if条件句 then 顺序语句 elseif 条件句 then … else 顺序语句 end if;

28.写出CASE语句一般表述。

case 表达式 is when 选择值或标示符 =>顺序语句;… ; 顺序语句; when 选择值或标示符 =>顺序语句;… ; 顺序语句; … When others =>顺序语句; end case; 29. 简述基于VHDL语言的工程设计的基本流程

1 设计准备包括系统设计、设计方案论证和器件选择等。 2 设计输入由设计者利用EDA工具的文本编辑器或图形编辑器对器件的逻辑功能进行描述以文本方式或图形方式表达出来进行编辑和编译变成VHDL文件格式。 3 设计实现利用EDA软件系统的综合器进行逻辑综合然后进行器件的布局、布线和适配最后生成下载文件或位流数据文件。 4 器件编程与配置设计编译好后将数据文件通过编程器或下载电缆下载到目标芯片FPGA/CPLD中。 5 设计验证在上述设计过程中同时进行验证过程包括行为仿真、功能仿真、时序仿真和硬件仿真/器件测试 30.什么是时序仿真?

时序仿真,就是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,因而,仿真精度高 31.什么是功能仿真?

功能仿真,是直接对HDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求 32.VHDL操作符有哪几种类型

①.逻辑操作符 ②.关系操作符 ③.算术操作符 ④.符号操作符 33.结构体中包含的四类功能描述语句是那些?

①.进程语句:定义顺序语句模块. ②.信号赋值语句:将设计实体内的处理结果向定义的信号或界面端口进行赋值. ③.子程序调用语句:用以调用过程或函数,并将获得的结果赋值于信号. ④.原件例化语句:对其他的设计实体作远元件说明,并将此元件的端口与其他的元件、信号或高层次实体的界面端口进行连接.

34.在VHDL中,并行语句有哪些?其在结构体中使用的格式是如何?

①.并行信号赋值语句 ②.进程语句 ③.块语句 ④.条件信号赋值语句 ⑤.元件例化语句 ⑥.生成语句 ⑦.并行过程调用语句 ⑧.参数传递映射语句 ⑨.端口说明语句 35. 顺序语句与并行语句的特点和用途

顺序语句 特点在程序执行时按照语句的书写顺序执行前面的语句的执行结果可能直接影响后面语句的执行。 用途主要用于模块的算法部分用若干顺序语句构成一个进程或描述一个特定的算法或行为。顺序语句不能直接构成结构体必须放在进程、过程中。

并行语句 特点不按书写顺序执行可作为一个整体运行程序执行时只执行被激活的语句。被激活的并行语句是同时执行的。 用途主要用于表示算法模块间的连接关系模拟实际硬件电路工作的并行性,可以直接构成结构体。

36. 简述WITH_SELECT_WHEN选择信号赋值语句和CASE_WHEN顺序语句的异同。

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

ATEMP<=?0?& A; BTEMP<=?0?& B;

SUMTEMP<= (ATEMP+ BTEMP );

SUM<=SUMTEMP(9 DOWNTO 0); COUT<= ( SUMTEMP(10) ); END;

6.在下面横线上填上合适的语句,完成计数器的设计。

说明:设计一个带有异步复位和时钟使能的一位八进制加法计数器(带进位输出端)。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT8 IS

PORT (CLK,RST,EN : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR( 43 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT8;

ARCHITECTURE BEHAV OF CNT8 IS BEGIN

PROCESS(CLK, RST, EN)

( SIGANL ) CQI : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF RST = '1'

THEN CQI := “000”;

( IF ) CLK'EVENT AND CLK='1' THEN IF EN = '1' THEN

IF CQI < \ CQI :=( CQL+1 ) ; ELSE CQI := ( “000” ) ; END IF; END IF;

END IF; IF CQI = \

ELSE COUT <= '0'; END IF; CQ <= CQI; END PROCESS; END BEHAV; 7、程序注释

library ieee; 定义元件库 use ieee.std_logic_1164.all; ENTITY aa1 is 定义实体

port(a,b,s:in bit; a,b,s为输入端口,数据类型bit end aa1; 实体描述结束

architecture one of aa1 is 定义结构体 y<=a when s='0' else b; 当S=0时 y=a,否则等b end one; 结构体描述结束

逻辑功能: 2选1选择器

signal s1 : bit ; 定义信号s1 begin

process (clk,d) 进程语句 begin

if (clk = ?1?) 判断高电平 then

s1 <= d; d向信号赋值 end if;

q <= s1 ; 信号s1 向q赋值 end process; end bo;

逻辑功能: 锁存器描述 8.阅读以下程序,绘制模块图电路,并简述其功能 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY EXAM3 IS

PORT(rst,clk,plus_sub: IN STD_LOGIC;

dou: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;

ARCHITECTURE ART OF EXAM3 IS BEGIN

PROCESS(clk,rst,plus_sub) IS begin

IF rst=?1? THEN

dout<=(others=>?0?);

ELSIF (CLK?EVENT AND CLK=?1?) THEN If plus_sub=?1? then

If(dout=9) then dout<=”0000”; Else dout<=dout+1; End if;

Elsif plus_sub=?0? then

If (dout=0) then dout<=”1001”; Else dout<=dout-1; End if; End if; END IF;

END PROCESS; END;

答:带异步复位端子的十进制可逆计数器。

9、阅读以下程序,绘制模块图电路,并简述其功能 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ENCODER IS

PORT (A,B,C,D,E,F,G,H:IN STD_LOGIC: Y_0,Y_1,Y_2:OUT STD_LOGIC); END ENCODER;

ARCHITECTURE ART1 OF ENCODER IS

SIGNAL OUTS:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

OUTS (2 DOWNTO 0)<= \ \ \SE \

\ \ \ \ \;

Y_0<=OUTS(0); Y_1<=OUTS(1); Y_2<=OUTS(2); END ART1; 答:

8-3优先编码器(模块图略)。

10、阅读以下程序,画出对应的硬件电路图原理图,并描述其功能; LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY EXAMPLE IS

PORT(A,B,C: IN BOOLEAN;

OUTPUT: OUT BOOLEAN); END;

ARCHITECTURE ART OF EXAMPLE IS BEGIN

PROCESS(A,B,C) IS

VARIABLE N: BOOLEAN; BEGIN

IF A THEN N:=B; ELSE N:=C;

END IF;

OUTPUT<=N; END PROCESS;

END;

答:2-1数据选择器。

11、判断下面的程序中是否有错误,请直接给出改正后完整的程序。

Library ieee;

Use ieee.std_logic_1164.all; Entity mux21 is

Port( a , b: in std_logic: Sel: in std_logic; C: out std_logic; );

End sam2;

Architecture one of mux21 is Begin

If sel=?0? then c:=a; Else c:=b; End if; End two; 答:

Library ieee;

Use ieee.std_logic_1164.all; Entity mux21 is

Port( a , b: in std_logic: Sel: in std_logic;

C: out std_logic ;);

End mux21;

Architecture one of mux21 is Begin

Process (a,b,sel) begin

If sel=?0? then c<=a; Else c<=b; End if;

End process; End one;

12、执行下列语句后,计算Q的值。 ……

SIGNAL E: STD_LOGIC_VECTOR (2 TO 5);

SIGNAL Q: STD_LOGIC_VECTOR (9 DOWNTO 2); ……

E<=(2=>?1?, 4=>?0?, OTHERS=>?1?);

Q<=(2=>E (2), 4=>E (3), 5=>?1?, 7=>E (5), OTHERS=>E (4)); ……

答: Q=“00101101”

13. VHDL文本编辑中编译时出现如下的报错信息

Error: VHDL syntax error: signal declaration must have ?;?,but found begin instead. 分析其错误的可能原因。 答: 信号声明缺少分号。

14. VHDL文本编辑中编译时出现如下的报错信息

Error: Can?t open VHDL “WORK” 分析其错误原因。 答:错将设计文件存入了根目录,并将其设定成工程。 15. VHDL文本编辑中编译时出现如下的报错信息

Error: Can?t open VHDL “WORK” 分析其错误原因。 答:错将设计文件的后缀写成.tdf,而非.vhd 。 16. VHDL文本编辑中编译时出现如下的报错信息

Error: VHDL Design File “mux21” must contain an entity of the same name 分析其错误原因。

答:设计文件的文件名与实体名不一致。

17. 在下面横线上填上合适的语句,完成一个逻辑电路的设计, 其布尔方程为 Y=(A+B)(C⊙D)+(B⊕F)。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY COMB IS

PORT(A, B,C,D,E,F,: IN STD_LOGIC; Y: OUT STD_LOGIC); END COMB;

ARCHITECTURE ONE OF COMB IS BEGIN

Y<=(A OR B) AND (C (NXOR D) OR (B ( XOR)F); End;

18. 在下面横线上填上合适的语句,完成 4 位异步计数器的设计。 说明:4 位异步计数器可以用D 触发器器组成。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS

PORT(D,CLK:IN STD_LOGIC; Q, QB: OUT STD_LOGIC); END DFF1;

ARCHITECTURE BEHAVE OF DFF1 IS BEGIN

PROCESS(CLK) BEGIN

IF CLK= '1' AND CLK'EVENT THEN Q <=D; QB<=NOT D; END IF;

END PROCESS; END BEHAVE; LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY RPLCONT IS

PORT( CLK : IN STD_LOGIC;

COUNT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END RPLCONT;

ARCHITECTURE RPLCONT OF RPLCONT IS COMPONENT DFF1

PORT (CLK,D:IN STD_LOGIC; Q,QB:OUT STD_LOGIC); END COMPONENT;

SIGNAL COUNT_IN_BAR:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN

COUNT_IN_BAR(0)<=CLK;

GEN1:FOR I IN 0 TO 3 GENERATE;

U:DFF1 PORT MAP (CLK=> (COUNT_IN_BAR(i) ) , D=>(COUNT_IN_BAR(i+1)) , Q=> ( COUNT(i)),QB=> (COUNT_IN_BAR(i+1)) ); END GENERATE; END RPLCONT;

19. 在下面横线上填上合适的语句,完成 8 位数字比较器的设计。 ENTITY COMP IS

PORT (A,B: IN (integer )RANGE 0 T0 ( 7 ) ; AEQUALB, AGREATB, ALESSB : OUT BIT); END COMP;

ARCHITECTURE BEHAVE OF COMP IS BEGIN

AEQUALB<=?1? WHEN A=B ELSE?0?; AGREATB<=?1? WHEN A>B ELSE?0?; ALESSB<=?1? WHEN A<B ELSE?0?; END BEHAVE;

20. 在下面横线上填上合适的语句,完成一个8 位分频器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PULSE IS PORT (

CLK : IN STD_LOGIC;

D : IN STD_LOGIC_VECTOR (7 DOWNTO 0); FOUT : OUT STD_LOGIC ); END;

ARCHITECTURE ONE OF PULSE IS SIGNAL FULL : STD_LOGIC; BEGIN

P_REG: PROCESS(CLK)

(signal )CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

IF CLK?EVENT AND CLK = ?1? THEN

IF CNT8 = \ CNT8 := (”00000000” ); --当 CNT8 计数计满时,输入数据 D 被同步预置给计数器

FULL <= '1'; --同时使溢出标志信号 FULL输出为高电平 ELSE CNT8 := (cnt8+1 ) ; --否则继续作加 1 计数 FULL <= '0'; --且输出溢出标志信号 FULL为低电平 END IF; END IF;

END PROCESS P_REG;

P_DIV: PROCESS(full )

VARIABLE CNT2 : STD_LOGIC; BEGIN

IF FULL'EVENT AND FULL = '1' THEN CNT2 <=(not CNT2 ); --如果溢出标志信号 FULL为高电平,D 触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1'; ELSE FOUT <= '0'; END IF; END IF; END PROCESS P_DIV; END;

21. 在下面横线上填上合适的语句,完成一个10 线-4线优先编码器的设计。 LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CODER IS PORT (DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0); OUTPUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END CODER;

ARCHITECTURE BEHAV OF CODER IS

SIGNAL SIN : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

PROCESS (din) BEGIN

IF (DIN(9)='0') THEN SIN <= \ ( if )(DIN(8)=?0?) THEN SIN <= \ ELSIF (DIN(7)='0') THEN SIN <= \ SIN <= \ELSIF (DIN(5)='0') THEN SIN <= \ SIN <= \ELSIF (DIN(3)='0') THEN SIN <= \ SIN <= \ELSIF (DIN(1)='0') THEN SIN <= \ ELSE SIN <= (”0000” ) ; ( end if ); END PROCESS ; OUTPUT <= SIN ; END BEHAV;

22. 在下面横线上填上合适的语句,完成下参数可定制带计数使能异步复位计数器的 VHDL 设计。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY COUNTER_N IS (GENERIC) (WIDTH : INTEGER := 8); PORT(DATA : IN STD_LOGIC_VECTOR (WIDTH-1DOWNTO 0); LOAD, EN, CLK, RST : IN STD_LOGIC;

Q : OUT STD_LOGIC_VECTOR ((WIDTH-1)DOWNTO 0));

END COUNTER_N;

ARCHITECTURE BEHAVE OF COUNTER_N IS

SIGNAL COUNT : STD_LOGIC_VECTOR (WIDTH-1 DOWNTO 0); BEGIN

PROCESS(CLK, RST) BEGIN

IF RST = '1' THENCOUNT <= (others=>’0’ ) ; ―― 清零 ELSIF CLK?EVENT AND CLK = ?1? THEN ―― 边沿检测 IF LOAD = '1' THEN COUNT <= DATA;

( elsif ) EN = '1' THEN COUNT <= COUNT + 1; END( if ) ; END IF;

END PROCESS; Q <= COUNT; END BEHAVE;

23. 在下面横线上填上合适的语句,完成简易彩灯控制电路的 VHDL 设计。 说明:在 EDA 实验箱上利用 OUT1~OUT8 共 8 个发光二极管实现从左到右再从右到左循环,依次仅有 一只 LED 不亮的简单跑马灯。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY TEST2 IS PORT (CLK1HZ:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END TEST2;

ARCHITECTURE BEHA OF TEST2 IS

SIGNAL COUNT1:STD_LOGIC_VECTOR (3 DOWNTO 0); BEGINP1:PROCESS (CLK1HZ) BEGIN

IF (CLK1HZ'EVENT AND CLK1HZ='1') THEN IF(COUNT1=\

THEN COUNT1<=\ COUNT1<= (COUNT1+1 ) ; END IF; END IF;

END PROCESS;

P2:PROCESS(count1 ) BEGIN

CASE COUNT1 IS

WHEN\WHEN\ WHEN \ WHEN \ WHEN \

WHEN \ WHEN \ WHEN \ END CASE; END PROCESS; END ARCHITECTURE BEHA; 24. 在下面横线上填上合适的语句,完成 3人表决器的设计。 ENTITY maj IS

PORT(a,b,c : IN BIT; m : OUT BIT); END maj;

ARCHITECTURE structure OF maj IS --declare components used in architecture

COMPONENT and2 PORT(in1, in2 : IN BIT; out1 : OUT BIT); END COMPONENT;

COMPONENT or3 PORT(in1, in2, in3 : IN BIT; out1 : OUT BIT); END (COMPONENT) ; SIGNAL w1, w2, w3 : BIT; BEGIN

gate1 : and2 PORT MAP (a, b, w1);

gate2 : and2 PORT MAP (b, ( c ) , w2); gate3 : and2 PORT MAP (( a ) , c, w3);

gate4 : or3 PORT MAP (w1, w2, w3, ( m ) ); END structure;

25. 在下面横线上填上合适的语句,完成同步17 进制计数器的设计。 LIBRARY ieee;

USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY counter17 IS

PORT( clk, rst: IN std_logic; ch, c: OUT std_logic;

qb1, qa1: OUT std_logic_vector(3 DOWNTO 0)); END;

ARCHITECTURE behav OF counter17 IS

SIGNAL qb, qa: std_logic_vector(3 DOWNTO 0); SIGNAL cin: std_logic; BEGIN qb1<=qb; qa1<=qa;

PROCESS(clk) BEGIN

IF clk'event AND clk='1' THEN

IF ( rst=?1? )OR (qb=1 AND qa=6) THEN qa<=\

ELSIF ( qb<=“0001” ) THEN cin<='1'; qa<=qa+1; ELSE qa<= (“0000” ) ; cin<='0'; END IF;

END IF;

END PROCESS; PROCESS(cin, clk) BEGIN

IF clk'event AND clk='1' THEN IF (qb=1 AND qa=6) THEN qb<=\ ELSE c<='0'; END IF;

IF (qa=6 and qb=0 ) THEN qb<=qb+1; END IF; END IF; END PROCESS; ch<=cin; END;

26. 在下面横线上填上合适的语句,完成单时钟同步十六进制加/减计数器的设计。 LIBRARY ieee;

USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY counter IS

PORT(clk, en, ld, ud, d0, d1, d2, d3:IN std_logic;

c:OUT std_logic; q:OUT std_logic_vector(3 DOWNTO 0)); END;

ARCHITECTURE bev OF counter IS

SIGNAL y, d:std_logic_vector(3 DOWNTO 0); BEGIN

PROCESS(clk, en, ld, ud) BEGIN

d<= (D0 &D1 & D2 & D3 ); IF ld=?0? THEN y<=d; c<=?0?; ELSIF(clk?event AND clk=?1?) THEN IF en=?0? THEN IF ud=?0? THEN IF y= (“1111” ) THEN y<=”0000”; c<=?1?;

ELSE y<=y+1; c<=?0?; END IF;

ELSIF ud=?1? THEN IF y= (“0000” ) THEN y<=”1111”; c<=?1?; ELSE y<=y-1; c<=?0?; END IF; END IF;

ELSIF en=?1? THEN y<= ( Y ) ; END IF; END IF;

END PROCESS; q<=y; END;

27. 在下面横线上填上合适的语句,完成一个具有三态输出的双 4选 1数据选择器的设计。

END PROCESS; END BEHAV;

9、完成8位奇偶校验器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY P_CHECK IS

PORT (A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y:OUT STD_LOGIC); END P_CHECK;

ARCHITECTURE ART OF P_CHECK IS BEGIN

PROCESS(A)

variable TMP:STD_LOGIC; BEGIN

TMP :='0'; --TMP <='0';

FOR N IN 0 TO 7 LOOP --TMP <=TMP XOR A(N); TMP :=TMP XOR A(N); END LOOP; Y<= TMP;

END PROCESS; END ART;

10、写出具有同步清零功能、时钟上升沿触发的D触发器的VHDL描述。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(D, CLK,RESET:IN STD_LOGIC; Q:OUT STD_LOGIC); END DFF;

ARCHITECTURE BEHAV OF DFF IS BEGIN

PROCESS(D,CLK,RESET) BEGIN

IF RESET=?1? THEN Q<=?0?;

ELSIF CLK?EVENT AND CLK=?1?THEN Q<=?D?; END IF; END PROCESS; END BEHAV;

11、设计4-2线优先编码器设计(输入高电平有效,输出高电平有效)。 library ieee;

use ieee.std_logic_1164.all; entity encoder_4 is

port( in0,in1,in2,in3: in std_logic; out0,out1: out std_logic );

end;

architecture bh of encoder_4 is

signal ou: std_logic_vector(1 downto 0); begin

ou<=\ \ \ \

out1<=ou(1); out0<=ou(0); end; 12、设计以4位2进制全加器。 library ieee;

use ieee.std_logic_1164.all; entity adder_4 is

port(a,b: in std_logic_vector(3 downto 0); cin: in std_logic;

c: out std_logic_vector(3 downto 0); carry_out: out std_logic); end;

architecture bh of adder_4 is begin

process(a,b,cin)

variable ca: std_logic;

variable sum_tmp: std_logic_vector(3 downto 0); begin

ca:=cin;

for i in 0 to 3 loop

sum_tmp(i):=a(i) xor b(i) xor ca;

ca:=(a(i) and b(i)) or (a(i) and ca) or (ca and b(i)); end loop;

c<=sum_tmp; carry_out<=ca; end process; end;

13、完成JK触发器的设计。 library ieee;

use ieee.std_logic_1164.all; entity jkff is

port(j,k,ck: in std_logic; q,nq: out std_logic); end;

architecture bh of jkff is signal q_tmp: std_logic; begin

process(ck) begin

if ck'event and ck='1' then

if (j='1' and k='0') then q_tmp<='1'; elsif(j='0' and k='1') then q_tmp<='0';

elsif(j='1' and k='1') then q_tmp<=not q_tmp; end if; end if; end process;

q<=q_tmp; nq<=not q_tmp; end;

14、完成带异步清零端子的JK触发器的设计。 library ieee;

use ieee.std_logic_1164.all; entity jkff is

port(j,k,ck,cl: in std_logic; q,nq: out std_logic); end;

architecture bh of jkff is signal q_tmp: std_logic; begin

process(cl,ck) begin

if cl='1' then q_tmp<='0'; elsif ck'event and ck='1' then

if (j='1' and k='0') then q_tmp<='1'; elsif(j='0' and k='1') then q_tmp<='0';

elsif(j='1' and k='1') then q_tmp<=not q_tmp; end if; end if; end process;

q<=q_tmp; nq<=not q_tmp; end;

15、完成60进制计数器的设计。 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt_60 is

port(clk,rst:in std_logic;

qout: out std_logic_vector(7 downto 0)); end;

architecture bh of cnt_60 is

signal qh,ql:std_logic_vector(3 downto 0); begin

process(clk,rst) begin

if (rst='1') then ql<=\ elsif (clk'event and clk='1') then if (ql=9) then ql<=\ if (qh=5) then qh<=\ else qh<=qh+1; end if;

else ql<=ql+1; end if; end if;

qout<=qh & ql; end process; end;

16、完成带同步清零端子的T触发器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(t, CLK,RESET:IN STD_LOGIC; Q:INOUT STD_LOGIC); END DFF;

ARCHITECTURE BEHAV OF DFF IS BEGIN

PROCESS(t,CLK,RESET) BEGIN

IF CLK?EVENT AND CLK=?1?THEN ELSIF RESET=?1? THEN Q<=?0?; ELSIf t=?1? then Q<=NOT Q; END IF; END IF; END PROCESS; END BEHAV;

17、完成带异步清零端子的T触发器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(t, CLK,RESET:IN STD_LOGIC; Q:INOUT STD_LOGIC); END DFF;

ARCHITECTURE BEHAV OF DFF IS BEGIN

PROCESS(t,CLK,RESET) BEGIN

IF RESET=?1? THEN Q<=?0?; ELSIF CLK?EVENT AND CLK=?1?THEN If t=?1? then Q<=NOT Q;

END IF; END IF; END PROCESS; END BEHAV;

18、完成T?触发器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(CLK,RESET:IN STD_LOGIC; Q:INOUT STD_LOGIC); END DFF;

ARCHITECTURE BEHAV OF DFF IS BEGIN

PROCESS(CLK) BEGIN

IF CLK?EVENT AND CLK=?1?THEN Q<=NOT Q;

END IF; END PROCESS; END BEHAV;

19、完成带同步清零端子的T?触发器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(CLK,RESET:IN STD_LOGIC; Q:INOUT STD_LOGIC); END DFF;

ARCHITECTURE BEHAV OF DFF IS BEGIN

PROCESS(CLK,RESET) BEGIN

IF CLK?EVENT AND CLK=?1?THEN ELSIF RESET=?1? THEN Q<=?0?; ELSE Q<=NOT Q;

END IF; END PROCESS; END BEHAV;

20、完成带异步清零端子的T?触发器的设计。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF IS

PORT(CLK,RESET:IN STD_LOGIC; Q:INOUT STD_LOGIC); END DFF;

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

Top