zhouzhiping849的个人空间 https://blog.eetop.cn/164433 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

常见的IC digital designer笔试面试题目

热度 1已有 7025 次阅读| 2010-8-19 16:58 |个人分类:基础知识

1.setup和holdup时间区别.
Answer:

建立时间:触发器在时钟沿来到前,其数据输入端的数据必须保持不变的时间
保持时间:触发器在时钟沿来到后,其数据输入端的数据必须保持不变的时间
2.多时域设计中,如何处理信号跨时域
Answer: 情况比较多,如果简单回答的话就是:跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。
     如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。
3.latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的
        区别不多说。为什么避免使用latch,因为设计中用latch会使设计后期的静态时序分析变的困难(必须用的地方当然另当别论)。
        行为级描述中latch产生的原因:多由于构造组合逻辑电路时,使用if或case语句,没有把所有的条件给足,导致没有提到的条件,其输出未知。或者是每个条件分支中,没有给出所有输出的值,这就会产生latch。所以构造组合逻辑电路时,其always语句中的敏感信号必须包括所有的输入端,每个条件分支必须把所有的输出端的值都给出来。
4.BLOCKING NONBLOCKING 赋值的区别
Answer: 这个问题可参考的资料很多,讲的都很透彻,可以找一下。基本用法就是常说的“组合逻辑用BLOCKING,时序逻辑用NONBLOCKING”。
5.MOORE 与 MEELEY状态机的特征

Answer: 
6.IC设计中同步复位与 异步复位的区别
Answer: 如果光说概念的话:同步复位在时钟沿采复位信号,完成复位动作。
     异步复位不管时钟,只要复位信号满足条件,就完成复位动作。
     象芯片的上电复位就是异步复位,因为这时时钟振荡器不一定起振了,可能还没有时钟脉冲。异步复位很容易受到复位端信号毛刺的影响,比如复位端信号由组合逻辑组成,那组合逻辑输出产生的冒险,就会使触发器错误的复位。
7.实现N位Johnson Counter,N=
8.用FSM实现101101的序列检测模块

9. 集成电路设计前端流程及工具。
10. FPGA和ASIC的概念,他们的区别
11. LATCH和DFF的概念和区别

Answer: LATC是H锁存器,DFF是触发器,其电路形式完全不同。


12. 用DFF实现二分频。

Answer: always @(posedge clk)
      if (reset) begin
        sel <= 1;
        clk1 <= 1;
        clk2 <= 1;
      end
      else begin
       sel <= ~sel;
       if (sel)
          clk1 <= ~clk1;
       else
          clk2 <= ~clk2;
     end
13. 用VERILOG或VHDL写一段代码,实现消除一个glitch

Answer: glitch主要发生在组合逻辑电路输出,可以加double DFF输出稳定信号。
14. 给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化简)
15. 用VERILOG或VHDL写一段代码,实现10进制计数器。
16. 给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径。
17. A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,E中1的个数比0多,那么F输出为1,否则F为0),用与非门实现,输入数目没有限制

18. 负数与正数相乘的问题: 1010(-6)*0010(2)
Answer:用补码相乘时应该进行相应的符号扩展,比如上面是4bit相乘,结果应该为8bit。这样符号扩展后分别为11111010和00000010,然后再用这两个数直接相乘,结果为111110100,取其低8位11110100,作为-6*2的结果。这也是个补码形式,再判断一下高位恢复为原码,得到结果。





对简历上你所写做过的东西具体问,肯定会问得很细(所以别把什么都写上,精通之类的词也别用太多了),这个东西各个人就不一样了,不好说什么了。

2.数字电路设计
当然必问Verilog/VHDL,如设计计数器
逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优点),全加器等等。比如:设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱数

1.画出fsm(有限状态机)
2.用verilog编程,语法要符合fpga设计的要求
系统方面:如果简历上还说做过cpu之类,就会问到诸如cpu如何 工作,流水线之类的问题
3.单片机、DSP、FPGA、嵌入式方面(从没碰过,就大概知道几个名字胡扯几句,欢迎拍砖,也欢迎牛人帮忙补充)
单片机中断几个/类型,编中断程序注意什么问题
DSP的结构(冯.诺伊曼结构吗?)
嵌入式处理器类型(如ARM),操作系统种类(Vxworks,ucos,winCE,linux),操作系统方
面偏CS方向了,在CS篇里面讲了
4.信号系统基础
拉氏变换与Z变换公式等类似东西,随便翻翻书把
如.h(n)=-a*h(n-1)+b*δ(n)    a.求h(n)的z变换    b.问该系统是否为稳定系统   
c.写出F IR数字滤波器的差分方程
以往各种笔试题举例
利用4选1实现F(x,y,z)=xz+yz'
用mos管搭出一个二输入与非门。 用传输门和倒向器搭一个边沿触发器
用运算放大器组成一个10倍的放大器
微波电路的匹配电阻。
名词解释,无聊的外文缩写罢了,比如PCI、ECC、DDR、interrupt、pipeline
IRQ,BIOS,USB,VHDL,VLSI VCO(压控振荡器) RAM (动态随机存储器),FIR IIR DFT(离散傅立叶变换)或者是中文的,比如 a量化误差    b.直方图    c.白平衡

 

1

点赞

刚表态过的朋友 (1 人)

发表评论 评论 (4 个评论)

回复 cocopang324 2010-8-19 17:31
哪个公司的面试?太基础了点。:lol
回复 pheobuspp 2010-8-24 15:01
对我来说已经很难了
回复 denhua 2010-9-25 12:44
谢谢分享了

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 10

    获赞
  • 19

    评论
  • 778

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 17:24 , Processed in 0.027679 second(s), 16 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部