硬件工程师笔试面试题及答案(FPGA 相关)
2009-10-19 15:37
1、同步电路和异步电路的区别是什么?(仕兰微电子)
2、什么是同步逻辑和异步逻辑?(汉王笔试)
异步电路主要是组合逻辑电路,但它同时也用在时序电路中,没有统一的时钟,
状态变化的时刻是不稳定的。在异步电路设计中一般采用 Latch。
同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其
所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟 CLK,
而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。在同步电路设计中
一般采用 D 触发器。
3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)
线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用 oc 门来实现
(漏极或者集电极开路),由于不用 oc 门可能使灌电流过大,而烧坏逻辑门,
同时在输出端口应加一个上拉电阻。(线或则是下拉电阻)
4、什么是 Setup 和 Holdup 时间?(汉王笔试)
5、setup 和 holdup 时间,区别.(南山之桥)
6、解释 setup time 和 hold time 的定义和在时钟信号延迟时的变化。(未知)
7、解释 setup 和 hold time violation,画图说明,并说明解决办法。(威盛
VIA)
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间
是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前
时钟上升沿(如上升沿有效)T 时间到达芯片,这个 T 就是建立时间-Setup time。
如不满足 setup time,这个数据就不能被这一时钟打入触发器,只有在下一个
时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到
来以后,数据稳定不变的时间。如果 hold time 不够,数据同样不能被打入触发
器。
建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,
数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持
不变的时间。如果不满足建立和保持时间的话,那么 DFF 将不能正确地采样到数
据,将会出现亚稳态(metastability)的情况。如果数据信号在时钟沿触发前
后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和
保持时间裕量。
8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除。
(仕兰微电子)
9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时
间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争
和冒险现象。解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能
冒险,二是在芯片外部加电容,三是增加选通电路。
10、你知道那些常用逻辑电平?TTL 与 COMS 电平可以直接互连吗?(汉王笔试)
常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、
PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage
Differential Signaling)、GTL(Gunning Transceiver Logic)、BTL(Backplane
Transceiver Logic)、ETL(enhanced transceiver logic)、GTLP(Gunning
Transceiver Logic Plus);RS232、 RS422、RS485(12V,5V,3.3V);TTL
和 CMOS 不可以直接互连,由于 TTL 是在 0.3-3.6V 之间,而 CMOS 则是有在 12V
的有在 5V 的。CMOS 输出接到 TTL 是可以直接互连。TTL 接到 CMOS 需要在输出端
口加一上拉电阻接到 5V 或者 12V。
CMOS 的高低电平分别为:Vih>=0.7VDD,Vil<=0.3VDD;Voh>=0.9VDD,
Vol<=0.1VDD.
TTL 的为:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v.
上拉电阻应用:
1、当 TTL 电路驱动 COMS 电路时,如果 TTL 电路输出的高电平低于 COMS 电路的
最低高电平(一般为 3.5V),这时就需要在 TTL 的输出端接上拉电阻,以提高
输出高电平的值。
2、OC 门电路要输出“1”时才需要加上拉电阻,不加根本就没有高电平。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻,但在有
时用 OC 门作驱动(例如:控制一个 LED)灌电流工作时就可以不加上拉电阻。
或者说:对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和
电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流
通道。
4、在 COMS 芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉
电阻产生降低输入阻抗,提供泄荷通路。
5、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。
6、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有
效的抑制反射波干扰。
上拉电阻阻值的选择原则包括:
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑以上三点,通常在 1k 到 10k 之间选取。对下拉电阻也有类似道理。
11、如何解决亚稳态。(飞利浦-大唐笔试)
触发器的建立时间或保持时间不满足,就可能产生亚稳态。
此时触发器的输出处于一种不确定状态,即输出的电平不在有效电平范围之内,
可能是振荡、毛刺或固定的某一电压。
经过决断时间,触发器将稳定到 0 或 1 上,但究竟是 0 还是 1,是随机的,所以
亚稳定可能造成逻辑错误。
但更严重的危害是本级电路的亚稳态可能会使下一级电路也产生亚稳态,这样扩
大了故障面,甚至导致系统瘫痪。
解决办法:通过两级触发器级联可以将发生亚稳态的概率降低到很低的程度,或
者用其他的同步机制。
具体见:
http://hi.baidu.com/gilbertjuly/blog/item/da229d2f2ea9c35a4ec226f5.ht
ml
12、IC 设计中同步复位与异步复位的区别。(南山之桥)
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信
号满足条件,就完成复位动作。 异步复位对复位信号要求比较高,不能有毛刺,
如果其与时钟关系不确定,也可能出现亚稳态。
13、MOORE 与 MEELEY 状态机的特征。(南山之桥)
Moore 状态机的输出仅与当前状态值有关,Mealy 状态机的输出不仅与当前状态
值有关,而且与当前输入值有关。
14、多时域设计中,如何处理信号跨时域。(南山之桥)
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一
级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级
同步器,如电平、边沿检测和脉冲,对多位信号可以用 FIFO,双口 RAM,握手信
号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域 1 中的一个信
号,要送到时钟域 2,那么在这个信号送到时钟域 2 之前,要先经过时钟域 2 的
同步器同步后,才能进入时钟域 2。这个同步器就是两级 d 触发器,其时钟为时
钟域 2 的时钟。这样做是怕时钟域 1 中的这个信号,可能不满足时钟域 2 中触发
器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这
样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步
很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采
用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这
样可以降低出错概率,像异步 FIFO 的设计中,比较读写地址的大小时,就是用
这种方法。如果两个时钟域之间传送大量的数据,可以用异步 FIFO 来解决问题。
我们可以在跨越 Clock Domain 时加上一个低电平使能的 Lockup Latch 以确保
Timing 能正确无误。
15、给了 reg 的 setup,hold 时间,求中间组合逻辑的 delay 范围。(飞利浦
-大唐笔试)
hold < Delay < period - setup
16、时钟周期为 T,触发器 D1 的寄存器到输出时间最大为 T1max,最小为 T1min。
组合逻辑电路最大延迟为 T2max,最小为 T2min。问,触发器 D2 的建立时间 T3
和保持时间应满足什么条件。(华为)
T3setup>T+T2max,T3hold>T1min+T2min
17、给出某个一般时序电路的图,有 Tsetup,Tdelay,Tck->q,还有 clock 的
delay,写出决定最大时钟的因素,同时给出表达式。(威盛 VIA)
T+Tclkdealy>Tsetup+Tco+Tdelay;
Thold>Tclkdelay+Tco+Tdelay;
我们先来看一看同步电路中数据传递的一个基本模型:
Tco 是触发器时钟到数据输出的延时;Tdelay 是组合逻辑的延时;Tsetup 是触
发器的建立时间。假设数据已经被时钟的上升沿打入 D 触发器,那么数据到达第
一个触发器的 Q 端需要 Tco,再经过组合逻辑的延时 Tdelay 到达的第二个触发
器的 D 端,要想时钟能在第二个触发器再次被稳定的锁入触发器,则时钟的延迟
不能晚于 Tco+Tdelay+Tsetup,由以上分析可知:最小时钟周期:
T=Tco+Tdelay+Tsetup,最快时钟频率 F= 1/T。PLD 开发软件也正是通过这个公
式来计算系统运行速度 Fmax。
注:在这个逻辑图中有个参数:Tpd,即时钟的延时参数,我们在刚才做时间分
析的时候,没有提这个参数,(如果使用 PLD 的全局时钟型号,Tpd 可以为 0,
如果是普通时钟,则不为 0)。所以如果考虑到时钟的延时,精确的公式应该是
T=Tco+Tdelay+Tsetup-Tpd。当然以上全部分析的都是器件内部的运行速度,如
果考虑芯片 I/O 管脚延时对系统速度的影响,那么还需要加一些修正。
由于 Tco、Tsetup 是由具体的器件和工艺决定的,我们设计电路时只可以改变
Tdelay。所以缩短触发器间组合逻辑的延时是提高同步电路速度的关键。由于一
般同步电路都不止一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时
要求,缩短最长延时路径,才可提高电路的工作频率。
18、说说静态、动态时序模拟的优缺点。(威盛 VIA)
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算
信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,
通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需
要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对
芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,
因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表
中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序
问题;
19、一个四级的 Mux,其中第二级信号为关键信号 如何改善 timing。(威盛 VIA)
将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未
被修改。
20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问
给出输入,使得输出依赖于关键路径。(未知)
21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种
(区别,优点),全加器等等。(未知)
22、卡诺图写出逻辑表达式。(威盛 VIA)
23、化简 F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和。(威盛)
参考 http://210.38.96.104/szdz/shixudianlu/03070000.htm
zz:hi.baidu.com/wangguangyao/blog/item/a307f9fa2aa720d7b58f3175.html
类别:嵌入式笔记-fpga |
| 添加到搜藏 | 分享到 i 贴吧 | 浏览(1022)
| 评论 (0)
上一篇:关于时钟线/数据线/地址线上串联...
没有运转,首先要检...
下一篇:单片机上电后
最近读者: