01 FPGA设计流程与Quartus设计软件

单元测验01

1、单选题:
RISC-V开源的是
选项:
A: 指令集架构
B: Verilog HDL源码
C: VHDL源码
D: 芯片
答案: 【 指令集架构

2、单选题:
FPGA设计流程的顺序是____。
I.设计输入,II.逻辑综合,III.适配,IV.生成配置文件
选项:
A: I. III. II. IV.
B: I. II. III. IV.
C: II. I. III. IV.
D: III. II. I. IV.
答案: 【 I. II. III. IV.

3、单选题:
‏本课程实验使用的芯片类型属于‏
选项:
A: ASIC
B: CPLD
C: FPGA
D: ASSP
答案: 【 FPGA

4、多选题:
将综合工具生成的电路文件加载到可编程芯片的过程称为
选项:
A: 编程
B: 下载
C: 配置
D: 上传
答案: 【 编程;
下载;
配置

5、多选题:
Verilog模块的端口类型有
选项:
A: input
B: output
C: inout
D: tristate
答案: 【 input;
output;
inout

6、多选题:
错误的模块定义语句是
选项:
A: module module_name (input a, b, output c);
B: module module_name (input a, b, output c)
C: module module_name (a,b,c);
D: module module_name (a,b,c)
答案: 【 module module_name (input a, b, output c);
module module_name (a,b,c)

7、判断题:
VHDL是Verilog HDL的简写。
选项:
A: 正确
B: 错误
答案: 【 错误

8、判断题:
多个assign持续赋值语句是按照书写的顺序执行的。
选项:
A: 正确
B: 错误
答案: 【 错误

9、判断题:
‍SystemVerilog包含了Verilog。‎
选项:
A: 正确
B: 错误
答案: 【 正确

10、判断题:
综合是指将HDL描述转变成门级逻辑电路。
选项:
A: 正确
B: 错误
答案: 【 正确

11、判断题:
Verilog HDL编译生成的目标代码最终被一个计算机执行。
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
实验指导中的代码“assign SD0 = S[7:0];”也可以写成“assign SD0[7:0] = S[7:0];”
选项:
A: 正确
B: 错误
答案: 【 正确

13、填空题:
‍常数5'he表示的二进制数是‌
答案: 【 01110

14、填空题:
‏常数6'B110011表示的二进制数是‍
答案: 【 110011

15、填空题:
用Verilog HDL 实现S11~S8 控制L11~L8 亮灭的assign赋值语句是(注:不要有多余的空格)
答案: 【 assign L[11:8]=S[11:8];

02 FPGA验证流程与远程实验平台

单元测验02

1、单选题:
远程实验平台推荐使用的浏览器为
选项:
A: 谷歌浏览器
B: 火狐浏览器
C: 微软IE浏览器
D: 其他浏览器
答案: 【 谷歌浏览器

2、单选题:
开关S0控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段a

3、单选题:
开关S1控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段b

4、单选题:
开关S2控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段c

5、单选题:
开关S3控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段d

6、单选题:
开关S4控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段e

7、单选题:
开关S5控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段f

8、单选题:
开关S6控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段g

9、单选题:
开关S7控制的数码管段的编号是
选项:
A: 段a
B: 段b
C: 段c
D: 段d
E: 段e
F: 段f
G: 段g
H: 段h(小数点)
答案: 【 段h(小数点)

10、判断题:
实验平台的虚拟面板和LabBoard_TOP模块对应的。
选项:
A: 正确
B: 错误
答案: 【 错误

11、判断题:
虚拟面板的虚拟元件是根据添加顺序和HDL代码对应的。
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
虚拟实验是以真实的硬件实验板为基础,通过软件界面进行实验操作。
选项:
A: 正确
B: 错误
答案: 【 正确

13、填空题:
‏根据点亮电平的高低,你判断远程实验板的数码管是共阴极的还是共阳极的?​
答案: 【 共阳极

14、填空题:
‏数码管的段是高电平点亮还是低电平点亮?‏
答案: 【 低电平

15、填空题:
‍LED指示灯点亮时的驱动电平是高电平还是低电平?‍
答案: 【 高电平

03 三态门和多路器

单元测验03

1、单选题:
以下代码描述的分别是?
assign c = ~ (a&b);
assign d = (a^b)
选项:
A: 或门,同或门
B: 与非门,异或门
C: 与门,或门
D: 或非门,异或门
答案: 【 与非门,异或门

