数字IC笔试模拟题(一)

选择题


03: 关于异步处理,以下说法正确的是:

A. 静态配置信号可以不做异步处理

B. 异步FIFO采用采用格雷码的原因是提高电路速度

C. 异步处理需要考虑发送和接送时钟之间的频率关系

D. 单比特打俩拍后可以避免亚稳态发生

解析

静态信号不变化,即使跨时钟也不变化,不会有亚稳态;
异步FIFO采用格雷码的原因是格雷码相邻两位只有一位变化,这样可以方便处理信号;
异步处理需要考虑不同时钟域之间的信号传递;
单比特打拍可以减少亚稳态发生。

答案:AC


  1. 从综合出电路的电路看第一段代码比第二段代码优化的地方是()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 第一段代码:
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
D <= 1'b0;
else if(A & B)
D <= A + B;
end
// 第二段代码:
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
D <= 1'b0;
else if(A & B)
D <= A + B;
else
D <= 1'b0;
end

A. 第一段代码比第二段代码简练,方便综合

B. 第一段代码比第二段代码省功耗

C. 第一段代码比第二段代码电路简单

D. 第一段代码比第二段代码易于理解和实现

解析

答案:B


07: Generate语句中的循环控制变量应该定义为integer类型()

A.     正确

B.     错误

解析

generate 循环的语法与 for 循环语句的语法很相似。但是在使用时必须先在 genvar 声明中声明循环中使用的索引变量名,然后才能使用它。 genvar 声明的索引变量被用作整数用来判断 generate 循环。 genvar 声明可以是 generate 结构的内部或外部区域,并且相同的循环索引变量可以在多个 generate 循环中,只要这些环不嵌套。

答案:B


08: 同步复位需要进行 Recovery 和 Removal 检查,异步复位不需要进行 Recovery 和 Removal 检查

A.     正确

B.     错误

解析

异步复位信号具有随机性,它可能会随时出现也会随时消失,这将导致他有可能不满足 recovery 和 removal 检查的问题。一般用异步复位同步释放的方法,这样可以减小亚稳态出现的概率

答案:B


11: 以下说法关于低功耗的说法不正确的是()

A.     Clock gating 可以降低芯片功耗

B.     采用合理的 Power gating 方案可以降低功耗

C.     通过降低数据的翻转率可以降低功耗

D.     无论设计大小,一律采用先进工艺

解析

  • clock gating: 时钟门控技术,用于关闭不需要执行操作时的特定电路的时钟信号,以降低数字电路的功耗;
  • power gating: 电源门控技术,用于关闭电路的电源供应以降低功耗;

前面三种是设计要考虑的降低功耗的方法。第四种情况,并不是说工艺越先进,功耗就越低。

答案: D


12: 下列关于综合的说法哪项是不正确的()

A.     综合由translation和mapping两个步骤组成

B.     综合(synthesis) 简单的说就是将HDL代码转化为门级网表的过程

C.     Mapping把用GTECH库元件构成的电路映射到某一特定厂家的工艺库上

D.     Translation是指把HDL语言描述的电路转化为GTECH库元件组成的逻辑电路的过程

解析

逻辑综合的行为是将数字电路的寄存器传输级描述(RTL,Register Transfer Level)“综合”成门级网表(Gate-Level Netlist)。Design Compiler 将 RTL 和根据设计需求编写的约束文件作为输入综合出门级网表,在性能、面积和功耗之间进行 trade-offs。后端 Place & Route 工具(ICC、Innovus)将门级网表作为输入生成 GDSII 文件用于芯片制造。

逻辑综合的步骤为:翻译->优化->映射。其中,read_verilog将RTL翻译成GTECH,compile进行综合,也就是优化和映射成工艺相关的门级网表。

答案:A


13: 以下工艺器件中,电阻值的最大的是()

A. AA

B. Contact

C. Poly

D. VIA

解析

AA:有源区,Contact:接触孔;,Poly:栅极;Via:通孔

答案:C


15: 流水线设计的优点是()

A.     综合后电路的面积可以更小

B.     综合后电路的时钟频率可以更高

C.     综合后电路的复杂度更低

D.     综合后地哪里的功耗更低

解析

PIPELINE的设计就是将串行操作变成并行操作,这样可以提高吞吐率,提高时钟频率,改善时序。但同时也会导致数据延时,功耗增加,面积可能会增大(也有面积减少的情况),设计变复杂。

答案:B


16: 关于冯诺依曼结构和哈佛结构的描述中,错误的是()

A.     冯诺依曼结构的计算机中数据和程序共用一个存储空间

B.     冯诺依曼结构中程序计数器负责提供程序执行所需要的地址

C.     哈佛结构的计算机在一个机器周期内可同时获得指令和操作数

D.     哈佛结构中取指令和执行不能完全重叠

解析

冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。

答案:D


17: 摩尔定律中写道,IC上可容纳晶体管数量约每多少个月增加一倍?

A、10个月

B、12个月

C、18个月

D、24个月

解析

摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。

答案:C


19: 对于一个芯片而言,如下哪些参数的值越高越好:( )

A. MTBF
B. ATE pattern count
C. Fault coverage
D. Yield

解析

