《EDA技术》复习题电子版答案Word格式文档下载.docx
《《EDA技术》复习题电子版答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《EDA技术》复习题电子版答案Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
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____的设计。
8、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C_____。
A、FPGA全称为复杂可编程逻辑器件;
B、FPGA是基于乘积项结构的可编程逻辑器件;
C、基于SRAM的FPGA器件,在每次上电后必须进行一次配置;
D、在Altera公司生产的器件中,MAX7000系列属FPGA结构。
9、在EDA中,ISP的中文含义是B。
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表示时钟信号的下降沿。
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:
D、input[3:
0]P,Q,R;
33、一种“a=1b'
1;
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
join
XXXXX
510152025
12、根据下面的程序,画出产生的信号波形。
modulesignal_gen1(d_out);
outputd_out;
regd_out;
initial
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<
//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)
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;
//否则不通过
__7人投票表决器____。
15、下面实现的是一个计数器的功能,并用数码管显示。
请把正确的程序写在试卷上。
modulealpher(choice,data,clk)
inputsclk;
outputschoice,data;
[6:
0]
regcount;
[3:
always@(posedgesclkorchoice)
count=count+1;
case(count)
4'
b0000:
data<
=8'
b11111100;
//(共阴的数字0)
b0001:
b01100000;
b0010:
b11011010;
b0011:
b11110010;
b0100:
b01100110;
b0101:
b10110110;
b0110:
b10111110;
b0111:
b11100000;
b1000:
b11111110;
b1001:
b11110110;
b1010:
b11101110;
b1011:
b00111110;
b1100:
b10011100;
b1101:
b01111010;
b1110:
b10011110;
endcase
choice=8'
b1000000;
//(点亮第1位数码管)
endmodule
正确程序为:
inputclk;
output[7:
0]choice,data;
reg[3:
0]count;
always@(posedgeclkorchoice)
count<
=count+1;
b10000000;
//(点亮第1位数码管)
16、采用VerilogHDL语言设计一个带使能的三—八译码器,输入信号为d,输出信号为y,使能信号en为高电平时真值表如下,en为低电平时输出数据8'
b11111111。
使能信号en为高电平时真值表
d[2:
0]输入y[7:
0]输出d[2:
0]输出
3'
b0008'
b111111103'
b1008'
b11101111
b0018'
b111111013'
b1018'
b11011111
b0108'
b111110113'
b1108'
b10111111
b0118'
b111101113'
b1118'
b01111111
用VerilogHDL描述的三—八译码器源程序如下:
modul