《EDA技术》复习题电子版答案.docx
《《EDA技术》复习题电子版答案.docx》由会员分享,可在线阅读,更多相关《《EDA技术》复习题电子版答案.docx(19页珍藏版)》请在冰豆网上搜索。
《EDA技术》复习题电子版答案
一、填空题
1、目前国际上较大的PLD器件制造公司有Altera和Xilinx公司。
2、当前最流行并成为IEEE标准的硬件描述语言包括VHDL和VerilogHDL。
3、高密度可编程逻辑器件HDPLD包括EPLD、CPLD和FPGA。
4、PLD从集成密度上可分为LDPLD和HDPLD两类,其中HDPLD包括__EPLD_____、__CPLD_____和___FPGA_____三种。
5、EDA设计流程包括设计准备、设计输入、设计处理和 器件编程四个步骤。
6、图形文件的扩展名是_.bdf__;QuartusII所建工程的扩展名是_.qpf_;自建元件图形符号文件的扩展名_.bsf__;VerilogHDL所编程序的扩展名为__.v__。
7、图形文件的扩展名是.bdf;矢量波形文件的扩展名是.vwf;自建元件图形符号文件的扩展名.bsf。
8、可编程逻辑器件的优化过程主要是对__速度__和___资源___的处理过程即时间 优化和面积 优化。
9、EDA设计输入主要包括__图形输入__、__文本输入和__波形__输入。
10、设计处理的最后一步是产生可供器件编程使用的数据文件,对CPLD来说是产生熔丝图文件即JEDEC文件,对于FPGA来说是产生位流数据文件Bitstream。
11、EDA设计输入主要包括图形输入、文本输入和波形输入。
12、设计优化主要包括面积优化和速度优化。
13、VerilogHDL语言的扩展名为.v。
14、EDA的中文名称是电子设计自动化。
15、EDA仿真分为功能仿真又称前仿真、系统级仿真或行为仿真,用于验证系统的功能;时序仿真又称后仿真、电路级仿真,用于验证系统的时序特性、系统性能。
16、一般把EDA技术的发展分为___CAD____、__CAE_____和___EDA____三个阶段。
17、阻塞型赋值符号为=,非阻塞型赋值符号为<=。
18、用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即与语句的书写次序无关;而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即与语句的书写次序有关。
19、a=4’b1001<<2=4’b0100;b=4’b1001>>2=4’b0010;{a,b}=8’b01000010。
20、`timescale1us/100ns中,1us为时间基准单位,100ns为模拟时间精度。
21、标准逻辑位数据类型常用的数值有‘1’、‘0’、‘z’等。
22、在VerilogHDL中的常数包括___数字_、___未知x___和___高阻z__三种。
二、选择题
1、在EDA中,ISP的中文含义是B。
A、网络供应商B、在系统可编程
C、集成可编程芯片D、使用编程器烧写PLD芯片
2、基于HDL语言的设计称之为____B____的设计。
A、自底向上B、自顶向下C、积木式D、定层
3、基于下面技术的PLD器件中允许编程次数最多的是C。
A、FLASHB、EEROMC、SRAMD、PROM
4、大规模可编程器件主要有CPLD和FPGA两类,其中CPLD通过A实现其逻辑功能。
A、可编程乘积项逻辑B、查找表(LUT)C、输入缓冲D、输出缓冲
5、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____。
A、FPGA全称为复杂可编程逻辑器件
B、FPGA是基于乘积项结构的可编程逻辑器件
C、基于SRAM的FPGA器件,在每次上电后必须进行一次配置
D、CPLD是现场可编程逻辑器件
6、以下器件中不属于Altera公司生产的是___D____。
A、ispLSI系列器件B、XC9500系列器件
C、MAX系列器件D、Virtex系列器件
7、基于PLD芯片的设计称之为____A____的设计。
A、自底向上B、自顶向下C、积木式D、定层
8、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C_____。
A、FPGA全称为复杂可编程逻辑器件;
B、FPGA是基于乘积项结构的可编程逻辑器件;
C、基于SRAM的FPGA器件,在每次上电后必须进行一次配置;
D、在Altera公司生产的器件中,MAX7000系列属FPGA结构。
9、在EDA中,ISP的中文含义是B。
A、网络供应商B、在系统可编程
C、集成可编程芯片D、使用编程器烧写PLD芯片
10、AlteraCycloneII系列的芯片EP2C8Q208C8N是属于___C_____。
A、ROMB、CPLD
C、FPGAD、GAL
11、下列__B__流程是正确的基于EDA软件的FPGA/CPLD设计流程。
A、原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试
B、原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试
C、原理图/HDL文本输入→功能仿真→综合→编程下载→适配→硬件测试
D、原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试
12、子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列A是速度优化。
A、流水线设计B、资源共享C、逻辑优化D、串行化
13、下面在对原理图输入设计方法进行数字系统设计的描述中,C是不正确的。
A、原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B、原理图输入设计方法一般是一种自底向上的设计方法;
C、原理图输入设计方法无法对电路进行功能描述;
D、原理图输入设计方法也可进行层次化设计。
14、在C语言的基础上演化而来的硬件描述语言是___B_____。
A、VHDLB、VerilogHDLC、AHDD、CUPL
15、EDA的中文含义是A。
A、电子设计自动化B、计算机辅助计算
C、计算机辅助教学D、计算机辅助制造
16、执行QuartusII的B命令,可以检查设计电路错误。
A、CreateDefaultSymbolB、Compiler----编译
C、Simulator----时序仿真D、TimingAnalyzer---时序分析
17、下列EDA软件中,____B____不具有逻辑综合功能。
A、Max+PlusB、ModelSimC、QuartusIID、Synplify
18、在EDA工具中能完成在目标系统器件上布局布线软件称为C。
A、仿真器B、综合器C、适配器D、下载器
19、下列EDA软件中,___B_____不具有逻辑综合功能。
A、Max+PlusB、ModelSimC、QuartusIID、Synplify
20、一种“a=2b'01;b=3b'001;”那么{a,b}=C。
A、4b'1011B、3b'001C、5b'01001D、3b'0001
21、在VerilogHDL语言中,用A表示时钟信号的上升沿。
A、posedgeclkB、negedgeclkC、clk’eventD、clk=’1’
22、VerilogHDL程序中,以下标识符正确的是D。
A、4adder1B、ifC、?
bD、adder8
23、下列标识符中,_____B_____是不合法的标识符。
A、State0B、9moonC、Not_Ack_0D、signall
24、设变量X=3’B010,Y=5’h1B,则{X,Y}的值是A。
A、01011011B、01010110C、11011010D、01001011
25、在VerilogHDL语言中,用B表示时钟信号的下降沿。
A、posedgeclkB、negedgeclkC、clk’eventD、clk=’1’
26、在VerilogHDL的端口声明语句中,用D关键字声明端口为输入方向。
A、outputB、inoutC、inD、input
27、在verilog语言中整型数据与C位寄存器数据在实际意义上是相同的。
A、8B、16C、32D、64
28、VerilogHDL程序的每个模块的内容都是嵌在C两语句之间。
A、start和endmoduleB、module和end
C、module和endmoduleD、start和endstart
29、不符合1987VHDL标准的标识符是C。
A、a_1_inB、a_in_2C、2_aD、asd_1
30、一种“a=5d'5;b=3d'3;”那么{a,b}=A。
A、8b'00101011B、5d'43C、5b'10111D、8d'40
31、在VerilogHDL中,下列语句D不是分支语句。
A、if-elseB、caseC、casezD、repeat
32、P、Q、R都是4bit的输入矢量,下面哪一种表达形式是正确的D。
A、inputP[3:
0],Q,R;
B、inputP,Q,R[3:
0];
C、inputP[3:
0],Q[3:
0],R[3:
0];
D、input[3:
0]P,Q,R;
33、一种“a=1b'1;b=3b'001;”那么{a,b}=C。
A、4b'0011B、3b'001C、4b'1001D、3b'101
34、下列语句中不属于并行语句的是D。
A、过程语句B、assign语句
C、元件例化语句D、case语句
35、下面A是可以用VerilogHDL语言描述,而不能用VHDL语言进行描述的级别。
A、开关级B、门电路级C、体系结构级D、寄存器传输级
36、不完整的IF语句,其综合结果可实现A。
A、时序逻辑电路B、组合逻辑电路
C、双向电路D、三态控制电路
37、设变量X=3’B010,Y=5’h1B,则{X,Y}的值是A。
A、01011011B、01010110C、11011010D、01001011
三、名词解释
1、EDA技术
电子设计自动化,是指计算机技术应用于电子设计过程中而形成的一门新技术。
2、综合
综合是指将VerilogHDL描述的代码转换成实际的电路结构。
3、仿真
仿真是指利用仿真工具,在PC上对VerilogHDL代码所描述的电路功能进行验证。
4、面积优化
在逻辑电路的设计中使得设计所占用的逻辑资源最少。
5、复杂可编程逻辑器件
是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
6、自顶向下
也就是从整个系统设计的顶层开始,往下一层将系统划分为若干个子模块,然后再将每一个子模块又向下一层划分为若干的子模块。
7、ASIC
ASIC:
专用集成电路。
8、CPLD
CPLD:
复杂可编程逻辑器件。
9、FPGA
FPGA:
现场可编程逻辑器件。
10、IP
IP:
知识产权核。
11、SOPC
SOPC:
可编程片上系统。
12、测试模块
是通过对设计部分施加激励,然后检查其输出正确与否来完成其验证功能的。
13、阻塞赋值
对“=”作为赋值符,阻塞语言按顺序执行,在下一条语言执行之前,上一条赋值语言必须执行完毕。
14、模块
模块是VerilogHDL设计中的一个基本组成单元。
一个设计是由一个或者多个模块组成。
15、非阻塞赋值
用“<=”作为赋值符,非阻塞赋值语句不会阻塞同一个块语句中的其它语句的执行。
16、行为描述
使用结构化过程语句对时序行为进行描述。
17、结构描述
描述设计电路使用的元件及这些元件之间的连接关系。
18、任务
任务是定义一个可重复调用的模块,任务是一个独立的过程赋值语句。
四、简答、程序分析
1、什么是功能仿真?
什么是时序仿真?
(1)功能仿真是直接对HDL、原理图描述或其他描述形式的逻辑功能进行测试模拟。
仿真过程不涉及任何具体器件的硬件特性。
用于验证系统的功能。
(2)时序仿真就是接近真实器件运行特性的仿真,仿真文件已包含了经过逻辑门和布线产生的延迟。
用于验证系统的时序特性、系统性能。
2、传统设计方法和EDA设计方法的主要的不同点?
(1)设计方法不同。
传统是自下而上的方法,EDA是自上而下的设计方法。
(2)传统设计基于电路板;EDA技术是基于芯片的设计方法。
(3)描述方式不同。
传统采用电路图为主,EDA以硬件描述语言为主。
(4)设计手段不同。
传统以手工设计为主,EDA设计为自动设计。
3、试简要说明EDA软件的FPGA/CPLD设计流程?
(1)设计输入。
将电路系统以一定的表达方式输入计算机。
(2)综合。
将电路的高级语言转换成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。
(3)适配。
将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。
(4)仿真。
根据算法和仿真库对设计进行模拟,以验证设计是否正确。
(5)下载。
将适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA/CPLD下载,以便进行硬件调试和验证。
4、采用可编程逻辑器件进行电路和系统设计有什么好处?
(1)便于修改和调试;
(2)缩短开发周期,降低开发成本;
(3)简化系统构成,缩小系统体积;
(4)降低系统功耗,提高系统可靠性等。
5、试简要说明ISP的技术特点?
(1)全面实现了硬件设计与修改的软件化;
(2)简化了设计与调试过程;
(3)容易实现系统硬件的现场升级;
(4)有利于降低系统成本,提高系统可靠性;
(5)器件制造工艺先进,工作速度快,功耗低,集成度高,使用寿命长。
6、简述用EDA技术设计电路的设计流程?
(1)设计准备。
准备工作,如方案论证、系统设计、器件选择等。
(2)设计输入。
将电路系统以一定的表达方式输入计算机。
(3)设计处理。
综合,优化,适配,产生编程文件。
(4)设计校验。
包括功能仿真和时序仿真。
(5)器件编程。
对器件植入编程数据文件。
(6)器件测试和设计验证。
测试器件是否达到预定功能。
7、always语句和initial语句的关键区别是什么?
能否相互嵌套?
always语句是循环语句,initial只执行一次。
它们不能嵌套。
8、Reg型和wire型信号有什么本质的区别?
Reg型信号的初始值一般是什么?
Reg型信号用于进程语句中,并且其语句是顺序语句;而wire型信号则用于模块中,并且其语句是并发语句。
Reg型信号的初始值一般为左边值,即0。
9、写出下面程序中变量x、y、cnt、m、q的类型。
assginx=y;
always@(posegdeclk)
begin
cnt=m+1;
q=~q;
end
x为wire型;
y为reg或wire型;
cnt为reg型;
m为reg或wire型;
q为reg型;
10、画出下面程序段中r的仿真波形?
initial
#20r=1’b0;
#10r=1’b1;
#15r=1’b1;
#25r=1’b1;
#5r=1’b0;
end
XXXXXXXX
2030457075
11、画出下面程序段中r的仿真波形?
fork
#20r=1’b0;
#10r=1’b1;
#15r=1’b1;
#25r=1’b1;
#5r=1’b0;
join
XXXXX
510152025
12、根据下面的程序,画出产生的信号波形。
modulesignal_gen1(d_out);
outputd_out;
regd_out;
initial
begin
d_out=0;
#1d_out=1;
#2d_out=0;
#3d_out=1;
#4d_out=0;
end;
endmodule
1234
13、程序注释,对下面这一段程序加以注释,并说出其功能。
modulerlshift8(q,d,lod,clk,clr,s,dir,dil);
//模块端口定义,模块名为rlshift8,端口有q,d,lod,clk,clr,s,dir,dil
input[7:
0]d;//声明输入端口,d是8位向量
inputlod,clk,clr,s,dir,dil;//声明输入端口
output[7:
0]q;//声明输出端口,q是8位向量
reg[7:
0]q;//声明q是8位reg型变量
always@(posedgeclk)
begin
if(~clr)q='b00000000;//如果复位信号clr为低电平,则复位
elseif(lod)q=d;//否则如果lod=1,则q=d
elseif(s)begin
q=q>>1;//q右移一位
q[7]=dir;//q[7]=dir
end//实现右移操作
elsebegin
q=q<<1;//q左移一位
q[0]=dil;//q[0]=dil
end//实现左移操作
end
endmodule
本程序的逻辑功能是:
8位双向移位寄存器
14、程序注释,对下面这一段程序加以注释,并说出其功能。
moduleAAA(a,b);//模块端口定义,模块名为AAA,端口有a,b
outputa;//声明输出端口
input[6:
0]b;//声明输入端口,b是7位向量
reg[2:
0]sum;//声明sum是3位reg型变量
integeri;//声明i是integer型变量
rega;//声明a是reg型变量
always@(b)
begin
sum=0;
for(i=0;i<=6;i=i+1)
if(b[i])
sum=sum+1;//如果有人投票,投票数加1
if(sum[2])a=1;//如果sum>=4,通过
elsea=0;//否则不通过
end
endmodule
本程序的逻辑功能是:
__7人投票表决器____。
15、下面实现的是一个计数器的功能,并用数码管显示。
请把正确的程序写在试卷上。
modulealpher(choice,data,clk)
inputsclk;
outputschoice,data;[6:
0]
regcount;[3:
0]
always@(posedgesclkorchoice)
begin
count=count+1;
case(count)
4'b0000:
data<=8'b11111100;//(共阴的数字0)
4'b0001:
data<=8'b01100000;
4'b0010:
data<=8'b11011010;
4'b0011:
data<=8'b11110010;
4'b0100:
data<=8'b01100110;
4'b0101:
data<=8'b10110110;
4'b0110:
data<=8'b10111110;
4'b0111:
data<=8'b11100000;
4'b1000:
data<=8'b11111110;
4'b1001:
data<=8'b11110110;
4'b1010:
data<=8'b11101110;
4'b1011:
data<=8'b00111110;
4'b1100:
data<=8'b10011100;
4'b1101:
data<=8'b01111010;
4'b1110:
data<=8'b10011110;
endcase
choice=8'b1000000;//(点亮第1位数码管)
endmodule
正确程序为:
modulealpher(choice,data,clk)
inputclk;
output[7:
0]choice,data;
reg[3:
0]count;
always@(posedgeclkorchoice)
begin
count<=count+1;
case(count)
4'b0000:
data<=8'b11111100;//(共阴的数字0)
4'b0001:
data<=8'b01100000;
4'b0010:
data<=8'b11011010;
4'b0011:
data<=8'b11110010;
4'b0100:
data<=8'b01100110;
4'b0101:
data<=8'b10110110;
4'b0110:
data<=8'b10111110;
4'b0111:
data<=8'b11100000;
4'b1000:
data<=8'b11111110;
4'b1001:
data<=8'b11110110;
4'b1010:
data<=8'b11101110;
4'b1011:
data<=8'b00111110;
4'b1100:
data<=8'b10011100;
4'b1101:
data<=8'b01111010;
4'b1110:
data<=8'b10011110;
endcase
choice=8'b10000000;//(点亮第1位数码管)
endmodule
16、采用VerilogHDL语言设计一个带使能的三—八译码器,输入信号为d,输出信号为y,使能信号en为高电平时真值表如下,en为低电平时输出数据8'b11111111。
使能信号en为高电平时真值表
d[2:
0]输入y[7:
0]输出d[2:
0]输入y[7:
0]输出
3'b0008'b111111103'b1008'b11101111
3'b0018'b111111013'b1018'b11011111
3'b0108'b111110113'b1108'b10111111
3'b0118'b111101113'b1118'b01111111
用VerilogHDL描述的三—八译码器源程序如下:
modul