华为芯片开发(数字IC方向)笔试试题及详细答案_第1页
华为芯片开发(数字IC方向)笔试试题及详细答案_第2页
华为芯片开发(数字IC方向)笔试试题及详细答案_第3页
华为芯片开发(数字IC方向)笔试试题及详细答案_第4页
华为芯片开发(数字IC方向)笔试试题及详细答案_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华为芯片开发(数字IC方向)笔试试题及详细答案说明:华为官方不对外放出完整原题,本文为综合历年华为/海思数字IC(芯片开发—数字方向)校招笔试回忆题整理而成,题型、难度、考点与真实笔试高度对齐。考试平台一般为牛客网,时长约120分钟;核心考点包括Verilog、STA时序、跨时钟域、FIFO、复位、低功耗、DFT与数字电路基础。一、单选题(每题2分,共30分)1.关于Verilog赋值规范,正确的是()A.时序逻辑always块优先用阻塞赋值=

B.组合逻辑always块优先用非阻塞赋值<=

C.always@(posedgeclk)时序块内必须使用非阻塞赋值<=

D.复位信号代码禁止使用阻塞赋值答案:C解析:行业ASIC编码规范要求「时序逻辑用非阻塞赋值<=,组合逻辑用阻塞赋值=」,用于避免仿真竞争;复位本身没有「禁止阻塞赋值」的强制说法,A、B完全说反了。2.generate循环里面的循环变量类型是()A.integerB.regC.genvarD.wire答案:C解析:genvar专门用于generate的编译期展开;integer是仿真变量,不能用于generate循环。3.建立时间SetupTime的定义是()A.时钟沿之后数据保持稳定的最小时间

B.时钟有效沿到来之前,数据必须稳定的最小时间

C.时钟最小高电平宽度

D.寄存器输出延迟答案:B解析:保持时间Thold指时钟沿之后数据需保持稳定的最短时间;Tsu指时钟沿之前数据需稳定的最短时间。4.异步复位同步释放电路,主要目的是()A.消除保持时间违例

B.防止复位释放时在时钟沿附近产生亚稳态

C.降低功耗

D.提升最高工作频率答案:B解析:异步复位、同步释放(RASR):复位异步生效;撤销复位的时刻同步到时钟域,避免复位撤销恰好卡在时钟沿导致寄存器采样不确定。5.异或门最少需要几个2选1MUX实现(不含反相器,反相器不计入MUX)()A.1B.2C.3D.4答案:A解析:Y=A?~B:B,选择端为A,数据输入为B和~B,只需1个二选一MUX;反相器属于独立组合单元,不算MUX。6.reg[11:0]X;reg[5:0]inA;reg[16:0]inB;计算Y=X×inA+inB,不损失精度,Y的最小位宽是()A.17bitB.18bitC.19bitD.20bit答案:C解析:12bit×6bit=18bit;18bit加17bit,最大结果需要19bit才能完整保存。7.Verilog中reg[31:0]data;data[0+:8]等价于()A.data[0:7]B.data[7:0]C.data[8:0]D.data[31:24]答案:B解析:[start+:width]表示从低位0开始向上取8位,高位写在前面,即data[7:0]。8.亚稳态最容易出现在下面哪种场景()A.同步时钟域寄存器传递数据

B.单时钟域流水线

C.快时钟采样慢时钟域异步信号

D.内部组合逻辑答案:C解析:跨时钟域的异步信号不满足Tsu/Th要求,是亚稳态的根源;同一同步时钟域内不会产生亚稳态。9.STA静态时序分析中,建立slack计算公式正确的是()A.Slack=DataArrive−DataRequire

B.Slack=DataRequire−DataArrive

C.Slack=Tco+Tlogic

D.Slack=Tsu−Tskew答案:B解析:建立裕量=数据需要到达的时间−数据实际到达的时间;slack>0满足时序,slack<0为违例。10.同步FIFO和异步FIFO的最大区别是()A.同步FIFO用格雷码,异步不用

B.读写时钟是否为同一个时钟

C.同步FIFO没有满空信号

D.异步FIFO深度不能大于8答案:B解析:异步FIFO的写时钟wclk与读时钟rclk不同,指针需用格雷码跨域同步;同步FIFO读写同时钟,直接比较地址即可。11.三段式状态机,三个always块分别是()A.时序转移、组合判断输出、组合次态

B.次态时序、状态转移组合、输出时序或组合

C.全部时序

D.全部组合答案:B解析:三段式为:①时序逻辑更新现态;②组合逻辑计算次态;③输出逻辑(推荐时序输出,可消除毛刺)。12.竞争冒险产生的根本原因是()A.输入信号变化太快

B.不同路径延迟不一致,信号到达时间不同

C.时钟频率过高

D.电源噪声答案:B解析:同一信号经过不同路径,延时不等,输出端出现短暂毛刺。13.DFT扫描链scan的主要作用是()A.提升工作频率

B.芯片量产测试,提高可观测性与可控制性,提升故障覆盖率

C.降低功耗

D.解决亚稳态答案:B14.下面哪种属于静态功耗()A.寄存器翻转功耗

B.组合逻辑翻转功耗

C.漏电流Leakage

D.时钟树翻转功耗答案:C解析:动态功耗来自信号翻转的充放电;静态功耗来自晶体管关态漏电流。15.falsepath(伪路径)的含义是()A.这条路径延时很大,一定会时序违例