A选项。MTBF 全程Mean Time Between Failure,为平均无故障工作时间,是衡量电器产品的可靠性指标,单位为小时。它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。A选项正确。

B选项。ATE 全称Auto Test Equipment。ATE pattern count为集成电路IC测试机台的测试的pattern数量, B选项正确。

C选项。Fault coverage为故障覆盖率。可以用故障覆盖率的大小来衡量被测芯片测试质量和测试程序的质量。Fault coverage越高,测试结果的失误越小。C选项正确。

D选项。Yield表示芯片的良率分析,即合格率,是质量指标之一。D选项正确。

答案:ABCD


简答题

根据自己的理解列出经典处理器 CPU 执行大致阶段, 以及各阶段的大致行为

以五级流水线CPU为例,CPU执行大致分为五个阶段:

  1. 取指令(IF):根据PC的值从存储器取出指令并更新PC。
  2. 指令译码(ID):产生指令执行所需要的控制信号。
  3. 取操作数(OF):读取存储器操作数或寄存器操作数。
  4. 执行(EX):对操作数完成指定操作。
  5. 写回(WB):将操作数结果写入寄存器或存储器。

数字IC笔试模拟题(二)

单选题


07: 下面哪个部分不是IC设计前端的FLOW?

A.  门级验证

B.   综合

C. 布局布线

D.  RTL设计

解析

布局布线属于后端


08: 下面哪个是最简单的逻辑门?

A.   与非门

B.    与门

C.   或门

D.   非门

解析

最简单的逻辑门是非门。如果是CMOS电路,一个非门需要两个晶体管(上NMOS下PMOS)。
与非门和或非门每种包含四个晶体管。
与门和或门每种包含六个晶体管。

关键考点:逻辑门结构


13: 7nm工艺中的7nm指的是()

A.  芯片中最小晶体管的源极长度.

B.  芯片中最小晶体管的源极宽度.

C.  芯片中最小单元的沟道长度.

D.  芯片中最小单元的源极宽度.

解析

沟道长度 = Channel Length 栅极长度 = Gate Lengh。
0098b20456fdeef128aae76aa13e8001.png
因此我们常听到的7nm芯片指的就是沟道长度,但由于它不容易观测,且栅极长度更直观并近似沟道长度(栅极长度>沟道长度),所以有的题目中会将栅极长度替代为沟道长度。

关键考点:晶体管结构

15: 下列哪种路径可以检测出故障?
d1055bd7c275ef455bcf8a05a3fbb282.png

A.     A=1, B=1, C=0, D=0

B.     A=1, B=1, C=1, D=1

C.     A=0, B=0, C=1, D=1

D.     A=0, B=1, C=0, D=1

解析

对于此道检测故障题,从输出端开始分析。由于输出端连接了一个OR或门,则路径①与路径②的数值有四种情况:00, 01, 10, 11. 在这些情况中,只有00输入可以导致Z的值为0. 对于AND与门,当D的值stuck at 0时,不论C的数值为0还是1,路径②的值为0;当D端无故障时,当C与D的值都为1时,路径②为1。因此可以结合或门与与门的特性对四个端口进行赋值: 使端口①数值为0,这时端口②的数值将会直接影响到输出Z。因此,A=B=0; 当检测D是否stuck at 0时,我们把它设置为1,C=D=1

观察输出端口Z,如果Z =0,则无故障,如果Z=1,则D端故障。

关键考点:故障路径分析


17: 对12.918做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少?

A.  12位,0.0118

B.  13位,0.0039

C.  12位,0.0039

D.  13位,0.0118

解析

量化误差小于量化精度的一半,认为是“无损量化”。对于12.918,需要分别对整数部分与小数部分进行量化。 整数部分12,需要4bits量化(0-15)。
小数部分0.918, 如果使用12位量化,可以比较量化误差是否小于量化精度的一半。整数部分已经用去4个bits,还剩12-4=8bits,总共可以表示28=256个刻度,每个刻度的间隔为1/256= 0.00390625,这个值也称作量化精度。这时小数部分需要0.918/(1/256) = 235.008个刻度来表示,取整位235,误差为0.008个刻度,量化误差为0.008 x (1/256) = 0.00003125。此时误差大小明显小于量化精度的一半,因此被认为是无损量化。

当使用11位量化时,小数部分只能使用7位量化,27=128个刻度,每个刻度的间隔是1/128。这时小数部分需要0.918/(1/128) = 117.504个刻度来表示,取整位118,误差为0.496个刻度,量化误差为0.496 x (1/128) = 0.003875,量化误差大于量化精度的一般,因此不能使用11位位宽来达到无损量化。当使用11位位宽时,量化误差0.003875,四舍五入后对应选项C

关键考点:量化误差


18: 关于流水线设计的理解,错误的是:

A. 流水线设计会消耗较多的组合逻辑资源。

B.  流水线设计会导致原有通路延时增加。

C.  流水线设计的思想,是使用面积换取速度。

D.  关键路径中插入流水线,能够提高系统时钟频率。

解析

流水线通过插入触发器去将延迟比较大的组合逻辑分割成N块,消耗了更多的触发器,理论上不会消耗更多的组合逻辑资源,A错。但是由于增加了寄存器,会在原数据通路上增加延时,彼时硬件的面积也会有所增加。但是整体来说,通过流水线设计,可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。


