*1.下列对异步信号进行同步的描述错误的是(使用锁存器)。
采用保持寄存器加握手信号的方法
特殊的具体应用电路结构,根据应用的不同而不同
使用锁存器
异步 FIFO
*2.FPGA 的可编程是主要基于什么结构(查找表(LUT))。
查找表(LUT)
ROM 可编程
PAL 可编程
与或阵列可编程
解析:
FPGA基于查找表结构和SRAM CMOS工艺,集成度高、速度快、成本低;
CPLD基于乘积项结构和EECMOS工艺,与FPGA相比,集成度稍低一些,相同规模下成本略高。
*3.对时钟约束“create_clock -name clk100 -period 10 -waveform {0.00 5.00} [get_ports ClkIn]”的表述不正确的是(0到5ns期间为不定态)。
周期为10ns
0到5ns期间为不定态
占空比为50%
时钟信号名称为“clk100 ”
*4.下列哪些语句不可以被综合成电路(initial)。
initial
always
assign
For
解析:
(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,parameter。
(2)所有综合工具都不支持的结构:time,defparam,$finish,fork,join,initial,delays,UDP,wait。
(3)(3)有些工具支持有些工具不支持的结构:casex,casez,wand,triand,wor,trior,real,disable,forever,arrays,memories,repeat,task,while。
*5.片上可编程器件的英文缩写是(SOPC)。
SOP
SOPC System On a Programmable Chip
SOC System on Chip
SPI
*6.下列关于同步和异步复位描述正确的是(同步复位需要在时钟沿来临的时候才会对整个系统进行复位)。
同步复位是不受时钟影响(异步复位:不受时钟影响)
使用FPGA设计时芯片的异步复位和同步复位可随意替换使用
同步复位需要在时钟沿来临的时候才会对整个系统进行复位
同步复位最大的优点是, 数据通路可以不依赖于时钟而复位可用
解析:
同步复位在时钟沿才复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。
异步复位是不受时钟影响的,需要一个全局的信号来对整个芯片进行整体的复位,到一个初始的确定状态。而同步复位需要在时钟沿来临的时候才会对整个系统进行复位。使用FPGA 设计时芯片的异步复位必须要走全局网络。
异步复位最大的优点是, 数据通路就可以不依赖于时钟而确保清洁可控。然而, 异步复位 STA (静态时序分析) 的复杂性要高于同步复位设计; 如果异步复位信号在触发器时钟有效沿附近“释放”(复位信号从有效变为无效) 的话, 可能会导致触发器输出的亚稳态。
*7.一个四位十六个状态的格雷码计数器,起始值为1001,经过100个时钟脉冲作用之后的值为(0011)。
0101
0011
0110
0000
解析:https://blog.csdn.net/Reborn_Lee/article/details/98242445
*8.下列关于亚稳态描述错误的是(异步FIFO不能用于解决亚稳态问题)。
电路处于中间状态的时间变长,使得电路“反应”迟钝的现象,叫做亚稳态
对于单比特控制信号采用二级触发器缓冲,可以几乎消除亚稳态
对于多比特数据可以采用握手的方式来消除亚稳态
异步FIFO不能用于解决亚稳态问题
解析:
什么叫亚稳态?如何解决亚稳态。
由于建立时间或者保持时间不满足而导致触发器需要花很长时间来实现输出逻辑达到标准电平,也就是说电路处于中间状态的时间变长,使得电路“反应”迟钝的现象,叫做亚稳态。
例如输入信号在时钟有效沿的建立时间与保持时间之间改变了,导致不满足触发器的建立时间和保持时间,导致输出有一段时间的不稳定态,就是亚稳态。
解决亚稳态的办法很多,需要具体情况具体分析:
例如,对于单比特控制信号从慢时钟到快时钟域同步,需要采用二级触发器缓冲,可以几乎消除亚稳态。
对于多比特数据从慢时钟域到快时钟域的传输,我们可以采用握手的方式来消除亚稳态。
而异步FIFO可以解决所有亚稳态问题,几乎通吃。无论是从慢时钟到快时钟域还是从快时钟域到慢时钟域的信号传输,我们都可以采用异步FIFO的方式来解决亚稳态。
对于复位信号,可以采用异步复位,同步撤离的方式来解决亚稳态。
*9.关于FPGA芯片内存储器资源描述错误的是(使用BLOCK RAM资源需占用额外的逻辑资源,并且速度慢)。
FPGA内部有BLOCK RAM存储器
使用BLOCK RAM资源需占用额外的逻辑资源,并且速度慢
BLOCK RAM由一定数量固定大小的存储块构成的
FPGA内部有由LUT配置成的分布式存储器
解析:
FPGA 芯片内有两种存储器资源:一种叫 block ram,另一种是由 LUT 配置成的内部存储器(也就是分布式 ram)。Block ram 由一定数量固定大小的存储块构成的,使用 BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的 BLOCK RAM 资源是其块大小的整数倍
*10.INTEL FPGA芯片不包括(Kintex-7)。
Cyclone V
Kintex-7
Arria
Stratix
*11.关于Quartus软件产生的编程文件描述错误的是(MCS文件也可用于Quartus编程)。
sof 是SRAM Object File ,下载到FPGA 中,断电丢失
MCS文件也可用于Quartus编程
FPGA 工程最终生产两种不同用途的文件,它们分别是.sof 和.pof
pof 是Programmer Object File,下载到配置芯片中,上电重新配置FPGA
*12.IP 核在EDA 技术和开发中占有很重要的地位,提供VHDL 硬件描述语言功能块,但不涉及实现该功能模块的具体电路的IP 核为(软件IP)。
硬件IP
固件IP
软件IP
都不是
*13.大规模可编程器件主要有CPLD 和FPGA 两类,下面对FPGA 结构与工作原理描述中,正确的是(基于SRAM 的FPGA 器件,每次上电后必须进行一次配置)。
FPGA 全称为复杂可编程逻辑器件
FPGA 是基于哈佛结构的可编程逻辑器件
基于SRAM 的FPGA 器件,每次上电后必须进行一次配置
在Intel公司生产的器件中, MAX7000 系列属于FPGA结构
*14.大规模可编程器件主要有CPLD 和FPGA 两类,其中CPLD 通过(可编程乘积项逻辑)实现其逻辑功能。
输入缓冲
可编程乘积项逻辑
查找表(LUT)
输出缓冲
*15.下列不属于Verilog HDL中的循环语句是(jump)。
jump
for
while
Repeat
解析:
Verilog 循环语句有 4 种类型,分别是 while,for,repeat,和 forever 循环。循环语句只能在 always 或 initial 块中使用,但可以包含延迟表达式。
*16.如果网线型变量说明后未使用,那么其缺省值为(z)。
0
1
x
Z
*17.下面程序段的运行结果不正确的是(70 r=0)。
`timescale 10ns/1ns
fork
#20 r=1’b 0;
#10 r=1’b 1;
#15 r=1’b 1;
#25 r=1’b 1;
#5 r=1’b 0;
join
initial $monitor($time ,,,”r=%b”,r );
Endmodule
0 r=x
45 r=1
70 r=0
20 r=0
*18.实现下列结果正确表达式为(assign out=sel? in1:in0)。
assign out=sel&& in1&&in0
assign out=sel? in1:in0
assign out=sel||in1||in0
assign out=sel|| in1&&in0
*19.在一组格雷码中,任意相邻的两组编码之间只有一位不同,常用于通信系统。二进制编码转化为格雷码编码的步骤是:格雷码最高位与二进制码相同;格雷码第i位等于二进制码的第i与第i+1位异或。补充完整下列9位二进制码转9位格雷码编码器。 答案:AC
module Bin2Gray #(
parameter PTR = ( 1 )
) (
input wire [PTR : 0] Bin,
output wire [PTR : 0] Gray
);
assign Gray[PTR] = Bin[PTR];
generate
( 2 ) i;
for( i = 0; i < PTR; i++ ) begin
assign Gray[i] = Bin[i] ^ Bin[i+1];
end
endgenerate
endmodule
请在下面选择正确的答案组合
(1) A.8 B.7 C.9 D.10
(2) A.int B.real C.genvar D.char
(1).B (2).C
(1).D (2).A
(1).A (2).C
(1).C (2).D
*20.关于锁存器(latch)和触发器(flip-flop)的描述错误的是(锁存器为边缘敏感)。
电平敏感的存储器件称为锁存器
锁存器可分为高电平锁存器和低电平锁存器
触发器是有交叉耦合的门构成的双稳态的存储原件
锁存器为边缘敏感
*21.Intel FPGA都有以下哪几个系列(全部)。 【多选题】
Stratix
Cyclone
Arria
AgileX
*22.Cyclone V SoC FPGA里有以下哪些资源(全部)。 【多选题】
HPS(Hard Process System)
LAB
时钟资源
IOB
*23.以下哪些是组合逻辑电路中常见的逻辑门(异或门 与门 与非门)。 【多选题】
异或门
与门
与非门
D触发器
*24.Nios II软核里可以包含以下哪些组件(全部)。 【多选题】
地址发生器
异常控制器、控制寄存器组
程序控制器、通用寄存器组
中断控制器、算数逻辑单元
*25.Cyclone V SoC硬核处理器系统设计中会包含哪些接口或总线(全部)。 【多选题】
AXI-HPS to FPGA
AXI-FPGA to HPS
AXI-Low Height
Avalon-MM
*26.Verilog硬件描述语言中包含的基础类型有(全部) 【多选题】
reg型
wire型
integer型
parameter型
*27.下面关于Avalon-MM总线描述正确的是(ABC) 【多选题】
Avalon-MM是Avalon Memory-Mapped的简写
Avalon-MM总线支持master和slave端进行数据的读写
Avalon-MM主要用于微处理器、存储器、DMA传输等
Avalon-MM不支持master从slave端读取数据
*28.Verilog硬件描述语言中包含的基础类型有(全部)。 【多选题】
reg型
wire型
integer型
parameter型
*29.下列哪些电路属于常用的组合逻辑电路(ABC)。 【多选题】
多路选择器
比较器
38译码器
Pipeline流水线寄存器
*30.关于下面代码说法正确的是(ACD)。
module mult_s (out, clk, a, b);
output [15:0] out;
input clk;
input signed [7:0] a;
input signed [7:0] b;
reg signed [7:0] a_reg;
reg signed [7:0] b_reg;
reg signed [15:0] out;
wire signed [15:0] mult_out;
assign mult_out = a_reg * b_reg;
always @ (posedge clk)
begin
a_reg