FPGA习题集及参考答案讲解.docx
- 文档编号:27381940
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:38
- 大小:41.76KB
FPGA习题集及参考答案讲解.docx
《FPGA习题集及参考答案讲解.docx》由会员分享,可在线阅读,更多相关《FPGA习题集及参考答案讲解.docx(38页珍藏版)》请在冰豆网上搜索。
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技术的的在系统下载称为(),这个过程就是把编程数据写入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>ba:
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,,,,.,,
三、选择题
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.)
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}的值的等于() 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′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行inputclk,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); 第16行2’b01: c=a|b; 第17行2’b10: c=a-b; 第18行2’b11: c=a+b; 第19行end 第20行endmodule; 6.下面的中有5处错误,试找出错误并修改正确。 第1行modulemux4_1(out,in0,in1,in2,in3,sel); 第2行inputout; 第3行inputin0,in1,in2,in3; 第4行inputsel; 第5行regout; 第6行always@() 第7行case(sel) 第8行2'b01: out=in0; 第9行2'b01: out=in1; 第10行2'b10: out=in2; 第11行2'b11: out=in3; 第12行default: out=2'bx; 第13行endmo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 习题集 参考答案 讲解