2023年11月25日发(作者:)
千里之行,始于足下
一、 填空题
1、目前国际上较大的PLD器件制造公司有 Altera 和 Xilinx 公司。
2、当前最流行并成为IEEE标准的硬件描述语言包括 VHDL 和 Verilog HDL 。
3、高密度可编程逻辑器件HDPLD包括 EPLD 、 CPLD 和 FPGA 。
4、PLD从集成密度上可分为 LDPLD 和HDPLD两类,其中HDPLD包括__EPLD_
____、__ CPLD_____和___FPGA _____三种。
5、EDA设计流程包括 设计预备 、 设计输入 、 设计处理 和 器件编
程 四个步骤。
6、图形文件的扩展名是_.bdf__;QuartusII所建工程 的扩展名是_.qpf_;自建元件图形符号
文件的扩展名_.bsf__;Verilog HDL所编程序的扩展名为__.v__ 。
7、图形文件的扩展名是 .bdf ;矢量波形文件的扩展名是 .vwf ;自建元件图形符号
文件的扩展名 .bsf 。
8、可编程逻辑器件的优化过程要紧是对__速度__和___资源___的处理过程即 时刻 优化和
面积 优化。
9、EDA设计输入要紧包括__图形输入__、__ 文本输入和__ 波形__输入。
10、设计处理的后来一步是产生可供器件编程使用的数据文件,对CPLD来说是产生 熔
丝图文件即JEDEC文件 ,关于FPGA来说是产生 位流数据文件Bitstream 。
11、EDA设计输入要紧包括 图形输入 、 文本输入 和 波形输入 。
12、设计优化要紧包括 面积优化 和 速度优化 。
13、Verilog HDL语言的扩展名为 .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、`timescale 1us/100ns中, 1us 为时刻基准单位, 100ns 为模拟时刻精度。
21、标准逻辑位数据类型常用的数值有 ‘1’ 、 ‘0’ 、 ‘z’ 等。
22、在Verilog HDL中的常数包括___ 数字_、__ _未知x___和___高阻z__三种。
二、 抉择题
1、在EDA中,ISP的中文含义是 B 。
A、网络供应商 B、在系统可编程
第 1 页/共 12 页
求知若饥,虚心若愚。
C、集成可编程芯片 D、使用编程器烧写PLD芯片
2、基于HDL语言的设计称之为____B____的设计。
A、自底向上 B、自顶向下 C、积木式 D、定层
3、基于下面技术的PLD器件中允许编程次数最多的是 C 。
A、FLASH B、 EEROM C、SRAM D、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、Altera Cyclone II系列的芯片EP2C8Q208C8N是属于___C_____ 。
A、ROM B、CPLD
C、FPGA D、GAL
11、下列__B__流程是正确的基于EDA软件的FPGA / CPLD设计流程。
A、原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试
B、原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试
C、原理图/HDL文本输入→功能仿真→综合→编程下载→适配→硬件测试
D、原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试
12、子系统设计优化,要紧考虑提高资源利用率减少功耗(即面积优化),以及提高运行速
度(即速度优化);指出下列 A 是速度优化。
第 2 页/共 12 页
千里之行,始于足下
A、流水线设计 B、资源共享 C、逻辑优化 D、串行化
13、下面在对原理图输入设计方法进行数字系统设计的描述中, C 是不正确的。
A、原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B、原理图输入设计方法一般是一种自底向上的设计方法;
C、原理图输入设计方法无法对电路进行功能描述;
D、原理图输入设计方法也可进行层次化设计。
14、在C语言的基础上演化而来的硬件描述语言是___B_____。
A、VHDL B、Verilog HDL C、AHD D、CUPL
15、EDA的中文含义是 A 。
A、电子设计自动化 B、计算机辅助计算
C、计算机辅助教学 D、计算机辅助制造
16、执行Quartus II的 B 命令,能够检查设计电路错误。
A、Create Default Symbol B、Compiler----编译
C、Simulator ----时序仿真 D、Timing Analyzer ---时序分析
17、下列EDA软件中,____B____不具有逻辑综合功能。
A、Max+Plus B、ModelSim C、Quartus II D、Synplify
18、在EDA工具中能完成在目标系统器件上布局布线软件称为 C 。
A、仿真器 B、综合器 C、适配器 D、下载器
19、下列EDA软件中,___B_____不具有逻辑综合功能。
A、Max+Plus B、ModelSim C、Quartus II D、Synplify
20、一种“a=2b'01;b=3b'001;”那样
{a,b}= C 。
A、4b'1011 B、3b'001 C、5b'01001 D、3b'0001
21、在Verilog HDL语言中,用 A 表示时钟信号的上升沿。
A、posedge clk B、negedge clk C、clk’event D、clk=’1’
22、Verilog HDL程序中,以下标识符正确的是 D 。
A、4adder1 B、if C、?b D、 adder8
23、下列标识符中,_____B_____是不合法的标识符。
A、State0 B、9moon C、 Not_Ack_0 D、signall
24、设变量X=3’B010,Y=5’h1B , 则{X,Y}的值是 A 。
A、01011011 B、01010110 C、11011010 D、01001011
25、在Verilog HDL语言中,用 B 表示时钟信号的下降沿。
A、posedge clk B、negedge clk C、clk’event D、clk=’1’
26、在Verilog HDL的端口声明语句中,用 D 关键字声明端口为输入方向。
A、output B、inout C、in D、input
27、在verilog语言中整型数据与 C 位寄存器数据在实际意义上是相同的。
第 3 页/共 12 页
求知若饥,虚心若愚。
A、8 B、16 C、32 D、64
28、Verilog HDL程序的每个模块的内容都是嵌在 C 两语句之间。
A、start和endmodule B、 module和end
C、module和endmodule D、 start和endstart
29、不符合1987VHDL标准的标识符是 C 。
A、a_1_in B、a_in_2 C、2_a D、asd_1
30、一种 “a=5d'5;b=3d'3;”那样{a,b}= A 。
A、8b'00101011 B、5d'43 C、5b'10111 D、8d'40
31、在Verilog HDL中,下列语句 D 不是分支语句。
A、if-else B、case C、casez D、repeat
32、P、Q、R都是4bit的输入矢量,下面哪一种表达形式是正确的 D 。
A、input P[3:0],Q,R;
B、input P,Q,R[3:0];
C、input P[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'0011 B、3b'001 C、4b'1001 D、3b'101
34、下列语句中不属于并行语句的是 D 。
A、过程语句 B、assign语句
C、元件例化语句 D、case语句
35、下面 A 是能够用Verilog HDL语言描述,而不能用VHDL语言进行描述的级别。
A、开关级 B、门电路级 C、体系结构级 D、寄存器传输级
36、不完整的IF语句,其综合结果可实现 A 。
A、时序逻辑电路 B、组合逻辑电路
C、双向电路 D、三态
操纵电路
37、设变量X=3’B010,Y=5’h1B , 则{X,Y}的值是 A 。
A、01011011 B、01010110 C、11011010 D、01001011
三、 名词解释
1、 EDA技术
电子设计自动化,是指计算机技术应用于电子设计过程中而形成的一门新技术。
2、 综合
综合是指将Verilog HDL描述的代码转换成实际的电路结构。
3、 仿真
仿真是指利用仿真工具,在PC上对Verilog HDL代码所描述的电路功能进行验证。
4、 面积优化
在逻辑电路的设计中使得设计所占用的逻辑资源最少。
第 4 页/共 12 页
千里之行,始于足下
5、 复杂可编程逻辑器件
是从PAL和GAL器件进展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路
范围。
6、 自顶向下
也就是从整个系统设计的顶层开始,往下一层将系统划分为若干个子模块,接着再将每一个
子模块又向下一层划分为若干的子模块。
7、 ASIC
ASIC:专用集成电路。
8、 CPLD
CPLD:复杂可编程逻辑器件。
9、 FPGA
FPGA:现场可编程逻辑器件。
10、 IP
IP:知识产权核。
11、 SOPC
SOPC:可编程片上系统。
12、 测试模块
是通过对设计部分施加激励,接着检查其输出正确与否来完成其验证功能的。
13、
堵塞赋值
对“=”作为赋值符,堵塞语言按顺序执行,在下一条语言执行之前,上一条赋值语言必须
执行完毕。
14、 模块
模块是Verilog HDL设计中的一个基本组成单元。一个设计是由一个或者多个模块组成。
15、 非堵塞赋值
用“<=” 作为赋值符,非堵塞赋值语句不会堵塞同一个块语句中的其它语句的执行。
16、 行为描述
使用结构化过程语句对时序行为进行描述。
17、 结构描述
描述设计电路使用的元件及这些元件之间的连接关系。
18、 任务
任务是定义一个可重复调用的模块,任务是一个独立的过程赋值语句。
四、 简答、程序分析
1、 什么是功能仿真?什么是时序仿真?
(1)功能仿真是直接对HDL、原理图描述或其他描述形式的逻辑功能进行测试模拟。仿真
过程不涉及任何具体器件的硬件特性。用于验证系统的功能。(2)时序仿真就是接近真实器
件运行特性的仿真,仿真文件已包含了通过逻辑门和布线产生的延迟。用于验证系统的时序
第 5 页/共 12 页
求知若饥,虚心若愚。
特性、系统性能。
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型信号的初始值一般是什么?
第 6 页/共 12 页
千里之行,始于足下
Reg型信号用于进程语句中,同时其语句是顺序语句;而wire型信号则用于模块中,同时
其语句是并发语句。Reg型信号的初始值一般为左边值,即0。
9、写出下面程序中变量x、y、cnt、m、q的类型。
assgin x=y;
always @(posegde clk)
begin
cnt=m+1;
q=~q;
end
x为wire型;
y为reg或wire型;
cnt为reg型;
m为reg或wire型;
q为reg型;
10、画出下面程序段中r的仿真波形?
initial
#20 r=1’b0;
#10 r=1’b1;
#15 r=1’b1;
#25 r=1’b1;
#5 r=1’b0;
end
XXXXXXXX
20 30 45 70 75
11、画出下面程序段中r的仿真波形?
第 7 页/共 12 页
求知若饥,虚心若愚。
fork
#20 r=1’b0;
#10 r=1’b1;
#15 r=1’b1;
#25 r=1’b1;
#5 r=1’b0;
join
XXXXX
5 10 15 20 25
12、依照下面的程序,画出产生的信号波形。
module signal_gen1(d_out);
output d_out;
reg d_out;
initial
begin
d_out=0;
#1 d_out=1;
#2 d_out=0;
#3 d_out=1;
#4 d_out=0;
end;
end module
1 2 3 4
第 8 页/共 12 页
千里之行,始于足下
13、程序注释,对下面这一段程序加以注释,并说出其功能。
module rlshift8(q,d,lod,clk,clr,s,dir,dil);
//模块端口定义,模块名为rlshift8,端口有q,d,lod,clk,clr,s,dir,dil
input [7:0] d;//声明输入端口,d是8位向量
input lod,clk,clr,s,dir,dil;// 声明输入端口
output [7:0] q;//声明输出端口,q是8位向量
reg [7:0] q;//声明q是8位reg型变量
always @(posedge clk)
begin
if (~clr) q = 'b00000000;//clr为低电平,则复位
假如复位信号
else if (lod) q = d;//否则lod=1,则q=d
假如
else if (s) begin
q = q >> 1; //q右移一位
q[7] = dir; //q[7]=dir
end //实现右移操作
else begin
q = q << 1; //q左移一位
q[0] = dil; //q[0]=dil
end //实现左移操作
end
endmodule
本程序的逻辑功能是: 8位双向移位寄存器
14、程序注释,对下面这一段程序加以注释,并说出其功能。
module AAA ( a ,b ); //模块端口定义,模块名为AAA,端口有a,b
output a; //声明输出端口
input [6:0] b; //声明输入端口,b是7位向量
reg[2:0] sum; //声明sum是3位reg型变量
integer i; //声明i是integer型变量
reg a ; //声明a是reg型变量
always @ (b)
begin
sum = 0;
for(i = 0;i<=6;i = i+1)
第 9 页/共 12 页
求知若饥,虚心若愚。
if(b[i])
sum = sum+1; //假如有人投票,投票数加1
if(sum[2]) a = 1; //假如sum>=4,通过
else a = 0; //否则不通过
end
endmodule
本程序的逻辑功能是: __7人投票表决器____。
15、下面实现的是一个计数器的功能,并用数码管显示。请把正确的程序写在试卷上。
module alpher(choice,data,clk)
inputs clk;
outputs choice, data; [6:0]
reg count; [3:0]
always @ (posedges clk or choice)
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
正确程序为:
module alpher(choice,data,clk)
input clk;
output[7:0] choice,data;
reg[3:0] count;
always @ (posedge clk or choice)
begin
第 10 页/共 12 页
千里之行,始于足下
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、Verilog HDL语言设计一个带使能的三—八译码器,输入信号为d,输出信号为y,
采纳
使能信号en为高电寻常真值表如下,en为低电寻常输出数据8'b 1111 1111。
使能信号en为高电寻常真值表
d[2:0]输入 y[7:0]输出 d[2:0]输入 y[7:0]输出
3'b 000 8'b 1111 1110 3'b 100 8'b 1110 1111
3'b 001 8'b 1111 1101 3'b 101 8'b 1101 1111
3'b 010 8'b 1111 1011 3'b 110 8'b 1011 1111
3'b 011 8'b 1111 0111 3'b 111 8'b 0111 1111
用Verilog HDL描述的三—八译码器源程序如下:
module decoder(d,ena,y);
input[2:0] d;
input ena;
output[7:0] y;
reg[7:0] y;
always@(d,ena)
begin
if (ena==0) y = 'b11111111;
第 11 页/共 12 页
求知若饥,虚心若愚。
else
case (d)
'b000: y= 'b11111110;
'b001: y= 'b11111101;
'b010: y= 'b11111011;
'b011: y= 'b11110111;
'b100: y= 'b11101111;
'b101: y= 'b11011111;
'b110: y= 'b10111111;
'b111: y= 'b01111111;
default : y= 'b11111111;
endcase
end
endmodule
17、8位二进制数据比较器电路的元件符号如图所示,a[7..0]和b[7..0]是两个数据输入端,
fa是“大于”输出端,fb是“小于”输出端,fe是“等于”输出端,用Verilog HDL描述该8位二
进制数据比较器。
用Verilog HDL描述该8位二进制数据比较器源程序如下:
module comp8v(a,b,fa,fb,fe);
input[7:0]a,b;
output fa,fb,fe;
reg[7:0] fa,fb,fe;
always@(a,b)
begin
if (a > b) begin fa = 1; fb = 0; fe = 0; end
else if (a < b) begin fa = 0; fb = 1; fe = 0; end
else if (a == b) begin fa = 0; fb = 0; fe = 1; end
end
endmodule
18、采纳Verilog HDL语言设计一个带使能的三—八译码器,使能信号en为高电寻常真值
表如下,en为低电寻常输出数据8'b 1111 1111。
18题和16题一样。
第 12 页/共 12 页
发布评论