当前位置:文档之家› EDA 2011年考试样卷

EDA 2011年考试样卷

EDA 2011年考试样卷
EDA 2011年考试样卷

填空题

1,、硬件描述语言(HDL)是EDA技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据流描述的语言。它的种类很多,如VHDL、Verilog HDL、AHDL。

2、CPLD是寄语乘积项的可编程结构,即由可编程的与阵列和固定的或阵列来完成功能。面FPGA采用查找表LUT结构的可编程结构。

3、Verilog HDL的数字可以用二进制、十进制、八进制和十六进制4仲不同数制来表示。

4、在Verilog HDL中还存在两种特殊的取值,高阻态(Z或者z)和不定态(X或者x)。

5、Verilog HDL模块的I/O声明模块端口定义中各端口数据流动方向,包括输入(input)、输出(output)和双向(inout)。

6、FPGA由可编程逻辑块(CLB)、可编程互连单元(I/O)和可编程互连三种可编程电路和一个SRAM结构的配置存储单元组成。

7、摩尔状态机中,其输出只是当前状态值的函数,并且仅在时()()沿到来时才发生变化。

8、EDA数字系统工程设计流程包括:设计准备、设计输入、设计实现、器件编程与配置、设计验证。

9、对综合而言,Verilog HDL的wire型变量的取值可以是0、1、x和z。

10、如果Verilog HDL操作符的操作数只有1个,称为单目操作;如果操作符的操作数有2个,称为双目操作;如果操作符的操作数有3个,称为三目操作。

11、Quartus Ⅱ的编程系在设计文件包括引脚锁定和编程下载两个部分。

12、Verilog HDL中,register型变量有reg、integer、rea和time 4种。

13、Verilog HDL的模块短空定义用来声明电路设计模块的输入端口和输出端口。

14、Verilog HDL的功能描述是用来描述设计模块的内部结构和模块端口间的逻辑关系。

15、在Verilog HDL中,赋值语句有门基元、连续赋值、过程赋值和非阻塞赋值4种。

16、Verilog HDL的连续赋值语句的关键字是assign,赋值符号是= 。

17、在Verilog HDL中,结构描述包括门级(Gate Level)和开关级(Switch Level)两种抽象级别。

18、Verilog HDL的always块语句中的语句是顺序语句,always块本身却是并行语句。

19、在Verilog HDL模块中,任务用来单独完成某项具体任务,并被模块或其他任务调用。

20、在Verilog HDL的语句中,系统对表达式的值进行判断,若值为0,则按假处理;若为1,则按真处理。

21、一个完整的Verilog HDL设计模块包括:端口定义、I/O声明、信号类型声明和功能描述4个部分。

22、Verilog模块可以非为两种类型:一种是未了让模块最终能生成电路的结构,另一种只是为了测试所设计电路的逻辑功能是否正确。

23、在Verilog HDL中,使用posedge关键字声明事件是由输入信号的上升沿触发的;使用negedge关键字声明事件是由输入信号的下降沿触发的。

简单题

1.元件例化语句的作用是什么?

答:元件例化语句作用:把已经设计好的设计实体称为一个元件成个模块,它可以被高层次的设计引用,是使Verilog HDL设计构成自上而下层次设计的重要途径。

2.Verilog HDL的操作符有哪几类?

答:Verilog HDL提供了丰富的运算操作符,其中包括逻辑操作符、算术操作符、关系操作符、等式操作符、条件操作符、位操作符、缩位操作符、移位操作符和拼接操作符等9类。

3.简述层次结构设计的优点。

答:层次化设计是一种模块化的设计方法,设计人员对设计的描述由上而下逐步展开,符合常规的思维习惯;由于顶层设计与具体的器件和工艺无关,因此易于在个种可编程逻辑器件中间进行移植。

层次化的设计方法可以使多个设计人员同时进行操作,有利于对设计任务进行合理的分配并用系统工程的方法对设计进行管理。

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

5.简述自顶而下的设计指思想。

答:自顶而下的设计指的是将一个大规模的数字电路系统从功能上化为若干个不相交的子模块,每个子模块又可以根据需要在功能上化为若干个二级子模块,依此类推,直到功能模块小到比较容易实现为止。

6.简述使用always描述组合逻辑电路的规则

答:在描述组合逻辑电路时,always在使用上有以下几个特点(或者说是规则);

1)在敏感列表中使用电平敏感事件,不要使用边沿敏感。

2)为变量赋值的使用阻塞赋值,不要使用非阻塞赋值。

另外,在always块内被赋值的变量必须为寄存器型变量。因此尽管在组合逻辑中不包含任何记忆单元,但是如果变量需要在always块内被赋值,就必须定义为寄存器型,这并不表示所描述的数字电路系统中包含有记忆元件。

7.系统任务$stop和$finish的区别是什么?

答:系统任务$stop和$finish的区别是,系统任务$stop用于暂停仿真,系统任务$finish用于结束仿真。$stop使仿真进入一种交互模式,设计者可以在此模式下对设计进行调试。当设计者想要暂停仿真来检查信号的值时,可以使用这个系统函数。系统任务$finish用于结束仿真。

8. Verilog HDL的基本单元——模块主要包括哪些内容?主要作用是什么?

答:模块(module)是Verilog HDL对数字电路系统建模的基本单元,每个模块包括模块名称、端口列表、端口类型列表、内部变量定义以及逻辑功能描述等几个部分。

模块名称:模块取一个和其功能相关的名字

端口列表:模块的输入和输出端口

端口类型列表:定义各个端口的方向如(输入端口、输出端口和双向端口)

内部变量定义:内部变量可以使程序变得更有条理

逻辑功能描述:是一个模块的主体,它描述了模块的输出信号和输入信号的逻辑关系。

9.使用timescale编译器指令的目的是什么?举出一个实例

答: timescale 1ns/100ps

此语句说明时延时间单位为1ns并且时间精度为100ps (时间精度是指所有的时延必须被限定在0.1ns内)。如果此编译器指令所在的模块包含上面的连续赋值语句, #2 代表2ns。

10.UDP代表什么?

答:用户定义原语(UDP)。创建的灵活性:用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。

11.写出两个基本逻辑门的名称。

答:基本逻辑门,例如and、or和nand等都内置在语言中

12.VerilogHDL中的两类主要数据类型是什么?

答:Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。

13.阻塞性赋值和非阻塞性赋值有何区别?

答:阻塞赋值使用“=”为变量赋值,在赋值结束以前不可以进行其他操作,在赋值结束后继续后面的操作。这个过程就好像阻断了程序的运行,因而被成为阻塞赋值。连续的阻塞赋值操作是顺序完成的。