2、单选题:
‍Verilog HDL中在always语句块中被赋值的信号,应该声明为______。‍
选项:
A: wire
B: reg
C: input
D: output
答案: 【 reg

3、单选题:
‌普通逻辑门的输出______连接在一起;三态门的输出______连接在一起;三态门的输出有______种状态,通过使能端控制,可以用于输出到总线。‍
选项:
A: 可以,可以,3
B: 可以,不可以,3
C: 不可以,可以,3
D: 不可以,可以,4
答案: 【 不可以,可以,3

4、单选题:
使用持续赋值语句可以描述三态门如下:

input En,Din;
output Dout;
assign Dout=En? Din : 1’bz;
当En为1时,Dout=______,
当En为0时,Dout=______.
选项:
A: Din,1
B: 高阻态,1
C: Din,高阻态
D: 高阻态,Din
答案: 【 Din,高阻态

5、单选题:
多路器的功能是从多个输入中选择________输出 ,使用持续赋值语句assign Y = S ? A : B; 可以描述一个________选________的多路器。
选项:
A: 一个,3,1
B: ​一个,2,1
C: ​多个,3,1
D: 多个,2,1
答案: 【 ​一个,2,1

6、单选题:
‍在Verilog HDL中,判断a等于b的表达式应该写为“a ______b”。‍
选项:
A: =
B: !=
C: < >
D: ==
答案: 【 ==

7、多选题:
语法格式{repetition_number { expr1,expr2,...,exprN} }表示复制操作,找出与{2{a,b } }结果相同的表达式
选项:
A: {2,a,b}
B: {{a,b},{a,b}}
C: {a,a,b,b}
D: {a,b,a,b}
答案: 【 {{a,b},{a,b}};
{a,b,a,b}

8、多选题:
‍从下面选出4选1多路器的描述​
选项:
A: module labx
(   output [3:0] S,
   output CO,
   input [3:0] A,B,
   input CI);
   assigan {CO,S[3:0]}=A+B+CI;
endmodule
B: module labx
(   input In0,In1,In2,IN3,
   input [1:0] Sel,
   output logic Out);
   always_comb
      case(Sel)
          2'b00: Out=In0;
          2'b01: Out=In1;
          2'b10: Out=In2;
          2'b11: Out=In3;
       default: Out=1'bx;
     endcase
endmodule
C: module labx(input [3:0] In,input [1:0] Sel,output Out);assign Out  = In[Sel];endmodule
D: module labx (input  logic [3:0] In,output logic [1:0] Out ); always_comb casez (In) 4’b???1: Out = 2'b00; 4’b??10: Out = 2'b01; 4’b?100: Out = 2'b10; 4’b1000: Out = 2'b11; default: Out = 2’bxx; endcaseendmodule 
答案: 【 module labx
(   input In0,In1,In2,IN3,
   input [1:0] Sel,
   output logic Out);
   always_comb
      case(Sel)
          2'b00: Out=In0;
          2'b01: Out=In1;
          2'b10: Out=In2;
          2'b11: Out=In3;
       default: Out=1'bx;
     endcase
endmodule;
module labx(input [3:0] In,input [1:0] Sel,output Out);assign Out  = In[Sel];endmodule

9、多选题:
‌假设a和b是位宽为4的向量,a的值为“1010”,b的值为“0101”,那么值为“1111”的表达式是()‌
选项:
A: ~a
B: a&b
C: a|b
D: a^b
答案: 【 a|b;
a^b

10、多选题:
‎在过程赋值语句always语句块里赋值,称为过程赋值,always@ 后面的括号里是敏感列表,如下用持续赋值语句描述了一个异或门电路,与它等价的过程赋值语句是()
input wire a,b;
output wire c;
assign c = a^b;‌
选项:
A: input wire a,b;
output reg c;
always@(a,b)
 assign c = a^b;
B: input wire a,b;
output wire c;
always@(a and b)
 assign c = a^b;
C: input wire a,b;
output reg c;
always@ *
 assign c = a^b;
D: input wire a,b;
output logic c;
always_comb
 assign c = a^b;
答案: 【 input wire a,b;
output reg c;
always@(a,b)
 assign c = a^b;;
input wire a,b;
output reg c;
always@ *
 assign c = a^b;;
input wire a,b;
output logic c;
always_comb
 assign c = a^b;

