FPGA习题集及参考答案.docx

上传人:b****3 文档编号:10385121 上传时间:2023-05-25 格式:DOCX 页数:42 大小:61.22KB
下载 相关 举报
FPGA习题集及参考答案.docx_第1页
第1页 / 共42页
FPGA习题集及参考答案.docx_第2页
第2页 / 共42页
FPGA习题集及参考答案.docx_第3页
第3页 / 共42页
FPGA习题集及参考答案.docx_第4页
第4页 / 共42页
FPGA习题集及参考答案.docx_第5页
第5页 / 共42页
FPGA习题集及参考答案.docx_第6页
第6页 / 共42页
FPGA习题集及参考答案.docx_第7页
第7页 / 共42页
FPGA习题集及参考答案.docx_第8页
第8页 / 共42页
FPGA习题集及参考答案.docx_第9页
第9页 / 共42页
FPGA习题集及参考答案.docx_第10页
第10页 / 共42页
FPGA习题集及参考答案.docx_第11页
第11页 / 共42页
FPGA习题集及参考答案.docx_第12页
第12页 / 共42页
FPGA习题集及参考答案.docx_第13页
第13页 / 共42页
FPGA习题集及参考答案.docx_第14页
第14页 / 共42页
FPGA习题集及参考答案.docx_第15页
第15页 / 共42页
FPGA习题集及参考答案.docx_第16页
第16页 / 共42页
FPGA习题集及参考答案.docx_第17页
第17页 / 共42页
FPGA习题集及参考答案.docx_第18页
第18页 / 共42页
FPGA习题集及参考答案.docx_第19页
第19页 / 共42页
FPGA习题集及参考答案.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FPGA习题集及参考答案.docx

《FPGA习题集及参考答案.docx》由会员分享,可在线阅读,更多相关《FPGA习题集及参考答案.docx(42页珍藏版)》请在冰点文库上搜索。

FPGA习题集及参考答案.docx

FPGA习题集及参考答案

习题集及参考答案

一、填空题

1.一般把EDA技术的发展分为()个阶段。

2.FPGA/CPLD有如下设计步骤:

原理图/HDL文本输入、

适配、

功能仿真、

综合、

编程下载、

硬件测试,正确的设计顺序是

()

3.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。

4.设计输入完成之后,应立即对文件进行()。

5.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。

6.将硬件描述语言转化为硬件电路的过程称为()。

7.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()IP。

8.SOC系统又称为()系统。

SOPC系统又称为()系统。

9.将硬核和固核作为()IP核,而软核作为()IP核。

10.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()。

11.HDL综合器就是逻辑综合的过程,把可综合的VHDL/VerilogHDL转化成硬件电路时,包含了三个过程,分别是()、()、()。

12.EDA软件工具大致可以由五个模块构成,分别是设计输入编辑器、()、()、()和()。

13.按仿真电路描述级别的不同,HDL仿真器分为()仿真、()仿真、()仿真和门级仿真。

14.系统仿真分为()、()和()。

15.()仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计满足一定的语法规范,但不能保证设计功能满足期望。

16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不带有布局布线后产生的时序信息,是理想情况下的验证。

17.()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工作情况更加接近。

18.目前Xilinx公司生产的FPGA主要采用了()配置存储器结构。

19.描述测试信号的变化和测试工程的模块叫做()。

20.现代电子系统设计领域中的EDA采用()的设计方法。

21.有限状态机可分为()状态机和()状态机两类。

22.VerilogHDL中的端口类型有三类:

()、()、输入/输出端口。

23.VerilogHDL常用两大数据类型:

()、()。

24.FPGA/CPLD设计流程为:

原理图/HDL文本输入→()→综合→适配→()→编程下载→硬件测试。

25.()是描述数据在寄存器之间流动和处理的过程。

26.连续赋值常用于数据流行为建模,常以()为关键词。

27.VerilogHDL有两种过程赋值方式:

()和()。

