FPGA、数字IC系列(1)——乐鑫科技2021数字IC提前批笔试(上)

2021-03-15 10:25:51 浏览数 (1)

整理乐鑫科技2021届招聘的数字IC提前批笔试题,并做了部分答案和解析,有问题的地方欢迎一起探讨。

一.单选题

1.关于跨时钟域电路的设计,以下说法正确的是:

A: 信号经两级D触发器同步后即可进行跨时钟域传递

B: 跨时钟域电路存在亚稳态风险,最好避免使用

C: 跨时钟域电路中一定存在亚稳态

D: 采用单一时钟的电路也可能产生亚稳态

答案:B 或 D(答案暂不确定)

解析:

4 种方法跨时钟域处理方法

(1)打两拍,两级触发器同步——单bit数据跨时钟域处理,适用于慢时钟域数据到快时钟域;

(2)异步双口RAM(异步FIFO可以实现同样效果)——多bit数据跨时钟域处理;

(3)格雷码转换;

(4)加握手信号。

A:不一定,跨时钟域时一般可以使用两级D触发器对信号“打两拍”,有时需要打多拍,但是并不能按照A的说法去说。(注:两级并不能完全消除亚稳态危害,但是提高了可靠性,减少其发生概率。总的来讲,就是一级寄存器发生亚稳态的概率很大,三级及以上改善不大。)

B:亚稳态出现场景:异步信号检测、跨时钟域信号传输以及复位电路,最好避免使用,但多数情况下无法避免;

C:概率问题,可能出现,并非一定。

D:只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。亚稳态产生原因是建立时间setup或保持时间hold不满足,单路时钟也有可能不满足,此处有争议。

2.若要将异或非门当作反相器(非门)使用,则输入端A B端的连接方式是()

A:A或B中有一个接“0”

B:A和B并联使用

C:A或B中有一个接"1”

D:不能实现

答案:A

解析:1与0异或非为0,0与0异或非为1,有一个接0后相当于非门;

1与1异或非为1,0与1异或非为0,有一个接1后相当于寄存器;

3.以下代码综合出来的D触发器的D端逻辑表达式为:

always @( posedge clk or negedge rst_n)

if(~rst n)

q<= 1'b0;

else if(set)

q<= 1'b1;

else if(wr)

q<= wdata;

A: ~set & (we & wdata) | q

B: set | (wr | wdata) & q

C: set | wr & wdata | ~wr & q

D: set & (~wr & q) | wr & wdata & (~set)

答案:C

4.ModuleA/ModuleB用的是同个Clock, Clock频率80MHz。ModuleA和ModuleB同时启动,ModuleA产生如下周期性的burst数据给ModuleB,一共产生8次burst. burst rate : 1280 Mbit/s,burst持续时间1us。burst内部速率均匀,burst周期5us,余下的4us内没有数据

ModuleB收到启动信号后,需要花10us做初始化,所以先把module A的数据缓存在ModuleB内部的同步FIFO中,同步FIFO位宽32bits,初始化结束后,ModuleB以640 Mbit/s的均匀速度从FIFO中读取数据。在满足功能需求的前提下,为了节省电路面积,要求FIFO size越小越好,以下四个选项的FIFO深度,选项()的FIFO深度符合要求:

A: 128

B: 64

C: 96

D: 160

答案:A

解析:考虑最大数据情况,在ModuleB启动的10us内,ModuleA一直在传输数据,一共2us有效数据,需要存储 1280Mbit/s * 2us = 2560 bit;在第11us,ModuleA传输数据 1280Mbit/s * 1us = 1280 bit,ModuleB读取 640 Mbit/s * 1us = 640 bit,需要存储 1280 - 640 = 640 bit,此时共需存储 2560 640 = 3200 bit。

考虑读取,前15us共写入 3 * 1280=3840,读取 5*640=3200,需要存储640。

综合考虑,最大需要存3200bit,深度需要 3200 / 32 = 100,选A的128较为合适。

5.欲产生序列信号11010111,则至少需要()级触发器

A: 3

B: 4

C: 2

D: 5

答案:A

解析:8位序列,2^3^=8。

二:多选题

1.以下方法哪些是进行面积优化( )。

A: 串行化

B: 资源共享

C: 流水线设计

D: 寄存器配平

E: 逻辑优化

F: 关键路径优化

答案:ABE

解析:

面积优化,提高资源利用率以降低功耗要求:串行化,资源共享,逻辑优化;

