共100道经典笔试、面试题目(文末可全领)
画出 CMOS 电路的晶体管级电路图,实现 Y=A*B+C(D+E).?
画出 Y=AB+C 的 CMOS 电路图,画出 Y=AB+CD 的 CMOS 电路图。
利用与非门和或非门实现
Y=AB+C(D+E)=((AB’)(CD)’(CE)’)’ 三个两输入与非门,一个三输入与非门
Y=AB+C=((AB)’C’) 一个反相器,两个两输入与非门
Y=AB+C*D=((AB)’(CD)’)’ 三个两输入与非门
A,B,C,D,E 进行投票,多数服从少数,输出是 F(也就是如果 A,B,C,D,E 中 1 的个数比 0 多,那么 F 输出为 1,否则 F 为 0),用与非门实现,输入数目没有限制?(与非-与非形式)
先画出卡诺图来化简,化成与或形式,再两次取反便可。
function 和 task 有什么区别?
function可以调用其他 function ,但是不能调用其他 task消耗 0 仿真时间不得包含任何延迟和时序控制语句。
必须至少有一个输入参数。函数始终返回单个值。他们不能有 output 或 inout 参数task可以调用其他 function 和 task消耗非 0 仿真时间可以包含任何延迟和时序控制语句。
可以有零个或多个类型为 input,output 或 inout 参数。output 或 inout 参数。 任务不返回值,但可以通过 output 或 inout 参数传递多个值。
latch 与 register 的区别,为什么现在多用 register.行为级描述中 latch 如何产生的?
latch 是电平触发,register 是边沿触发,register 在同一时钟边沿触发下动作,符合同步电路的设计思想,而 latch 则属于异步电路设计,往往会导致时序分析困难,不适当的应用 latch 则会大量浪费芯片资源。
用 D 触发器做个二分频的电路?画出逻辑电路?
module div2(clk,rst,clk_out);
input clk,rst;
output reg clk_out;
always@(posedge clk)
beginif
(!rst)
clk_out <=0;
else
clk_out <=~ clk_out;
end
endmodule
或者是从 Q 端引出加一个反相器。
现实工程设计中一般不采用这样的方式来设计,二分频一般通过 DCM 来实现。通过 DCM 得到的分频信号没有相位差。
什么是状态图?
状态图是以几何图形的方式来描述时序逻辑电路的状态转移规律以及输出与输入的关系。
用你熟悉的设计方式设计一个可预置初值的 7 进制循环计数器,15 进制的呢?
module counter7(clk,rst,load,data,cout);
input clk,rst,load;
input [2:0] data;
output reg [2:0] cout;
always@(posedge clk)
begin
if(!rst)
cout<=3’d0;
else if(load)cout<=data;
else
if(cout>=3’d6)
cout<=3’d0;
else
cout<=cout+3’d1;
end
endmodule
功耗的来源是什么?
+动态功耗,逻辑转换导致逻辑门负载电容充电/放电。
+短路电流,在逻辑转换期间短路(一段时间)时发生。
+泄露功耗,由泄漏电流引起的。
用 Verilog 或 VHDL 写一段代码,实现消除一个 glitch(毛刺)?
将传输过来的信号经过两级触发器就可以消除毛刺。(这是我自己采用的方式:这种方式消除毛刺是需要满足一定条件的,并不能保证一定可以消除)
module(clk,data,q_out)
input clk,data;
output reg q_out;
reg q1;
always@(posedgeclk)begin
q1<=data;
q_out<=q1;
end
endmodule
SRAM,FALSH MEMORY,DRAM,SSRAM 及 SDRAM 的区别?
SRAM:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像 DRAM需要不停的 REFRESH,制造成本较高,通常用来作为快取(CACHE) 记忆体使用。
FLASH:闪存,存取速度慢,容量大,掉电后数据不会丢失。
DRAM:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比SRAM 便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用。
SSRAM:即同步静态随机存取存储器。对于 SSRAM 的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。
SDRAM:即同步动态随机存取存储器。
给出一个组合逻辑电路,要求分析逻辑功能。
所谓组合逻辑电路的分析,就是找出给定逻辑电路输出和输入之间的关系,并指出电路的逻辑功能。
分析过程一般按下列步骤进行:
1:根据给定的逻辑电路,从输入端开始,逐级推导出输出端的逻辑函数表达式。
2:根据输出函数表达式列出真值表;
3:用文字概括处电路的逻辑功能;
如何防止亚稳态?
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个 正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
解决方法:
1 降低系统时钟频率
2 用反应更快的 FF
3 引入同步机制,防止亚稳态传播(可以采用前面说的加两级触发器)。
4 改善时钟质量,用边沿变化快速的时钟信号
需要上述面试题目的同学可按需领,点击下方链接可以直接分享给大家~
这里放个口:IC笔面试题目