数字 IC 设计职位经典笔/面试题(二)

共100道经典笔试、面试题目(文末可全领)

FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项?

三种资源:BLOCK RAM,触发器(FF),查找表(LUT);注意事项:

1:在生成 RAM 等存储单元时,应该首选 BLOCK RAM 资源;
其原因有二:

第一:使用 BLOCK RAM 等资源,可以节约更多的 FF 和 4-LUT 等底层可编程单元。使用BLOCK RAM 可以说是"不用白不用",是最大程度发挥器件效能,节约成本的一种体现;

第二:BLOCK RAM 是一种可以配置的硬件结构,其可靠性和速度与用LUT 和 REGISTER 构建的存储器更有优势。

2:弄清 FPGA 的硬件结构,合理使用 BLOCK RAM 资源;

3:分析 BLOCK RAM 容量,高效使用 BLOCK RAM 资源;

4:分布式 RAM 资源(DISTRIBUTE RAM)

IC 设计前端到后端的流程和 EDA 工具?

设计前端也称逻辑设计,后端设计也称物理设计,两者并没有严格的界限,一般涉及到与工艺有关的设计就是后端设计。

1:规格制定:客户向芯片设计公司提出设计要求。

2:详细设计:芯片设计公司(Fabless)根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。目前架构的验证一般基于 systemC 语言,对价后模型的仿真可以使用 systemC 的仿真工具。例如:CoCentric 和 Visual Elite等。

3:HDL 编码:设计输入工具:ultra ,visual VHDL 等

4:仿真验证:modelsim

5:逻辑综合:synplify

6:静态时序分析:synopsys 的 Prime Time

7:形式验证:Synopsys 的 Formality.

寄生效应在 IC 设计中怎样加以克服和利用?

所谓寄生效应就是那些溜进你的 PCB 并在电路中大施破坏、令人头痛、原因不明的小故障。它们就是渗入高速电路中隐藏的寄生电容和寄生电感。其中包括由封装引脚和印制线过长形成的寄生电感;焊盘到地、焊盘到电源平面和焊盘到印制线之间形成的寄生电容;通孔之间的相互影响,以及许多其它可能的寄生效应。理想状态下,导线是没有电阻,电容和电感的。而在实际中,导线用到了金属铜,它有一定的电阻率,如果导线足够长,积累的电阻也相当可观。

两条平行的导线,如果互相之间有电压差异,就相当于形成了一个平行板电容器(你想象一下)。通电的导线周围会形成磁场(特别是电流变化时),磁场会产生感生电场,会对电子的 移动产生影响,可以说每条实际的导线包括元器件的管脚都会产生感生电动势,这也就是寄生电感。在直流或者低频情况下,这种寄生效应看不太出来。而在交流特别是高频交流条件下,影响就非常巨大了。根据复阻抗公式,电容、电感会在交流情况下会对电流的移动产生巨大阻碍,也就可以折算成阻抗。这种寄生效应很难克服,也难摸到。只能通过优化线路,尽量使用管脚短的 SMT 元器件来减少其影响,要完全消除是不可能的。

Xilinx 中与全局时钟资源和 DLL 相关的硬件原语:

常 用 的 与 全 局 时 钟 资 源 相 关 的 Xilinx 器 件 原 语 包 括 :IBUFG,IBUFGDS,BUFG,BUFGP,P,BUFGCE,BUFGMUX,BUFGDLL,DCM 等。关于各个器件原语的解释可以参考《FPGA 设计指导准则》p50 部分。

HDL 语言的层次概念?

HDL 语言是分层次的、类型的,最常用的层次概念有系统与标准级、功能模块级,行为级,寄存器传输级和门级。系统级,算法级,RTL 级(行为级),门级,开关级。

寄生效应在 IC 设计中怎样加以克服和利用?

所谓寄生效应就是那些溜进你的 PCB 并在电路中大施破坏、令人头痛、原因不明的小故障。它们就是渗入高速电路中隐藏的寄生电容和寄生电感。其中包括由封装引脚和印制线过长形成的寄生电感;焊盘到地、焊盘到电源平面和焊盘到印制线之间形成的寄生电容;通孔之间的相互影响,以及许多其它可能的寄生效应。理想状态下,导线是没有电阻,电容和电感的。而在实际中,导线用到了金属铜,它有一定的电阻率,如果导线足够长,积累的电阻也相当可观。两条平行的导线,如 果互相之间有电压差异,就相当于形成了一个平行板电容器(你想象一下)。

通电的导线周围会形成磁场(特别是电流变化时),磁场会产生感生电场,会对电子的 移动产生影响,可以说每条实际的导线包括元器件的管脚都会产生感生电动势,这也就是寄生电感。在直流或者低频情况下,这种寄生效应看不太出来。而在交流特别是高频交流条件下,影响就非常巨大了。根据复阻抗公式,电容、电感会在交流情况下会对电流的移动产生巨大阻碍,也就可以折算成阻抗。这种寄生效应很难克服,也难摸到。只能通过优化线路,尽量使用管脚短的 SMT 元器件来减少其影响,要完全消除是不可能的。

用 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

什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?

线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用 oc 门来实现, 由于不用 oc 门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻。oc 门就是集电极开路门。od 门是漏极开路门。

什么是竞争与冒险现象?怎样判断?如何消除?

在组合电路中,某一输入变量经过不同途径传输后,到达电路中某一汇合点的时间有先有后,这种现象称竞争;由于竞争而使电路输出发生瞬时错误的现象叫做冒险。(也就是由于竞争产生的毛刺叫做冒险)。判断方法:代数法(如果布尔式中有相反的信号则可能产生竞争和冒险现象);卡诺图:有两个相切的卡诺圈并且相切处没有被其他卡诺圈包围,就有可能出现竞争冒险;实验法:示波器观测;

解决方法:1:加滤波电容,消除毛刺的影响;2:加选通信号,避开毛刺;3:增加冗余项消除逻辑冒险。门电路两个输入信号同时向相反的逻辑电平跳变称为竞争;由于竞争而在电路的输出端可能产生尖峰脉冲的现象称为竞争冒险。

如果逻辑函数在一定条件下可以化简成 Y=A+A'或 Y=AA'则可以判断存在竞争冒险现象(只是一个变量变化的情况)。消除方法,接入滤波电容,引入选通脉冲,增加冗余逻辑。

需要上述面试题目的同学可按需领,可以直接分享给大家~

这里放个口: IC笔面试题目

相关推荐
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码7 天前
嵌入式学习路线
学习
毛小茛7 天前
计算机系统概论——校验码
学习
babe小鑫7 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms7 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下7 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。7 天前
2026.2.25监控学习
学习
im_AMBER7 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J8 天前
从“Hello World“ 开始 C++
c语言·c++·学习