B.该路径在实际工作中不会被激活,不需要做时序检查

C.时钟树没有走到

D.保持时间违例路径答案:B二、多选题(每题4分,少选不得分,共20分)1.下面哪些是跨时钟域处理方案()A.两级同步器(2FF)处理单比特信号

B.异步FIFO传输多比特数据流

C.握手信号(ready/valid)

D.直接打一拍答案:ABC解析:多比特信号严禁「多根线各自两级同步」,会出现数据位错位,必须用异步FIFO或握手。2.时序检查包含哪几类()A.Setup建立检查

B.Hold保持检查

C.Recovery恢复时间(异步复位)

D.Removal去除时间(异步复位)答案:ABCD3.低功耗设计技术包括()A.门控时钟ClockGating

B.电源门控PowerGating

C.DVFS动态电压频率调节

D.多阈值单元MVT答案:ABCD4.关于锁存器Latch和D触发器FF,说法正确的有()A.Latch是电平敏感,FF是边沿敏感

B.Latch容易造成时序分析困难,ASIC设计中尽量避免

C.FF存在亚稳态,Latch不会

D.高电平期间Latch透明,输入直接传到输出答案:ABD解析:Latch同样存在亚稳态问题,C不正确。5.哪些Verilog写法不可综合()A.#10延时

B.initial块

C.for循环(generate内)

D.$display答案:ABD解析:仿真语句与延时不可综合;generate内的for循环在编译期展开,是可综合的。三、简答题(每题6分,共24分)Q1:简述亚稳态是什么、有什么危害、如何抑制定义:寄存器采样窗口(setup/hold区间)内输入信号发生变化时,寄存器输出无法稳定在0或1,停留在不确定的中间电平,需要随机时间才能稳定。危害:采样错误、数据错误、功能失效;亚稳态还会级联向下游传递。抑制手段:单比特异步信号:使用两级触发器同步器,提高MTBF;多比特异步数据:使用异步FIFO或valid/ready握手;异步复位:采用异步复位、同步释放。通过约束降低跨时钟域信号的变化概率。Q2:异步FIFO为什么读写指针要用格雷码,而不是二进制二进制地址每次加1可能多位同时翻转(例如011→100,三位同时变化),跨时钟域同步时多位翻转不同步,可能读到中间的错误值。格雷码每次计数只有1bit翻转,同步过程中最多只有1bit出错,不会出现地址跳变到完全错误的值,从而保证满空判断安全。Q3:同步复位与异步复位的优缺点对比对比项同步复位异步复位生效条件复位信号只在时钟沿生效复位立即生效,不依赖时钟优点时序可控,利于STA,不易产生recovery/removal违例上电复位、时钟失效时也能可靠复位缺点必须有时钟才能复位;复位信号需满足Tsu要求需额外做recovery/removal时序检查;复位释放阶段易产生亚稳态常用做法—搭配「同步释放」电路,即异步复位同步释放Q4:简述保持时间hold违例的成因和修复方法成因:寄存器输出变化过快,下一级寄存器尚未满足「时钟沿之后数据需保持稳定」的最小时间要求,数据提前变化。修复方法:在路径中间插入buffer,增加组合逻辑延时;调整时钟skew,拉大捕获时钟相对发射时钟的延迟;替换为延时更大的单元。注意:hold违例不能通过降频修复,时钟频率对hold没有帮助,这是常见面试坑点。四、时序计算题(10分)给定条件取值发射寄存器Tco0.3ns组合逻辑延时Tlogic2ns捕获寄存器Tsu0.5ns时钟skew0.2ns时钟周期T4ns求解:计算建立slack,并判断是否满足时序。DataArrive=Tco+Tlogic=0.3+2=2.3nsDataRequire=T−Tsu+skew=4−0.5+0.2=3.7nsSetupSlack=3.7−2.3=1.4ns>0,满足建立时序附加追问(常考):HoldSlack=Tco+Tlogic−skew=0.3+2−0.2=2.1ns>0,保持时间同样满足。五、Verilog代码设计题(16分)题目1(8分):异步复位同步释放RASR模块verilog

异步复位同步释放(RASR)

modulerst_sync(

inputclk,

inputrst_n_async,//异步复位,低有效

outputregrst_n_sync

);

regrst_r;

always@(posedgeclkornegedgerst_n_async)begin

if(!rst_n_async)begin

rst_r<=1'b0;

rst_n_sync<=1'b0;

endelsebegin

rst_r<=1'b1;

rst_n_sync<=rst_r;

end

end

endmodule解析:复位立刻拉低;撤销复位时,复位释放信号先同步到clk,经两拍后释放,从而规避复位释放阶段的亚稳态。题目2(8分):单比特信号防抖(滤除不超过3个周期的毛刺,稳定4个周期后才输出)verilog

连续4拍一致才翻转输出的防抖模块

moduledebounce_4cycle(

inputclk,

inputrst_n,

inputdin,

outputregdout

);

reg[2:0]cnt;

always@(posedgeclkornegedgerst_n)begin

if(!rst_n)begin

cnt<=3'd0;

dout<=1'b0;

endelsebegin

if(din==dout)begin

cnt<=3'd0;

endelsebegin

cnt<=cnt+3'd1;

if(cnt==3'd3)begin

dout<=din;

cnt<=3'd0;

end

end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论