19: 关于DFT的描述错误的是:

A.  DFT测试不能覆盖电路时序问题

B.  DFT测试过程通常会消耗大量的动态功耗

C.  DFT的主要目的是发现芯片生产过程中出现的缺陷

D. 寄存器扫描链是一种常用的DFT技术

解析

  • DFT 能够覆盖电路时序问题。DFT 的 Scan Chain 扫描链:针对时序电路,测试寄存器(Flip-Flop)和组合逻辑。

  • DFT 里涉及大量 MUX 选择开关,因此会消耗大量的动态功耗。

  • DFT 是一种为达到故障检测目的所进行的辅助性设计方法,使制作完成后的芯片能达到"可控制性"和"可测试性"两个目的。

  • Scan Chain(扫描链)的插入,目的是将普通寄存器换成扫描寄存器(scan Flip Flop)的过程,是使用最广泛的DFT技术之一。


21: 对芯片静态功耗影响最大的是哪一项

A. 工作模式

B. 频率

C. 负载

D. 电压

解析

静态功耗 = 静态工作电流 * 工作电压

影响静态功耗的主要因素:漏电流与工作电压,其中漏电流与工艺有关。

关键考点:静态功耗计算,注意与动态功耗不要混淆。


22: 在对信号做降采样前添加滤波器,一般需要添加什么样的滤波器,完成什么功能?

A.  高通,抗周期延拓

B.  高通,抗混叠滤波

C.  低通,抗周期延拓

D.  低通,抗混叠滤波

解析

对信号进行离散化采集前采用低通滤波滤除高于1、2采样频率的成分,低通滤波器可以抗混叠滤波,也叫抗混叠滤波器。

关键考点:滤波器分类与功能


23: 如下关于“线与”逻辑的描述,错误的是:

A.  可以使用 OC 门来实现“线与”

B.  “线与”逻辑必须在输出端加一个下拉电阻

C.  “线与”逻辑是两个输出信号相连可以实现“与”的功能

D.  可以使用 OD 门来实现“线与”

解析

线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用OC(集电极开路门)门来实现。同时在输出端口应加一个上拉电阻。


26: 新的technology node边长大约是之前的多少%来达到面积缩小一半?( )

A.    60%

B.    70%

C.    50%

D.    80%

解析

技术节点(也是工艺节点、工艺技术或简单节点)是指具体的半导体制造工艺及其设计规则。一般来说,技术节点越小意味着特征尺寸越小,速度越快,功率效率越高。

每个节点的接触多晶硅节距(CPP)和最小金属节距(MMP)需要按大约0.7倍的比例缩放。换句话说,缩放比例为(0.7x CPP) x(0.7x MMP)近似等于0.5倍的面积。

关键考点:对先进工艺的了解以及技术节点概念的考察


28: 对于有符号的4位二进制数运算0101+1000,其十进制结果为( )

A.  12

B.  -3

C.  13

D.  -4

解析

1000在数电中不表示-0,而是用来表示-8的补码,1111表示-8的反码.因此此题答案为5-8 = -3。

关键知识点:对原码,补码和反码的掌握和转化能力


30: 下列说法错误的是()

A.条件语句,如果无优先级关系,尽量采用case,避免多级else if,影响时序。

B. if/else语句配对使用,case语句加default项;组合逻辑中在所有条件下都要对信号赋值,如果要保持步便用a=a方式赋值。

C. 两个向量进行比较操作或加减操作或赋值操作时,两个向量的位宽要相等,避免隐式扩展。

D.  可综合代码中,除了for语句中的循环变量可以定义为integer型以外,所有变量和信号都只能为wirereg型,不能定义为整型,实数型,无符号型,realtime型和time型。

解析

A正确。优先级条件语句会综合成串联的选择逻辑,时序较差,而case可以综合成并行的选择逻辑。

B正确。一般情况下if/else要配对使用,case语句要加default,避免综合成latch,个别情况下不需要,小编认为题干应该加上“建议”这个词更为精确。组合逻辑在所有条件下都要对信号进行赋值,否则会综合成latch。

C正确。两个向量位宽不匹配会隐式拓展高位,如果有操作数定义为wire类型但是作为有符号数使用,隐式拓展会错误高位补0,拓展成无符号数。

D错误。integer可以被定义成信号,会综合出32bit的register。但因为位宽固定,一般不这么使用。另外在verilog-2001中加入了无符号型和有符号型的reg/wire定义,也属于可综合类型

多选题

01: 电迁移通常是指在电场作用下使金属离子发生迁移的现象。如下影响电迁移率的因素有()

A. 电流密度

B. 温度

C. 芯片面积

D. 晶体结构

解析

在恒定电场作用下,电流密度是恒定的,所以与电流密度无关。电迁移通常是指在电场作用下使金属离子发生迁移的现象,影响电迁移率的因素:温度,晶体结构。


02: 在不增加pipeline的情况下,如何解决一条critical path的 setup 时序不满足的问题

A. 使用更先进工艺的工艺库

B. 在这条path上插入寄存器

C. 将部分组合逻辑电路搬移到前级path

