网上IC笔试面试题目与秋招进度(2022.11.5更新)

2022.11.5更新:(IC笔试题目有JL科技、TR半导体、HZW、MX半导体、RSKX)欢迎大家一起讨论题目,也请多多指教弟弟。笔试已经转移到新开帖子了。

目前投递60+,人才库8,offer6拒3签3。

第四阶段的目标是找到一个IC的开发岗位offer,继续往前走。

越努力,越幸运。

BYD(拒绝签约)

广东某双非工科院校,宣讲会当晚电话面试约40mins,主要是对方介绍汽车研究院和自己介绍自己的简历,对着简历一行一行问。三天后在教室现场人事面,通知9:20到,提前十分钟到教室,等到11:20才轮到,面试内容为查户口,期望薪资报了个数也没往下谈,你说什么他就记录什么。两天后通知签约,通知晚上7:00到,到了之后上一场的人还没签完,又等了近半小时才开始讲,教室坐满加站满人,教室外走廊也站了很多人。当场拒绝比亚迪。

待遇:双非硕士级别为F3,底薪10k,绩效0.36,前三个月没绩效,最后也没年终奖,说是利润奖,按21年报的净利润10%除以技术人员数量44318,人均近7k,又不是保证人人都有的。公积金按底薪的5%交,住4人间宿舍。

结论:招牛马,已拒绝。

YST(拒绝后hr保留)

15k*14薪,虽然是1-4个月年终奖,但是刚进去只能是1-2;

公积金按8k*5%交,社保按东莞交三百多;

住单人间月租200或300,吃饭类比学校食堂,东莞松山湖

丑的(GOT OFFER)

一面:天河五星级酒店无领导小组群面,题目为电动汽车设计方案,组员为4华工1暨大1双非的压倒性阵容,很无聊,双一流的学生也是真的会说话,不得不佩服。

测评:当晚收到测评邮件。

二面:视频面,很轻松,面试官还没开摄像头,全程对着自己说话。

签约:整了一天。

待遇:17.5k*14,级别好像是14级,公积金按8k多*7交610左右,住宿单间,其他奖项大约3-5w

CVTE(拒绝签约)

笔试:九月初

一面:电话面,问得没有很深入,半小时,国庆后的第一周

二面:人事面聊聊天,半小时

现场见面:三产在萝岗最边缘,和部门leader了解业务。最后选择拒绝,理由有三方面。首先是业务,做的是空调控制板卡,电机驱动,空调这个行业十年前已经是竞争充分了,个人并不看好这种赛道;其次是薪资,第一年学习阶段绩效拿不满,也就是年终没有3个月,内部调薪一年三次,不是领导评而是同事之间互相评,薪资透明,他说我的薪资已经是倒挂了,那我岂不是两年内基本不用考虑调薪,甚至还可能会被排挤;最后是加班文化,九点后下班,弹性工作制不打卡,相当于随叫随到,他说基本保证双休。和美的比起来性价比就低很多了。

待遇:17k*13+年终3个月,公积金按月薪-1k2住房补贴的5%交,吃免费无住宿,年调薪2-5次(250元/档,封顶8档),加班是文化,宣讲会的时候放了张部门全部人半夜四点下班的合照,有个朋友在里面天天九点后下班。

SY半导体(GOT OFFER)

10.28早上十点打电话约面试,下午三点半面试,五点半hr沟通发offer,不到八小时拿下。

珠海,应用工程师,保底18k*16(按绩效可多最多2个月的)+12w签字费三年均匀发,公积金按工资18k*12%。
长期激励就不展开了,类似丑的那些项目奖专利奖什么的,要IPO也可能有原始股。
住宿:吃食堂,申请珠海的人才公寓1k多,这方面没有丑的方便。

ZH电源(GOT OFFER)

投递:9月初

一面:十月中

二面:一面之后一星期

20k*14,年终奖看绩效,不一定是2,公积金按工资65%交5%,一日两顿餐补30,夜宵免费,朝九晚六还双休,坐标深圳。


目录

BYD(拒绝签约)

YST(拒绝后hr保留)

丑的(GOT OFFER)

