2020大疆校招芯片岗真题解析修正版

数字IC自修室 2021-08-20 14:36
在川普替集成电路行业宣传一番后,国内芯片行业的薪资看涨,恰逢一年秋招,感谢亨师弟搜集一些芯片开发岗笔试真题,为帮助同学们更好对准备笔试,在这与大家分享讨论,一起进步。如有错漏,欢迎大家指正。


验证类


1、下列关于代码覆盖率描述错误的是:(AB)

A.代码覆盖率达到百分之一百说明代码bug已消除

B.代码覆盖率包括功能覆盖率

C.代码覆盖率包括条件覆盖率

D.代码覆盖率包括语句覆盖率

解析:

覆盖率是衡量设计验证完成程度的指标,并不是验证的目的。任何覆盖率达到100%并不代表芯片bug已消除。代码覆盖率包括行覆盖率、条件覆盖率、状态机覆盖率和翻转覆盖率。功能覆盖率反映开发出来的需要覆盖的功能点覆盖的比例。断言覆盖率测量断言被触发的频繁程度。涉及知识点:SystemVerilog验证,推荐书本《SystemVerilog验证测试平台编写指南》


2、在UVM和SystemVerilog基础知识描述错误的是:(B)

A.  bulid_phase用于创建component而且是top down执行的。

B.  当仿真命令行中出现+UVM_VERBOSITY=MEDIUM`uvm_info(“Exam”,“DJI2019”,UVM_LOW)对应的message不会打印出来。

C.  sequence中定义了dmac变量,此sequence的`uvm_do_with(tr,{tr.dmac==dmac;})语句中的约束不起作用。

D.  如果某个操作消耗仿真时间,那这个操作不能直接定义在function中

解析:

UVM通过冗余度级别的设置提高了仿真日志的可读性。在打印信息之前,UVM会比较要显示信息的冗余度级别与默认的冗余度阈值,如果小于等于阈值,就会显示,否则不会显示。默认的冗余度阈值是UVM_MEDIUM,所有低于等于UVM_MEDIUM(如UVM_LOW)的信息都会被打印出来,冗余度UVM_HIGH则不打印出来。选项C中使用`uvm_do_with宏,目的是对底层sequence的随机化变量进行约束。若上层sequence和下层sequence变量的名字一样,这个约束是无法起作用的,下层的tr.dmac该怎么random还是怎么random,即使上层sequence将dmac设定为某个固定值也没用。

有两种解决方法:

(1)上层sequence使用不同的变量名,`uvm_do_with(tr,{tr.dmac ==tmp_dmac}),  这样做就不太方便,如果sequence嵌套太多,变量名就一大堆。