D. 降低时钟频率

解析

不考虑时钟抖动和偏移的情况下,setup的公式为**:**

Tsetup ≤ Tclk - Tco(max) - Tcomb(max)

Tclk 是时钟周期,Tco 是寄存器输出的响应时间,Tcomb 是寄存器之间的组合逻辑延时。根据以上公式,如果想要增大setup,可以

  • 增加Tclk,即增大时钟周期,降低时钟频率,D正确
  • 减小Tco,减小寄存器输出的响应时间,可以通过使用更先进的工艺解决。A正确
  • 减小Tcomb,减小寄存器之间的组合逻辑延时,B和C都是正确的解决方法。但是题目强调“不增加pipeline”,因此B的方法不可行,C正确
    关键知识点: 时序违例及解决方法。(包括setup与hold,它们俩是相互影响的,在实际操作中都要考虑进去,但一般来说,hold比setup优先考虑)

05: 下列优化方法中那些是速度优化方法:

A.  资源共享

B.  关键路径优化

C.  流水线

D.  串行化

解析

速度优化方法包括流水线,寄存器配平和关键路径优化等方法。BC正确。

资源共享,串行化与逻辑优化属于面积优化。


06: 下面哪些属于动态验证范畴( )

A. 形式验证

B. Modelsim仿真

C. 后仿

D. STA

解析

A错误。形式验证是一种静态的验证手段,它根据电路结构静态地判断两个设计在功能上是否等价,常用来判断一个设计在修改前和修改后其功能是否保持一致。

B正确。Modelsim仿真中既可以功能仿真(静态),也可以时序仿真(动态)。

C正确。动态主要保证逻辑功能真确(前仿真保证RTL逻辑功能真确,后仿保证加入时序信息后,逻辑功能依旧真确),后仿属于动态验证。

D错误。STA = 静态时序分析

关键知识点:静态验证与动态验证归类


07: 芯片的工作条件主要是指()

A.  工艺

B.  电压

C.  温度

D.  湿度

解析

工艺对芯片性能有影响,温度对数字IC芯片阈值电压Vt有影响,电压会影响工作速度。芯片供电电压降低后,芯片会变慢。综上所述,芯片的工作条件主要受PVT影响(process, voltage, temperature)。


10: 以下描述正确的是()

A. 触发器按结构形式分为:基本RS触发器、时钟RS触发器、主从结构触发器、边沿触发器等

B. 触发器按功能分有:RS触发器、JK触发器、D触发器、T触发器等

C. 触发器是能够记忆一位二值信号的基本逻辑单元,是构成各种数字系统的基本逻辑单元触发器

D. 触发器都有保持和反转功能

解析

触发器按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。按触发方式不同分为:电平触发器、边沿触发器和脉冲触发器。按电路结构不同分为:基本RS触发器和钟控触发器。按存储数据原理不同分为:静态触发器和动态触发器;按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。选项AB正确。

触发器是能够记忆与存储一位二值信号的基本单元电路,选项C正确。

D触发器是一种最简单的触发器,并没有翻转的功能,D错误。

关键考点:触发器的分类与结构

数字IC笔试模拟题(三)

知识点总结

  1. 格雷码的优势
  2. MUX电路对应的HDL
  3. SVA语法知识
  4. 静态功耗

选择题

04: 异步设计的特点

A.   无时钟skew问题

B.   可增值性高

C.   低电源消耗

D.   设计可靠性高

解析

异步电路的优点是无时钟偏移(Skew)问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性。异步电路设计的缺点是可靠性差,不容易移植,且不能进行静态时序分析(STA)。

答案:AC


06: 只使用2选1 mux实现异或逻辑,最少需要()个mux

A.     4

B.     3

C.     1

D.     2

解析

  1. 理解二输入MUX的逻辑表达:Z=X?(1):(0)Z=X?(1):(0)
  2. 理解异或门和非门的逻辑表达:Y=AB=ABˉ+AˉB=A?(B):(Bˉ)=A?(B):(B?0:1)Y=A\oplus B=A\bar{B}+\bar{A}B=A?(B):(\bar{B})=A?(B):(B?0:1)

答案:D


08: 异步FIFO中,指针编码应该使用什么编码方式

A.  One-hot

B.  One-cold

C.  Binary

D.  Gray

解析

异步FIFO读写指针一般用格雷码

答案:D


09: 在工作过程中,如果芯片过热,需要动态降低功耗开销,下面哪个方法不能实现这个功能

A.     降低芯片工作电压

B.     降低芯片工作频率

C.     增加低功耗cell比率

D.     使能芯片时钟门控

解析

Pswitch=αCVDD2fP_{switch}=\alpha C V_{DD}^2f 可知降低芯片工作电压以及芯片工作频率可以降低动态功耗,时钟门控也可以降低动态功耗。

答案:C


10: 以下不是SVA语法的是()

A.     $rose

B.     Property

C.     Class

D.     Cover

解析

关键知识点:当考点记住就行。

答案:C


11: 以下关于false-path,正确的是()

A.  一般异步电路可以设置为false path

B.  一般异步复位可以设置为false path

C.  一般模拟IP和系统的互联接口都可以设置为false path