非阻塞赋值使用“<=”为变量赋值,在执行到赋值语句时,仅仅对“<=”右侧的表达式的值进行评估,但并不马上执行赋值,然后继续执行后面的操作。这个过程就好像没有阻断程序的运行,因而被成为非阻塞赋值。连续的非阻塞赋值操作是同时完成的。

多条阻塞赋值语句是顺序执行的,而多条非阻塞语句是并行执行的,这就是两者的区别。

14.VerilogHDL支持哪三种基本描述方式?

答:行为描述方式(过程化结构建模),数据流方式(连续赋值语句方式),结构化方式(使用门和模块实例语句描述建模)。

15.可以使用Verilog HDL描述一个设计的时序吗?

答:Verilog HDL可以清晰的建立时序模型,故可以使用Verilog HDL描述一个设计的时序。

16. 在数据流描述方式中使用什么语句描述一个设计?

17. 什么是硬件描述语言?它的主要作用是什么?

答:硬件描述语言HDL(Hardware Description Language)是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体),逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。

18.目前常用的HDL硬件描述语言有几种,各有什么特点?

答:目前常用的HDL主要有:VHDL、Verilog HDL、System Verilog、System C;Verilog HDL成为某层电路建模与设计中最流行的硬件描述语言;VHDL是在高层次上描述系统和元件的行为建模工具;System Verilog主要定位于集成电路的实现和验证流程,并为系统级设计流程提供了强大的链接能力;System C主要用于ESL (电子系统级)建模与验证。

19.什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?

答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。有以下几种类型:

