面试的资料1什么是Setup和Holdup时间
建立时间(SetupTime)和保持时间(Holdtime)
建立时间是指在时钟边沿前,数据信号需要保持不变的时间
保持时间是指时钟跳变边沿后数据信号需要保持不变的时间
如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability的情况
如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量
图1建立时间和保持时间示意图2什么是竞争与冒险现象
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争
产生毛刺叫冒险
如果布尔式中有相反的信号则可能产生竞争和冒险现象
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容
3用D触发器实现2倍分频的逻辑电路
Verilog描述:moduledivide2(clk,clk_o,reset);inputclk,reset;outputclk_o;wirein;regout;alwaysx(posedgeclkorposedgereset)if(reset)out