(2)使用this,`uvm_do_with(tr, {tr.dmac ==this.dmac}),this指定作用域,如下

————————————————

class top_seq  extends...

...

top_seq   my_seq;

function new()

my_seq = this     ==> this指定的作用域为上层sequence

endfunction

————————————————

选项D中function不允许耗时的操作,task则允许。但嵌套在function的task也不允许耗时。涉及知识点:UVM,推荐书本《UVM实战》


设计类

1、关于“线与”逻辑描述错误的是:(D)

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

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

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

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

解析:OD:open-drain,源级开漏输出(开漏),OC:open-collector,集电极开路。OD是对mos管而言,OC是对双极型管而言,两者实现线与需外加上拉电阻


2、如果只使用(2选1MUX)完成异或门逻辑,最少需要(2)个MUX 。

解析:F = A'B +AB',即:A=0时,F = B;A=1时,F = B' 。电路如下图:

3、关于异步处理,以下说法正确的是:(BD

A.异步FIFO采用格雷码的原因是为了提高电路速度。

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

C.单比特信号打两拍后可以避免亚稳态的发生

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

解析:

选项A中:格雷码相邻两个数值只有1bit变化,异步FIFO的地址编码采用格雷码,即使指针出现非法状态,其结果也不外乎两种:递增前原指针和递增后新指针。显然递增后新指针是最新情况的反映,如果抽样到这个指针,那么和我们的设计预期是一致的,如果抽样到递增前的原指针,会有什么结果呢?假设现在抽样读指针,那么最坏的情况就是把“不满”判断成了“满”,使得本来被允许的写操作被禁止了,但是这并不会对逻辑产生影响,只是带来了写操作的延迟。同样的,如果现在抽样写指针,那么最坏的情况就是把“不空”判断成了“空”,使得本来被允许的读操作被禁止了,但是这也不会对逻辑产生影响,只是带来了读操作的延迟。

显然每次只变化1bit的编码方案可以即使在亚稳态进行读写指针抽样也能进行正确的空满状态判断。

这里需要注意格雷码只是在相邻两次跳变之间才会出现只有1bit不一致的情形,超过两个周期则不一定,所有地址总线的skew一定不能超过一个周期,否则可能出现格雷码多位数据跳变的情况,这个时候格雷码就失去了作用,因为这时候同步后的地址已经不能保证只有1bit跳变了。选项C中亚稳态无法避免,但可以降低它发生的概率,触发器进入亚稳态的时间可以用参数 MTBF(Mean Time BetweenFailures,平均故障间隔时间)来描述,MTBF 即触发器采样失败的时间间隔,其计算公式为:

减少亚稳态的发送概率,就应使MTBF 尽可能地大。对于单bit电平信号而言,一种方法就是打两拍:即在新时钟域用两级DFF做同步器,第二拍的MTBF增大为:

随着设计主频与工艺节点的提升,打两拍也并不能保证亚稳态发生概率降到可置信以下,就需要打三拍以上或采取亚稳态增强型的触发器进行同步。


4、关于电路亚稳态描述不正确的是(BC)

A.亚稳态不能被消除,只能减小发生概率;

B.可以正常工作的数字电路芯片中一定不存在亚稳态;

C.亚稳态不存在于实际电路中,只是仿真的一种现象

D.增加同步拍数可以降低亚稳态发生的概率


5、判断电路中是否存在冒险竞争的方法有哪些(AC)

A.卡诺图法。

B.实验法

C.代数法

D.观察法


6、时序检查中对于异步复位电路的时序分析分别叫做(恢复时间检查)(移除时间检查)

解析:

(1)recovery time:恢复时间撤销复位时,恢复到解复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到解复位状态,此段时间为recovery time。类似于同步时钟的setup time。如下图所示,rst_n为1’b0表示复位,clk上升沿触发,rst_n从1’b0到1’b1的上升沿与时钟上升沿必须不小于recovery time才能保证寄存器恢复到正常状态。

(2)removal time :移除时间复位时,在时钟有效沿来临之后复位信号还需要保持的时间为移除时间removal time。类似同步时钟hold time。如下图所示,rst_n为1’b0表示复位有效,clk为上升沿触发,rst_n保持为1’b0经过clk上升沿后仍需要保持一段时间,才能保证寄存器有效复位,防止亚稳态。

7、关于DFT(designfor test)的描述错误的是:(D

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

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

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

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

解析:DFT的at-speed test会采用芯片PLL高速时钟进行寄存器的setup和hold测试


8、关于网表仿真描述正确的是(C)

A.网表仿真不能发现实现约束的问题

B.仿真速度比RTL仿真速度更快

C.网表仿真可以发现电路设计中的异步问题

D.为了保证芯片正常工作,即使在时间和资源紧张情况下,也需要将所有的RTL仿真用例都进行网表仿真并且确保通过

解析:网表仿真通过网表反标sdf进行仿真,仿真速度较RTL仿真慢,由于sdf通过sdc约束和单元逻辑延时和线网延时而来,可以发现约束问题。设计大的话,网表仿真太耗时,常用采用形式验证手段来保证门级网表在功能上与RTL设计保持一致,配合静态时序分析工具保证门级网表的时序。门级仍真可以发现异步问题。


9、芯片制造中,工艺节点28nm,12nm,7nm。其中28,12,7含义:D)

A.沟道深度

B.走线间距

C.器件宽带

D.栅极宽度


10、以下哪些电路可以设置false_path:(A)

A.异步电路

B.模拟和数字电路接口

C.不同频率之间电路

D.异步复位

解析:false_path用于设置异步路径,不同频率电路可以是同步电路。异步复位需要检查recovery time和removal time


11、随着IC电路设计工艺的进步,漏电功耗占比越来越大,不考虑温漂影响,以下哪些技术能够用于降低漏电功耗?(BC)

A.clock gating

B.DVFS(动态电压频率调整)

C.power gating(电源门控)

D.DFS(动态频率调整)

解析:漏电功耗属于静态功耗。A、D为减少逻辑翻转,降低动态功耗。C降低静态功耗,B可降低静态功耗和动态功耗。


12、哪些手段可以降低SRAM的动态功耗(BCD)

A.  不访问SRAM时,将其Power down

B.  不访问SRAM时关闭时钟

C.  不访问SRAM时地址线不翻转

D.  不访问SRAM时写数据线不翻转


13、以下哪些是典型FPGA器件内部常用资源(ACD)A.  时钟网络B.DRAMC.  寄存器D.  LUT

解析:FPGA内有BRAM和DRAM两种存储资源,DRAM(Distributed RAM)指的是分布式RAM,为内部LUT拼成。BRAM(BlockRAM)是固定在FPGA内部的ram资源,无论使用与否都存在于那里,有较大的存储空间。两者使用区别如下:

(1)BRAM的输出需要时钟,DRAM在给出地址后既可输出数据。

(2)DRAM使用更灵活方便些

(3)较大的存储应用,建议用BRAM;零星的小ram,一般就用DRAM。但这只是个一般原则,具体的使用得看整个设计中资源的冗余度和性能要求

(4)DRAM可以是纯组合逻辑,即给出地址马上出数据,也可以加上register变成有时钟的ram。而BRAM一定是有时钟的。

(5)如果要产生大的FIFO或timing要求较高,就用BRAM。否则,就可以用DRAM。


14、关于latch与Flip-Flop特性描述正确的是(ABC)A.都属于时序逻辑B.latch输出可能产生毛刺C.Flip-Flop只会在时钟触发沿采样当前输入,产生输出D.latch无时钟输入

解析:latch信号不论是在latch based design还是clock gating cell中都是有时钟输入的


15、在不增加pipeline的情况下,如何解决一条critical path的setup时序不满足的问题?(ABC)A.将部分组合逻辑电路搬移到前级path上B.降低时钟频率C.使用更先进工艺的工艺库D.在这条path上插入寄存器

解析:A为综合工具DC常用方法,B可加大时钟周期,C可减小传播延时和组合逻辑延时和建立时间,D实际上就是pipeline


16、时钟周期T,寄存器的时钟端到数据输出端的延迟为Tcq,时钟到第一级寄存器时钟端的延迟为Tcd1,时钟到第二级寄存器时钟端的延迟为Tcd2,两级寄存器之间组合逻辑延迟为Tpd,寄存器的建立时间为Tsetup。Tpd的最大延迟为(T-Tcq-Tsetup-(Tcd1- Tcd2))

解析:reg2reg的STA setup分析:Tlaunch+Tc2q+Tcomb<=Tcycle-Tsetup+Tcapture


问答题1、Signal_a是clka(300M)时钟域的一个单时钟脉冲信号,如何将其同步到其同步时钟域clkb(100M)中,并产生出Signal_b同步脉冲信号。请用Verilog代码描述,并画出对应的时序波形说明图。

解析:两个时钟域知道具体的时钟频率关系,相位不同步,在clka时钟域将singal_a脉冲展宽为3个周期,再在clkb时钟域进行边沿检测,同步,电路设计如下,代码略

问答题2、设计一个电路,使用时序逻辑对一个单bit信号进行毛刺滤除操作,高电平或者低电平宽带小于4个时钟周期的为毛刺。用Verilog或VHDL写代码。

解析:低电平滤除毛刺电路设计如下图,代码略

高电平滤除毛刺电路设计如下图,代码略

今天就到这里,欢迎大家继续关注我们后续文章。


本文作者 | 奋斗者Y

评论
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 85浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 119浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 127浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 71浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 45浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 173浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