D.  两个不同频率之间的接口一定可以设置为false path

解析

false_path是不希望工具分析的路径,第一种情况一般是异步路径,即跨时钟域的路径。第二种情况一般是从逻辑上考虑的与电路正常工作不相关的那些路径。

答案:A


13: 使用相同时钟沿的同步数字电路,以下因素和最高工作频率无关的是()

A.  逻辑块间互联布线长度

B.  触发器的建立/保持时间

C.  D触发器之间最长的组合逻辑

D.  时钟低电平持续时间

解析

同步数字电路的最高频率主要取决于关键路径是否能够收敛,与逻辑块之间的布线长度,触发器建立/保持时间和D触发器之间最长的组合逻辑都相关。但是时钟的低电平持续时间主要影响到时钟信号的有效性。如果时钟信号可能会造成逻辑功能出错,和最高工作频率无关。

答案:D


17: 下面哪些属于动态验证范畴( ).

A.  形式验证

B.  Modelsim仿真

C.  后仿

D.  STA

解析

A选项。形式验证是一种静态的验证手段,它根据电路结构判断两个设计在功能上是否等价。

B选项。Modelsim仿真中既可以静态仿真,也可以动态仿真。

C选项。后仿真也称为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真,属于动态时序分析

D选项。Sta为静态时序分析。

简答题


18: 时序约束中, setup violation和hold violation的常见原因是什么?

解析
建立时间不满足要求通常是因为组合逻辑处理时间太长,保持时间不满足要求通常是因为组合逻辑处理时间太短!

解决建立时间不满足的方法有如下∶

  • 加强约束,重新进行综合,对违规的路径进行进一步的优化,但是一般效果可能不是很明显
  • 降低时钟的频率,但是这个一般是在项目最初的时候决定的,这个时候很难再改变
  • 拆分组合逻辑,插入寄存器,增加流水线,这个是常用的方法
  • 优化布局布线,减小传输的延时

解决保持时间不满足的方法有如下∶

  • 增加组合逻辑的处理时间,一般就是在后端的时候插入butffer
  • 减小时钟的延时

20: 阈值电压 Vt 对静态功耗有什么影响?对电路速度有什么影响?

解析

  • HVt可以有效地降低静态功耗,但电路的速度会降低。
  • LVt可以提高电路的速度,但是静态功耗会增大。

数字IC笔试模拟题(四)

总结

  1. rtl的综合过程
  2. 浮点数,补码,反码等小数整数负数的表示方法
  3. verilog 可综合不可综合
  4. moor和mealy状态机

选择题

01: 下面那个功能不是在综合过程中实现的( )

A.     translate

B.     DFX insert

C.     retiming

D.     mapping

解析

translate,retiming,mapping是综合里的步骤

  • retiming 是一种优化技术,用于调整电路中的寄存器位置,改善时序性能

答案:B


02: A、B两个模块属于同一时钟域,分别可以访问一片two-port SRAM的两个端口,当A、B通过两个端口同时访问同一个地址单元,则()

A.读写都可能失败

B.可以正常写入,也可正常读出,但读出的是该单元写入之前的值

C.可以正常写入,但读出数据可能写入前该单元的数据,也可能是最新的数据

D.可以正常读出,但不能写入

解析

同时钟域内,双端口SRAM分别被两个模块同时驱动一个地址单元,那么读写都可能失败,因此在设计过程中,我们要避免这种情况。

答案:A


03: 某个状态下,不关心某个寄存器的输出值,最优的低功耗设计方法是将其固定为0或1,可以降低动态功耗()

A. 正确

B. 错误

解析

固定 0 或者 1 确实可以减少翻转次数,从而降低动态功耗,但是固定到 1 ,有可能会增加静态功耗。

答案:B


04: 下面哪个FP32数据格式是对的(符号位指数位小数位)( )

A.     1.8.23

B.     1.5.26

C.     2.8.22

D.     2.5.25

解析

参考下图,单精度(FP32)即选A

答案:A


07: 下列总线协议中,支持乱序传输的有

A.    AHB

B.    AXI

C.    APB

解析

AXI协议是支持乱序传输的协议,也就是说master连续发起了两次传输,对于slave的应答顺序和master的发起顺序可以是不同的.

答案:B


09: 以下二进制数字序列,满足偶校验条件的是哪些

A.    1010 1101 1

B.    0001 0001 0

C.    0110 1111 1

D.    0011 1011 0

解析

奇校验:原始码流+校验位 总共有奇数个1

偶校验:原始码流+校验位 总共有偶数个1

答案:A

为什么没有 B ?


12: 关于功耗,以下描述不正确的是()

A.芯片的功耗会受实际信号的影响,所以功耗测试需要结合业务来开展

B.设计者需要关注平均功耗、峰值功耗、功耗跳变

C.改变芯片的供电电压和时钟频率都会对芯片功耗产生影响

D.对于可关断的模块,使用时钟门控即可降低功耗

解析

对于可关断的模块,可以直接掉电处理,不用使用时钟门控。因为使用门控也还有功耗损失。

答案:D


13. 下列优化方法中哪些是速度优化方法

A.   资源共享

B.   关键路径优化

C.   流水线

