数字IC设计工程师招聘面试笔试100题附答案.docx
- 文档编号:26543745
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:41
- 大小:483.41KB
数字IC设计工程师招聘面试笔试100题附答案.docx
《数字IC设计工程师招聘面试笔试100题附答案.docx》由会员分享,可在线阅读,更多相关《数字IC设计工程师招聘面试笔试100题附答案.docx(41页珍藏版)》请在冰豆网上搜索。
数字IC设计工程师招聘面试笔试100题附答案
数字IC设计工程师招聘面试笔试100题附答案
1:
什么是同步逻辑和异步逻辑?
(汉王)
同步逻辑是时钟之间有固定因果关系。
异步逻辑是各时钟之间没有固定因果关系。
同步时序逻辑电路特点:
各触发器时钟端所有连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路状态才干变化。
变化后状态将始终保持到下一种时钟脉冲到来,此时无论外部输入x有无变化,状态表中每个状态都是稳定。
异步时序逻辑电路特点:
电路中除可以使用带时钟触发器外,还可以使用不带时钟触发器和延迟元件作为存储元件,电路中没有统一时钟,电路状态变化由外部输入变化直接引起。
2:
同步电路和异步电路区别:
同步电路:
存储电路中所有触发器时钟输入端都接同一种时钟脉冲源,因而所有触发器状态变化都与所加时钟脉冲信号同步。
异步电路:
电路没有统一时钟,有些触发器时钟输入端与时钟脉冲源相连,只有这些触发器状态变化与时钟脉冲同步,而其她触发器状态变化不与时钟脉冲同步。
3:
时序设计实质:
时序设计实质就是满足每一种触发器建立/保持时间规定。
4:
建立时间与保持时间概念?
建立时间:
触发器在时钟上升沿到来之前,其数据输入端数据必要保持不变最小时间。
保持时间:
触发器在时钟上升沿到来之后,其数据输入端数据必要保持不变最小时间。
5:
为什么触发器要满足建立时间和保持时间?
由于触发器内部数据形成是需要一定期间,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器输出将不稳定,在0和1之间变化,这时需要通过一种恢复时间,其输出才干稳定,但稳定后值并不一定是你输入值。
这就是为什么要用两级触发器来同步异步输入信号。
这样做可以防止由于异步输入信号对于本级时钟也许不满足建立保持时间而使本级触发器产生亚稳态传播到背面逻辑中,导致亚稳态传播。
(比较容易理解方式)换个方式理解:
需要建立时间是由于触发器D端像一种锁存器在接受数据,为了稳定设立前级门状态需要一段稳定期间;需要保持时间是由于在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。
6:
什么是亚稳态?
为什么两级触发器可以防止亚稳态传播?
这也是一种异步电路同步化问题。
亚稳态是指触发器无法在某个规定期间段内到达一种可以确认状态。
使用两级触发器来使异步电路同步化电路其实叫做“一位同步器”,她只能用来对一位异步信号进行同步。
两级触发器可防止亚稳态传播原理:
假设第一级触发器输入不满足其建立保持时间,它在第一种脉冲沿到来后输出数据就为亚稳态,那么在下一种脉冲沿到来之前,其输出亚稳态数据在一段恢复时间后必要稳定下来,并且稳定数据必要满足第二级触发器建立时间,如果都满足了,在下一种脉冲沿到来时,第二级触发器将不会浮现亚稳态,由于其输入端数据满足其建立保持时间。
同步器有效条件:
第一级触发器进入亚稳态后恢复时间+第二级触发器建立时间<=时钟周期。
更确切地说,输入脉冲宽度必要不不大于同步时钟周期与第一级触发器所需保持时间之和。
最保险脉冲宽度是两倍同步时钟周期。
因此,这样同步电路对于从较慢时钟域来异步信号进入较快时钟域比较有效,对于进入一种较慢时钟域,则没有作用。
7:
系统最高速度计算(最快时钟频率)和流水线设计思想:
同步电路速度是指同步系统时钟速度,同步时钟愈快,电路解决数据时间间隔越短,电路在单位时间内解决数据量就愈大。
假设Tco是触发器输入数据被时钟打入到触发器到数据到达触发器输出端延时时间(Tco=Tsetpup+Thold);Tdelay是组合逻辑延时;Tsetup是D触发器建立时间。
假设数据已被时钟打入D触发器,那么数据到达第一种触发器Q输出端需要延时时间是Tco,通过组合逻辑延时时间为Tdelay,然后到达第二个触发器D端,要但愿时钟能在第二个触发器再次被稳定地打入触发器,则时钟延迟必要不不大于Tco+Tdelay+Tsetup,也就是说最小时钟周期Tmin=Tco+Tdelay+Tsetup,即最快时钟频率Fmax=1/Tmin。
FPGA开发软件也是通过这种办法来计算系统最高运营速度Fmax。
由于Tco和Tsetup是由详细器件工艺决定,故设计电路时只能变化组合逻辑延迟时间Tdelay,因此说缩短触发器间组合逻辑延时时间是提高同步电路速度核心所在。
由于普通同步电路都不不大于一级锁存,而要使电路稳定工作,时钟周期必要满足最大延时规定。
故只有缩短最长延时途径,才干提高电路工作频率。
可以将较大组合逻辑分解为较小N块,通过恰当办法平均分派组合逻辑,然后在中间插入触发器,并和原触发器使用相似时钟,就可以避免在两个触发器之间浮现过大延时,消除速度瓶颈,这样可以提高电路工作频率。
这就是所谓"流水线"技术基本设计思想,即原设计速度受限某些用一种时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因而系统工作速度可以加快,吞吐量加大。
注意,流水线设计会在原数据通路上加入延时,此外硬件面积也会稍有增长。
8:
时序约束概念和基本方略?
时序约束重要涉及周期约束,偏移约束,静态时序途径约束三种。
通过附加时序约束可以综合布线工具调节映射和布局布线,使设计达届时序规定。
附加时序约束普通方略是先附加全局约束,然后对迅速和慢速例外途径附加专门约束。
附加全局约束时,一方面定义设计所有时钟,对各时钟域内同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑PADTOPAD途径附加约束。
附加专门约束时,一方面约束分组之间途径,然后约束快、慢速例外途径和多周期途径,以及其她特殊途径。
9:
附加约束作用?
1:
提高设计工作频率(减少了逻辑和布线延时);2:
获得对的时序分析报告;(静态时序分析工具以约束作为判断时序与否满足设计规定原则,因而规定设计者对的输入约束,以便静态时序分析工具可以对的输出时序报告)3:
指定FPGA/CPLD电气原则和引脚位置。
10:
FPGA设计工程师努力方向:
SOPC,高速串行I/O,低功耗,可靠性,可测试性和设计验证流程优化等方面。
随着芯片工艺提高,芯片容量、集成度都在增长,FPGA设计也朝着高速、高度集成、低功耗、高可靠性、高可测、可验证性发展。
芯片可测、可验证,正在成为复杂设计所必备条件,尽量在上板之前查出bug,将发现bug时间提前,这也是某些公司花大力气设计仿真平台因素。
此外随着单板功能提高、成本压力,低功耗也逐渐进入FPGA设计者考虑范畴,完毕相似功能下,考虑如何可以使芯片功耗最低,据说altera、xilinx都在依照自己芯片特点整顿如何减少功耗文档。
高速串行IO应用,也丰富了FPGA应用范畴,象xilinxv2pro中高速链路也逐渐被应用。
11:
对于多位异步信号如何进行同步?
对以一位异步信号可以使用“一位同步器进行同步”(使用两级触发器),而对于多位异步信号,可以采用如下办法:
1:
可以采用保持寄存器加握手信号办法(多数据,控制,地址);2:
特殊详细应用电路构造,依照应用不同而不同;3:
异步FIFO。
(最惯用缓存单元是DPRAM)
12:
FPGA和CPLD区别?
CPLD
FPGA
内部构造
Productterm(基于乘积项)
LookupTable(基于查找表)
程序存储
内部EEPROM/FLASH
SRAM,外挂EEPROM
资源类型
组合逻辑资源丰富
时序逻辑资源丰富
集成度
低
高
使用场合
完毕控制逻辑
能完毕比较复杂算法
速度
慢
快?
?
其她资源
-
PLL、RAM和乘法器等
保密性
可加密
普通不能保密
13:
锁存器(latch)和触发器(flip-flop)区别?
电平敏感存储器件称为锁存器。
可分为高电平锁存器和低电平锁存器,用于不同步钟之间信号同步。
有交叉耦合门构成双稳态存储原件称为触发器。
分为上升沿触发和下降沿触发。
可以以为是两个不同电平敏感锁存器串连而成。
前一种锁存器决定了触发器建立时间,后一种锁存器则决定了保持时间。
14:
FPGA芯片内有哪两种存储器资源?
FPGA芯片内有两种存储器资源:
一种叫BLOCKRAM,另一种是由LUT配备成内部存储器(也就是分布式RAM)。
BLOCKRAM由一定数量固定大小存储块构成,使用BLOCKRAM资源不占用额外逻辑资源,并且速度快。
但是使用时候消耗BLOCKRAM资源是其块大小整数倍。
15:
什么是时钟抖动?
时钟抖动是指芯片某一种给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同周期上也许加长或缩短。
它是一种平均值为0平均变量。
16:
FPGA设计中对时钟使用?
(例如分频等)
FPGA芯片有固定期钟路由,这些路由能有减少时钟抖动和偏差。
需要对时钟进行相位移动或变频时候,普通不容许对时钟进行逻辑操作,这样不但会增长时钟偏差和抖动,还会使时钟带上毛刺。
普通解决办法是采用FPGA芯片自带时钟管理器如PLL,DLL或DCM,或者把逻辑转换到触发器D输入(这些也是对时钟逻辑操作代替方案)。
17:
FPGA设计中如何实现同步时序电路延时?
一方面说说异步电路延时实现:
异步电路一半是通过加buffer、两级与非门等来实现延时(我还没用过因此也不是很清晰),但这是不适合同步电路实现延时。
在同步电路中,对于比较大和特殊规定延时,一半通过高速时钟产生计数器,通过计数器来控制延时;对于比较小延时,可以通过触发器打一拍,但是这样只能延迟一种时钟周期。
18:
FPGA中可以综合实现为RAM/ROM/CAM三种资源及其注意事项?
三种资源:
BLOCKRAM,触发器(FF),查找表(LUT);
注意事项:
1:
在生成RAM等存储单元时,应当首选BLOCKRAM资源;其因素有二:
第一:
使用BLOCKRAM等资源,可以节约更多FF和4-LUT等底层可编程单元。
使用BLOCKRAM可以说是“不用白不用”,是最大限度发挥器件效能,节约成本一种体现;第二:
BLOCKRAM是一种可以配备硬件构造,其可靠性和速度与用LUT和REGISTER构建存储器更有优势。
2:
弄清FPGA硬件构造,合理使用BLOCKRAM资源;
3:
分析BLOCKRAM容量,高效使用BLOCKRAM资源;
4:
分布式RAM资源(DISTRIBUTERAM)
19:
Xilinx中与全局时钟资源和DLL有关硬件原语:
惯用与全局时钟资源有关Xilinx器件原语涉及:
IBUFG,IBUFGDS,BUFG,BUFGP,BUFGCE,BUFGMUX,BUFGDLL,DCM等。
关于各个器件原语解释可以参照《FPGA设计指引准则》p50某些。
20:
HDL语言层次概念?
HDL语言是分层次、类型,最惯用层次概念有系统与原则级、功能模块级,行为级,寄存器传播级和门级。
系统级,算法级,RTL级(行为级),门级,开关级
21:
查找表原理与构造?
查找表(look-up-table)简称为LUT,LUT本质上就是一种RAM。
当前FPGA中多使用4输入LUT,因此每一种LUT可以当作一种有4位地址线16x1RAM。
当顾客通过原理图或HDL语言描述了一种逻辑电路后来,PLD/FPGA开发软件会自动计算逻辑电路所有也许成果,并把成果事先写入RAM,这样,每输入一种信号进行逻辑运算就等于输入一种地址进行查表,找出地址相应内容,然后输出即可
22:
IC设计前端到后端流程和EDA工具?
设计前端也称逻辑设计,后端设计也称物理设计,两者并没有严格界限,普通涉及到与工艺关于设计就是后端设计。
1:
规格制定:
客户向芯片设计公司提出设计规定。
2:
详细设计:
芯片设计公司(Fabless)依照客户提出规格规定,拿出设计解决方案和详细实现架构,划分模块功能。
当前架构验证普通基于systemC语言,对价后模型仿真可以使用systemC仿真工具。
例如:
CoCentric和VisualElite等。
3:
HDL编码:
设计输入工具:
ultra,visualVHDL等
4:
仿真验证:
modelsim
5:
逻辑综合:
synplify
6:
静态时序分析:
synopsysPrimeTime
7:
形式验证:
SynopsysFormality.
23:
寄生效应在IC设计中如何加以克服和运用(这是我理解,原题好像是说,IC设计过
程中将寄生效应如何反馈影响设计师设计方案)?
所谓寄生效应就是那些溜进你PCB并在电路中大施破坏、令人头痛、因素不明小故障。
它们就是渗入高速电路中隐藏寄生电容和寄生电感。
其中涉及由封装引脚和印制线过长形成寄生电感;焊盘到地、焊盘到电源平面和焊盘到印制线之间形成寄生电容;通孔之间互相影响,以及许多其他也许寄生效应。
抱负状态下,导线是没有电阻,电容和电感。
而在实际中,导线用到了金属铜,它有一定电阻率,如果导线足够长,积累电阻也相称可观。
两条平行导线,如果互相之间有电压差别,就相称于形成了一种平行板电容器(你想象一下)。
通电导线周边会形成磁场(特别是电流变化时),磁场会产生感生电场,会对电子移动产生影响,可以说每条实际导线涉及元器件管脚都会产生感生电动势,这也就是寄生电感。
在直流或者低频状况下,这种寄生效应看不太出来。
而在交流特别是高频交流条件下,影响就非常巨大了。
依照复阻抗公式,电容、电感会在交流状况下会对电流移动产生巨大阻碍,也就可以折算成阻抗。
这种寄生效应很难克服,也难摸到。
只能通过优化线路,尽量使用管脚短SMT元器件来减少其影响,要完全消除是不也许。
24:
用flip-flop和logic-gate设计一种1位加法器,输入carryin和current-stage,输出carryout和next-stage?
carryout=carryin*current-stage;与门
next-stage=carryin’*current-stage+carryin*current-stage’;与门,非门,或门(或者异或门)
module(clk,current-stage,carryin,next-stage,carryout);
inputclk,current-stage,carryin;
outputnext-stage,carryout;
always@(posedgeclk)
carryout<=carryin¤t-stage;
nextstage<=
25:
设计一种自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零,
1.画出fsm(有限状态机)
2.用verilog编程,语法要符合FPGA设计规定
3.设计工程中可使用工具及设计大体过程?
设计过程:
1、一方面拟定输入输出,A=1表达投入10分,B=1表达投入5分,Y=1表达弹出饮料,Z=1表达找零。
2、拟定电路状态,S0表达没有进行投币,S1表达已有5分硬币。
3、画出状态转移图。
modulesell(clk,rst,a,b,y,z);
inputclk,rst,a,b;
outputy,z;
parameters0=0,s1=1;
regstate,next_state;
always@(posedgeclk)
begin
if(!
rst)
state<=s0;
else
state<=next_state;
end
always@(aorborcstate)
begin
y=0;z=0;
case(state)
s0:
if(a==1&&b==0)next_state=s1;
elseif(a==0&&b==1)
begin
next_state=s0;y=1;
end
else
next_state=s0;
s1:
if(a==1&&b==0)
begin
next_state=s0;y=1;
end
elseif(a==0&&b==1)
begin
next_state=s0;y=1;z=1;
end
else
next_state=s0;
default:
next_state=s0;
endcase
end
endmodule
扩展:
设计一种自动售饮料机逻辑电路。
它投币口每次只能投入一枚五角或一元硬币。
投入一元五角硬币后给出饮料;投入两元硬币时给出饮料并找回五角。
1、拟定输入输出,投入一元硬币A=1,投入五角硬币B=1,给出饮料Y=1,找回五角Z=1;
2、拟定电路状态数,投币前初始状态为S0,投入五角硬币为S1,投入一元硬币为S2。
画出转该转移图,依照状态转移图可以写成Verilog代码。
26:
什么是"线与"逻辑,要实现它,在硬件特性上有什么详细规定?
线与逻辑是两个输出信号相连可以实现与功能。
在硬件上,要用oc门来实现,由于不用oc门也许使灌电流过大,而烧坏逻辑门.同步在输出端口应加一种上拉电阻。
oc门就是集电极开路门。
od门是漏极开路门。
27:
什么是竞争与冒险现象?
如何判断?
如何消除?
在组合电路中,某一输入变量通过不同途径传播后,到达电路中某一汇合点时间有先有后,这种现象称竞争;由于竞争而使电路输出发生瞬时错误现象叫做冒险。
(也就是由于竞争产生毛刺叫做冒险)。
判断办法:
代数法(如果布尔式中有相反信号则也许产生竞争和冒险现象);卡诺图:
有两个相切卡诺圈并且相切处没有被其她卡诺圈包围,就有也许浮现竞争冒险;实验法:
示波器观测;
解决办法:
1:
加滤波电容,消除毛刺影响;2:
加选通信号,避开毛刺;3:
增长冗余项消除逻辑冒险。
门电路两个输入信号同步向相反逻辑电平跳变称为竞争;
由于竞争而在电路输出端也许产生尖峰脉冲现象称为竞争冒险。
如果逻辑函数在一定条件下可以化简成Y=A+A’或Y=AA’则可以判断存在竞争冒险现象(只是一种变量变化状况)。
消除办法,接入滤波电容,引入选通脉冲,增长冗余逻辑
28:
你懂得那些惯用逻辑电平?
TTL与COMS电平可以直接互连吗?
惯用逻辑电平:
TTL、CMOS、LVTTL、LVCMOS、ECL(EmitterCoupledLogic)、PECL(Pseudo/PositiveEmitterCoupledLogic)、LVDS(LowVoltageDifferentialSignaling)、GTL(GunningTransceiverLogic)、BTL(BackplaneTransceiverLogic)、ETL(enhancedtransceiverlogic)、GTLP(GunningTransceiverLogicPlus);RS232、RS422、RS485(12V,5V,3.3V);
也有一种答案是:
惯用逻辑电平:
12V,5V,3.3V。
TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V有在5V。
CMOS输出接到TTL是可以直接互连。
TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。
用CMOS可直接驱动TTL;加上拉电阻后,TTL可驱动CMOS.
上拉电阻用途:
1、当TTL电路驱动COMS电路时,如果TTL电路输出高电平低于COMS电路最低高电平(普通为3.5V),这时就需要在TTL输出端接上拉电阻,以提高输出高电平值。
2、OC门电路必要加上拉电阻,以提高输出高电平值。
3、为加大输出引脚驱动能力,有单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电导致损坏,不用管脚不能悬空,普通接上拉电阻产生减少输入阻抗,提供泄荷通路。
5、芯片管脚加上拉电阻来提高输出电平,从而提高芯片输入信号噪声容限增强抗干扰能力。
6、提高总线抗电磁干扰能力。
管脚悬空就比较容易接受外界电磁干扰。
7、长线传播中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效抑制反射波干扰。
上拉电阻阻值选取原则涉及:
1、从节约功耗及芯片灌电流能力考虑应当足够大;电阻大,电流小。
2、从保证足够驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大上拉电阻也许边沿变平缓。
综合考虑以上三点,普通在1k到10k之间选用。
对下拉电阻也有类似道理。
OC门电路必要加上拉电阻,以提高输出高电平值。
OC门电路要输出“1”时才需要加上拉电阻不加主线就没有高电平
在有时咱们用OC门作驱动(例如控制一种LED)灌电流工作时就可以不加上拉电阻
总之加上拉电阻可以提高驱动能力。
29:
IC设计中同步复位与异步复位区别?
同步复位在时钟沿变化时,完毕复位动作。
异步复位不论时钟,只要复位信号满足条件,就完毕复位动作。
异步复位对复位信号规定比较高,不能有毛刺,如果其与时钟关系不拟定,也也许浮现亚稳态。
30:
MOORE与MEELEY状态机特性?
Moore状态机输出仅与当前状态值关于,且只在时钟边沿到来时才会有状态变化。
Mealy状态机输出不但与当前状态值关于,并且与当前输入值关于。
31:
多时域设计中,如何解决信号跨时域?
不同步钟域之间信号通信时需要进行同步解决,这样可以防止新时钟域中第一级触发器亚稳态信号对下级逻辑导致影响。
信号跨时钟域同步:
当单个信号跨时钟域时,可以采用两级触发器来同步;数据或地址总线跨时钟域时可以采用异步FIFO来实现时钟同步;第三种办法就是采用握手信号。
32:
说说静态、动态时序模仿优缺陷?
静态时序分析是采用穷尽分析办法来提取出整个电路存在所有时序途径,计算信号在这些途径上传播延时,检查信号建立和保持时间与否满足时序规定,通过对最大途径延时和最小途径延时分析,找出违背时序约束错误。
它不需要输入向量就能穷尽所有途径,且运营速度不久、占用内存较少,不但可以对芯片设计进行全面时序功能检查,并且还可运用时序分析成果来优化设计,因而静态时序分析已经越来越多地被用到数字集成电路设计验证中。
动态时序模仿就是普通仿真,由于不也许产生完备测试向量,覆盖门级网表中每一条途径。
因而在动态时序分析中,无法暴露某些途径上也许存在时序问题;
33:
一种四级Mux,其中第二级信号为核心信号如何改进timing.?
核心:
将第二级信号放到最后输出一级输出,同步注意修改片选信号,保证其优先级未被修改。
(为什么?
)
34:
给出一种门级图,又给了各个门传播延时,问核心途径是什么,还问给出输入,使得输出依赖于核心途径?
核心途径就是输入到输出延时最大途径,找到了核心途径便能求得最大时钟频率。
35:
为什么一种原则倒相器中P管宽长比要比N管宽长比大?
和载流子关于,P管是空穴导电,N管是电子导电,电子迁移率不不大于空穴,同样电场下,N管电流不不大于P管,因而要增大P管宽长比,使之对称,这样才干使得两者上升时间下降时间相等、高低电平噪声容限同样、充电放电时间相等。
36:
用mos管搭出一种二输入与非门?
<数字电子技术基本(第五版)>92页
与非门:
上并下串或非门:
上串下并
37:
画出NOT,NAND,NOR符号,真值表,尚有transistorlevel(晶体管级)电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 IC 设计 工程师 招聘 面试 笔试 100 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)