CVTE(拒绝签约

SY半导体(GOT OFFER)

ZH电源(GOT OFFER)

APB和AHB协议 ,如何完成APB与AHB之间的握手?

AHB怎么完成burst传输?

在AHB到APB bridge的测试点?

项目中FIFO的测试点?FIFO的深度是多少?

你是如何判别fifo的空满?

是否进行覆盖率的收集 ,都有哪些覆盖率,代码覆盖率又包含哪些内容?

你所做项目的测试点有什么?

是否用到了断言覆盖率?

寄存器和锁存器的区别

什么是建立时间和保持时间?如果违例怎么办?

跨时钟域应该怎么处理

多线程的同步调度方法有哪些?

接口和时钟块的功能是什么?

怎么编写测试用例?

断言中$past的用法

rand 和randc的区别?

MOORE 与 MEELEY状态机的特征?

什么是"线与"逻辑?要实现它,在硬件特性上有什么具体要求?

Verilog HDL中的可综合、不可综合的东西有哪些?

对于同步fifo,每100个cycle可以写入80个数据,每10个cycle可以读出8个数据,fifo的深度至少为?

JTAG接口信号及功能是什么?

约束有几种形式?

get_next_item()和try_next_item()有什么区别?

如何关闭约束?

如何控制一个约束块?

如何控制对象的所有约束?

类的public、protected和local的区别?

phase中的domain概念?

FPGA、CPLD、ASIC、SOC、SOPC是什么?

什么是Clock Jitter和Clock Skew,这两者有什么区别?

反相器的速度与哪些因素有关?

什么是转换时间(Transition Time)和传播延迟(Propagation Delay)?

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

FPGA与ASIC设计流程的区别?

FPGA芯片内有哪两种存储器资源?

FPGA设计中如何使用时钟?

FPGA设计如何实现同步时序电路的延时?

什么是竞争与冒险?怎样判断?如何消除?

UVM的优势是什么?为什么要用UVM?

说一下ref类型,你用到过吗?

component和object的区别?item是哪种?

如何保证验证的完备性?

break;continue;return的含义

sequencer的仲裁特性set_arbitration和锁定机制(lock和grab)

virtual sequence和virtual sequencer中virtual的含义

为什么要分开实现sequence、sequencer、driver?

什么是field_automation机制和objection机制?

你搭建的验证平台为什么要用寄存器?


APB和AHB协议 ,如何完成APB与AHB之间的握手?

通过一个AHB to APB bridge进行握手

AHB怎么完成burst传输?

首先看burst的类型是single、wrap还是incr,single就是单个传输,地址阶段从总线拿到地址和控制信号后,在数据阶段wdata拉高等待ready拉高完成传输。

incr表示地址不循环增量,每传输一个数据相应的地址就递增;wrap表示地址循环,具体看是多少拍为一个循环,如果是wrap4,数据位宽size是8,那么就是从当前地址开始进行增量为4、地址范围32的地址循环传输。

在AHB到APB bridge的测试点?

APB的测试点如下:

指令测试(覆盖组cg_apb_command,收集读写和idle三个指令);

传输时间测试(覆盖组cg_apb_trans_timing_group,看传输多个数据的sel信号的翻转情况,1次读写要2个clk,sel传送1个数据要维持2个clk为高后拉低,传送2个数据要维持2*2个clk为高后拉低,以此类推,burst test一共有4,8,16,32个数据;enable信号在连续读写时就是0101一高一低,如果是单个single的,就可能是1后拉低[*2:10]);

读写顺序的测试(覆盖组cg_apb_write_read_order_group,采集write信号,读为1写为0,共四种读写顺序)

项目中FIFO的测试点?FIFO的深度是多少?

根据硬件设计v文件sync_dff_fifo,深度是32

你是如何判别fifo的空满?

根据读写指针来判断fifo空满。

空标志:读指针追上写指针,两个指针所有位相同

满标志:写时针写满一圈,标志位置1,然后追上读指针,就是第一位相反,后面位相反

是否进行覆盖率的收集 ,都有哪些覆盖率,代码覆盖率又包含哪些内容?

是的。覆盖率的收集分为几块:首先是APB覆盖率的收集,一共测试了三个测试点,指令测试、传输时间测试、读写顺序的测试。

其次是

你所做项目的测试点有什么?

是否用到了断言覆盖率?

是的。断言覆盖率编写在覆盖组的后面。

1 检查地址中有无不定值:在sel拉高时(交叠蕴含|→)用系统函数$isunknown(addr)评估地址是否含x和z,如果是则返回1

2 检查sel拉高后下一拍enable是否拉高:用$rose(sel)和非交叠蕴含|⇒ $rose(enable)

3 检查enable拉高后下一拍是否被拉低:enable要拉低需要完成数据传输,所以在enable和ready都为高时评估|→$fell(enable)

4 检查wdata在传输数据时是否稳定:传输数据的两个clk的序列描述出来((psel && !penable) ##1 (psel && penable)),则评估$stable(wdata)

5 检查地址是否在两次连续传输保持稳定:定义两个地址变量,在enable为高时存入第一个地址,下一拍进入setup状态时调用$past(addr)存入第二个地址,然后评估两个地址是否一致

6 同上,检查write是否稳定:

7 检查读操作时rdata是否稳定:读操作write为低、ready为高、enable为高时,评估rdata是否稳定$stable()

8 检查不连续传输的write序列是否正确:enable拉高后评估write是否贯穿到下一次传输,由于不连续,enable拉高后的下一拍是idle,然后进入下一次传输,所以序列是$rose(penable) |-> pwrite throughout (##1 (!penable)[*2] ##1 penable[=1])

9 检查连续传输的write序列是否正确:enable拉高后评估write是否贯穿两拍后enable为高这个序列

10 检查连续读写的序列是否正确:连续读写时,write高2拍低2拍,enable0101,由于是连续写读,地址也要保持一致

11 连续两次写后读:在10的基础上复制多一次,write改为!write

12 13 不连续读,连续读,和9、10的区别就是write为!write

14 连续读写读:也是同理

寄存器和锁存器的区别

寄存器:寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。

锁存器:可以把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制器与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。锁存器是利用电平控制数据的输入。

寄存器是同步时钟控制,而锁存器是电位信号控制。锁存器一般由电平信号控制,属于电平敏感型。寄存器一般由时钟信号信号控制,属于边沿敏感型。

寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化

什么是建立时间和保持时间?如果违例怎么办?

在时钟采样沿之前,数据必须保持稳定的时间,该时间量称为建立时间

在时钟采样沿之后,数据必须保持稳定的最短时间,称为保持时间。

建立时间余量(Setup Slack): 要求数据到达时间和数据实际到达时间的差值。

保持时间余量(Hold Slack): 数据实际结束位置和要求数据结束位置的差值。

数据从Reg1到Reg2,理想情况下采样沿到达Reg2时,数据的中间位置到达Reg2的数据端,这样出现最优的建立时间和保持时间,此时采样的数据也是最稳定的,如果时钟早到或者数据早到就会产生余量,严重的情况下就会产生时序违例。

  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值