D.   单行化

解析

  • 系统进行面积优化主要有以下三种方向:串行化,逻辑优化,资源共享。
  • 系统进行速度优化主要有以下几种方向:使用流水线,寄存器配平,关键路径优化,并行化,消除代码的优先级

答案:BC


17: 模块只收敛到0.75V,提压到0.85V可以正常工作()

A.   正确

B.   错误

解析

因为提升电压后,要收hold才行。

答案:B


18: 下面关于PLL电路表述正确的是

A.PLL相对于参考时钟,可以输出分频、倍频、分数频的时钟

B.PLL属于模拟电路,无法用全数字电路实现

C.PLL的 jitter 值等于同步数字电路中 clock uncertainty 的设定值

D.PLL输入的参考时钟Jitter值,在PLL输出是会变大,也可能变小

解析

PLL 属于模拟电路,又属于数字电路; C 选项中的 clock uncertainty ,既包含了 jitter 又包含了 skew

答案:AD

简答题

19: 相同面积的cmos与非门和或非门哪个更快?

解析

与非门:上并下串,上P下N;
或非门:上串下并,上P下N;
电子迁移率是空穴的2.5倍(在硅基CMOS工艺中),运算就是用这些大大小小的MOS管驱动后一级的负载电容,翻转速度和负载大小一级前级驱动能力相关。

为了上升延迟和下降延迟相同,PMOS需要做成NMOS两倍多大小

载流子的迁移率,对PMOS而言,载流子是空穴;对NMOS而言,载流子是电子

PMOS采用空穴导电,NMOS采用电子导电,由于PMOS的载流子的迁移率比NMOS的迁移率小,所以,同样尺寸条件下,PMOS的充电时间要大于NMOS的充电时间长,在互补CMOS电路中,与非门是PMOS管并联,NMOS管串联,而或非门正好相反,所以,同样尺寸条件下,与非门的速度快,所以,在互补CMOS电路中,优先选择与非门。


20: 为什么一个标准的倒相器中 P 管的宽长比要比 N 管的宽长比大?

解析

P 管是空穴导电,N 管电子导电,电子的迁移率大于空穴。宽长比越大,其导通电流 Id 就越大,因此在同样的电场下,N 管的Id大于 P 管。要增大 P 管的宽长比,这样才能使得P管与N管效率对称,充电放电的时间相等,噪声容限一样。

数字IC笔试模拟题(五)

总结

  1. Cache知识
  2. always块内的阻塞赋值与非阻塞赋值
  3. 逻辑运算优先级
  4. systemverilog的基础知识要牢固:变量,数组,随机
  5. OC门与OD门
  6. 处理保持时钟、建立时钟违例的方法
  7. 断言

单选题

01: 下面有关 Cache 的说法哪一个是不正确的:( )。

A.   设置Cache的目的,是解决CPU和主存之间的速度匹配问题

B.   设置Cache的理论基础,是程序访问的局部性原理

C.  Cache与主存统一编址,Cache的地址空间属于主存的一部分

D.   Cache的功能均由硬件实现,对程序员是透明的

解析

A正确。Cache设计的背景就是为了解决CPU与主存之间的速度匹配问题,在速度上,CPU>Cache>主存。

B正确。一个程序在运行的某一时段时访问的代码或数据大部分是集中在某一块区域的。

C错误。Cache是介于处理器和主存储器之间的高速小容量存储器,cache地址由计算机硬件自动完成,它不属于主存的一部分

D正确。Cache是由硬件实现,对程序员透明。

答案:C


09: 通常情况下, 芯片工作温度较()时, 工作电压较()时的速度最快。

A. 高,高

B. 高,低

C. 低,低

D**. 低,高**

解析

温度和芯片供电电压都会影响芯片的速度和性能。温度升高会导致阈值电压Vt下降,Vt下降可以使芯片速度在一定程度上增加。但同时,温度升高会导致迁移率下降,通常这对芯片速度有更大的影响,一般CPU工作温度要控制在90摄氏度以下。在工作温度范围内低温下芯片速度更快。

芯片供电电压升高时,芯片会变快:提高供电电压,推动电荷通过电路,提高电路速度,减小晶体管开启和关断时间

答案:D


12: 下列代码的输出为()

1
2
3
4
5
6
7
8
9
10
11
module test
int alpha,beta;
initial begin
alpha = 4 ;
beta = 3 ;
beta <= beta + alpha ;
alpha <= alpha + beta ;
alpha = alpha - 1 ;
$display("alpha = %0d beta=%0d", alpha,beta);
end
endmodule

A.    Alpha=7, beta=7

B.    Alpha=4, beta=3

C.    Alpha=3,beta=7

D.    Alpha=3,beta=3

解析

由于没有在module块中设置时钟,因此表示时序的非阻塞赋值在这题可以被忽略。只考虑阻塞赋值“=”,alpha=beta=3。

答案:D


14: 以下哪些是第三代移动通信标准

A. EDGE

B. TD-SCDMA

C. LTE

D. WIFI

解析

