文章目录
- 单选题
- 1.已知“a=1'b1;b=3'b001;”,那么{a,b}=()
- 2.描述组合逻辑时,当if语句不需要有else分支时,不写else分支,可以节省面积()
- 3.reg [255:0] mem [31:0];该声明定义了一个位宽为32bits,深度为256的memory()
- 4.现有表达式expr=cond_expr?expr1:expr2,如果cond_expr为x或者z,expr1=1001;expr2=1010,则expr应为()【易错】
- 5.同步时序电路的状态只在统一的时钟脉冲控制下才同时变化一次,如果时钟脉冲没有到来,即使输入信号发生变化,电路的状态仍不改变()
- 6.如下一个分频电路,触发器DIV_FF的建立时间为2ns,保持时间为2ns,逻辑延时为6ns,反相器INV_1、INV_2的逻辑延时为2ns,连线延时为0。那么该电路正常工作的最高频率为多少?()
- 7.循环表达式的循环次数必须为常数()【易错】
- 8.下面哪种异步处理的方法完全正确 ()【易错】
- 9.下列降功耗措施哪个可以降低峰值功耗()
- 10.如下Modelsim命令在Testbench中的执行顺序正确的是()【基础,易错】
- 11.在同步电路设计中,电路的时序模型如下:T1为触发器的时钟端到数据输出端的延时,T2和T4为连线延时,T3为组合逻辑延时,T5为时钟网络延迟。假设时钟clk的周期为Tcycle、Tsetup分别为触发器的setuptime和hold time。那么,为了保证数据正确采样(该路径为非multi-cycle路径),下面等式是否正确?()
- 12.相较于模拟通信系统,以下不属于数字通信系统优势的是()
- 13.假设输入信号X位宽为10bit,InputA位宽为5bit,InputB位宽为14bit,实现Y=X*InputA+InputB功能,并要求不损失精度,那么输出信号Y位宽应不小于()
- 14.下图是长除法CRC4电路,请选择对应的多项式()【易错】
- 15.亚稳态状态是必须避免的,亚稳态现象可以导致如下后果()
- 16.如下图,对时钟到输出时间分析正确的是()【易错】
- 17.以下说法错误的是()
- 18.编写Verilog HDL程序时,变量的定义不可以与关键词冲突()
- 19.为了保证验证过程的效率,需要想到什么马上就验证什么()
- 20.以下描述错误的是()【易错选】
- 21.异步FIFO读写地址编码常采用独热码,以便于读写地址跨异步时钟域处理()【易错】
- 22.两个同源时钟之间可能是同步时钟,也可能是异步时钟()
- 23.形式验证技术需要外界提供测试向量和时钟激励()
- 24.下列跨时钟域设计存在问题的是()
- 25.异步时钟数据采样的方法错误的是()
- 26.(1)(2)所描述的电路功能是否相同?哪种描述综合结果面积较小?()【易错】
- 27.表示任意两位无符号十进制数需要()位二进制数
- 28.随机测试不具有目标性,我们在验证中不应该使用随机测试,应该全部采用直接测试激励()
- 29.下面两段代码中in、q1、q2和q3的初值分别为0、1、2、3,那么经历1个时钟周期后,左侧q3的值和右侧q3的值分别变成了()
- 30.十六路数据选择器的地址输入端至少需要几根线()
- 31.乒乓buffer可以提高系统的数据吞吐量,提高系统的处理并行度()
- 32.组合逻辑电路的逻辑冒险现象是由于()引起的
- 33.下面不属于时钟基本要素的是()
- 34.从后端设计考虑,在必须使用门控时钟的时候,需要遵循一个原则:门控时钟的输出只能跟着时钟信号进行跳变,而不能跟着控制信号进行跳变,也就是说对于用NAND Gate或者AND Gate实现的门控时钟,控制信号只能在时钟的低电平处进行跳变;对于用OR Gate或者NOR Gate实现的门控时钟,控制信号只能在时钟的高电平处跳变()【易错】
- 35.假设一个3bit计数器(计数范围0~6)工作在36MHz时钟域下,要把此计数器的值传递到另一异步100MHz时钟域,以下方式不正确的是()
- 36.下面有关SRAM和DRAM的叙述,正确的有()【易错选】
- 37.以下触发器不是按功能分类的是()
- 38.时钟的占空比指的是()
- 39.在异步FIFO设计中,满信号由读时钟产生,空信号由写时钟产生()
- 多选题
单选题
1.已知“a=1’b1;b=3’b001;”,那么{a,b}=()
【A】3’b001
【B】3’b101
【C】4’b0011
【D】4’b1001
解析:位拼接运算符{},用这个运算符可以把两个或多个信号的某些位拼接起来进行运算操作。已知“a=1’b1;b=3’b001;”,那么{a,b}=4’b1001, {b,a}=4’b0011, {4{a}}=4’b1111, {b,4{a}}=7’b001_1111。
参考答案:D
2.描述组合逻辑时,当if语句不需要有else分支时,不写else分支,可以节省面积()
【A】正确
【B】错误
解析:在描述组合逻辑时,只有if没有else,会生成锁存器,并不会节省面积。
参考答案:B
3.reg [255:0] mem [31:0];该声明定义了一个位宽为32bits,深度为256的memory()
【A】正确
【B】错误
解析:该声明定义了一个位宽为256bits,深度为32的memory。
参考答案:B
4.现有表达式expr=cond_expr?expr1:expr2,如果cond_expr为x或者z,expr1=1001;expr2=1010,则expr应为()【易错】
【A】1010
【B】10xx
【C】1001
解析:如果cond_expr为1,则expr=expr1;如果cond_expr为0,则expr=expr2;如果cond_expr为x或者z,那么使用如下表将expr1和expr2的结果逐位合并,计算最终结果。结果为10xx。
?: | 0 | 1 | x | z |
---|---|---|---|---|
0 | 0 | x | x | x |
1 | x | 1 | x | x |
x | x | x | x | x |
z | x | x | x | x |
参考答案:B
5.同步时序电路的状态只在统一的时钟脉冲控制下才同时变化一次,如果时钟脉冲没有到来,即使输入信号发生变化,电路的状态仍不改变()
【A】正确
【B】错误
解析:时序逻辑电路有两种形式:一是同步时序电路,电路状态只在统一的时钟脉冲控制下才同时变化一次,如果时钟脉冲没有到来,即使输入信号发生变化,电路的状态仍不改变;二是异步时序电路,电路状态变化不是同时发生的,它没有统一的信号脉冲,输入信号的变化就能引起状态的变化。
参考答案:A
6.如下一个分频电路,触发器DIV_FF的建立时间为2ns,保持时间为2ns,逻辑延时为6ns,反相器INV_1、INV_2的逻辑延时为2ns,连线延时为0。那么该电路正常工作的最高频率为多少?()
解析:最小时钟:
T c l k = T s e t u p + T c o + T c o m b − T s k e w Tclk = Tsetup+Tco+Tcomb-Tskew Tclk=Tsetup+Tco+Tcomb−Tskew
其中:
- Tsetup = DIV_FF的建立时间
- Tco = DIV_FF的逻辑延时
- Tcomb = INV_2的逻辑延时
- Tskew = 0
最小时钟周期= DIV_FF的逻辑延时+INV_2的逻辑延时+DIV_FF的建立时间=10ns,所以最高频率为100MHz。
参考答案:100MHZ
7.循环表达式的循环次数必须为常数()【易错】
【A】正确
【B】错误
解析:循环变量可以是常数、变量、表达式,但是要求可综合只能是常数!
参考答案:B
8.下面哪种异步处理的方法完全正确 ()【易错】
【A】在对数据总线进行异步处理前转化成Gray Code,然后打拍处理,同步后再转换成原码
【B】在模块A,有两个控制信号通过正确的同步方法把两个信号进行同步到B时钟域,但是在B时钟域,对这两个同步过来的信号进行了逻辑运算,得到另外一个信号
【C】实现异步FIFO时,在地址穿越时钟域前转化成Gray Code
【D】单比特信号在跨越时钟域前不需要寄存器输出
解析;在对数据总线进行异步处理时不能转化成格雷码然后打拍处理,例如,先后两个时钟周期分别传过来4’0001,4’0100,转化为格雷码分别为4’b0001,4’b0110,这两个数据有3位不同,不能进行打拍处理(只有当相邻两个时钟周期最多变化1位的情况下才可以进行打拍处理)所以A错误;B选项,应该先进行逻辑运算,然后将结果通过正确的同步方法同步到B时钟域;C选项正确;D选项,在跨越时钟域之前应该先寄存一拍,消除毛刺。
参考答案:C
9.下列降功耗措施哪个可以降低峰值功耗()
【A】大幅度提高HVT比例
【B】Memory shut down
【C】Power gating
【D】静态模块级Clock gating
解析:Memory shut down,Power gating是将暂时不用的部分关闭Power,主要降低静态功耗;Clock gating是将暂时不用的部分切断时钟,切断时钟后信号不翻转,所以会降低信号翻转率,主要降低动态功耗;峰值功耗指的是最大功耗,可以想象,当各个模块都在工作时并且正好翻转到NMOS和PMOS都处于开启状态时(也就是短路状态下),芯片的功耗是最大的。而由HVT(高阈值电压)的器件组成的电路的短路电流是小于由LVT(低阈值电压)的器件组成的电路的短路电流的,所以大幅度提高HVT的比例,可以降低峰值时的电流,所以可以降低峰值功耗。
参考答案:A
10.如下Modelsim命令在Testbench中的执行顺序正确的是()【基础,易错】
【A】vlib、vmap、vsim、vlog
【B】vlog、vlib、vmap、vsim
【C】vlib、vmap、vlog、vsim
【D】vlib、vlog、vmap、vsim
解析:vlib是建库命令,vmap是映射库命令,vlog是编译命令,vsim是启动仿真器命令。例:
//1. 建立work库
vlib work
//2.映射库
vmap work work
//3.编译cnt_tb.v cnt.v
vlog cnt_tb.v cnt.v
//4.启动仿真器,运行仿真
vsim cnt_tb/vsim cnt
参考答案:C
11.在同步电路设计中,电路的时序模型如下:T1为触发器的时钟端到数据输出端的延时,T2和T4为连线延时,T3为组合逻辑延时,T5为时钟网络延迟。假设时钟clk的周期为Tcycle、Tsetup分别为触发器的setuptime和hold time。那么,为了保证数据正确采样(该路径为非multi-cycle路径),下面等式是否正确?()
【A】正确
【B】错误
解析:根据题意可得到如下典型的静态时序分析的模型,根据静态时序分析的知识(数字设计中设计和时序都很重要,如果没有了解的建议阅读书籍《静态时序分析与建模》,当然也可以参考博主写的相关博客,是从多处学习提炼总结浓缩的知识点),我们可以得到所列出计算时间的公式为正确.
建立时间:
T s e t u p ≤ T c l k + T s k e w − T c o − T c o m b Tsetup \leq Tclk+Tskew-Tco-Tcomb Tsetup≤Tclk+Tskew−Tco−Tcomb
保持时间:
T
h
o
l
d
≤
T
c
o
+
T
c
o
m
b
−
T
s
k
e
w
Thold \leq Tco+Tcomb-Tskew
Thold≤Tco+Tcomb−Tskew
参考答案:A
12.相较于模拟通信系统,以下不属于数字通信系统优势的是()
【A】易于加密,保密性好
【B】设备易于集成,易微型化
【C】传输差错可控
【D】传输带宽小
解析:数字信号易于加密处理,所以数字通信保密性强,选项A正确;数字通信系统具有功耗低,重量低且体积小的优点,B选项正确;数字信号通过差错控制编码,可提高通信的可靠性,C选项正确;数字通信领域的带宽(数据率)与模拟通信领域的带宽(频率宽度)是两个不同的概念,没办法比较,所以D错误
参考答案:D
13.假设输入信号X位宽为10bit,InputA位宽为5bit,InputB位宽为14bit,实现Y=X*InputA+InputB功能,并要求不损失精度,那么输出信号Y位宽应不小于()
【A】16bit
【B】29bit
【C】15bit
【D】24bit
解析:这里保证精度的含义是指数据没有溢出,需要使用足够的位数来保存Y的值,X位宽为10bit,InputA位宽为5bit,假设InputA的值为最大所有位都为1。X和InputA相乘,需要将X的值左移5位。得到乘积的结果为15位,加上14bit的InputB,假设全为1,需要进位16bit来保存结果,所以参考答案选A.
参考答案:A
14.下图是长除法CRC4电路,请选择对应的多项式()【易错】
【A】G(x)=x3+x+1
【B】G(x)=x3+x2+1
【C】G(x)=x4+x+1
【D】G(x)=x4+x3+1
解析:四个寄存器从左向右(看寄存器的箭头方向从哪到哪,我们写的时候也保持一致,相关知识点关键词可以搜“线性反馈移位寄存器(LFSR)”)依次输出: x 1 ( r e g 3 ) 、 x 2 ( r e g 2 ) 、 x 3 、 x 4 x^1(reg3)、x^2(reg2)、x^3 、x^4 x1(reg3)、x2(reg2)、x3、x4
参考答案:D
15.亚稳态状态是必须避免的,亚稳态现象可以导致如下后果()
【A】降低系统可靠性
【B】其它都是
【C】功耗损失
【D】引起芯片失败
解析:由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导致亚稳态的传播),所以A选项正确;对于CMOS来说,输出0~1的中间电压值时可能处于NMOS和PMOS都导通的状态(即短路状态),这个时候流过MOS管的电流是很大的(远远大于输出0或者输出1状态时的电流值),所以亚稳态的传播可能会造成功耗损失,C选项正确;亚稳态会导致逻辑功能错误,严重的亚稳态传播会导致芯片无法正常工作,最终导致芯片失败,所以D选项正确,所以选择B。
参考答案:B
16.如下图,对时钟到输出时间分析正确的是()【易错】
【A】tCO=Data_Delay-Clock_Delay+Micro_Tco
【B】tCO=Clock_Delay-Data_Delay+Micro_Tco
【C】tCO=Data_Delay+Clock_Delay+Micro_Tco
【D】tCO=Data_Delay+Clock_Delay-Micro_Tco
解析:利用静态时序分析的知识,时钟到输出的时间分析时间为C选项,所以我们得到C选项正确。
参考答案:C
17.以下说法错误的是()
【A】异步时序电路的状态变化不是同时发生的,它没有统一的信号脉冲,输入信号的变化就能引起状态的变化
【B】Moore型电路的输出仅与电路的现态有关
【C】同步时序电路的状态只在统一的信号脉冲控制下才同时变化一次,如果信号脉冲没有到来,即使输入信号发生变化,电路的状态仍不改变
【D】Mealy型电路的输出仅是输入变量的函数
解析:异步时序电路是电路中触发器的时钟输入端没有接在统一的时钟脉冲上,或电路中没有时钟脉冲(如SR锁存器构成的时序电路),电路中各存储单元的状态更新不是同时发生,所以A选项正确;Moore型电路输出仅与电路的现态有关,Mealy型输出不仅和当前状态有关而且和输入有关,所以B选项正确,同时D选项错误;同步时序电路中存储电路状态的转换是在同一时钟源的同一脉冲边沿作用下同步进行的,所以C选项正确。
参考答案:D
18.编写Verilog HDL程序时,变量的定义不可以与关键词冲突()
【A】正确
【B】错误
解析:注意在编写Verilog HDL程序时,变量的定义不能与关键词相同。
参考答案:A
19.为了保证验证过程的效率,需要想到什么马上就验证什么()
【A】正确
【B】错误
解析:验证过程是需要制订完整和系统的测试方案来进行全面的验证。
参考答案:B
20.以下描述错误的是()【易错选】
【A】触发器按结构形式分为:基本RS触发器、时钟RS触发器、主从结构触发器、边沿触发器等
【B】触发器按功能分有:RS触发器、JK触发器、D触发器、T触发器等
【C】触发器是能够记忆一位二值信号的基本逻辑单元,是构成各种数字系统的基本逻辑单元
【D】触发器都有保持和反转功能
解析:
- 按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。
- 按触发方式不同分为:电平触发器、边沿触发器和脉冲触发器。
- 按电路结构不同分为:基本RS触发器和钟控触发器。
- 按存储数据原理不同分为:静态触发器和动态触发器。
- 按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。
由上述分析,所以选项A和选项B正确;触发器能够存储1位二值信号的基本单元电路,所以选项C正确;例如,D触发器是一种最简单的触发器,在触发边沿到来时,将输入端的值存入其中,并且这个值与当前存储的值无关,D触发器并没有翻转的功能,D选项错误。
参考答案:D
21.异步FIFO读写地址编码常采用独热码,以便于读写地址跨异步时钟域处理()【易错】
【A】正确
【B】错误
解析:独热码:有多少状态就有多少比特,只有一个比特为1,其余比特都为0。格雷码:又称循环码,相邻两个码之间只有一位发生变化。异步FIFO读写地址编码常采用格雷码,然后打两拍跨时钟域处理。
十进制 | 二进制 | 格雷码 | 独热码 |
---|---|---|---|
0 | 000 | 000 | 0000_0001 |
1 | 001 | 001 | 0000_0010 |
2 | 010 | 011 | 0000_0100 |
3 | 011 | 010 | 0000_1000 |
4 | 100 | 110 | 0001_0000 |
5 | 101 | 111 | 0010_0000 |
6 | 110 | 101 | 0100_0000 |
7 | 111 | 100 | 1000_0000 |
参考答案:B
22.两个同源时钟之间可能是同步时钟,也可能是异步时钟()
【A】正确
【B】错误
解析:由同一个时钟源产生的时钟相位关系是固定的,为同步时钟;由不同时钟源产生的时钟相位关系不确定,为异步时钟。(个人理解,参考虞希清版《专用集成电路设计实用教程》p56“同步电路是指电路的所有时钟来自同一时钟源;异步电路是指电路的时钟来自不同时钟源”)
参考答案:B
更多可参考:
23.形式验证技术需要外界提供测试向量和时钟激励()
【A】正确
【B】错误
解析:验证有动态验证和静态验证,动态验证需要外界提供测试向量和时钟激励,而形式验证技术属于静态验证,使用基于数学变换的静态分析来确定硬件或软件行为的正确性,不需要外界提供测试向量和时钟激励。
参考答案:B
24.下列跨时钟域设计存在问题的是()
【A】FIFO设计地址跨时钟域,可以通过格雷码转换+打2拍方式
【B】希望得到C = A & B,A、B在clkx域,C在clky时钟域,则单独用clky对A和B分别打2拍产生Adly2和Bdly2,然后再让C = Adly2& Bdly2
【C】单bit数据跨时钟域,在目的时钟域打3拍后使用,打拍过程中不带组合逻辑
【D】一组数据线跨时钟域,如果数据有足够的持续不变时间,可以通过握手机制实现同步化
解析:希望得到C = A & B,A、B在clkx域,C在clky时钟域,则先在clkx域进行A & B的运算,然后将结果在clky域打两拍处理得到C。
参考答案:B
25.异步时钟数据采样的方法错误的是()
【A】使用FIFO隔离进行多bit采样
【B】高频时钟直接采样低频时钟的多bit数据
【C】单bit高频时钟脉冲展宽后给低频时钟进行采样
【D】握手信号后再采样
解析:多bit信号采样一般采用异步FIFO的方法,A正确;跨时钟域即便是高频时钟采样低频时钟也不可以直接采样,直接采样可能会造成亚稳态的传播,严重影响电路的性能,B错误;低频时钟采样高频信号,必须先对高频信号进行展宽处理,否则采样不完全,会丢失数据,C正确。异步时钟数据采样可以采用握手的方法,D正确。
参考答案:B
26.(1)(2)所描述的电路功能是否相同?哪种描述综合结果面积较小?()【易错】
【A】相同,(2)面积小
【B】不同,没法比较面积
【C】相同,(1)面积小
【D】相同,面积与信号a、b的位宽有关
(1)
if(select == 1'b1)
sum <= a+b;
else
sum <= c+d;
(2)
if(select == 1'b1) begin
temp1 <= a;
temp2 <= b;
end
else begin
temp1 <= c;
temp2 <= d;
end
assign sum = temp1 + temp2;
解析:(1)先“加”后“选”,综合处的电路如下图所示:
(2)先“选”后“加”,综合处的电路如下图所示:
写法(2)比(1)少了一个加法器,减少了硬件的面积!
参考答案:A
27.表示任意两位无符号十进制数需要()位二进制数
【A】7
【B】8
【C】6
【D】5
解析:最大的两位无符号十进制数是99,介于26-1和27-1之间,需要用7位二进数表示。
参考答案:A
28.随机测试不具有目标性,我们在验证中不应该使用随机测试,应该全部采用直接测试激励()
【A】正确
【B】错误
解析:这里的直接测试指的是定向测试。在验证中应该采用随机测试与定向测试相结合的方法,随机测试更快,去发现大部分的漏洞,定向测试更有目标性,去验证随机测试很难覆盖到的部分漏洞。
参考答案:B
29.下面两段代码中in、q1、q2和q3的初值分别为0、1、2、3,那么经历1个时钟周期后,左侧q3的值和右侧q3的值分别变成了()
【A】0,0
【B】0,3
【C】2,0
【D】0,2
always @(posedge clk) begin
q1 = in;
q2 = q1;
q3 = q2;
end
always @(posedge clk) begin
q1 <= in;
q2 <= q1;
q3 <= q2;
end
解析:“=”是阻塞赋值,当clk的上升沿到来时,in的值赋给q1,然后q1的值赋给q2,然后q2的值赋给q3。最终结果q3等于in的值,为0。“<=”是非阻塞赋值,当clk的上升沿到来时,in的值赋给q1,同时q1的值赋给q2,同时q2的值赋给q3。最终结果q3等于q2的值,为2。参考下图:
以上两个图片参考《Verilog 数字系统设计教程》夏宇闻版
参考答案:D
30.十六路数据选择器的地址输入端至少需要几根线()
【A】2
【B】4
【C】16
【D】8
解析:十六路数据选择器有16个输入,所以需要16个地址,最少需要4根线(一根线最多表示2个地址,四根线最多表示24个地址)
参考答案:B
31.乒乓buffer可以提高系统的数据吞吐量,提高系统的处理并行度()
【A】正确
【B】错误
解析:使用乒乓Buffer的主要作用是使用多个低速的数据预处理模块处理高速的输入数据流。这样做可以提高系统的数据吞吐量(如果不使用乒乓的话数据预处理模块会成为设计中限制系统数据吞吐量的瓶颈),同时增加了数据缓冲延迟。另一个解释:所谓乒乓buffer,也就是定义两个buffer,当有数据进来的时候,负责写入buffer的进程就寻找第一个没有被占用而且可写的buffer,进行写入,写好之后,将占用flag释放,同时设置一个flag提示此buffer已经可读,然后再接下去找另外一个可写的buffer,写入新的数据。而读入的进程也是一直对buffer状态进行检测,一旦发现没有被占用,而且已经可以被读,就把这个buffer的数据取出来,然后标志为可写,所以A选项正确;
参考答案:A
详细可参考:
32.组合逻辑电路的逻辑冒险现象是由于()引起的
【A】电路有多个输出
【B】逻辑门类型不同
【C】电路未达到最简
【D】电路中存在延时
解析:竞争冒险产生的原因 :
- (1)门电路的传输延迟时间有差异。在门电路中,信号从一个电平向相反方向跳变时,并不是突变的。由于上升(或下降)时间的存在,可能产生竞争冒险。在TTL系列的集成电路中,一般门电路的延迟时间在15ns左右;在4000系列集成电路中,一般门电路的延迟时间为100ns左右;
- (2)输入信号经过的传输路径或门不同,造成到达输出级的时间有先有后,使同一个输入信号的变化通过多条途径传输,并再次在某个门电路汇合(收敛)时,变化先后导致输出产生的额外“毛刺”,所以D选项正确。
参考答案:D
33.下面不属于时钟基本要素的是()
【A】clock tree
【B】skew
【C】clock period
【D】duty cycle(占空比)
解析:时钟的时序特性主要分为时钟周期( clock period)、时钟占空比( clock duty cycle)、时钟转换时间(clock transition time)、时钟延迟(clock latency)、时钟偏斜(clock skew)和时钟抖动(clock jitter)。clock tree是时钟树,在数字后端需要进行时钟树综合,不是时钟的属性,所以得到A选项错误。
参考答案:A
34.从后端设计考虑,在必须使用门控时钟的时候,需要遵循一个原则:门控时钟的输出只能跟着时钟信号进行跳变,而不能跟着控制信号进行跳变,也就是说对于用NAND Gate或者AND Gate实现的门控时钟,控制信号只能在时钟的低电平处进行跳变;对于用OR Gate或者NOR Gate实现的门控时钟,控制信号只能在时钟的高电平处跳变()【易错】
【A】正确
【B】错误
解析:门控时钟是低功耗设计重要的手段之一,最基本的结构是使用与门结构的门控时钟,如下图一所示。所以此时的控制信号只能在低电平处跳变,否则会产生毛刺,如图二所示。相反的,对于用OR Gate或者NOR Gate实现的门控时钟,控制信号只能在时钟的高电平处跳变。因为直接使用与门结构会带来毛刺的问题,所以使用锁存器+与门的结构是一种常见的解决方案,综上分析A选项正确。
图一:与门结构的门控时钟
图二:EN信号在高电平处跳变产生毛刺
更多详细可参考:https://recclay.blog.csdn.net/article/details/123947906
参考答案:A
35.假设一个3bit计数器(计数范围0~6)工作在36MHz时钟域下,要把此计数器的值传递到另一异步100MHz时钟域,以下方式不正确的是()
【A】锁存+握手信号
【B】使用DMUX电路
【C】使用格雷码
【D】使用异步FIFO
解析:【A】锁存+握手信号。如下图所示,两个时域之间通过请求和应答信号线进行握手,时域A发送请求发送数据信号req,同时是准备好数据;时域B接收到时域A发送的请求信号后,回应一个应答信号ack,同时将数据接收进行寄存;时域A接收到应答信号后重新发送请求信号req,进行第二个数据传输,依次直到完成时域A数据发送完成。但是要注意程序设计,不正确的程序设计将会发生数据漏取(快时域到慢时域)或者插入数据(慢时域到快时域),所以A选项正确。
【B】使用DMUX电路。对于多bit的data信号,还可以使用使能技术,也就是通过一个使能信号来判断data信号是否已经稳定,当使能信号有效的时候说明data处于稳定状态,在这种情况下终点寄存器才对信号进行采样,可以保证没有setup/hold违例。而使能信号一般使用double FF的方法来进行同步。下面是DMUX的同步示意图,所以B选项正确;
【C】使用格雷码。格雷码的应用问题,也许会想到能不能先把数据变成格雷码,然后再通过双D触发器同步过去呢?如果计数器计数0到7,那么是可以的,因为相邻两个数都是只有一位不同;但是如果计数0到6,那么从计数6(格雷码为101)到计数0(格雷码为000),格雷码有两位不同,这个时候就不能再用双触发器的方法了。所以C选项错误。
【D】使用异步FIFO。无论是快到慢,还是慢到快,FIFO通吃。FIFO的设计需要注意FIFO空满信号产生问题、格雷码的应用问题、深度选择问题等,所以D选项正确。
参考答案:C
36.下面有关SRAM和DRAM的叙述,正确的有()【易错选】
【A】DRAM比SRAM速度快
【B】DRAM不要刷新,SRAM需要刷新
【C】DRAM比SRAM成本高
【D】DRAM存储单元的结构比SRAM简单
解析:下图是现代计算机典型的存储体系结构,从图中我们发现SRAM的速度比DRAM快,A选项错误;DRAM使用的是一个晶体管和一个电容结构(1T1C)存储单元需要每隔一段时间来刷新一次数据,SRAM使用的6个晶体管(6T)结构,不需要刷新数据,因此B选项错误,D选项正确;DRAM的成本比SRAM的成本低,C选项错误。
参考答案:D
37.以下触发器不是按功能分类的是()
【A】JK触发器
【B】边沿触发器
【C】RS触发器
【D】D触发器
解析:
- 按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。
- 按触发方式不同分为:电平触发器、边沿触发器和脉冲触发器。
- 按电路结构不同分为:基本RS触发器和钟控触发器。
- 按存储数据原理不同分为:静态触发器和动态触发器。
- 按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。
参考答案:B
38.时钟的占空比指的是()
【A】时钟的变化范围
【B】低脉冲的持续时间与脉冲总周期的比值
【C】时钟的变化速度
【D】高脉冲的持续时间与脉冲总周期的比值
解析:工作周期(英语:Duty Ratio,Duty Cycle)是频射、微波电路、低频交流和直流电流等多个领域的一个概念,表示在一个周期内,工作时间与总时间的比值,有多个具体定义方式。脉冲信号高电平持续的时间(称为脉冲宽度)与脉冲周期的比值,称为脉冲的工作周期,所以D选项正确。
参考答案:D
39.在异步FIFO设计中,满信号由读时钟产生,空信号由写时钟产生()
【A】正确
【B】错误
解析:下面这张图是典型的异步FIFO的架构框图,从标注处,可以看出满信号是在写时钟域产生,空信号是在读时钟产生。异步FIFO几乎涵盖了Clock-Domain Crossing (CDC)跨时钟域的全部知识,所以手写异步FIFO代码也是一项基本功。
参考答案:B
多选题
41.关于状态机编码,如下描述中正确的是()
【A】状态编码用parameter定义
【B】状态机必须有default态
【C】用组合逻辑和时序逻辑分离的风格描述FSM
【D】用case语句描述状态的转移
解析:可能有人会对B存疑,不用存疑,就是必须得有default。不用扯你把状态写全云云,别忘了状态机中的某些状态可能在综合的时候被优化掉,所以选上最保险。《https://blog.csdn.net/ReCclay/article/details/123982894》一文中的第20题,我们也讨论过状态机的缺省状态是否需要!
答案:ABCD
42.业界常用的验证方法学有()
【A】SystemC
【B】UVM
【C】SystemVerilog
【D】VMM
解析:业界常用的验证方法学有VMM(Verification Methodology Manual)、OVM(OpenVerification Methodology)和UVM(Universal Verification Methodology);SystemC和SystemVerilog不是验证方法学,是语言!
参考答案:BD
43.逻辑电路的动态功耗一般跟以下哪个因素相关()【易少选CD】
【A】电压
【B】频率
【C】工艺
【D】工作温度
解析;
- 动态功耗=开关功耗+短路功耗;开关功耗= C V 2 f CV^2f CV2f,其中C为负载电容,V为电源电压,f为翻转频率(翻转率*频率),显然,电压、频率与开关功耗有关;
- 短路功耗=tVI*f,其中t代表短路状态的时间,I代表短路状态时的电流,工艺和工作温度会影响晶体管的性能,进而影响短路状态时的电流和短路状态的时间,所以会影响短路功耗。所以,电压、频率、工艺、工作温度都会影响动态功耗!
参考答案:ABCD
44.下列哪些项是异步处理需要考虑的因素()【易少选D】
【A】异步信号的电平或脉冲特性
【B】异步信号是不是总线
【C】两个异步时钟时间的频率关系
【D】异步信号是不是寄存器输出
解析:异步处理,对于单比特数据:
- 如果是电平信号:
- 可以用多级触发器来实现跨时钟域
- 如果是脉冲信号(必须由寄存器输出),则:
- (1)慢时钟域到快时钟域,先用多级触发器进行同步,再用边沿检测电路即可得到相应的脉冲信号
- (2)快时钟域到慢时钟域,先将脉冲信号展宽,再同步到慢时钟域,再用边沿检测将信号转化为脉冲信号。
参考答案:ACD
45.下列不属于分解测试点时的关注点的是()
【A】性能
【B】无充分理由的揣测
【C】偶然的设计失误
【D】可测性
【E】功能
解析:验证空间是一个无限集合,我们不可能细化到所有的元素,这就需要我们在分解时重视一些主要的关注点,同时忽略掉一些不必要的非关注点,测试点主要关注:
- a)功能的正确;
- b)功能、性能点的覆盖;
- c)发现设计错误;
- d)边界点,错误值;
- e)对组合输入的处理考虑不周的地方;
- f)根据经验普遍容易存在问题的地方:FIFO、状态机;
- g)测试点需要关注各种条件的组合和条件序列;
测试点不关注:
- a)偶然的设计失误;
- b)无充分道理的揣测;
参考答案:BC
详细参考:《基于System+VerilogVMM的仿真环境设计及其应用》