11、多选题:
‌总线遵循分时共享原则,选出正确的描述。​
选项:
A: 为了实现总线的分时使用,三态缓冲器是实现总线分时使用必不可少的逻辑元件。同一时刻可以有一个部件向总线输出数据。
B: 三态缓冲器像一扇阻隔逻辑部件输出的“门”,当输出使能有效,三态门打开,数据输出到总线上;当输出使能无效时,三态门隔断逻辑部件的数据输出,输出1。
C: 三态缓冲器输出高阻态时,不影响总线的状态。
D: 根据本验证结果,可以推断出当总线冲突时,总线的数据是“或”运算的结果。
答案: 【 为了实现总线的分时使用,三态缓冲器是实现总线分时使用必不可少的逻辑元件。同一时刻可以有一个部件向总线输出数据。;
三态缓冲器输出高阻态时,不影响总线的状态。

12、多选题:
使用远程实验平台虚拟面板验证三态门电路的功能
准备好数据开关,令DATA0=001,DATA1=010,DATA2=100,选出正确的描述。
选项:
A: 当OE0=0;OE1=0;OE2=0; 输出使能无效,数据开关的值无法传输到总线,总线的值显示为111;
B: 当OE0=1;OE1=0;OE2=0;
数据开关DATA0的值传输到总线,总线的值显示为001。
C: 当OE0=0;OE1=1;OE2=0;
数据开关DATA1的值传输到总线,总线的值显示为010。
D: 当OE0=0;OE1=0;OE2=1;
数据开关DATA2的值传输到总线,总线的值显示为100
答案: 【 当OE0=0;OE1=0;OE2=0; 输出使能无效,数据开关的值无法传输到总线,总线的值显示为111;;
当OE0=1;OE1=0;OE2=0;
数据开关DATA0的值传输到总线,总线的值显示为001。;
当OE0=0;OE1=1;OE2=0;
数据开关DATA1的值传输到总线,总线的值显示为010。;
当OE0=0;OE1=0;OE2=1;
数据开关DATA2的值传输到总线,总线的值显示为100

13、多选题:
‌使用远程实验平台虚拟面板验证三态门电路的功能
准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;
验证多个部件同时向总线输出,选出错误的描述。‏
选项:
A: 当OE0=1;OE1=1;OE2=0;
总线冲突,总线的值显示为011。
B: 当OE0=1;OE1=0;OE2=1;
总线冲突,总线的值显示为101
C: 当OE0=0;OE1=1;OE2=1;
总线冲突,总线的值显示为110
D: 当OE0=1;OE1=1;OE2=1;
总线冲突,总线的值显示为000
答案: 【 当OE0=1;OE1=1;OE2=0;
总线冲突,总线的值显示为011。;
当OE0=1;OE1=0;OE2=1;
总线冲突,总线的值显示为101;
当OE0=0;OE1=1;OE2=1;
总线冲突,总线的值显示为110

14、多选题:
使用远程实验平台虚拟面板验证2选1多路器电路的功能
准备好数据开关,令DATA0=001;DATA1=010;DATA2=011;
选项:
A: 当选择信号sel1=0,sel0=0时,电路输出端out输出来自DATA0的数据,OUT值显示为001;
B: 当选择信号sel1=0,sel0=1时,电路输出端out输出来自DATA1,OUT值显示为010;
C: 当选择信号sel1=1,sel0=0时,电路输出端out输出来自DATA2的数据,OUT值显示为011;
D: 当选择信号sel1=1,sel0=1时,电路输出端out输出来自DATA2的数据,OUT值显示为011。
答案: 【 当选择信号sel1=0,sel0=0时,电路输出端out输出来自DATA0的数据,OUT值显示为001;;
当选择信号sel1=0,sel0=1时,电路输出端out输出来自DATA1,OUT值显示为010;;
当选择信号sel1=1,sel0=0时,电路输出端out输出来自DATA2的数据,OUT值显示为011;;
当选择信号sel1=1,sel0=1时,电路输出端out输出来自DATA2的数据,OUT值显示为011。