第三代移动通信的主流技术标准主要有三种:IMT-2000 CDMA-DS(IMT-2000直接扩频CDMA),即WCDMA,它可以在一个宽达5MHz的频带内直接对信号进行扩频;IMT-2000CDMA-MC(IMT-2000多载波CDMA),即CDMA2000,这是美国提出的技术,它是由1个或多个1.25MHz的窄带直接扩频系统组成的一个宽带系统;TD-SCDMA(时分同步码分多址),是由中国提出的

答案:B


16: 在systemverilog中声明随机变量的关键词为()

A. randa

B. randc

C. randomize

D. urandom_range

解析

randc声明周期性随机变量

答案:B


17: EEPROM是指().

A.随机读写存储器

B.一次编程的只读存储器

C.可擦可编程只读存储器

D.电可擦可编程只读存储器

解析

随机读写存储器:RAM

一次编程的只读存储器: ROM

可擦可编程只读存储器:EPROM

带电可擦可编程只读存储器:EEPROM

答案:D


18: OC门在使用时须在()之间接一个电阻.

A.输出与地

B.输出与电源

C.输出与输入

D.输入与电源

解析

答案:D

多选题

01: 下面哪个选项无法消除hold time violation

A.提高时钟频率

B. 插入buff

C. 提高电压

D. 减少时钟频率

解析

修复hold违例的方法有增大launch clock delay,减小capture clock delay,增大data line delay,插 lockup latch。

答案:ACD


02: 与模拟电路相比,数字电路主要的优点有()。

A.容易设计

B.通用性强

C.保密性好

D.抗干扰能力强

解析

数字电路是离散型信号而模拟电路是连续型信号,数字电路与模拟电路相比具有如下优势:
通用性强,密性好,干扰能力强,针对性强

答案: BCD


03: 信号跨时钟域时,会出现亚稳态,其失效性和哪些因素有关()

A.信号发射端的寄存器输出信号的翻转率

B.信号发射端的寄存器时钟频率

C.信号接收端的寄存器时钟频率

D.同步寄存器的级数

解析

A正确。翻转时间长会导致容易导致亚稳态的产生。因此需要避免翻转时间很长的输入信号。

B错误。发送端寄存器的时钟频率与亚稳态无关。

C正确。接收域时钟频率越高,越容易采集到源信号。

D:同步级数越多数据越可靠。

答案: ACD


05: 下面哪种方式可以对时序进行检查()

A. 即时断言

B. 并发断言

C. 建立时间约束

D. 保持时间约束

解析

断言(assertion)一般可以放到RTL设计代码中,比较方便我们在仿真出现异常时查看它所报警的东西。通常意义上的断言具有:1)检查特定条件或事件序列的出现情况,提供功能覆盖。并发断言:基于时钟的,调度区间按assertion的调度区间,可以在过程块(always initial),模块(module),接口(interface),程序(program)中定义;

  • 即时断言:基于事件的,本质不是时序关系,会立刻求值。进行检查。*

答案: BCD


06: 下面选项哪些属于衡量数字通信系统传输质量的指标()

A.         误码率

B.         信噪比

C.         传输速率

D.         噪声功率

解析

可靠性和有效性指标与数字通信系统传输质量有关。有效性主要指标为传输速率,可靠性主要指标误码率。

答案:AC

数字IC笔试模拟题(六)

总结

  1. 有符号数如何计算十进制
  2. SV的program基础知识复习
  3. 门电路,反相器等基础知识
  4. 数字逻辑运算
  5. round robin arbiter

选择题

01: 根据芯片验证的质量要求,芯片系统验证中的测试点分解活动应该()

A. 适当覆盖芯片内部实现

B. 依靠验证人员对电路实现的充分揣测

C. 采用全黑盒方式分解以保证规格的正确性

D. 主要考虑单元电路的设计内容

解析

芯片验证按照设计的规模分为模块验证、集成验证、系统验证。其中:

模块验证:要覆盖这个模块的所有功能,最终要达到白盒验证的效果。

集成验证:在IP或者子系统内,多个模块之间的互联,还有常见数据流,有些模块覆盖不到的特性也会提给集成验证来验证。

系统验证:主要是各个子系统之间的互联,常见数据通路或者应用场景的覆盖,还有CRG、DFT等的测试。当然有一些集成验证或者模块验证不好覆盖的点,也会提交给系统验证,不能完全把DUT当成黑盒,还是要测试一些模块特性的。

答案:A


02: 16bit有符号数0xC6的十进制数是()

A.-57

B.-56

C.-59

D.-58

解析

0xC6转为二进制是1100 0110,高位为 1 所以为负数,默认以补码形式存储,取反加一得到原码:1011 1010

答案:D


05: 关于类的构造函数,以下说法正确的有()

A. 返回类型是void类型

B. 函数名与其类名完全相同

C. 不能有形参

D. 函数体中必须有new语句

解析

systemverilog里面的class(类),是一个OOP(面向对象)的概念。在定义class的时候,都会有一个new函数,也就是构造函数,如果不显示的定义这个new函数,那么系统会有一个默认的。在实例化一个class的时候,需要调用new函数来产生一个类的句柄。

我们也可以定义一个有参数的new函数,方便做一些初始化。new函数不能有返回值,也不需要定义返回值类型,因为构造函数总是返回一个指向类对象的句柄,其类型就是类本身。构造函数名称和所在类名称相同。