28.`timescale1ns/100ps中1ns代表(),100ps代表()。

29.未来的集成电路技术的发展趋势,把整上系统集成在一个芯片上去,这种芯片被称为()。

30.从互连结构上可将PLD分为确定型和统计型两类。

确定型结构的代表是(),统计型结构代表是()。

31.CPLD是由()的结构演变而来的。

32.FPGA的核心部分是(),由内部逻辑块矩阵和周围I/O接口模块组成。

33.把基于电可擦除存储单元的EEPROM或Flash技术的CPLD的在系统下载称为(),这个过程就是把编程数据写入E2CMOS单元阵列的过程。

34.根据配置数据线数,器件配置可分为并行配置和串行配置两类。

串行配置以()为单位将配置数据载人可编程器件:

而并行配置一般以()为单位向可编程器件载入配置数据。

35.FPGA的配置模式有从动串行模式、从动并行模式、主动串行模式、主动并行模式、以及()模式。

36.可编程逻辑器件的配置方式分为()和()两类。

37.VerilogHDL是在()年正式推出的。

38.在verilogHDL的always块本身是()语句。

39.VerilogHDL中的always语句中的语句是()语句。

40.VerilogHDL提供了标准的系统任务,用于常用的操作。

如显示、文件输入/输出等,系统函数前都有一个标志符()加以确认。

41.VerilogHDL很好地支持了“自顶向下”的设计理念,即,复杂任务分解成的小模块完成后,可以通过()的方式,将系统组装起来。

42.VerilogHDL模块分为两种类型:

一种是()模块,即,描述某种电路系统结构,功能,以综合或者提供仿真模型为设计目的;另一种是()模块,即,为功能模块的测试提供信号源激励、输出数据监测。

43.Verilog语言中,标识符可以是任意一组字母、数字、()符号和下划线符号的组合。

44.state,State,这两个标识符是()同。

45.assignc=a>b?

a:

b中,若a=3,b=2,则c=();若a=2,b=3,则c=()。

46.在VerilogHDL的逻辑运算中,设A=4´b1010,则表达式~A的结果为()

47.在VerilogHDL的逻辑运算中,设a=2,b=0,则a&&b结果为(),a||b结果为()。

48.在VerilogHDL的逻辑运算中,设a=4´b1010,a>>1结果是()。

二、EDA名词解释

1.ASIC,2.CPLD,3.FPGA,4.IC,5.LUT.6.PCB.7.RTL,8.FSM,9.GAL,10.ISP,11.JATG,12.PBD,13.BBD

三、选择题

1.任VerilogHDL的端口声明语句中,用()关键字声明端口为双向端口

A:

inoutB:

INOUTC:

BUFFERD:

buffer

2.用VerilogHDL的assign语句建模的方法一般称为()方法。

A:

连续赋值B:

并行赋值C:

串行赋值D:

函数赋值

3.IP核在EDA技术和开发中具有十分重要的地位,IP是指()。

A:

知识产权B:

互联网协议C:

网络地址D:

都不是

4.在verilogHDL的always块本身是()语句

A:

顺序B:

并行C:

顺序或并行D:

串行

5.在VerilogHDL的逻辑运算中,设A=8'b11010001,B=8'b00011001,则表达式“A&B”的结果为()

A:

8'b00010001B:

8'b11011001C:

8'b11001000D:

8'b00110111

6.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是()。

A:

FPGA是基于乘积项结构的可编程逻辑器件;

B:

FPGA是全称为复杂可编程逻辑器件;

C:

基于SRAM的FPGA器件,在每次上电后必须进行一次配置;

D:

在Altera公司生产的器件中,MAX7000系列属FPGA结构。

7.下列EDA软件中,哪一个不具有逻辑综合功能:

()。

A:

ISEB:

ModelSimC:

QuartusIID:

Synplify

8.下列标识符中,()是不合法的标识符。

A:

State0B:

9moonC:

Not_Ack_0D:

signal@

9.关于VerilogHDL中的数字,请找出以下数字中最大的一个:

()。

A:

8´b1111_1110B:

3´o276C:

3´d170D:

2´h3E

10.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是()。

A:

CPLD是基于查找表结构的可编程逻辑器件;

B:

CPLD即是现场可编程逻辑器件的英文简称;

C:

早期的CPLD是从GAL的结构扩展而来;

D:

在Xilinx公司生产的器件中,XC9500系列属CPLD结构;

11.IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为()。

A:

瘦IPB:

固IPC:

胖IPD:

都不是

12.不完整的IF语句,其综合结果可实现()。

A:

时序逻辑电路B:

组合逻辑电路C:

双向电路D:

三态控制电路

13.CPLD的可编程是主要基于什么结构()。

A:

查找表(LUT)C:

PAL可编程B:

ROM可编程D:

与或阵列可编程

14.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为:

()

A:

硬IPB:

固IPC:

软IPD:

都不是;

15.设a=4´b1010,b=4´b0001,c=4´b1xz0则下列式子的值为1的是()

A:

a>bB:

a<=cC:

13-a

13–(a>b)

16.设a=2,b=0,则下列式子中等于X的是()。

A:

a&&bB:

a||bC:

!

aD:

x&&a

17.FPGA可编程逻辑基于的可编程结构基于()。

A:

LUT结构B:

乘积项结构C:

PLDD:

都不对

18.CPLD可编程逻辑基于的可编程结构基于()。

A:

LUT结构B:

乘积项结构C:

PLDD:

都不对

19.下列运算符优先级最高的是()。

A:

B:

+C:

&D:

{}

20.设a=1´b1,b=3´b101,c=4´b1010则X={a,b,c}的值的等于()

A:

7´b1101100B:

8´b10101011C:

8´b11010101D:

8´b11011010

21.将设计的系统按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程,称为()。

A:

设计的输入B:

设计的输出C:

仿真D:

综合

22.一般把EDA技术的发展分为()个阶段。

A:

2B:

3C:

4D:

5

23.设计输入完成之后,应立即对文件进行()。

A:

编译B:

编辑C:

功能仿真D:

时序仿真

24.VHDL是在()年正式推出的。

A:

1983B:

1985C:

1987D:

1989

25.VerilogHDL是在()年正式推出的。

A:

1983B:

1985C:

1987D:

1989

26.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。

A:

自底向上B:

自顶向下C:

积木式D:

顶层

27.在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件为()。

A:

仿真器B:

综合器C:

适配器D:

下载器

28.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。

A:

仿真器B:

综合器C:

适配器D:

下载器

29.逻辑器件()属于非用户定制电路。

A:

逻辑门B:

PROMC:

PLAD:

GAL

30.可编程逻辑器件PLD属于()电路。

A:

半用户定制B:

全用户定制C:

自动生成D:

非用户定制

31.不属于PLD基本结构部分的是()。

A:

与门阵列B:

输入缓存C:

与非门阵列 D:

或门阵列

32.任VerilogHDL的标识符使用字母的规则是()。

A:

大小写相同B:

大小写不同C:

只允许大写D:

只允许小写

33.操作符是VerilogHDL预定义的函数命名,操作符是由()字符组成的。

A:

1B:

2C:

3D:

1~3

34.在VerilogHDL模块中,task语句类似高级语言中的()。

A:

函数B:

常数C:

变量D:

子程序

35.在VerilogHDL模块中,函数调用时返回一个用于()的值。

A:

表达式B:

输出C:

输入D:

程序包

36.VerilogHDL中的always语句中的语句是()语句。

A:

串行B:

顺序C:

并行D:

顺序或并行

37.嵌套的if语句,其综合结果可实现()。

A:

条件相与的逻辑B:

条件相或的逻辑C:

条件相异或的逻辑D:

三态控制电路

38.嵌套的使用if语句,其综合结果可实现()。

A:

带优先级且条件相与的逻辑电路B:

双向控制电路

C:

三态控制电路D:

条件相异或的逻辑电路

39.下列哪个FPGA/CPLD设计流程是正确的()。

A:

原理图/HDL文本输入->功能仿真->综合->适配->编程下载->硬件测试

B:

原理图/HDL文本输入->适配->综合->功能仿真->编程下载->硬件测试

C:

原理图/HDL文本输入->功能仿真->综合->编程下载->适配->硬件测试

D:

原理图/HDL文本输入->适配->功能仿真->综合->编程下载->硬件测试

四、简答题

1.简述EDA技术的发展历程?

2.什么是EDA技术?

3.在EDA技术中,什么是自顶向下的设计方法?

4.自顶向下的设计方法有什么重要意义?

5.简要说明目前现代数字系统的发展趋势是什么?

6.简述现代数字系统设计流程。

7.简述原理图设计法设计流程。

8.简述原理图设计法设计方法的优缺点。

9.什么是综合?

综合的步骤是什么?

10.什么是基于平台的设计?

现有平台分为哪几个类型?

11.目前,目前数字专用集成电路的设计主要采用三种方式?

各有什么特点?

12.什么是SOC技术含义是什么?

什么是SOPC?

13.SOPC技术含义是什么?

SOPC技术和SOC技术的区别是什么?

14.SOPC技术是指什么?

SOPC的技术优势是什么?

15.简要说明一下功能仿真和时序仿真的异同。

设计过程中如果只做功能仿真,不做时序仿真,设计的正确性是否能得到保证?

16.综合完成的主要工作是什么?

实现(Implement)完成的主要工作是什么?

17.主要的HDL语言是哪两种?

VerilogHDL语言的特点是什么?

18.简述阻塞赋值与非阻塞赋值的不同。

19.简述过程赋值和连续赋值的区别。

20.什么叫做IP核?

IP在设计中的作用是什么?

21.什么是IP软核,它的特点是什么?

22.根据有效形式将IP分为哪几类?

根据功能方面的划分分为哪两类?

23.比较基于查找表的FPGA和CPLD系统结构和性能上有何不同?

24.什么是数据流级建模?

什么是行为级建模?

25.timescale指令的作用是什么。

26.采用HDL完成设计后,必须应用测试程序(testbench)对设计的正确性进行验证。

27.什么是FPGA,CPLD?

他们分别是基于什么结构的可编程逻辑结构?

28.CPLD是基于什么结构的可编程逻辑器件?

其基本结构由哪几部分组成。

29.FPGA是于什么结构的可编程逻辑器件?

其基本结构由哪几部分组成。

30.PLD器件按照编程方式不同,可以分为哪几类?

31.解释编程与配置这两个概念。

32.说明FPGA配置有哪些模式,主动配置和从动配置的主要区别是什么?

33.为什么在FPGA构成的数字系统中要配备一个PROM或E2PROM?

五、程序补充完整

1.下面程序是一个3-8译码器的VerilogHDL描述,试补充完整。

(1)decoder_38(out,in)

output[7:

0]out;

input[2:

0]in;

reg[7:

0]out

(2)@(in)

begin

空(3)(in)

3´d0:

out=8´b11111110;

3´d1:

out=8´b11111101;

3´d2:

out=8´b11111011;

3´d3:

out=8´b11110111;

3´d4:

out=8´b11101111;

3´d5:

out=8´b11011111;

3´d6:

out=8´b10111111;

3´d7:

out=8´b01111111;

endcase

空(4)

空(5)

2.下面程序4位计数器的VerilogHDL描述,试补充完整。

(1)count4(out,reset,clk)

output[3:

0]out;

(2)reset,clk;

reg[3:

0]out;

空(3)@(posedgeclk)

空(4)

if(reset)out<=0;

elseout<=out+1;

end

空(5)

3.下面程序描述一个时钟上升沿触发、同步复位的D触发器,试补充完整。

(1)dflop(d,reset,clk,q);

inputd,clk;

inputreset;

(2)q;

regq;

空(3)(posedgeclk)

if(reset)

q<=0;

else

q<=空(4);

空(5)

4.用下面测试平台对mux21u1二选一选择器进行测试,试补充完整。

(1)1ns/100ps

Module空

(2);

regA,B;

regSEL;

wireC;

mux21u1(.a(A),.b(B),.sel(SEL),.c(C));

空(3)

begin

A=0;B=0;SEL=0;

#10beginA=1;B=0;SEL=0;end

#10beginA=0;B=0;SEL=1;end

#10$空(4);

end

空(5)

5.clock1是周期为20的时钟,clock_pshift是clock1相移,试补充完整。

(1)Gen_clock1(clock_pshift,clock1);

outputclock_pshift,clock1;

regclock1;

wireclock_pshift;

(2)T=20;

parameterpshift=2;

空(3)

clock1=0;

always

#(T/2)clock1=~clock1;

空(4)#PSHIFTclock_pshift=clock1;

空(5)

6.下面程序描述了8位移位寄存器,试补充完整。

(1)shifter(空

(2),clr,dout);

inputdin,clk,clr;

output空(3)dout;

reg[7:

0]dout;

always@(posedgeclk)

begin

if(空(4))dout<=8'b0;

else

begin

dout<=dout<<1;

dout[0]<=din;

end

空(5)

endmodule

7.下面程序描述了一个数据选择器MUX,试补充完整。

(1)mux(data_in1,data_in2,sel,data_out);

inputdata_in1,data_in2;

input[1:

0]sel;

outputdata_out;

always@(空

(2))

begin

case(空(3))

2′b00:

data_out<=data_in1^data_in2;

2′b01:

data_out<=data_in1|data_in2;

2′b10:

data_out<=data_in1~^data_in2;

2′b11:

data_out<=~data_in1;

空(4):

data_out<=2′bxx;

endcase

end

空(5)

8.下面程序描述了一个返回两个数中的最大值的函数。

试补充完整。

(1)[3:

0]max;

(2)[3:

0]a,b;

begin

if(空(3))

max=a;

else

max=b;

空(4)

空(5)

六、程序改错

1.下面的中有5处错误,试找出错误并修改正确。

第1行moduledivide2(clk,clk_o,reset)

第2行input    clk,reset;

第3行output  clk_o;

第4行wirein;

第5行wireout;

第6行always(posedgeclkorposedgereset)

第7行if(reset)

第8行 out<=0;

第9行 else

第10行out<=in;

第11行 assignin<=~out;

第12行assignclk_o=out;

2.下面的中有5处错误,试找出错误并修改正确。

第1行moduledff8(reset,d,q);

第2行input       clk;

第3行input       reset;

第4行input[7:

0]  d;

第5行outputq;

第6行reg[7:

0]q;

第7行initial@(posedgeclk)

第8行 if(reset)

第9行 q<=0;

第10行else

第11行 q<=d;

第12行endmodule;

3.下面的中有5处错误,试找出错误并修改正确。

第1行moduledecode4_7(decodeout,indec)

第2行output[6:

0]decodeout;

第3行input[3:

0]indec;

第4行reg[6:

0]decodeout;

第5行always@(indec)

第6行begin

第7行case

第8行4´d1:

decodeout=7´b1111110;

第9行4´d1:

decodeout=7´b0110000;

第10行4´d2:

decodeout=7´b1101101;

第11行4´d3:

decodeout=7´b1111001;

第12行4´d4:

decodeout=7´b0110011;

第13行4´d5:

decodeout=7´b1011011;

第14行4´d6:

decodeout=7´b1011111;

第15行4´d7:

decodeout=7´b1110000;

第16行4´d8:

decodeout=7´b1111111;

第17行4´d9:

decodeout=7´b1111011;

第18行endcase

第19行end

4.下面的中有5处错误,试找出错误并修改正确。

第1行timescale10ns/1ns

第2行modulewave2;

第3行regwave;

第4行cycle=5;

第5行always

第6行fork

第7行wave=0;

第8行#(cycle)wave=1;

第9行#(2*cycle)wave=0;

第10行#(3*cycle)wave=1;

第11行#(4*cycle)wave=0;

第12行#(5*cycle)$finish;

第13行endmodule;

5.下面的中有5处错误,试找出错误并修改正确。

第1行modulealutast(code,a,b,c)

第2行input[1:

0]code;

第3行input[3:

0]a,b;

第4行output[4:

0]c;

第5行reg[4:

0]c;

第6行taskmy_and;

第7行input[3:

0]a,b;

第7行output[4:

0]out;

第8行intergeri;

第9行for(i=3;i>=0;i=i-1)

第10行out[i]=a[i]&b[i];

第11行end

第12行always@(codeoraorb)

第13行begin

第14行case(code)

第15行2’b00:

my_hand(a,b,c);

第1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2