速度优化,提高运行速度:流水线设计,寄存器配平,关键路径优化。

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

A: 形式验证

B: Modelsim仿真

C: 后仿

D: STA

答案:BC

解析:

A,形式验证是一种静态的验证手段,它根据电路结构静态地判断两个设计在功能上是否等价,常用来判断一个设计在修改前和修改后其功能是否保持一致。它运行时无须测试向量,但是必须有一个参照设计和一个待验证的设计;

B,Modelsim仿真中既可以功能仿真(静态),也可以时序仿真(动态),时序仿真时利用网表文件”.vo”和延时文件”.sdo”;

C,后仿,时序仿真加入布局布线的连线延时,属于动态时序分析;

D,Static Timing Analysis,静态时序分析;

前仿是针对RTL的功能验证,

后仿是针对是综合后(加入约束,延时等信息)的网表文件,在前仿的基础上加入了延时信息的功能仿真,同时验证了设计的时序以及功能都正确。

3.在异步设计中的对跨时钟处理的信号,功能验证时一般需要考虑以下哪些因素()

A: 信号变化的最小宽度

B: 信号高电平有效还是低电平有效

C: 时钟频率

D: 相位和抖动

答案:ABC

解析:相位和抖动是考虑时序仿真所用,其他都是正常的功能仿真时要考虑的,比如在Modelsim的功能仿真(前仿)时,TestBench需要考虑ABC内容。

4.可综合的verilog语法包括( )

A: for

B: wait

C: assign

D: initial

E: time

F: always

G: generate

答案:ACFG

解析:无。

5.在高速的系统设计中,下列哪种优化方案的可以提高系统的工作频率()

A:树型结构

B:迟置信号后移

C:流水线

D:资源共享

答案:ABC

解析:D是资源优化,树形结构、迟置信号后移、流水线均能提高系统工作频率。

三.填空题

1.assign重写一段代码,此题暂时略过。

2.将2004个叫1"异或起来的结果为(0)。

解析:偶数个1异或为0.

3.用2048x12的ROM芯片,最多能实现()个输入 ()个 输出的组合逻辑的数。

答案:11,12

解析:2048=2^11^,2048深度,是11位地址位,2048*12表示11位输入地址、12位输出数据(ROM只能输出)。

4.一个4bits的输入A,AE= 4'b0, A中从MSB开始出现的第个1的位置表示为B。e.g.: A= 4'b0111. B= 2'b10 (从MSB开始,第一个1出现在A的bi2)

B[1]= () B[0]= ().

5.某个SRAM共12根地址线A11 -A0,32根数据线D31-D0, 如果要实现20Dytes的Memory,需要()块这样的SRAM?

6.已知R1= R2 = R3 = R4 = R5 = R6 = R,下图从电源两端向右看去的等效电阻为(2R)。

7. 一批IC样品在测试中发现有setup或者hold时序问题 现取A B. C、D四颗样品进行测试A降温后停止工作,则很可能是()问题: B升温后停止工作,则很可能是()问题; C降压后停止工作,则很可能是()问题,D升压后停止工作,则很可能是()问题。

8.下图表示几进制计数器

9. OOP的三大特征是(封装性、继承性、多态性)。

10.NAND和NOR Flash的主要区别是1.(NAND)中常存在坏块, 2.(NAND)容量可以做到很大,3.(NAND)写入速度比较快, 4.(NOR Flash)读出速度比较快。

四.问答题

1.请根据下面的设计描述,尽可能多的列出你所能想到的测试点。

如下图所示异步FIFO, rdata和wdata均为8位数据,FIFO深度为16.当rst_n输入为低时,FIFO被复位,当wclk的上升沿采样到wr为高时,数据被写入

FIFO;当rclk的上升沿采样到rd为高时,FIFO输出数据。此外,当FIFO为空时,empty信号输出为高,当FIFO满时, full信号输出为高。

2.请实现对4*4矩阵式键盘的按键识别,假设每次都是单按键输入,需要有去抖功能(持续20 ms以上被认为是有效键值) ,模块时钟频率为1 kHZ.

要求用状态机实现,定义状态,画出状态转移图,并用Verilog完整描述该识别模块。

矩阵式键盘盘电路结构参见下图,其中行线1-4由识别模块控制输出,列线5~8为识别模块的输入。

3.Verilog实现串行CRC-8,G(D)=D8 D2 D 1。

0 人点赞