答案:B


07: 以下关于半导体晶体管基本门电路“反相器”的描述正确的是()

A.     体现了数字电路的本质是“反”逻辑

B.     其输入与输出电平相反

C.     是最小的三极管电路单元

D.     是所有数字逻辑电路的基本组成单元

解析

反相器基本概念

答案:ABCD


08: 已知Y=A(~B)+B+(~A)B,下列结果中正确的是()

A. Y=B

B. Y=A

C. Y=(~A)+(~B)

D. Y=A+B

解析

Y = A(~B)+B+(~A)B= A(~B)+B(1+(~A))= A(~B)+B = A+B

答案:D


09: 以下哪些设计缺陷会导致芯片STA分析困难()

A.     同一模块存在大量异步逻辑

B.     组合逻辑环

C.     使用latch锁存器

D.     将时钟直接作为数据使用

解析

作为STA的知识点记住。

答案:ABCD


12. 无复位寄存器会引入不定态,因此设计中禁止使用无复位寄存器()

A. 正确

B. 错误

解析

无复位寄存器的面积会比带复位端寄存器小,因此在设计中,经常会使用无复位端寄存器,但一定要确保在业务有效时,不会出现X态传播。所以经常是数据信号,我们会使用无复位端寄存器,因为只要在数据有效时,数据不会出现X态就可以了。控制信号不允许使用无复位的寄存器。

答案:B


13: reg[7:0] mema[255:0]正确的赋值是()

A.mema[5]=3’d0

B.mema[5][3:0]=4’d1

C.mema[8][8] = 8’d0

D.都正确

解析

memory型数据, reg[N-1:0] 存储器名[m-1:0];

reg[7:0] mema[255:0]; 一个名为mema的存储器,该存储器有256个8为的寄存器,该存储器的地址范围是0-255如果想对memory中的存储单元进行读和写操作,必须指定该单元在存储器中的地址mema[地址]
多维数组的索引必须是一个整体,无法对其中一个部分进行赋值,所以B错误;

答案:A


17: 关于电路处理说法正确的是:

A.同步电路系统中可以有一个时钟以及三分频时钟进行驱动;

B.DFF的setup时间是根据DFF和DFF之间的时序路径分析出来的,把时钟变慢可以增加DFF的setup时间

C.数字电路设计中是竞争和冒险会带来电路上的毛刺,需要加入RC滤波电路清除

D.如果DFF的hold时间不满足,通常可以通过时钟运行速度来解决

解析

setup时间是由寄存器内部的结构决定的,与时钟无关。竞争和冒险是由不同路径的延时不同导致的。由Thold的约束公式得与时钟无关。要加时钟约束,有recovery和removal的check

答案:A


18: 中断是处理器能完成并行性,实时操作的一种重要手段,请选出如下有关中断的正确描述?

A.以上表述都不对

B.中断的响应过程中,保护程序计数器的作用是cpu能找到中断处理程序的入口地址

C.cpu在响应中断期间,原来的程序依然可以执行

D.中断响应中,断点保护,现场保护由用户编程完成。

解析

B错在是cpu能找到出口地址,而非入口地址,为了是CPU在执行完中断服务程序时能回到被中断程序的断点处。C:错在:原程序是中止的,不能运行。D:现场保护由系统自动完成

答案:A


19: 设置为高优先级的测试点,包括以下哪几类()

A. 设计人员觉得质量风险最大的测试点

B. 内部调试用的测试计数器等相关测试点

C. 验证工作量最大的测试点

D. 最常用功能相关的测试点

解析

高优先级主要是跟基本数据通路相关的,比如常用功能特性。还有就是设计人员觉得质量风险最大的一些测试点。和验证工作量大小没有直接的关系,另外一些DFX特性也不是高优先级的特性,比如一些统计计数器等。

答案:AD


简答题

题目:用Verilog实现round robin arbiter

解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module round_robin_arb #(parameter WIDTH = 4)
(
input clk ,
input rst_n ,
input [WIDTH-1:0] request ,
output [WIDTH-1:0] grant // one-hot code
);

// 存储移位后上一次仲裁结果,每一次仲裁结果都是独热码
reg [WIDTH-1:0] last_grant;
always@(posedge clk or negedge rst_n) begin
if(!rst_n)
last_grant <= 'b1;
else if(|request) // 有仲裁请求,根据上一次的仲裁结果,左移1bit后用于控制新的优先级
last_grant <= {grant[WIDTH-2:0], grant[WIDTH-1]};
else
last_grant <= last_grant; // 无仲裁请求时,pre_state不更新
end

// 如果最左侧几个高优先级主机都未发起仲裁请求,需要从最低位开始轮询。
// 此处通过两个request拼接,将右侧低位拼接到左侧,即可实现对低位的判断。
wire [2*WIDTH-1:0] grant_extern;
assign grant_extern = ~({request,request} - {{WIDTH{1'b0}}, last_grant}) & {request,request};

// 得到的grant_extern必定为一个独热码,但是置高位可能在代表低位的高4bit中,因此进行求或运算
assign grant = grant_extern[WIDTH-1:0] | grant_extern[2*WIDTH-1:WIDTH];

endmodule