数字IC笔试面试题目总结2——电平、静态时序分析、FPGA与IC

数字IC笔试面试题目总结2


大部分内容均来自网络公开资料,如有侵权,请联系删除!

逻辑电平

  1. 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?
    线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现(漏极或者集电极开路)。由于不用oc门可能使灌电流过大,而烧坏逻辑门,同时在输出端口应加一个上拉电阻。(线或则是下拉电阻)

  2. 你知道那些常用逻辑电平?
    常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、PECL(Pseudo/PositiveEmitter Coupled Logic)、
    LVDS(Low Voltage Differential Signaling)、GTL(GunningTransceiver Logic)、BTL(Backplane Transceiver Logic)、ETL(enhancedtransceiver logic)、GTLP(Gunning Transceiver Logic Plus);RS232、RS422、RS485(12V,5V,3.3V);

  3. TTL与CMOS电平可以直接互连吗?
    TTL和CMOS不可以直接互连。由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。
    总结:用CMOS可直接驱动TTL;加上拉电阻后,TTL可驱动CMOS。
    CMOS的高低电平分别为:
    Vih>=0.7VDD, Vil<=0.3VDD;Voh>=0.9VDD,Vol<=0.1VDD
    TTLa的高低电平为:
    Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v.

  4. 上拉电阻的选取
    TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。接入上拉电阻后,输出电平提高,从而提高了芯片输入信号的噪声容限,提高了总线的抗电磁干扰能力。有时,为加大输出引脚的驱动能力,单片机管脚上也常使用上拉电阻。OC门电路也必须加上拉电阻,以提高输出的搞电平值。
    当管脚悬空时,就比较容易接受外界的电磁干扰。而在长线传输中,电阻不匹配容易引起反射波干扰,所以需要再加下拉电阻,以达成电阻匹配,有效的抑制反射波干扰。

  5. 上拉电阻阻值的选择原则
    加入上拉电阻,以提高驱动能力
    一是节约功耗及芯片的灌电流能力考虑应当足够大:电阻大,电流小。
    二是从确保足够的驱动电流考虑应当足够小:电阻小,电流大。
    三是高速电路中,过大的上拉电阻可能边沿变平缓。
    综合以上三点,上拉电阻的阻值通常在1k到10k之间选取。对下拉电阻也是类似考虑。

  6. OC门电路
    参考:http://www.cnblogs.com/xiangxiangyuan/p/3787831.html
    集电极开路门。实际使用中,有时需要 两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路–OC门来实现 “线与逻辑”。
    OC门可以实现与或非逻辑,用做电平转换,用做驱动器,也可“线与”运算,也可作为三态门
    对于OC门电路,当其要输出“1”时,必须加上拉电阻,以提高输出的搞电平值。而我们用OC门作驱动(例如控制一个LED)工作时,就可以不加上拉电阻。

静态时序分析概述

STA内容较多,这里先开个头,后面再开新的章节详细总结

  1. 什么是静态时序分析
    在动态仿真和验证工作之外,来检查触发器、逻辑电路是否能够满足时序约束。
    分析计算Design是否满足timing约束的要求,包括
    (1)DFF(Sequential Cell)的setup/hold,从gate level进行分析,通指有CLK的时序单元
    (2)Async Reset/ Set recovery/removal
    (3)Pulse width of a signal
    (4)Clock gate setup/hold,门控时钟
    计算Design是否满足DRC的要求,包括
    (1)max_capacitance
    (2)max_transition
    (3)max_fanout
  2. STA在芯片设计流程中的作用
    芯片设计流程STA是重要的sign off工具,在做完逻辑综合之后,STA就可以开始了。而在整个后端中,也可以做STA。它的结果直接指示了每个阶段的时序,是否满足约束需求

