阿里平头哥芯片设计实习一面
- 首先说了一下简历,批评了一下,说这个如果一些技能写为“熟悉”,那么将会问一些深入的问题,建议不是特别了解的技能写为“了解”。
第一问是时序问题,常见题目,问电路最高能跑到多少频率,考察setup和hold,这里挖了个坑,hold不满足的时候问了我时钟能跑到多少。
第二问给了一段代码,让我画出波形图,考察阻塞赋值和非阻塞赋值
logic a;
initial begin
a<=0;
a<=#1 1;
a<=#2 0;
end
logic a;
initial begin
a=0;
a=#1 1;
a=#2 0;
end
让我对比这两个写法的区别(没有答出来,应该是不一样的),这里其实应该是:第一种情况三个非阻塞赋值是同时开始的,但是经过了不同的时延生效,0ns时为0,1ns时为1,2ns时为0;而第二种情况下,由于是阻塞赋值,0ns时为0,1ns时为1,3ns时为0,语句是一条一条执行的。
第三问问的是FPGA内部有什么资源
FPGA中的基本逻辑单元是CLB(Configurable logic block)模块,一个CLB模块一般包含若干个基本的查找表、寄存器和多路选择器资源,因此FPGA中的逻辑表达式基于LUT(look_up_table)的。
FPGA内部的编程信息一般存储在SRAM单元中,因此通常的FPGA都是基于SRAM的,所以掉电后信息会丢失,下次上电需要先配置才能使用。
运算需要DSP,时钟管理(时钟树)
这是一个博主写的相关内容
第四问是uvm_agent中有active和passive模式,问这两种模式的区别,我没有完全答对,面试官好像说passive模式下也可以有反馈信息,声音太小没有听清楚,网上也没有查到相关的信息。