FPGA题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安工业大学FPGA复习题及答案-------zwj1、本课程的讲授目标:了解一种新技术EDA;掌握一种设计工具(器件:AlteraFPGA软件:QuartusII);掌握一种语言VerilogHDL。2、使用QuartusII进行逻辑设计,常用的设计思想的输入方式有:原理图、HDL等。3、高级语言C程序经过软件程序编译器形成cpu指令/数据代码流;VerilogHDL程序经过综合器形成电路网表文件4、CPLD是在PAL,GAL等类型器件的基础上发展起来的与或阵列型PLD器件,大多数FPGA采用了查找表结构,其物理结构是静态存储器SRAM.。5、JTAG边界扫描技术用于对高密度、引脚密集的器件和系统进行测试,如:CPU,DSP,ARM,PLD等。同时,JTAG接口也被赋予了更多的功能:编程下载、在线逻辑分析。6、使用VerilogHDL进行逻辑设计,变量的值有4种状态:0、1、x、z;7、定义逻辑功能的几种基本方法:用assign持续赋值语句定义、用always过程块定义、调用元件(元件例化)。8、整数按如下方式书写:+/-size'basevalue即+/-位宽'进制数字size为对应二进制数的宽度;base为进制;value是基于进制的数字序列。进制有如下4种表示形式:二进制(b或B)、十进制(d或D或缺省)、十六进制(h或H)、八进制(o或O)9、定义reg型标量型变量:regqout;//变量名qout10、定义wire型向量:wire[7:0]databus;//databus的宽度是8位11、在状态机设计中使用一位热码定义5种状态,并定义状态变量:parameters0=5’b00001,s1=5’b00010,s2=5’b00100,s3=5’b01000,s4=5’b10000;reg[4:0]state,next_state;12、在状态机设计中使用顺序码定义5种状态,并定义状态变量:parameters0=3’b000,s1=3’b001,s2=3’b010,s3=3’b011,s4=3’b100;reg[2:0]state,next_state;西安工业大学FPGA复习题及答案-------zwj1、成为IEEE标准的HDL有VHDL、VerilogHDL2、QuartusII是(A)公司的(D)开发工具。A、AlteraD、集成3、ModelSim是Mentor公司的出色的仿真软件,它属于编译型(仿真)器,速度快,功能强。4、使用Altera公司的QuartusII和FPGA器件能够进行数字电路设计、DSP设计、SOPC设计5、使用VerilogHDL进行逻辑设计,端口类型有A、inputB、outputC、inout6、使用VerilogHDL进行逻辑设计,可综合的变量类型有reg\wire、integer7、a=5`b11001;b=5`b10101;下面那个是正确的~a=5’b00110;a&b=5`b10001;a|b=5`b11101;8、下面那些语句可以被综合成电路B、alwaysC、assignD、`defineE、for①6、用for语句描述七人投票表决器modulevoter7(pass,vote);outputpass;input[6:0]vote;reg[2:0]sum;integeri;regpass;always@(vote)beginsum=0;for(i=0;i=6;i=i+1)//for语句if(vote[i])sum=sum+1;if(sum[2])pass=1;//超过4人赞成,则通过elsepass=0;Endendmodule②8、4选1数据选择器modulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)//敏感信号列表case(sel)2'b00:out=in0;2'b01:out=in1;西安工业大学FPGA复习题及答案-------zwj2'b10:out=in2;2'b11:out=in3;default:out=x;endcaseendmodule③13、带同步清0/同步置1(低电平有效)的D触发器moduledff_syn(q,qn,d,clk,set,reset);inputd,clk,set,reset;outputregq,qn;always@(posedgeclk)beginif(~reset)beginq=1'b0;qn=1'b1;end//同步清0,低电平有效elseif(~set)beginq=1'b1;qn=1'b0;end//同步置1,低电平有效elsebeginq=d;qn=~d;endendendmodule④14、带异步清0/异步置1(低电平有效)的D触发器moduledff_asyn(q,qn,d,clk,set,reset);inputd,clk,set,reset;outputregq,qn;always@(posedgeclkornegedgesetornegedgereset)beginif(~reset)beginq=1'b0;qn=1'b1;end//异步清0,低电平有效elseif(~set)beginq=1'b1;qn=1'b0;end//异步置1,低电平有效elsebeginq=d;qn=~d;endendendmodule⑤18、分频器设计(偶数等占空比分频;1:15占空比分频)A、modulediv6(clk,rst,clk6);inputrst,clk;outputclk6;regclk6;reg[1:0]cnt;西安工业大学FPGA复习题及答案-------zwjalways@(posedgeclkorposedgerst)beginif(rst==1’b1)cnt=2’b00;elseif(cnt==2)begincnt=2’b00;clk6=~clk6;endelsecnt=cnt+1;endendmoduleB、modulediv1_15(clk,rst,clk16);inputrst,clk;outputclk16;regclk16;reg[3:0]cnt;always@(posedgeclkorposedgerst)beginif(rst==1’b1)cnt=4’b0000;elsecnt=cnt+1;endalways@(posedgeclkorposedgerst)beginif(rst==1’b1)clk16=1’b0;elseif(clk16==15)clk16=1’b1;elseclk16=1’b0;endendmodule⑥19、画出状态转移图,并采用有限状态机设计一个彩灯控制器,要求控制8个LED灯实现如下的演示花型:从两边往中间逐个亮;全灭;从中间往两头逐个亮;全灭;循环执行上述过程LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_Arith.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;ENTITYsfwyIS西安工业大学FPGA复习题及答案-------zwjPORT(clk:INSTD_LOGIC;led:OUTSTD_LOGIC_VECTOR(7DOWNTO0));end;ARCHITECTUREoneOFsfwyISsignalled_r:std_logic_vector(8DOWNTO0);signaltmp:std_logic_vector(25downto0);signalq:std_logic;beginprocess(clk)beginifclk'eventandclk='1'thentmp=tmp+1;endif;endprocess;q=tmp(25);led=led_r(7DOWNTO0);process(q)beginifq'eventandq='1'thenled_r=led_r(7DOWNTO0)&'0';ifled_r=000000000THEN--循环完毕吗?led_r=111111111;--是,则重新赋初值endif;endif;endprocess;endone;⑦20、画出状态转移图,并采用有限状态机设计一个“1001”串行数据检测器。其输入、输出如下所示:输入x:000101010010011101001110101输出z:000000000010010000001000000初始状态设为s0,此时检测数据序列为“0000”,当再检测到一个0时,仍为s0,当检测到1时,进入下一个状态s1,此时序列为“0001”;当在状态s1检测到0时,进入到状态s2,此时序列为“0010”,西安工业大学FPGA复习题及答案-------zwj当检测到1时,仍为s1;当在状态s2检测到0时,进入到状态s3,此时序列为“0100”,当检测到1时,进入s1;当在状态s3检测到0时,进入s0,当检测到1时,进入状态s4,此时序列为“1001”,结果输出为1;当在s4检测到0时,进入状态s2,当检测到1时,进入状态s1实验代码:modulesjjcq10_3(x,z,clk,reset,state);inputx,clk,reset;outputz;output[2:0]state;reg[2:0]state;regz;parameters0='d0,s1='d1,s2='d2,s3='d3,s4='d4;always@(posedgeclk)beginif(reset)beginstate=s0;z=0;endelsecasex(state)s0:beginif(x==0)beginstate=s0;z=0;endelsebeginstate=s1;z=0;endends1:beginif(x==0)beginstate=s2;z=0;endelsebeginstate=s1;z=0;endends2:beginif(x==0)beginstate=s3;z=0;endelsebeginstate=s1;z=0;endends3:beginif(x==0)beginstate=s0;z=0;endelsebeginstate=s4;z=1;endends4:beginif(x==0)beginstate=s2;z=0;endelsebeginstate=s1;z=0;endenddefault:state=s0;endcaseendendmodule1、什么是IP复用技术,IP核对EDA技术的应用和发展有什么意义?一、简答题西安工业大学FPGA复习题及答案-------zwj答案:IP复用是指对系统中的某些模块直接使用自己的IP来实现,不用设计所有模块;IP核具有规范的接口协议,良好的可移植性与可测试性,为系统开发提供了可靠的保证2、基于FPGA/CPLD的数字系统设计流程包括哪些步骤?答案:设计输入。综合。布局布线。仿真和编程下载3、功能仿真与时序仿真有什么区别?答案:不考虑信号时延等因素的仿真称为功能仿真;时序仿真又称为后仿真,是在选择具体器件并完成布局布线后进行的包含延时的仿真。4、wire型和reg型变量有什么本质区别?答案:Wire是常用的net型数据变量,net型数据数据相当于硬件电路中的各种物理连接;reg型变量属于variable型变量,必须放在过程语句中,通过过程赋值语句赋值。5、说说JTAG接口都有哪些功能。答案:JTAG边界扫描技术用于对高密度、引脚密集的器件和系统进行测试,如:CPU,DSP,ARM,PLD等。同时,JTAG接口也被赋予了更多的功能:编程下载、在线逻辑分析。6、CPLD和FPGA在结构上有什么明显的区别,各

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功