数字系统设计复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字系统设计复习题
一、选择题
1. MAX+PLUSII的设计文件不能直接保存在 B 。
A.硬盘 B. 根目录 C. 文件夹 D. 工程目录
2. MAXPLUSII是哪个公司的软件 A 。
A. ALTERA
B. A TMEL
C. LATTICE
D. XILINX
3. MAXPLUSII不支持的输入方式是 D 。
A. 文本输入
B. 原理图输入
C. 波形输入
D. 矢量输入
4. MAXPLUSII中原理图的后缀是 B 。
A. DOC
B. GDF
C. BMP
D. JIF
5下面对利用原理图输入设计方法进行数字电路系统设计的描述中,那一种说法是不正确的。
A.原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B.原理图输入设计方法一般是一种自底向上的设计方法;
C.原理图输入设计方法无法对电路进行功能描述;
D.原理图输入设计方法也可进行层次化设计。
6. 下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程: A 。
A.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试
B.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试;
C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;
D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试
7. 下面哪一条命令是MAX+PLUSII在时序仿真时执行加载节点的命令? C 。
A. file—>set project to current file
B. assign—>pin/location chip
C. node—>enter node from SNF
D. file—>create default symbol
8. 在EDA工具中能将硬件描述语言转换为硬件电路的重要工具软件称为 D 。
A.仿真器
B.综合器
C.适配器
D.下载器
9. 下面哪一条命令是MAXPLUSII软件中引脚锁定的命令 C 。
A.file—>set project to current file B.node—>enter node from SNF
C.assign—>pin/location chip D.file—>create default symbol]
10. 下列关于信号的说法不正确的是 C 。
A . 信号相当于器件内部的一个数据暂存节点。
B. 信号的端口模式不必定义,它的数据既可以流进,也可以流出。
C. 在同一进程中,对一个信号多次赋值,其结果只有第一次赋值起作用。
D. 信号在整个结构体内的任何地方都能适用。
68. 下列关于变量的说法正确的是 A 。
A. 变量是一个局部量,它只能在进程和子程序中使用。
B. 变量的赋值不是立即发生的,它需要有一个δ延时。
C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量。
D. 变量赋值的一般表达式为:目标变量名<= 表达式。
69. 下列关于CASE语句的说法不正确的是 B 。
A. 条件句中的选择值或标识符所代表的值必须在表达式的取值范围内。
B. CASE语句中必须要有WHEN OTHERS=>NULL;语句。
C. CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现。
D. CASE语句执行必须选中,且只能选中所列条件语句中的一条。
75. 执行MAX+PLUSII的 C 命令,可以对设计的电路进行仿真。
A.Creat Default Symbol
piler
C.Simulator
D.Programmer
11.在EDA工具中,能完成在目标系统器件上布局布线软件称为(C )
A.仿真器
B.综合器
C.适配器
D.下载器
12.在执行MAX+PLUSⅡ的(d )命令,可以精确分析设计电路输入与输出波形间的延时量。
A .Create default symbol B. Simulator
C. Compiler
D.Timing Analyzer
14.下面既是并行语句又是串行语句的是( C )
A.变量赋值
B.信号赋值
C.PROCESS语句
D.WHEN…E LSE语句
三、填空题
1.一般把EDA技术的发展分为 MOS时代、 CMOS时代和 ASIC 三个阶段。
2.EDA设计流程包括设计输入、设计实现、实际设计检验和下载编程四个步骤。
3.EDA设计输入主要包括图形输入、 HDL文本输入和状态机输入。
4.时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为功能仿真。
6.图形文件设计结束后一定要通过仿真,检查设计文件是否正确。
7.以EDA方式设计实现的电路设计文件,最终可以编程下载到 FPGA 和 CPLD 芯片中,完成硬件设计和验证。
8.MAX+PLUS的文本文件类型是(后缀名) .VHD 。
二、回答问题
1、叙述摩尔定律;
集成电路芯片的集成度每三年提高4
2、简述门阵列与FPGA异同;
答:FPGA是现场可编程门阵列。
3、画图说明FPGA的开发流程;
答:系统规范,模块设计(系统设计规范),设计输入(HDL语言描述IP核),功能仿真(输入设计文件.v。
vhd),综合(时序、面积、功耗约束,工艺库),布局布线(I/O指派,布局布线约束),时序验证(反标注文件.sdf),配置下载。
4、解释在FPGA设计过程中“库”的作用;
答:Verilog设计文件中所有模块和UDPs(用户定义元语)必须被编译到一个或多个设计库中。
Modelsim系统中设计中设计库含有以下信息:可重指定执行代码,调整信息和从属信息等。
该库设计分为两类:一类是资源库,另一类是工作库。
资源库是一个典型的静态库,用于存储第三方提供的已编译好的参考设计,可用作设计源文件的一部分。
用户可以创建自己的资源库,也可以直接使用其他设计组或第三方(如器件厂家)提供的资源库。
设计库是一个目录或存档文件,用于存储当前设计单元的编译结果,当更新设计并冲编译时,工作库内容即被修改。
工作库中设计单元的编译结果,当更新设计并重编译时,工作库内容即被修改。
工作库中的设计单元由Verilog模块、UDPs和System C模块等组成。
默认情况下,设计库以目录的结构来存储,其内的每个设计单元存储为一个子目录,也可以使用vlib命令的-archive参数创建存档文件,将设计库配置成一个存档文件方式。
5、FPGA器件中专用时钟引脚的作用是什么;与其它引脚的区别是什么;
答:引入外部全局时钟,其与每一个LE或CLB相连。
6、为什么芯片的功耗与信号的翻转率(高低电平转换的次数)有关;
答:高低电平转换的次数和电容的充放电的次数有关,在电压一定的时候,电容的充放电与充电电流有关,而电流的大小与芯片的功耗有关,所以,芯片的功耗与信号的翻转率。
7、什么叫综合;
答:综合实际上是根据设计功能和实现核设计的约束条件(如面积、速度、功耗和成本等),将设计描述(如HDL文件、原理图等)变换成满足要求的电路设计方案,该方案必须同时满足预期功能和约束条件。
8、对于一个给定的设计(或者自己设计好的电路)如何选择FPAG器件;
答:在选择FPGA器件时,应该考虑以下几个问题:
(1)可配置逻辑块:虽然大多数的FPGA有类似的逻辑块,但是它们之间有一些区别。
根据设计需要选择合适结构的FPGA。
(2)可配置逻辑块数目:它决定了所能容纳的设计的逻辑门数。
(3)I/O管脚的数量和类型:根据设计需要,选择合适数目的I/O管脚,了解多少是通用的I/O管脚,有多少特殊用途的I/O管脚,如全局时钟输入、复位信号、下载管脚信号等。
(4)嵌入式IP核:所选择的器件中是否包含了你设计中需要的IP核,如是否包含了锁相环核、DSP核、SDRAM控制器,有多大的RAM等。
充分使用这些IP核可以提高设计效率。
(5)FPGA器件的编程方式:选择反熔丝、Flash还是SRAM?综合评定设计需求,如是否需要安全、低功耗、非易失性,根据需要选择合适的FPGA。
(6)FPGA的工作温度:所设计的FPGA工作温度满足标准是工业标准、军用标准还是商业标准。
(7)FPGA的工作速度:每个FPGA厂家在同一种FPGA中,提供不同速度的FPGA型号,速度越高,价格越贵。
因此,在选定了某个类型的FPGA后,还需要考虑同一FPGA中选择哪一中速度的FPGA。
9、异步时钟域进行数据交换时为什么要用FIFO;
答:异步电路的设计会导致亚稳态现象(就是不稳定的状态,介于低电平0和高电平1之间,或者经过震荡到达1或0的稳态。
)的出现,就是说信号在不同的时钟区域中传递时,会有不稳定的信号产生。
同步多个信号时,最好使用FIFO结构。
一个异步的FIFO设计可以按照下图的结构实现。
由于异步FIFO的读/写时钟不同,因此,将读地址、写地址分别用两个模块实现,这两个模块中分别只有一个时钟。
FIFO用双端口RAM实现。
根据读写地址判断的空满条件模块CMP,包括了读/写两个时钟。
10、一次性FPGA与可反复编程的FPGA的主要区别是什么;
答:一次性FPGA采用反熔丝技术,只能进行一次编程。
可反复编程的FPGA采用了基于SRAM工艺的查找表结构或Flash。
11.FPGA的内部包括那些部分,每个部分的作用;
答:(1)可编程输入/输出单元(IOB):它是芯片与外界电路的接口部分,完成不同电器特性下对输入输出信号的驱动和匹配要求。
(2)可配置逻辑块(CLB):CLB是FPGA内的基本逻辑单元。
(3)数字时钟管理模块(DCM):为FPGA提供数字时钟管理。
(4)嵌入式块RAM(BRAM)
(5)丰富的布线资源:布线资源连同FPGA内部的所有单元,而连接线的长度和工艺决定着信号在连接线上的驱动能力和传输速度。
(6)底层内嵌功能单元:内嵌功能模块主要指DLL,PLL,DSP和CPU等软处理核。
12、FPGA的工作原理是什么;
答;FPGA器件结构非常类似于ASIC,但是FPGA芯片没有任何定制的掩模层,设计人员可以对其进行设计输入和仿真,最后用专用软件将设计转换成一串二进制比特,形成配置文件。
这个配置文件描述了需要完成设计的FPGA芯片的连接关系。
最后,通过计算机将配置文件下载到FPGA或配置芯片对其进行配置。
13、IC的分类;
(1)根据集成电路中有源器件的结构类型和工艺技术可以将集成电路分为三类:双极、MOS 和双极-MOS混合型即BiMOS集成电路
(2)按集成电路规模分类:
集成度:每块集成电路芯片中包含的元器件数目。
小规模集成电路(Small Scale IC,SSI)
中规模集成电路(Medium Scale IC,MSI)
大规模集成电路(Large Scale IC,LSI)
超大规模集成电路(Very Large Scale IC,VLSI)
特大规模集成电路(Ultra Large Scale IC,ULSI)
巨大规模集成电路(Gigantic Scale IC,GSI)
(3)按电路功能分类
数字集成电路(Digital IC)
模拟集成电路(Analog IC)
数模混合集成电路(Digital-Analog IC)
14、什么叫软核、硬核和固核;
(1)软IP内核通常是以某种HDL文本的形式提交给用户,它已经过行为级设计优化和功能验证,但其中不含任何具体的物理信息。
据此,用户可以综合出正确的门电路级网表,并可以进行后续结构设计,具有较大的灵活性,可以很容易地借助于EDA综合工具将其与其他外部逻辑电路结合成一体,根据各种不同的半导体工艺,将其设计成具有不同性能的器件。
软IP核又称为虚拟器件。
(2)硬IP内核是基于某种半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经经过工艺验证,具有可保证的性能。
其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来用的全套技术。
(3)固IP内核的设计深度介于软IP内核和硬IP内核之间,除了完成硬IP内核所有的设计外,还完成门电路级综合和时序仿真等设计环节,一般以们电路级网表形式提交用户使用。
16、什么叫RTL级描述;
答:RTL(Register Transfer Level,寄存器传输级)通常是指数据流建模和行为级建模的结合。
17、解释电路中的组合环;
答:
18、任务和函数有什么区别;
答:
答:
20、电路中三态门的作用;
答:三态门只有在控制信号有效地情况下才能传递数据;如果控制开关无效,则输出为高阻抗z。
21、阻塞赋值与非阻塞赋值的区别;
一、阻塞赋值
①阻塞赋值操作符号用等号(即=)表示。
赋值时先计算等号右手方向(RHS)部分的值,这时赋值语句不允许任何别的Verilog语句干扰,直到现行的赋值完成时刻,即把RHS赋值给LHS的时刻,它才允许别的赋值语句的执行。
一般可综合的赋值操作在RHS不能设定有延迟。
②非阻塞赋值操作符用小于等于号(即<=)表示。
在赋值操作时刻开始时计算非阻塞符号的RHS表达式,赋值结束时更新LHS。
在计算非阻塞赋值的RHS表达式和更新LHS期间,其他的Verilog语句,包括包括其他的Verilog非阻塞赋值语句都能同时计算RHS表达式和更新LHS。
22、叙述begin end与fork join的区别;
答:fork 和join内的语句并发执行,语句执行的顺序是有各自语句中的延迟或是事件控制决定的,且是相对于语句开始执行的时刻而言的。
begin和end内的语句是按顺序执行的除了带有内嵌延迟控制的非阻塞赋值语句;若语句包括延迟或事件控制,那么延迟总是相对于前面那条语句执行完成的仿真时间的。
23、FPGA与CPLD的区别。
答:FPGA和CPLD的区别
电路设计
一、组合逻辑电路设计规则
1)分析设计要求,确定顶层框图(确定输入、输出端口)
2)根据功能要求列出真值表
3)依据真值表求得输入与输出信号之间逻辑关系式
4)根据求得的逻辑表达式,选择原理图输入或文本输入法编写程序
5)程序调试,功能仿真,选择芯片,分配引脚,布局布线,时序仿真,下载。
二、通过典型的组合电路模块说明组合逻辑电路的设计过程
例1 四选一多路选择器
1)确定输入输出关系
A、B、C、D是4个输入端口;S1、S0为通道选择信号端,Y为输出端。
功能描述:当S1、S0分别取为00、01、10、11时,输出端口Y将输出来自输入口A、B、C、D的数据。
2)列出真值表
<如PPT所示>
3)描述输入输出逻辑关系
S S A S S B S S C S S D Y
⋅⋅+⋅⋅+⋅⋅+⋅⋅=(1)
01010101
4)程序输入
a)原理图输入
b)Verilog HDL输入
-使用case语句
-使用if-else语句
-使用连续赋值语句
-使用条件操作符
形式:条件表达式? 表达式1 :表达式2
条件表达式真值为1时选择并计算表达式的值,否则选择并计算表达式2的值。
(这种条件操作符在连续赋值和过程赋值语句中都可以使用)
三、
1.用V erilog HDL描述反相器、八输入与门、八输入或门、八输入异或门、一位D触发器、一位锁存器、四选一电路、两位比较器、两位加法器、两位乘法器。
答:详王金明例题
2.用基本的逻辑单元,如D触发器、比较器、选择器和逻辑门等器件设计一个双口RAM,RAM的深度位16,宽度为8;RAM的模型如下
module ram16X8( w_clk,wr_en,wr_addr,data_in,
r_clk,rd_en,rd_addr,data_out );
input w_clk,wr_en,r_clk,rd_en;
input [7:0] data_in;
input [3:0] wr_addr,rd_addr;
output [7:0] data_out;
reg [7:0] data_out;
reg [7;0] mem [15:0];
always @(posedge wr_clk)
if(wr_en)
mem[wr_addr] <= data_in;
always @(posedge rd_clk)
if(rd_en)
data_out <= mem[rd_addr];
endmodule
●画出电路结构图
●用Verilog HDL写出电路
4.各种计数器的设计(包括分频器的设计);
5.移位寄存器的设计,设计一个8位的移位寄存器。
数字系统设计与Verilog HDL模拟试题
一、选择题(每题2分,共18分)
1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )
(A) 开关级(B)门电路级(C) 体系结构级(D) 寄存器传输级
2.在verilog中,下列语句哪个不是分支语句?( D )
(A) if-else (B) case (C) casez (D) repeat
3.下列哪些Verilog的基本门级元件是多输出( D )
(A) nand (B) nor (C) and (D) not
4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )
(A) supply (B) strong (C) pull (D) weak
5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )
(A) 1 (B) 2 (C) 3 (D) 4
6.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )
(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101
7.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )
(A) 模块级(B)门级(C) 开关级(D) 寄存器级
8.在verilog语言中,a=4b'1011,那么&a=( D )
(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0
9.在verilog语言中整型数据与(C )位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 64
二、简答题(2题,共16分)
1.Verilog HDL语言进行电路设计方法有哪几种(8分)
1、自上而下的设计方法(Top-Down)
2、自下而上的设计方法(Bottom-Up)
3、综合设计的方法
2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。
1、.specparam语句只能在延时的格式说明块(specify块)中出现,而parameter语句则不能在延时说明块内出现
2、由specparam语句进行定义的参数只能是延时参数,而由parameter语句定义的参数则可以是任何数据类型的参数
3、由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明
三、画波形题(每题8分,共16分)
1.根据下面的程序,画出产生的信号波形(8分)
module para_bloc_nested_in_seri_bloc(A,B);
output A,B;
reg a,b;
initial
begin
A=0;
B=1;
#10 A=1;
fork
B=0;
#10 B=1;
#20 A=0;
join
#10 B=0;
#10 A=1;
B=1;
End
endmodule
2. 根据下面的程序,画出产生的信号波形(8分) 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
endmodule
四、
程序设计(4题,共50分)
1. 试用verilog 语言产生如下图所示的测试信号(12分)
ns 5
10
15
20
25
clk in1in2
30
35
40
45
module signal_gen9(clk,in1,in2); output in1,in2,clk; reg in1,in2,clk; initial begin in1=0; in2=1; clk=0; end initial begin
#15 in1=1
#10 in1=0;
#5 in1=1;
#10 in1=0;
end
initial
begin
#5 in2=0;
#5 in2=1;
#25 in2=0;
end
always
begin
#5 clk=~clk;
end
endmodule
2.试用verilog语言,利用内置基本门级元件,采用结构描述方式生成如图所示的电路(12分)
module MUX4x1(Z,D0,D1,D2,D3,S0,S1);
output Z;
inout D0,D1,D2,D3,S0,S1;
and u0 (T0, D0, S0bar, S1bar) ,
u1(T1, D1, S0bar, S1),
u2 (T2, D2, S0, S1bar),
u3 (T3, D3, S0, S1) ,
not u4 (S0bar, S0),
u5 (S1bar, S1);
or u6 (Z, T0, T1, T2, T3);
endmodule
3. 试用verilog语言描述:图示为一个4位移位寄存器,是由四个D触发器(分别设为U1,U2,U3,U4)构成的。
其中seri_in是这个移位寄存器的串行输入;clk为移位时脉冲输入;clr
为清零控制信号输入;Q[1]~Q[3]则为移位寄存器的并行输出。
(14分)
module d_flop(q,d,clr,clk);
output q;
input d,clr,clk;
reg q;
always @(clr)
if(!clr) assign q=0;
else deassign q;
always @(negedge clk)
q=d;
endmodule
module shifter(seri_in,clk,clrb,Q);
input seri_in,clk,clrb;
output[3:0] Q;
d_flop U1(Q[0],seri_in,clrb,clk),
U2(Q[1],Q[0],clrb,clk),
U3(Q[2],Q[1],clrb,clk),
u4(Q[3],Q[2],clrb,clk);
endmodule
4.利用有限状态机,以格雷码编译方式设计一个从输出信号序列中检测出101信号的电路图,其方块图、状态图和状态表如图表示。
(12分)
Din=0Din=1S0=00
SO, O S1, 0S1=01
S2, 0S1, 0S2=11S0, 0S1, 1下一状态NS和输出Qout 目前状态CS
module melay(clk,Din,reset,Qout); input clk,reset;
input Din;
output Qout;
reg Qout;
parameter[1:0] S0=2'b00,S1=2'b01,S2=2'b11; reg[1:0] CS;
reg[1:0] NS;
always @(posedge clk or posedge reset) begin
if(reset==1'b01)
CS=S0;
else CS=NS;
end
always @(CS or Din)
begin
case(CS)
S0:beign
if(Din==1'b0)
begin
NS=S0;
Qout=1'b0;
end
else
begin
NS=S1;
Qout=1'b0;
end
end
S1:begin
if(Din==1'b0)
begin
NS=S2;
Qout=1'b0;
end
else
begin
NS=S1;
Qout=1'b0;
end
end
S2:beign
if(Din==1'b0)
begin
NS=S0;
Qout=1'b0;
end
else
begin
NS=S1;
Qout=1'b0;
end
end
endcase
end
endmodule。