FPGA基础

  1. 系统最高速度计算(最快时钟频率)和流水线设计思想
    关键路径通常指同步逻辑电路中,组合逻辑延时最大的路径
    同步电路的速度是指同步系统时钟的速度,同步时钟越快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就越大。
    假设数据已被时钟打入D触发器,那么数据到达第一个触发器Q的输出端需要的延时时间是Tco,经过组合逻辑的延时时间为Tdelay,D触发器的建立时间是Tsetup。然后到达第二个触发器的D端,要希望时钟能在第二个触发器再次被稳定地打入触发器,则时钟的延迟必须大于Tco+Tdelay+Tsetup,也就是说最小的时钟周期Tmin =Tco+Tdelay+Tsetup,即最快的时钟频率Fmax =1/Tmin。
    FPGA开发软件也是通过这种方法来计算系统最高运行速度Fmax。因为Tco和Tsetup是由具体的器件工艺决定的,故设计电路时只能改变组合逻辑的延迟时间Tdelay,所以说缩短触发器间组合逻辑的延时时间是提高同步电路速度的关键所在。由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作频率。
    可以将较大的组合逻辑分解为较小的N块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。这就是所谓"流水线"技术的基本设计思想,即原设计速度受限部分用一个时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因此系统的工作速度可以加快,吞吐量加大。不过,流水线设计会在原数据通路上加入延时,另外硬件面积也会稍有增加。

  2. 时序约束的概念和基本策略
    时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,使设计达到时序要求。附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。
    附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。
    附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

  3. 附加约束的作用
    一是提高设计的工作频率(减少了逻辑和布线延时)
    二是获得正确的时序分析报告;(静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具可以正确的输出时序报告)
    三是指定FPGA/CPLD的电气标准和引脚位置。

  4. FPGA芯片内有哪两种存储器资源?
    FPGA芯片内有两种存储器资源:一种叫BLOCK RAM,另一种是由LUT配置成的内部存储器(也就是分布式RAM)。BLOCK RAM是由一定数量、固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。

  5. FPGA中可以综合实现为RAM/ROM/CAM的三种资源及其注意事项?
    三种资源:BLOCK RAM,触发器(FF),查找表(LUT);
    注意事项:
    a:在生成RAM等存储单元时,应该首选BLOCK RAM 资源;其原因有二:一是使用BLOCK RAM等资源,可以节约更多的FF和4-LUT等底层可编程单元。使用BLOCK RAM可以说是“不用白不用”,是最大程度发挥器件效能,节约成本的一种体现。
    二是BLOCK RAM是一种可以配置的硬件结构,其可靠性和速度与用LUT和REGISTER构建的存储器更有优势。
    b:弄清FPGA的硬件结构,合理使用BLOCK RAM资源;
    c:分析BLOCK RAM容量,高效使用BLOCK RAM资源;
    d:分布式RAM资源(DISTRIBUTE RAM)

  6. FPGA查找表的原理与结构
    查找表(look-up-table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有 4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可

  7. FPGA设计中对时钟的使用?(例如分频等)
    FPGA芯片有固定的时钟路由,这些路由能有减少时钟抖动和偏差。需要对时钟进行相位移动或变频的时候,一般不允许对时钟进行逻辑操作,这样不仅会增加时钟的偏差和抖动,还会使时钟带上毛刺。一般的处理方法是采用FPGA芯片自带的时钟管理器如PLL,DLL或DCM,或者把逻辑转换到触发器的D输入(这些也是对时钟逻辑操作的替代方案)。

  8. FPGA设计中如何实现同步时序电路的延时?
    异步电路中,大多是通过加buffer、两级与非门等来实现延时(我还没用过所以也不是很清楚),但这是不适合同步电路实现延时的。
    同步电路中,对于比较大的和特殊要求的延时,一半通过高速时钟产生计数器,通过计数器来控制延时;对于比较小的延时,可以通过触发器打一拍,不过这样只能延迟一个时钟周期。

IC

  1. IC设计工程师努力的方向
    SOC,高速串行I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。
    随着芯片工艺的提高,芯片容量、集成度都在增加,IC设计也朝着高速、高度集成、低功耗、高可靠性、高可测、可验证性发展。芯片可测、可验证,正在成为复杂设计所必备的条件,尽量在上板之前查出bug,将发现bug的时间提前,这也是一些公司花大力气设计仿真平台的原因。另外随着单板功能的提高、成本的压力,低功耗也逐渐进入IC设计者的考虑范围,完成相同的功能下,考虑如何能够使芯片的功耗最低,据说altera、xilinx都在根据自己的芯片特点整理如何降低功耗的文档。高速串行IO的应用,也丰富了IC的应用范围,像xilinx的v2pro中的高速链路也逐渐被应用。

  2. IC设计前端到后端的流程和EDA工具
    设计前端也称逻辑设计,后端设计也称物理设计,两者并没有严格的界限,一般涉及到与工艺有关的设计就是后端设。
    a:规格制定:客户向芯片设计公司提出设计要求。
    b:详细设计:芯片设计公司(Fabless)根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。目前架构的验证一般基于systemC语言,对价后模型的仿真可以使用systemC的仿真工具。例如:CoCentric和Visual Elite等。
    c:HDL编码(RTL级):设计输入工具ultra ,visual VHDL, quartus, vivado, VCS, Verdi等
    d:仿真验证:modelsim
    e:逻辑综合:synplify,DC
    f:静态时序分析:Synopsys的Prime Time
    g:形式验证:Synopsys的Formality.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值