目录
你这里写了覆盖率的收集,功能覆盖率是怎么收集的,有哪些功能点?
还问了ready和valid信号的情形,但是我答不出来,想不起APB的工作原理了。
你写了很多的Verilog,都会写吗?写一个N分频来看看,三分频吧
感谢信
您好, 首先感谢贵公司对我的关注,收到贵公司的offer我感到非常荣幸。目前,我的应聘已经告一段落,经过我和朋友们的综合讨论和评定,很抱歉的通知您,贵公司未能通过我们的甄选,对此我们表示遗憾!热情和自信最重要,相信不久就可以找到合适的人才! 贵公司的招聘信息将进入我的备选库,若日后有合适的机会,也将优先考虑。 真诚希望贵公司可以继续关注我,欢迎所有怀揣梦想、不懈努力的公司。 再次感谢贵公司对我的支持和关注! 祝贵公司一切顺利,前程似锦!
HKWS10.14面试 25mins
面的是FPGA开发工程师,面完我才看到是杭州的岗位,当时为了刷经验投的,感谢信已经准备好了。
面试过程很轻松,面试官只问我在mcdf项目做了什么,没有深入到sv和uvm的细节问题,遇到报错什么的是怎么解决的,用过哪些仿真软件,等等这些问题。
JXC10.13面试 30mins
聊聊天,老哥人很好的劝退我,建议我先找实习,考虑清楚是不是真的要转行。
JDSK9.23面试 42mins
第一次IC的面试,是个初创公司,由于我是非科班且没有其他项目经验,面试官对着我的简历一行一行的问。简历截图如下。
然后面试开始。
快速的自我介绍
没有准备,简单介绍了学校专业成果和方向后表明想进入IC行业。
介绍一下这个MCDF的项目
MCDF是多通道数据整形器,通过APB总线接收4个通道的数据存储在fifo中,根据寄存器的指令决定整形后的数据包形式,并从相应的通道fifo提取对应的数据。
你这里写SV搭建的验证环境,和UVM搭建的有什么区别吗
首先是激励的产生和发送发生了比较大的改动,SV中在generator中产生激励,在initiator中发送激励,激励的产生是通过动态数组用foreach挨个赋值。而UVM环境中激励单位是item,在sequence中随机化和产生,然后经过sequencer后给到driver发送出去。
第二个是组件之间通信,SV用的是mailbox传递句柄的方式通信,UVM用tlm通信端口进行通信,在组件中声明和例化后在顶层环境做连接,tlm组件比如tlm_fifo等替代了原来的mailbox,即实现存储数据,又实现通信
你这里写了覆盖率的收集,功能覆盖率是怎么收集的,有哪些功能点?
我的覆盖率收集主要是对apb总线的一个覆盖率收集,通过在apb接口编写覆盖组实现
第一个是对apb指令的覆盖率收集,覆盖点为write信号、sel信号、合并的cmd信号,读写都需要sel信号拉高,write信号分别为拉高和拉低,idle指令则sel拉低
第二个是对连续读写操作的收集,第一个覆盖点是sel信号连续拉高多少拍后拉低,第二个是enable信号拉低拉高交替多少个clk
第三个是对读写顺序的覆盖率收集,读写顺序根据write信号的高低分别有读读、写写、读写、写读
代码覆盖率有哪些?
行,路径,翻转,状态机
写一个队列,然后找出队列中第一个元素是3的位置?
int q[$]={1,2,3,4};
t=q.find(3);
介绍一下TLM通信?
你在这个项目里用到了那些tlm?
模块中driver和sequencer之间的通信用seq_item_port与exp传递item
模块中的monitor声明例化analysis_port与checker中tlm_fifo的analysis_export通信
refmod用uvm_blocking_get_port与checker的reg_rlm_fifo的bg_exp通信
你怎么看寄存器模型?
这里写到APB总线,简单介绍下APB总线?
为什么用APB,为什么不用别的总线?
介绍下APB总线的工作原理?
还问了ready和valid信号的情形,但是我答不出来,想不起APB的工作原理了。
你这里写了UVM的类库地图,介绍一下?
工厂机制的优势是什么?
phase机制是怎么样的?
config机制呢?
请手写config配置接口的代码?
介绍下消息管理机制?
断言和属性的编写,主要写了些什么?
你写了很多的Verilog,都会写吗?写一个N分频来看看,三分频吧
最后的建议
- 每一份简历都是MCDF,要做的和别人不一样,要突出,不然没什么可以问的。
- 多做一个项目,他收到的简历都是2个项目,虽然都是很简单的,没啥可以问,在他们做过的人看来,这些都没什么可以问。
- 要找工作,至少要会写代码吧。