FPGA题及答案Word格式.docx
《FPGA题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《FPGA题及答案Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
value>
即+/-<
位宽>
'
进制>
数字>
size为对应二进制数的宽度;
base为进制;
value是基于进制的数字序列。
进制有如下4种表示形式:
二进制(b或B)、十进制(d或D或缺省)、十六进制(h或H)、八进制(o或O)
9、定义reg型标量型变量:
regqout;
//变量名qout
10、定义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:
一、选择题(多选)
1、成为IEEE标准的HDL有(CD)
A、ABEL-HDLB、AHDLC、VHDLD、VerilogHDL
2、QuartusII是(A)公司的(D)开发工具。
A、AlteraB、XilinxC、LatticeD、集成E、专用F、第三方
3、ModelSim是Mentor公司的出色的(C)软件,它属于编译型(C)器,速度快,功能强。
A、综合
B、编译
C、仿真、
D、布局布线
E、编程配置
4、使用Altera公司的QuartusII和FPGA器件能够进行(BEF)设计。
A、模拟电路设计
B、数字电路设计
C、PCB设计
D、高速电路设计
E、DSP设计
F、SOPC设计
5、使用VerilogHDL进行逻辑设计,端口类型有(ABC)
A、inputB、outputC、inoutD、buffer
6、使用VerilogHDL进行逻辑设计,可综合的变量类型有(ABF)
A、reg
B、wire
C、buffer
D、string
E、double
F、integer
7、a=5`b11001;
b=5`b10101;
下面那个是正确的(ABCD)
A、~a=5’b00110;
B、a&
b=5`b10001;
C、a|b=5`b11101;
8、下面那些语句可以被综合成电路(BCDE)F、while
A、initialB、alwaysC、assignD、`defineE、for
二、判断题
1、VHDL和VerilogHDL是一种HDL的两种名称(×
)
2VerilogHDL是IEEE标准(√)
3、相同的电路逻辑即可使用原理图方法输入也可使用HDL语言输入(√)
4、VerilogHDL语言编写的程序都是可以被综合的,都能形成网表电路。
(×
5、VerilogHDL语言即可用来做可综合的功能模块设计,又可以编写仿真文件实现对模块的测试。
(√)
6、“?
”是高阻Z的另一种表述符号。
(√)7COUNT与count是相同的标识符名称。
8、Verilog语言内部已经使用的词称为关键字或保留字,这些保留字用户不能作为变量或节点名字使用。
关键字都是大写的。
)9、下面3中连接符的使用能实现相同的功能(√)
A、{3{a,b}};
B、{{a,b},{a,b},{a,b}};
C、{a,b,a,b,a,b}
10initial语句可以被综合器综合成电路。
三、编程题
①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;
b01:
out=in1;
b10:
out=in2;
b11:
out=in3;
default:
out=x;
endcase
endmodule
③13、带同步清0/同步置1(低电平有效)的D触发器
moduledff_syn(q,qn,d,clk,set,reset);
inputd,clk,set,reset;
outputregq,qn;
always@(posedgeclk)
begin
if(~reset)beginq<
=1'
b0;
qn<
b1;
end
//同步清0,低电平有效
elseif(~set)beginq<
end
//同步置1,低电平有效
elsebeginq<
=d;
qn<
=~d;
end
④14、带异步清0/异步置1(低电平有效)的D触发器
moduledff_asyn(q,qn,d,clk,set,reset);
always@(posedgeclkornegedgesetornegedgereset)
if(~reset)beginq<
end
//异步清0,低电平有效
//异步置1,低电平有效
elsebeginq<
⑤18、分频器设计(偶数等占空比分频;
1:
15占空比分频)
A、
modulediv6(clk,rst,clk6);
inputrst,clk;
outputclk6;
regclk6;
reg[1:
0]cnt;
always@(posedgeclkorposedgerst)
begin
if(rst==1’b1)
cnt<
=2’b00;
elseif(cnt==2)begin
clk6<
=~clk6;
end
elsecnt<
=cnt+1;
endmodule
B、
modulediv1_15(clk,rst,clk16);
outputclk16;
regclk16;
reg[3:
=4’b0000;
clk16<
=1’b0;
elseif(clk16==15)
=1’b1;
elseclk16<
⑥19、画出状态转移图,并采用有限状态机设计一个彩灯控制器,要求控制8个LED灯实现如下的演示花型:
从两边往中间逐个亮;
全灭;
从中间往两头逐个亮;
循环执行上述过程
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_Arith.ALL;
USEIEEE.STD_LOGIC_Unsigned.ALL;
ENTITYsfwyIS
PORT(clk:
INSTD_LOGIC;
led:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
end;
ARCHITECTUREoneOFsfwyIS
signalled_r:
std_logic_vector(8DOWNTO0);
signaltmp:
std_logic_vector(25downto0);
signalq:
std_logic;
begin
process(clk)
ifclk'
eventandclk='
1'
thentmp<
=tmp+1;
endif;
endprocess;
q<
=tmp(25);
led<
=led_r(7DOWNTO0);
process(q)
ifq'
eventandq='
then
led_r<
=led_r(7DOWNTO0)&
0'
;
ifled_r="
000000000"
THEN--循环完毕吗?
led_r<
="
111111111"
--是,则重新赋初值
endif;
endif;
endone;
⑦20、画出状态转移图,并采用有限状态机设计一个“1001”串行数据检测器。
其输入、输出如下所示:
输入x:
000101010010011101001110101
输出z:
000000000010010000001000000
初始状态设为s0,此时检测数据序列为“0000”,当再检测到一个0时,仍为s0,当检测到1时,进入下一个状态s1,此时序列为“0001”;
当在状态s1检测到0时,进入到状态s2,此时序列为“0010”,当检测到1时,仍为s1;
当在状态s2检测