15、多选题:
使用远程实验平台虚拟面板验证与或门构成的选择器电路功能
准备好数据开关,令DATA0=001;DATA1=010;DATA2=100;
选项:
A: 当OE0=1;OE1=1;OE2=0; Out的值显示为011;
B: 当OE0=1;OE1=0;OE2=1; Out的值显示为101;
C: 当OE0=0;OE1=1;OE2=1; Out的值显示为110;
D: 当OE0=1;OE1=1;OE2=1; Out的值显示为111。
答案: 【 当OE0=1;OE1=1;OE2=0; Out的值显示为011;;
当OE0=1;OE1=0;OE2=1; Out的值显示为101;;
当OE0=0;OE1=1;OE2=1; Out的值显示为110;;
当OE0=1;OE1=1;OE2=1; Out的值显示为111。

16、判断题:
‍数字逻辑电路有两大种类型,组合逻辑电路和时序逻辑电路,组合逻辑电路“没有记忆”,输出由输入决定,时序逻辑电路“有记忆”,输出不仅和当前输入有关,还跟以前的状态有关。‎
选项:
A: 正确
B: 错误
答案: 【 正确

17、判断题:
assign引导的持续赋值语句,可以描述组合逻辑电路和时序逻辑电路
选项:
A: 正确
B: 错误
答案: 【 错误

18、判断题:
‏硬件描述语言多条语句之间没有顺序,是由CPU并行执行的。‎
选项:
A: 正确
B: 错误
答案: 【 错误

19、判断题:
{ }是拼接运算符,用于将若干个信号的某些位拼接起来,例如:
wire [3:0] s;
wire [4:0] d;
d={1,s};
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
if-else语句和case语句,只能写在always语句块里
选项:
A: 正确
B: 错误
答案: 【 正确

21、判断题:
if-else和case语句都可以实现分支结构,
if-else语句有优先级,生成串行结构,延迟相等
case语句描述并行结构,电路延迟大。
选项:
A: 正确
B: 错误
答案: 【 错误

04 七段译码器

单元测验04

1、单选题:
‏2-4译码器有____位输入,____位输出,在输出的所有位中,只有其中1位有效,通常在计算机里用作____,  有一些译码器设有一个和多个使能控制输入端,又称为片选端,用来控制允许译码或禁止译码。‎
选项:
A: 2,4,地址译码器
B: 2,4,地址编码器
C: 4,2,地址译码器
D: 4,2,地址编码器
答案: 【 2,4,地址译码器

2、单选题:
‏4-2编码器有____位输入,____位输出,例如在计算机里用于响应中断请求的____,可以用if-else, ____等语句描述。‍
选项:
A: 4,2,BCD编码器,case
B: 4,2,优先级编码器,casez
C: 2,4,BCD编码器,case
D: 2,4,优先级编码器,case
答案: 【 4,2,优先级编码器,casez

3、判断题:
​描述组合逻辑的if语句应该有else分支。‍
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‌描述组合逻辑的case语句,可以不写default分支。‎
选项:
A: 正确
B: 错误
答案: 【 错误

5、填空题:
‌具有“翻译”功能的任意编码转换器有时候也称为译码器,这种电路能将输入二进制代码的各种状态,翻译成对应的输出信号。七段译码器是一种将输入编码转换为七段数码显示码输出的编码转换器,写出显示数字2,8,P,L的段码,例如,0的七段显示码为 0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a。
2的七段显示码为______;‎
答案: 【 1011011

6、填空题:
‎例如,0的七段显示码为 0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,
8的七段显示码为______.‎
答案: 【 1111111

7、填空题:
‏例如,0的七段显示码为 0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,
P的七段显示码为______.‍
答案: 【 1110011

8、填空题:
‍例如,0的七段显示码为 0111111,从左到右分别表示七段数码管的g,f,e,d,c,b,a,
L的七段显示码为______。‌
答案: 【 0111000

9、填空题:
‍用Verilog HDL 参数化设计的方法描述一个SIZE位的三态缓冲器‌‍module Buffer # (parameter SIZE=4)‌‍ ( output [SIZE-1:0] Dout,‌‍   input [SIZE-1:0] Din, ‌‍   input En );‌‍assign Dout = En ? Din : ________; ‌‍endmodule‌
答案: 【 {SIZE{1'bz}}##%_YZPRLFH_%##{SIZE{1'bZ}}

10、填空题:
​使用名称映射方式,将上题中的三态缓冲器Buffer在TOP模块中进行实例化 ‍​module TOP‍​ ( output [7:0] out,  ‍​   input [7:0] F,‍​   input en );  ‍​Buffer #(.SIZE(____)) buf (.En(____),.Din(____),.Dout(____)); ‍​endmodule ‍​注意,答案之间用#隔开,例如1#en#out#F‍
答案: 【 8#en#F#out

