常见的硬件笔试面试题目 3
上一篇 / 下一篇 2009-06-03 18:33:47 / 个人分类:FPGA 设计
查看( 346 ) / 评论( 0 ) / 评分( 0 / 0 )
http://www.edacn.net/html/29/46529-75528.html
1.setup 和 holdup 时间,区别.
%%%%%%% 2.多时域设计中,如何处理信号跨时域
%%%%%%% 3.latch 与 register 的区别,为什么现在多用 register.行为级描述中 latch 如何产生的
%%%%%%% 4.BLOCKING NONBLOCKING 赋值的区别
%%%%%%% 5.MOORE 与 MEELEY 状态机的特征
%%%%%%% 6.IC 设计中同步复位与 异步复位的区别
%%%%%%% 7.实现 N 位 Johnson Counter,N=
%%%% 8.用 FSM 实现 101101 的序列检测模块
2.多时域设计中,如何处理信号跨时域:
%%%% 情况比较多,如果简单回答的话就是:跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域 1 中的一个信号,
要送到时钟域 2,那么在这个信号送到时钟域 2 之前,要先经过时钟域 2 的同步器同步后,才能进入时钟域 2。这个同步器就
是两级 d 触发器,其时钟为时钟域 2 的时钟。这样做是怕时钟域 1 中的这个信号,可能不满足时钟域 2 中触发器的建立保持时
间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。
所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只
变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步 FIFO 的设计中,比较读写地址的大小时,就
是用这种方法。
%%%% 如果两个时钟域之间传送大量的数据,可以用异步 FIFO 来解决问题。
6.IC 设计中同步复位与 异步复位的区别
%%%% 如果光说概念的话:同步复位在时钟沿采复位信号,完成复位动作。
%%% 异步复位不管时钟,只要复位信号满足条件,就完成复位动作。
%%%% 象芯片的上电复位就是异步复位,因为这时时钟振荡器不一定起振了,可能还没有时钟脉冲。异步复位很容易受到复位端
信号毛刺的影响,比如复位端信号由组合逻辑组成,那组合逻辑输出产生的冒险,就会使触发器错误的复位。
4.BLOCKING NONBLOCKING 赋值的区别
%%%% 这个问题可参考的资料很多,讲的都很透彻,可以找一下。基本用法就是常说的“组合逻辑用 BLOCKING,时序逻辑用
NONBLOCKING”。
3.latch 与 register 的区别,为什么现在多用 register.行为级描述中 latch 如何产生的
%%%%%%% 区别不多说。为什么避免使用 latch,因为设计中用 latch 会使设计后期的静态时序分析变的困难(必须用的地方当然另当
别论)。
%%%%%%% 行为级描述中 latch 产生的原因:多由于构造组合逻辑电路时,使用 if 或 case 语句,没有把所有的条件给足,导致没有提
到的条件,其输出未知。或者是每个条件分支中,没有给出所有输出的值,这就会产生 latch。所以构造组合逻辑电路时,其
always 语句中的敏感信号必须包括所有的输入端,每个条件分支必须把所有的输出端的值都给出来。
1.setup 和 holdup 时间,区别.
建立时间:触发器在时钟沿来到前,其数据输入端的数据必须保持不变的时间
保持时间:触发器在时钟沿来到后,其数据输入端的数据必须保持不变的时间
1.模拟电路设计
评论0