(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。

(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。

(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。

(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。

综合在电子设计自动化中的地位是核心地位。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条

件信息,将VHDL程序转化成电路实现的相关信息。

20.IP是什么?IP与EDA技术的关系是什么?

答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块,在EDA 技术开发中具有十分重要的地位。美国著名的Dataquest咨询公司将半导体产业的IP定义为:“用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块”。

IP分为软IP、固IP、硬IP:

软IP:用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。

固IP:完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP:提供设计的最终阶段产品:掩模

21.wire型变量与reg型变量有什么本质区别,它们可用于什么类型语句中?

答:书上P261~262

线网(wire)表示硬件单元之间的连接,就像在真实的电路中一样,线网由其连接器件的输出端连续驱动。线网不能储存值,而且它必须受到驱动器(例如门或连续赋值语句,assign)的驱动。如果没有驱动源,则线网的值为z。

reg寄存器用来表示存储元件,它保持原有的数值,通过赋值语句可以改变寄存器储存的值,其作用与改变触发器储存的值相当。reg类型数据的默认初始值为不定值x。

定义为Net型的变量常被综合为硬件电路中的物理连接,其特点是输出的值紧跟输入值的变化而变化,因此常被用来表示以assign关键词引到的组合电路描述。

Register类型变量必须放在过程语句中,如initial、always引导的语句中,通过过程赋值语句(包括阻塞与非阻塞语句)完成赋值操作,换言之,在always、initial等过程结构内被赋值的变量必须定义为Variable类型。

22. 阻塞赋值和非阻塞赋值有何区别?

答:Verilog中,用普通等号“=”作为阻塞式赋值语句的赋值符号,如y=b。

Verilog中,用普通等号“<=”作为非阻塞式赋值语句的赋值符号,如y<=b。

执行,即如同被阻塞了一样。

非阻塞式赋值的特点是必须在块语句执行结束时才整体完成赋值操作。非阻塞的含义可以理解为在执行当前语句时,对于块中的其他语句的执行情况一律不加限制,不加阻塞。这也可以理解为,在begin_end块中的所有赋值语句都可以并行运行。

23. 简单叙述任务与函数的不同点。

答: 任务和函数有些不同,主要的不同有以下4点;

(1)函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。

(2)函数不能启动任务,而任务能启动其他任务和函数。

(3)函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。

(4)函数返回一个值,而任务则不返回值。

选择题

1、Verilog HDL是由( ②)语言演化过来的。

①、BASIC ②、C语言③、PASCAL ④、VHDL

2、Verilog HDL的设计模块可以被高层次的系统(④),成为系统的一部分。

①、输入②、输出③、仿真④、调用

3、Verilog HDL的模块端口定义用来声明电路设计模块的(④)端口。

①、输入②、输出③、双向④、全部输入/输出

4、用Verilog HDL的assign语句建模的方法一般成为(①)方式。

①、连续赋值②、并行赋值③、串行赋值④、函数赋值

5、在Verilog HDL的转移操作运算中,用符号“<<”实现对操作数的(③)操作。

①、逻辑右移②、算术右移③、逻辑左移④、算术左移

6、在Verilog HDL模块中,tack语句类似高级语言中的(④)。

①、函数②、常数③、变量④、子程序

7、Verilog HDL的always块语句中的语句是(①)语句。

①、顺序②、并行③、顺序或并行④、串行

8、在Verilog HDL的缩减操作运算中,设A=8’b11010001,则“|A”运算的结果为(②)。

①、0 ②、1 ③、x ④、z

9、在下列符号组中,(②)不能作为Verilog HDL的标识符。

①、CT74138 ②、74LS138 ③、_74138 ④、CT74138

10、在Verilog HDL的常数中,八进制数符号是用(③)表示。

①、d或D ②、b或B ③、o或O ④、h或H

11、。。。。。。。。。调用时返回一个用于(④)的值。

①、程序包②、输入③、输出④、表达式

12、在Verilog HDL中,语句“always@(negedgeclk)”表示模块的事件是由clk的(①)触发的。

①、下降沿②、上升沿③、高电平④、低电平

13、在Verilog HDL中,连续赋值语句的“:”号两边的变量都应该是(①)型变量。

①、wire ②、register ③、wire或register ④、integer

14、在Verilog HDL的端口声明语句中,用(①)关键字声明端口为双向方向。

①、inout ②、INOUT ③、BUFFER ④、buffer

15、在Verilog HDL的常数中,二进制数符号是用(②)表示。

①、d或D ②、b或B ③、o或O ④、h或H

16、在Verilog HDL的逻辑运算中,设A=8’b00011001,则表达式“A&B”的结果为(①)。

①、8’b00010001 ②、8’b11011001 ③、8’b11001000④、8’b00110111

17、在Verilog HDL的关系运算中,如果关系是真,则计算结果为(②)。

18、在Verilog HDL的转移操作中,用符号“>>”实现对操作数的(①)。

①、逻辑右移②、算术右移③、逻辑左移④、算术左移

19、在Verilog HDL中,连续赋值语句的关键字是(①)。

①、assign ②、ASSIGN ③、Assign ④、以上均可

20、在Verilog HDL中,语句“always@(posedge clk)”表示模块的事件是用clk的(②)触发的。

①、下降沿②、上升沿③、高电平④、低电平

21、答案貌似选2,IEEE#1064-1995.

①、②、IEEE#1064-1995 ③、IEEE.STD_LOGIC_1164 ④、IEEESTDI076-1993

22、一个能为Verilog HDL综合器接受,并能作为一个独立设计单元的完整的Verilog HDL程序称为(③)。

①、设计输入②、设计输出③、设计模块④、设计结构

23、Verilog HDL 的设计模块可以被高层次的系统(④),成为系统的一部分。

①、输入②、输出③、仿真④、调用

24、Verilog HDL 的模块端口定义用来声明电路设计模块的(④)端口。

①、输入②、输出③、双向④、全部输入/输出

25、在Verilog HDL模块的I/O声明中,用来声明端口数据流动方向的关键字包括(④)

①、input ②、output ③、inout ④、以上均是

26、在Verilog HDL的端口声明语句中,用(①)关键字声明端口为输入方向。注意:input是小写。

①、input ②、INPUT ③、IN ④、output

27、Verilog HDL的功能描述是用来描述设计模块的内部结构和模块端口间的逻辑关系,通常把确定这些设计模块描述的方法称为(③)。

①、综合②、仿真③、建模④、设计

28、用Verilog HDL的assign语句建模的方法一般称为(①)方式。

①、连续赋值②、并行赋值③、串行赋值④、函数赋值

29、用Verilog HDL的元件例化方式建模来完成的设计一般属于(②)描述方式。

①、行为②、结构③、功能④、行为和结构

30、Verilog HDL程序的每个模块的内容都是在(③)两语句之间。

①、start和endmodule ②、module和end ③、module和endmodule ④、start和endstart

31、在Verilog HDL的常数中,未知数字是用(②)表示。注意:x为小写。

①、X ②、x ③、Z ④、z

32、Verilog HDL的标识符可以是字母、数字和下划线“_”等符号组成的任意序列,但首字母不能是(③)。

①、大写字母②、小写字母③、数字④、下划线“_”

33、在Verilog HDL的标识符中使用字母的规则是(②)。

①、大小写相同②、大小写不同③、只允许用大写④、只允许用小写

34、在Verilog HDL的逻辑运算中,设A=8’b||010001,B=8’b00011001,则表达式A|B结果为(②)。

①、8’b00010001 ②、8’b11011001 ③、8’b11001000④、8’b00110111

35、在Verilog HDL的逻辑运算中,设A=8’b||010001,B=8’b00011001,则表达式A^B结果为(③)。

①、8’b00010001 ②、8’b11011001 ③、8’b11001000④、8’b00110111

36、在Verilog HDL的设计模块中,最常用的寄存器型变量是(①)型变量。

①、reg ②、nets ③、reg或nets ④、ineger

37、在Verilog HDL中,连续赋值语句的“=”号两边的变量都应该是(①)型变量。

①、wire ②、register ③、wire或register ④、integer

38、Verilog HDL的always块语句中的语句是(①)语句。

①、顺序②、并行③、顺序或并行④、串行

39、Verilog HDL的always块本身是(②)语句。

①、顺序②、并行③、顺序或并行④、串行

程序题

1.用begin-end 串行块产生信号波形试画出波形

`timescale 10ns/1ns

module wave1;

reg wave;

parameter cycle=10;

initial

begin

wave=0;

#(cycle/2) wave=1;

#(cycle/2) wave=0;

#(cycle/2) wave=1 ;

#(cycle/2) wave=0;

#(cycle/2) wave=1;

#(cycle/2) $finish ;

end

initial $monitor($time,,,"wave=%b",wave);

endmodule

2. 写出产生下图所示波形的变量Stream的初始化语句。

`timescale 1ns/1ns

module Test (Stream) ;

output Stream;

reg Stream;

initial

begin

Stream=0;

#12 Stream= 1;

#5 Stream = 0;

#3 Stream = 1;

#4 Stream = 0;

#2 Stream= 1;

#5 Stream = 0;

end

endmodule

三、使用连续赋值语句assign编程程序:

使用连续赋值语句assign的方式描述如图所示的电路(模块名Boolean_Ex)Module Boolean_Ex(A,B,C,M1,M2);

Input A,BC;

Ouput M1,M2;

assign M1=A|(C&(~B));

assign M2=B;

endmodule

四、解释程序

1.解释带有下划线的语句。画出该程序的引脚示意图。说明设计电路的功能。

Module JK_FF(CLK,J,K,Q,RS,SET);//模块名JK_FF(端口列表CLK,J,K,Q,RS,SET)

Input CLK,J,K,SET,RS;//模块的输入端口为CLK,J,K,SET,RS

Output Q; //模块的输出端口为Q

reg Q;

always@(posedge CLK or negedge RS or negedge SET)

//CLK上升沿触发,RS、SET下降沿触发

Begin

If(!RS) Q<=1’b0; //异步清0,低电平有效

else if(!SET) Q<=1’b1 //异步清预置1

else case({J,K})

2’b00:Q<=Q;

2’b01:Q<=1’b0;

2’b10:Q<=1’b1;

2’b11:Q<=~Q;

default:Q<=1’bx;

endcase

end

endmodule

程序的引脚示意图:

逻辑功能是:带异步清0、异步置1的JK触发器

2.

module lxpp(y, d0,d1,d2,d3,d4,d5,d6,d7,s2,s1,s0); //模块名为lxpp (端口列表y, d0,d1,d2,d3,d4,d5,d6,d7,s2,s1,s0) input s2,s1,s0; //模块的输入端口为s2,s1,s0

input d0,d1,d2,d3,d4,d5,d6,d7;

output y;

reg y; //定义信号的数据类型

always

begin //逻辑功能描述

case ( { s2,s1,s0 })

3'b000: y=d0;

3'b001: y=d1;

3'b010: y=d2;

3'b011: y=d3;

3'b100: y=d4;

3'b101: y=d5;

3'b110: y=d6;

3'b111: y=d7;

endcase

end

endmodule

程序的引脚示意图:

逻辑功能是:该Verilog HDL源程序设计的是8选1数据选择器,d7~d0是数据输入端,s2、s1和s0是控制输

3.

module expp(q,cout,ena,clk,clr); //模块名为expp (端口列表q,cout,ena,clk,clr)

input ena,clk,clr; //输入ena,clk,clr

output [7:0] q; //输出加法计数q,8位

output cout; //进位输出cout

reg [7:0] q; //定义信号的数据类型

always @(posedge clk) //敏感信号列表clk电平触发

begin

if (~clr) q = 'b00000000; //逻辑功能描述

else if (ena)

q = q+1;

end

assign cout= &q;

endmodule

程序的引脚示意图:

逻辑功能是:该Verilog HDL源程序设计带复位和使能控制的8位二进制加法计数器电路。clk是时钟输入端。clr是复位控制输入端,当clr=0时,计数器被复位。ena是使能控制输入端,当ena=1时,计数器工作,ena=0时,计数器状态不变(保持)。在ena=1和clr=1时,电路每接收到一个clk时钟的下降沿,计数器状态加1。当计数器状态为“11111111”(最大值)时,进位输出cout=1,产生向高位的计数进位。

4.

module up_downcnt(Sum,Cout,en,clk,rst,up);//定义模块

input en,clk,rst,up;

output [2:0]Sum;//输出,逻辑位向量

output Cout;

reg Cout;

reg [2:0]q;

assign Sum=q;//将内部寄存器的计数结果输出至Sum

always@(posedge clk or negedge rst)//过程,敏感信号clk,rst

begin

If (!rst) q=3’h00;//异步清零,低电平有效

else if(en) begin;//计数使能端,高电平有效

if(up) q=q+1;//up=1时,加计数

else q=q-1;end//up=0时,减计数

end

always @(q) //组合电路之过程

if ((up&q[2]&q[1]&q[0])|(~up&~q[2]&~q[1]&~q[0])) Cout=1’b1;//Cout输出进位标志或借位1

else Cout=1’b0;//否则,进位标志或借位0

endmodule

逻辑功能:是一个3位增1/减1计数器,当输入信号UP等于1时,

计数器增1;当输入信号UP等于0时计数器减1。

5.

output y;

reg y; //定义y为寄存器变量

always@(a or b or s) //过程,敏感信号a,b,s

begin: mux21

case(s)

1’b0:y<=a; //当s=0时,y=a,否则等b

1’b1:y<=b;

default:y<=a;

endcase

end

endmodule

程序引脚图:

逻辑功能:二选一数据选择器

编写程序

1. 用门级建模语句设计如图所示电路。

Verilog程序如下

module muxtwo (out, a, b, sl);

input a,b,sl;

output out;

not u1(nsl,sl);

and u2(sela,a,nsl);

and u3(selb,b,sl);

or u4(out ,sela,selb);

endmodule

2.给出RTL图的Verilog描述

module RTL2(A,B,C,D,Y)

output Y;

intput A,B,C,D;

reg Y;

//or(TP1,A,B);/*用门级电路可以*/

//and(TP2,C,D);

assign TP1=A|B; /*用assign连续赋值语句也可以*/

assign TP2=C&D;

always@(TP1,TP2,A)

begin

if(TP==1) Y=TP1^TP2;

else Y=A;

end

endmodule

3.编写8位左移移位寄存器的VerilogHDL源程序。设电路的并行数据输入端为d[7:0],并行数据输出端为q[7:0],串行数据输入端为ds1,时钟输入端为clk。ldn是预置控制输入端,当ldn=0时,q[7:0]=d[7:0]。clrn是复位控制输入端,当clrn=0时,移位寄存器被复位。

解:8位左移移位寄存器的Verilog HDL源程序如下:

module shl8_v(clr, clk,dsl,ldn,d,q);

input clr, clk,dsl,ldn;

input[7:0] d;

output[7:0] q;

reg[7:0] q;

always @(posedge clk or posedge clr)

begin

if (clr)

begin q=8'b00000000; end

else if (~ldn)

begin q=d; end

else

begin q[7:1]=q[6:0];q[0]=dsl; end

end

endmodule

4.设计一个带有异步清零功能的十进制计数器,计数器时钟CLK上升沿有效,清零端CLRN,进位输出CO。module CNT10(CLK,CLRN,CO,DOUT);

input CLK,CLRN; //时钟,复位控制信号输入口

output [3:0] DOUT; //计数数据输出信号口

out put CO; //计数进位输出

reg[3:0] Q1;

reg CO;

assign DOUT Q1; //将内部寄存器的计数结果输出至DOUT

always @(posedge CLK or negedge CLRN)

begin //时序过程

if(!CLRN)Q<=0; //RST=0时,对内部寄存器单元异步清零

else if(Q1<9) Q1

else Q1<4’b0000; //否则一个时钟后清0返回初值

end

always@( Q1) //组合电路之过程

if(Q1==4’h9)CO=1’b1; //当Q1=1001时,CO输出进位标志1

else CO=1’b0; //否则,输出进位标志0

endmodule

5.已知电路原理图如下,请用基于基本库元件的结构描述方法编写其Verilog HDL程序。

module combinational_logic(y,a,b,s)

output y;

input a,b,s;

wire sn,a1,b1;

not(sn,s);

and(a1,a,sn);

and(b1,s,b);

or(y,a1,b1);

endmodule

6.用Verilog HDL语言编写2位带进位的加法器

module f_adder(a0,a1,b0,b1,ci,co,s1,s2);

output co,s1,s2;

input a0,a1,b0,b1,ci;

wire e;

adder_1 u1(.X(a0),.Y(a1),.CIN(ci),.COUT(e).SUM(s1)); adder_1 u2(.X(b0),.Y(b1),.CIN(e),.COUT(co).SUM(s2)); endmodule

7.用Verilog HDL语言的CASE语句编写2-4译码器。module decoder2-4(A,B,G1,G2AN,G2BN,Y)

input A,B,G1,G2AN,G2BN;

wire G1,G2AN,G2BN;

wire A,B;

output [3:0] Y;

reg [3:0] Y;

reg s;

always @(A,B,G1,G2AN,G2BN)

begin

s<=G2AN|G2BN;

if(G1==0)

Y<=4’b1111;

else if(s)

Y<=4’b1111;

else

case({A,B})

2’b00:Y=4’b1110;

2’b01:Y=4’b1101;

2’b10:Y=4’b1011;

2’b11:Y=4’b0111;

defaoult:Y=4’xxxx;

endcase

end

endmodule

EDA技术试验问答题答案(基本包含)

第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系?FPGA/CPLD在ASIC设计中有什么用途? 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 1-6 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。

(完整版)武科大EDA试卷及答案

武科大EDA系统设计试卷及答案 一、单项选择题:(20分) 1.IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为_____ D_____。 A .瘦IP B.固IP C.胖IP D.都不是 2.综合是EDA设计流程的关键步骤,在下面对综合的描述中,____ D _____是错误的。 A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程; B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件; C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束; D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。 3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是__C__。 A. FPGA全称为复杂可编程逻辑器件; B. FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 4.进程中的信号赋值语句,其信号更新是___C____。 A.按顺序完成; B.比变量更快完成; C.在进程的最后完成; D.都不对。 5. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_____B______。 A.器件外部特性; B.器件的内部功能; C.器件的综合约束; D.器件外部特性与内部功能。 6.不完整的IF语句,其综合结果可实现____ A ____。 A. 时序逻辑电路 B. 组合逻辑电路 C. 双向电路 D. 三态控制电路 7.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_____ B____。 ①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法 A. ①③ ⑤ B. ②③④ C. ②⑤ ⑥ D. ①④⑥ 8.下列标识符中,_____B_____是不合法的标识符。 A. State0 B. 9moon C. Not_Ack_0 D.

(完整版)EDA期末考试题1

1.一个项目的输入输出端口是定义在( A )1-5 ACDCD 6-10 CCACA A. 实体中;. B. 结构体中; C. 任何位置; D. 进程中。 2. MAXPLUS2中编译VHDL源程序时要求( C ) A. 文件名和实体可以不同名; B. 文件名和实体名无关; C. 文件名和实体名要相同; D. 不确定。 3. VHDL语言中变量定义的位置是(D ) A. 实体中中任何位置; B. 实体中特定位置; C. 结构体中任何位置; D. 结构体中特定位置。 4.可以不必声明而直接引用的数据类型是(C ) A. STD_LOGIC ; B. STD_LOGIC_VECTOR; C. BIT; D. ARRAY。 5. MAXPLUS2不支持的输入方式是(D ) A 文本输入;.B. 原理图输入;C. 波形输入;D. 矢量输入。 6.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( C ) A. FPGA全称为复杂可编程逻辑器件; B. FPGA是基于乘积项结构的可编程逻辑器件; C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7.下面不属于顺序语句的是( C ) A. IF语句; B. LOOP语句; C. PROCESS语句; D. CASE语句。 8. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,实体体描述的是( A ) A. 器件外部特性; B. 器件的内部功能; C. 器件的综合约束; D. 器件外部特性与内部功能。 9. 进程中的信号赋值语句,其信号更新是( C ) A. 按顺序完成; B. 比变量更快完成; C. 在进程的最后完成; D. 都不对。 10. 嵌套使用IF语句,其综合结果可实现:(A ) A. 带优先级且条件相与的逻辑电路; B. 条件相或的逻辑电路; C. 三态控制电路; D. 双向控制电路。 一、单项选择题:(20分) 1. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述

EDA期末考试考卷及答案

(A卷) 赣南师范学院 2010—2011学年第一学期期末考试试卷(A卷)(闭卷)年级 2008 专业电子科学与技术(本)课程名称 EDA技术基础 2、学生答题前将密封线外的内容填写清楚,答题不得超出密封线; 3、答题请用蓝、黑钢笔或圆珠笔。 一、单项选择题(30分,每题2分) 1.以下关于适配描述错误的是 B A.适配器的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件 B.适配所选定的目标器件可以不属于原综合器指定的目标器件系列 C.适配完成后可以利用适配所产生的仿真文件作精确的时序仿真 D.通常,EDAL软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供 2.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。 A.器件外部特性B.器件的综合约束 C.器件外部特性与内部功能D.器件的内部功能 3.下列标识符中, B 是不合法的标识符。 A.State0 B.9moon C.Not_Ack_0 D.signall 4.以下工具中属于FPGA/CPLD集成化开发工具的是 D A.ModelSim B.Synplify Pro C.MATLAB D.QuartusII 5.进程中的变量赋值语句,其变量更新是 A 。 A.立即完成B.按顺序完成 C.在进程的最后完成D.都不对 6.以下关于CASE语句描述中错误的是 A A.CASE语句执行中可以不必选中所列条件名的一条 B.除非所有条件句的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句的选择必须加上最后一句“WHEN OTHERS=><顺序语句>” C.CASE语句中的选择值只能出现一次 D.WHEN条件句中的选择值或标识符所代表的值必须在表达式的取值范围 7.以下哪个程序包是数字系统设计中最重要最常用的程序包 B A.STD_LOGIC_ARITH B.STD_LOGIC_1164 C.STD_LOGIC_UNSIGNED D.STD_LOGIC_SIGNED 8.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→A →综合→适配→时序仿真→编程下载→硬件测试。 A.功能仿真B.逻辑综合C.配置D.引脚锁定 9.不完整的IF语句,其综合结果可实现 D A.三态控制电路B.条件相或的逻辑电路 C.双向控制电路D.时序逻辑电路 10.下列语句中,属于并行语句的是A A.进程语句B.IF语句C.CASE语句D.FOR语句11.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中, C 是错误的。 A.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件 B.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的 C.综合是纯软件的转换过程,与器件硬件结构无关 D.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 12.CPLD的可编程是主要基于什么结构 D 。 A.查找表(LUT)B.ROM可编程 C.PAL可编程D.与或阵列可编程 13.以下器件中属于Altera 公司生产的是 B A.ispLSI系列器件B.MAX系列器件 C.XC9500系列器件D.Virtex系列器件 14.在VHDL语言中,下列对时钟边沿检测描述中,错误的是 D A.if clk'event and clk = '1' then B.if clk'stable and not clk = '1' then C.if rising_edge(clk) then D.if not clk'stable and clk = '1' then 15.以下关于状态机的描述中正确的是 B A.Moore型状态机其输出是当前状态和所有输入的函数 B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数

EDA期末考试题大全

附带: 一.问答题 1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别? ●信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。信号赋值语句在进程内 或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。 ●信号赋值符号为“<=”变量赋值用“:=”。信号赋值符号用于信号赋值动作,不立即生效。 变量,赋值符号用于变量赋值动作,立即生效。 2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用? ●进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号 间以“,”号分隔。当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。 3什么是库、程序包、子程序、过程调用和函数调用? ●库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、 调用。子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数只能返回一个变量。若子程序调用的是一个过程,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。过程调用、函数调用都是子程序调用。 二.改错题 1.已知sel为STD_LOGIC_VECTOR(1 DOWNTO 0)类型的信号,而a、b、c、d、q均为STD_LOGIC类型的 信号,请判断下面给出的CASE语句程序片段:

●CASE sel IS ●WHEN“00”=>q<=a; ●WHEN“01”=>q<=b; ●WHEN“10”=>q<=c; ●WHEN“11”=>q<=d; ●END CASE; ●答案:CASE语句缺“WHEN OTHERS”语句。 2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub为STD_LOGIC类型的输入端口,请判断下面给出的程序片段: ●LIBRARY IEEE; ●USE IEEE.STD_LOGIC_1164.ALL; ●ENTITY add IS ● PORT(data_in1, data_in2:IN INTEGER; ● data_out:OUT INTEGER); ●END add; ●ARCHTECTURE add_arch OF add IS ●CONSTANT a:INTEGER<=2; ●BEGIN ●data_out<=( data_in1+ data_in2) * a; ●END addsub_arch; 答案:常量声明时赋初值的“<=”符号应改用“:=”符号。 3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段: ●ARCHITECTURE test_arch OF test IS ●BEGIN ●SIGNAL B:STD_LOGIC; ●Q<= B; END test_arch 答案:信号SIGNAL的声明语句应该放在BEGIN语句之前。 4.已知A和Q均为BIT类型的信号,请判断下面的程序片段: ●ARCHITECTURE archtest OF test IS ●BEGIN ●CASE A IS ●WHEN ‘0’=>Q<=‘1’; ●WHEN ‘1’=>Q<=‘0’; ●END CASE; ●END archtest; 答案:CASE语句应该存在于进程PROCESS内。 三.程序设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;

《EDA》试题B答案

2007 至2008学年度第二学期期末考核 《EDA》试题(开卷) 卷号:B 时间:120 分钟 2008 年6 月 专业:电子信息工程学号:姓名: 一填空题(20分) 1、VHDL 2、DEVICE.LIB SYMBOLS.LIB 3、实际零件焊接到电路板时所指示的外观和焊点的位置 4、电子设计自动化电子CAD技术 5、A L T E R A,X I L I N X 6、WAIT 7、电路连接 8、SRAM-BASE 9、2.54mm 300mil 10、元件外观和元件引线端子的图形 二名词解释(20分) 1 PLD/FPGA PLD是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。 2.过孔 当需要连接两个层面上的铜膜走线时就需要过孔(Via),过孔 又称为贯孔、沉铜孔和金属化孔。 过孔分为穿透式(Through)、半隐藏式(Blind)和隐藏式(Buried) 3.铜膜线 就是连接两个焊盘的导线,称为Track,一般铜膜线走线在不 同层面取不同的走向,例如顶层走水平线,则底层走垂直线。顶 层和底层走线之间的连接采用过孔(Via)连接。 4 PROM、PAL和PLA PROM:与阵列固定,或阵列可编程,一般用作存储器,其输入为存储器的地址,输出为存储器单元的内容。但输入的数目太大时,器件功耗增加,其局限性大。 PLA:与或阵列均可编程,但是其慢速特性和相对PAL、PROM而高得多的价格妨碍了它被广泛使用。PAL:或阵列固定,与阵列可编程,其第二代产品GAL具有了可电擦写、可重复编程、可设置加密的功能。 5 自顶向下的/自下而上的设计方法 自下而上的设计方法,使用该方法进行硬件设计是从选择具体元器件开始,并用这些元器件进行逻辑电路设计,从而完成系统的硬件设计,然后再将各功能模块连接起来,完成整个系统的硬件设计,自顶向下的设计方法就是从系统的总体要求出发,自顶向下分三个层次对系统硬件进行设计。 第一个层次是行为描述第二个层次是数据流描述第三个层次为逻辑综合

(完整)EDA试题及答案,推荐文档

2013年电子系统设计考试试题--考试时间21号56节--公共409 一、填空题 1. Verilog的基本设计单元是模块。它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。 2. 用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书写次序无关。而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。 3.在case语句中至少要有一条default语句. 4. 已知x=4’b1001,y=4’0110,则x的4位补码为4’b1111,而y的4位的补码为4’b0110 . 5. 两个进程之间是并行语句。而在Always中的语句则是顺序语句。 二、简答题 1. 怎样理解在进程语句中,阻塞语句没有延迟这句话? 答:这是因为在进程语句中,有阻塞语句和非阻塞语句这两种,非阻塞语句是有延迟的,而阻塞语句也是有延迟的,这是因为因果系统都有延迟,只是阻塞语句的延迟比非阻塞语句的延迟小于若干个数量级,因此可视为没有延迟。 2.在进程中什么情况下综合为时序电路?什么情况下综合为组合电路? 答:在进程中,只有当敏感信号是边沿触发(即上升沿或下降沿)时,此时综合为时序电路;而在进程中只有当敏感信号是电平沿触发时,此时综合为组合电路。 3.为什么在Verilog语言中,其综合只支持次数确定的循环,而不支持次数不确定的循环? 答:这是因为,在Verilog语言中,它是为电路设计而设计的一门语言,它与高级语言不同,若循环的次数不确定,则会带来不确定的延迟,而这在电路中是不允许存在的,故综合只能支持次数确定的循环,即对于一个具体的芯片,其延迟只是一个定值。 4.Verilog HDL语言进行电路设计方法有哪几种? 答:①自上而下的设计方法(Top-down);②自下而上的设计方法(Bottom-Up) ③综合设计的方法。 5.specparam语句和parameter语句在参数说明方面不同之处是什么? 答:1.specparam语句只能在延时的格式说明块(specify)中出现,而parameter语句则不能再延时说明块内出现。 2.由specparam语句进行定义的参数只能是延时参数,而由parameter语句定义的参数可以是任何数据类型的参数。 3.由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明。 三、选择题: 1、下列标示符哪些是合法的(B) A、$time B、_date C、8sum D、mux# 2、如果线网类型变量说明后未赋值,起缺省值是(D) A、x B、1 C、0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A) A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11 4、reg[7:0] mema[255:0]正确的赋值是(A) A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1 5、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D) module code(x,y); module top; paramee delay1=1,delay2=1; …………….

EDA(FPGA)期末考试试题

这是长期总结的EDA期末考试试题 试题一 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。 (2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。 (3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。 (4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 2-1 叙述EDA的FPGA/CPLD设计流程。 P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么? 答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 3-1 OLMC(输出逻辑宏单元)有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。 P34~36 答:OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等。 说明GAL是怎样实现可编程组合电路与时序电路的? 答:GAL(通用阵列逻辑器件)是通过对其中的OLMC(输出逻辑宏单元)的编程和三种模式配置(寄存器模式、复合模式、简单模式),实现组合电路与时序电路设计的。 3-2 什么是基于乘积项的可编程逻辑结构? P33~34,40 答:GAL、CPLD之类都是基于乘积项的可编程结构;即包含有可编程与阵列和固定的或阵列的PAL(可编程阵列逻辑)器件构成。 3-3 什么是基于查找表的可编程逻辑结构? P40~41 答:FPGA(现场可编程门阵列)是基于查找表的可编程逻辑结构。 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-3. 图3-31所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。 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

EDA考试题目+答案

简答: 1.VHDL中变量与信号的主要区别 一、变量是一个局部量,只能在进程和子程序,无延时,立即发生,主要作用是在进程中作为临时的数据存储单元。 从VHDL语句功能和行为仿真来看,信号与变量的差异主要表现在接受信息的方式和信息保持与传递的区域大小上。 (1)如:信号可以设置传输延迟量,而变量则不能; (2)如:信号可作为模块间的信息载体,如在结构体中个进程间传递信息;变量只能作为局部的信息载体,如只能在所定义的进程中有效。 (3) 变量的设置有时只是一种过渡,最后的信息传输和界面间的通信都是靠信号来完成综合后的信号将对应更多的硬件结构。 2.ASIC、FPGA、EDA、ISP的含义 ASIC:专用集成电路FPGA:可编程逻辑器件EDA:电子设计自动化ISP:因特网服务提供商 3.常用的库的名称(IEEE STD WORK VITAL) 5.进程语句的特点 (1)进程与进程,或其它并行语句之间的并行性,体现硬件电路并行运行特征。 (2)进程内部的顺序语句具有顺序与并行双重性。顺序行为体现硬件的逻辑功能,并行行为体现硬件特征。 进程内部使用顺序语句,对一个系统进行算法、行为和逻辑功能进行描述,可以具有高抽象性的特点,可以与具体的硬件没有关联。 这种顺序仅是指语句执行上的顺序(针对于HDL的行为仿真),并不意味着PROCESS语句在综合后所对应的硬件逻辑行为也同样具有顺序性。

VHDL程序无法进行诸如软件语言那样的“单步”调试,因为整个程序是一个整体,不能割裂每一句,只能通过仿真波形来了解程序的问题。 (3)进程有启动与挂起两种状态。 (4)进程与进程,或其它并行语句之间通过信号交流。 (5)时序电路必须由进程中的顺序语句描述,而此顺序语句必须由不完整的条件语句构成。推荐在一个进程中只描述针对同一时钟的同步时序逻辑,而异步时序逻辑或多时钟逻辑必须由多个进程来表达。 6.实体定义时端口方向OUT与BUFFER有何不同? OUT:输出端口。定义的通道为单向输出(写)模式,即通过此端口只能将实体内的数据流向外部。 BUFFER:缓冲端口。其功能与INOUT类似,区别在于当需要输入数据时,只允许内部回读输出的信号,即允许反馈。 如:在计数器的设计中,将计数器输出的计数信号回读,作为下一次计数的初值。 与OUT模式相比,BUFFER回读信号不是由外部输入的,而是由内部产生、向外输出信号。 即OUT结构体内部不能再使用,BUFFER结构体内部可再使用。

EDA期末试卷

《EDA》期末试卷 一、选择题(每小题3分,共30分) 1、在下图中,F0的逻辑关系为: A.A0⊕A1 B.A0⊙A1 C.A0·A1 D.A0·A1 2、在VHDL中,用语句()表示clock的下降沿。 A.clock='1' B.clock'EVENT AND clock='1' C.clock='0' D.clock'EVENT AND clock='0' 3、如果p1=’1’,p2=’1’,则执行z <= a WHEN p1 = '1' ELSE b WHEN p2 = '1' ELSE c ;之后z 的值为: A.a B.b C.c D.不确定 4、进程中的信号赋值语句,其信号更新是: A.按顺序完成 B.比变量更快完成 C.在进程最后完成 D.都不对 5、不完整的IF语句,其综合结果可实现: A.时序逻辑电路 B.组合逻辑电路 C.双向电路 D.三态控制电路 6、reg的数据类型为std_logic_vector(7 downto 0),初值为FF,执行reg(0)<=’0’;reg(7 downto 1)<=reg(6 downto 0);之后,reg的值为: A.FF B.FE C.FC D.FD 7、在VHDL中()不能将信息带出对它定义的当前进程。 A. 信号 B. 常量 C. 数据 D. 变量 8、执行下列语句后Q的值等于: …… SIGNAL E: STD_LOGIC_VECTOR (2 TO 5); SIGNAL Q: STD_LOGIC_VECTOR (9 DOWNTO 2); …… E<=(2=>’1’, 4=>’1’, OTHERS=>’0’); Q<=(2=>E (2), 4=>E (3), 5=>’1’, 7=>E (5), OTHERS=>E (4)); …… A.”11011011” B.”00110100” C.”11011001” D.”00101100” 9、在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。 A.idata <= “00001111”; B.idata <= b”0000_1111”; C.idata <= X”AB”; D.idata <= B”21”; 10、在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0 to 127,下面哪个赋值语句是正确的。

EDA期末考试试卷及答案

一、单项选择题(30分,每题2分) 1.以下关于适配描述错误的是 B A.适配器的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件 B.适配所选定的目标器件可以不属于原综合器指定的目标器件系列 C.适配完成后可以利用适配所产生的仿真文件作精确的时序仿真D.通常,EDAL软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供 2.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。 A.器件外部特性B.器件的综合约束 C.器件外部特性与内部功能D.器件的内部功能3.下列标识符中, B 是不合法的标识符。 A.State0 B.9moon C.Not_Ack_0 D.signall 4.以下工具中属于FPGA/CPLD集成化开发工具的是 D A.ModelSim B.Synplify Pro C.MA TLAB D.QuartusII 5.进程中的变量赋值语句,其变量更新是 A 。 A.立即完成B.按顺序完成 C.在进程的最后完成D.都不对 6.以下关于CASE语句描述中错误的是 A A.CASE语句执行中可以不必选中所列条件名的一条 B.除非所有条件句的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句的选择必须加上最后一句“WHEN OTHERS=><顺序语句>” C.CASE语句中的选择值只能出现一次 D.WHEN条件句中的选择值或标识符所代表的值必须在表达式的取值范围 7.以下哪个程序包是数字系统设计中最重要最常用的程序包 B A.STD_LOGIC_ARITH B.STD_LOGIC_1164 C.STD_LOGIC_UNSIGNED D.STD_LOGIC_SIGNED 8.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→ A →综合→适配→时序仿真→编程下载→硬件测试。 A.功能仿真B.逻辑综合C.配置D.引脚锁定 9.不完整的IF语句,其综合结果可实现 D A.三态控制电路B.条件相或的逻辑电路 C.双向控制电路D.时序逻辑电路 10.下列语句中,属于并行语句的是A A.进程语句B.IF语句C.CASE语句D.FOR 语句 11.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中, C 是错误的。 A.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD 的基本结构相映射的网表文件 B.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的 C.综合是纯软件的转换过程,与器件硬件结构无关 D.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 12.CPLD的可编程是主要基于什么结构 D 。 A.查找表(LUT)B.ROM可编程

EDA技术期末试卷(含答案)

一、单项选择题(30分) 1.以下描述错误的是 C A.QuartusII是Altera提供的FPGA/CPLD集成开发环境 B.Altera是世界上最大的可编程逻辑器件供应商之一 C.MAX+plusII是Altera前一代FPGA/CPLD集成开发环境QuartusII的更新换代新产品 D.QuartusII完全支持VHDL、Verilog的设计流程 2.以下工具中属于FPGA/CPLD开发工具中的专用综合器的是 B A.ModelSim B.Leonardo Spectrum C.Active HDL D.QuartusII 3.以下器件中属于Xilinx 公司生产的是 C A.ispLSI系列器件 B.MAX系列器件 C.XC9500系列器件 D.FLEX系列器件 4.以下关于信号和变量的描述中错误的是 B A.信号是描述硬件系统的基本数据对象,它的性质类似于连接线 B.信号的定义范围是结构体、进程 C.除了没有方向说明以外,信号与实体的端口概念是一致的 D.在进程中不能将变量列入敏感信号列表中 5.以下关于状态机的描述中正确的是 B A.Moore型状态机其输出是当前状态和所有输入的函数 B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期 C.Mealy型状态机其输出是当前状态的函数 D.以上都不对 6.下列标识符中, B 是不合法的标识符。 A.PP0 B.END C.Not_Ack D.sig 7.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是 C 。 A.CPLD即是现场可编程逻辑器件的英文简称 B.CPLD是基于查找表结构的可编程逻辑器件 C.早期的CPLD是从GAL的结构扩展而来 D.在Altera公司生产的器件中,FLEX10K 系列属CPLD结构 8.综合是EDA设计流程的关键步骤,在下面对综合的描述中, D 是错误的。 A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程 B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件 C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束 D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的) 9.嵌套使用IF语句,其综合结果可实现 A 。 A.带优先级且条件相与的逻辑电路 B.条件相或的逻辑电路 C.三态控制电路 D.双向控制电路 10.在VHDL语言中,下列对时钟边沿检测描述中,错误的是 D 。 A.if clk'event and clk = ‘1’ then B.if falling_edge(clk) then C.if clk’event and clk = ‘0’ then D.if clk’stable and not clk = ‘1’ then 11.下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程 B A.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试B.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试; D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试12.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是 A 。 A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动 B.敏感信号参数表中,应列出进程中使用的所有输入信号 C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成 D.当前进程中声明的变量也可用于其他进程 13.下列语句中,不属于并行语句的是 B A.进程语句 B.CASE语句 C.元件例化语句 D.WHEN…ELSE…语句 14.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库 D A.IEEE库 B.VITAL库C.STD库D.WORK库15.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述 D 。 A.器件外部特性 B.器件的综合约束 C.器件外部特性与内部功能 D.器件的内部功能 二、EDA名词解释,写出下列缩写的中文含义(10分) 1.CPLD:复杂可编程逻辑器件 2.ASIC:专用集成电路 3.LUT:查找表 4.EDA:电子设计自动化 5.ROM:只读存储器 三、程序填空题(20分) 以下是一个模为24(0~23)的8421BCD码加法计数器VHDL描述,请补充完整

EDA期末考试试卷

班级学号姓名 密封线内不得答题 EDA期末考试试题及答案 一、单项选择题(30分,每题2分) 1. A. B C D.通常,EDAL 配器则需由 2.VHDL A.器件外部特性 C 3.下列标识符中, B 是不合法的标识符。 A.State0 B. 4.以下工具中属于 A.ModelSim C.MATLAB 5. A.立即完成 C.在进程的最后完成 6.以下关于CASE A.CASE B. 句>” C.CASE D.WHEN 围 7. A.STD_LOGIC_ARITH B.STD_LOGIC_1164 C. D. 8.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→A → 综合→适配→时序仿真→编程下载→硬件测试。 A.功能仿真B.逻辑综合C.配置D.引脚锁定 9.不完整的IF语句,其综合结果可实现 D A.三态控制电路B.条件相或的逻辑电路 C.双向控制电路D.时序逻辑电路 10.下列语句中,属于并行语句的是A D.FOR语句 示转化成另一种表示的过程;在下面对综合的描述中, C 是错误的。 FPGA / CPLD的基本 系列器件 系列器件 语言中,下列对时钟边沿检测描述中,错误的是 D

班级 学号 姓名 密 封 线 内 不 得 答 题 二、EDA 名词解释,写出下列缩写的中文含义(10分,每题2分) 1.FPGA :现场可编程门阵列

班级学号姓名 密封线内不得答题1.试用VHDL描述一个外部特性如图所示的数据选择器,S为控制端口。(10 分) Library IEEE; Use IEEE.std_logic_1164.all; Entity sjxz IS Port(A,B,S:in std_logic; Q:out std_logic); END entity sjxz; Architecture bhv of sjxz IS Process(S) Begin IF S=’0’ Then Q<=A; ELSE Q<=B; END IF; END PROCESS’ END bhv; 2.下图为某一状态机对应的状态图,试用VHDL语言描述这一状态机。(18分) 1 Library IEEE; Use IEEE.std_logic_1164.all; Use IEEE.std_logic_unsigned.all; Entity FSM1 IS PORT(clk,rst:in std_logic; In1:in std_logic; Out1:out std_logic_vector(3 downto 0)); END entity FSM1; Architecture bhv of FSM1 IS TYPE FSM_ST IS(S0,S1,S2,S3); Singnal C_ST:FSM_ST; Begin Process(clk,rst) Begin IF rst=’1’ then C_ST<=S0; ELSIF clk’event AND clk=’1’then CASE C_ST IS When S0=>IF In1=’1’ then C_ST<=S1; ELSE C_ST<=S0; END IF; Out1<=”0000”; When S1=>IF In1=’0’ then C_ST<=S2; ELSE C_ST<=S1; END IF; Out1<=”1001”; When S2=>IF In1=’1’ then C_ST<=S3; ELSE C_ST<=S2; END IF; Out1<=”1100” ; When S3=>IF In1=’0’ then C_ST<=S0; ELSE C_ST<=S3; END IF; Out1<=”1111”; END CASE; END IF; END process; END bhv;

相关主题
文本预览
相关文档 最新文档