05 触发器和寄存器

单元测验05

1、多选题:
选出正确的锁存器描述
选项:
A: module Latch
( input D,E,
output reg Q);
always_latch
if(E)
Q=D;
endmodule
B: module Latch
( input D,E,
output reg Q);
always@(E or D)
if(E==1)
Q=D;
else
Q=Q;
endmodule
C: module Latch
( input D,E,
output reg Q);
always@(E or D)
if(E==1)
Q=D;
endmodule
D: module Latch
( input D,E,
output reg Q);
always@(E or D)
if(E==1)
Q=D;
else
Q=0;
endmodule
答案: 【 module Latch
( input D,E,
output reg Q);
always_latch
if(E)
Q=D;
endmodule;
module Latch
( input D,E,
output reg Q);
always@(E or D)
if(E==1)
Q=D;
else
Q=Q;
endmodule;
module Latch
( input D,E,
output reg Q);
always@(E or D)
if(E==1)
Q=D;
endmodule

2、多选题:
‌选出正确的触发器描述‌
选项:
A: module D_FF
( input D,Clock,
 output reg Q);
 always@(Clock,D)
   Q <= D;   endmodule
B: module D_FF
( input D,Clock,
 output reg Q);
 always@(posedge Clock)
   Q <= D;   endmodule
C: module D_FF
( input D,Clock,
 output reg Q);
 always@(negedge Clock)
   Q <= D;   endmodule
D: module D_FF
( input D,Clock,
 output reg Q);
 always_ff@(posedge Clock)
   Q <= D;   endmodule
E: module D_FF
( input D,Clock,
 output reg Q);
 always_ff
   Q <= D;   endmodule
答案: 【 module D_FF
( input D,Clock,
 output reg Q);
 always@(posedge Clock)
   Q <= D;   endmodule;
module D_FF
( input D,Clock,
 output reg Q);
 always@(negedge Clock)
   Q <= D;   endmodule;
module D_FF
( input D,Clock,
 output reg Q);
 always_ff@(posedge Clock)
   Q <= D;   endmodule

3、多选题:
‏选出正确的带复位控制的触发器‏
选项:
A: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(Posedge Clock or reset)
  if ( reset==1)
   Q <=0;   else
   Q <=D; endmodule
B: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock or posedge reset)
  if ( reset==1)
   Q <=0;  else
   Q <=D; endmodule
C: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock or negedge reset)
  if ( reset==1)
   Q <=0;   else
   Q <=D; endmodule
D: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock or posedeg reset)
  if ( reset==0)
   Q <=0;   else
   Q <=D; endmodule
E: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock or  reset)
  if ( reset==1)
   Q <=0;   else
   Q <=D; endmodule
F: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock)
  if ( reset==0)
   Q <=0;   else
   Q <=D; endmodule
G: module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock)
  if ( reset==1)
   Q <=0;   else
   Q <=D; endmodule
答案: 【 module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock or posedge reset)
  if ( reset==1)
   Q <=0;  else
   Q <=D; endmodule;
module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock)
  if ( reset==0)
   Q <=0;   else
   Q <=D; endmodule;
module D_FF
( input D,Clock,reset,
 output reg Q);
 always@(posedge Clock)
  if ( reset==1)
   Q <=0;   else
   Q <=D; endmodule

4、多选题:
‌选出具有使能控制的触发器或寄存器的正确描述。‌
选项:
A: module D_ff
(  input D,CLK,En,
 output reg Q );
 always@(posedge CLK)
  begin  
    if (En)     Q <= D;   end endmodule
B: module D_ff
(  input D,CLK,En,
 output reg Q );
 always@(posedge CLK or posedge En)
  begin  
    if (En)      Q <=0;             else      Q =D;   endendmodule
C: module D_ff
(  input D,CLK,
 output reg Q );
 always@(posedge CLK)
  begin      Q <= D;   end endmodule
D: module D_ff
(  input D,CLK,En,
 output reg Q );
 
wire gateclk;
assign gateclk=(En&CLK);
 always@(posedge GATECLK)
  begin  
    if (En)      Q < =D;   end endmodule
E: module D_ff
(  input CLK,load,
 input [3:0] D,
 output reg [3:0] Q );
 always@(posedeg CLK)
  begin  
    if (load)      Q <= D;   end end

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注