Verilog练习生
我去年面试时被问到的几个具体问题,你可以参考下。
功耗部分:面试官直接问,一个32位加法器,在典型工作频率下,它的动态功耗和哪些因素成正比?我回答了开关活动性、负载电容、电压平方和频率。接着他追问,如果这个加法器是条件执行的,比如只有使能信号有效时才工作,用什么方法降低功耗?我提到了用使能信号做时钟门控,以及如果数据输入稳定,还可以用操作数隔离来避免不必要的翻转。
时序部分:他给了一个场景,两个时钟域,CLKA=200MHz,CLKB=100MHz,从A到B传一个脉冲信号。问这个路径的时序约束怎么写?同步方案怎么选?我回答了需要约束set_false_path或者set_clock_groups声明异步,然后物理上要用同步器。他接着问,如果这个脉冲可能连续出现,间隔很小,怎么办?这就引出了脉冲同步可能丢失数据的问题,需要用到握手机制或异步FIFO。
总之,问题都很实在,不会只问概念。你得能结合具体电路和数字说话。平时可以多看看自己项目中模块的功耗报告和时序报告,理解每一个数字背后的含义,面试时就能侃侃而谈了。
