FPGA和ASIC的概念,他们的区别。(未知)



答案:FPGA是可编程ASIC。



ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点.





2.                建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。





建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability(亚稳态)的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。





3.                什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)



      在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。





4.                列举几种集成电路典型工艺。工艺上常提到0.25,0.18指的是什么?(仕兰微面试题目)制造工艺:我们经常说的0.18微米、0.13微米制程,就是指制造工艺了。制造工艺直接关系到cpu的电气性能。而0.18微米、0.13微米这个尺度就是指的是cpu核心中线路的宽度。线宽越小,cpu的功耗和发热量就越低,并可以工作在更高的频率上了。所以以前0.18微米的cpu最高的频率比较低,用0.13微米制造工艺的cpu会比0.18微米的制造工艺的发热量低都是这个道理了。





5.                集成电路前段设计流程,写出相关的工具。(扬智电子笔试)



先介绍下IC开发流程:



1.)代码输入(design input)



用vhdl或者是verilog语言来完成器件的功能描述,生成hdl代码



语言输入工具:SUMMIT   VISUALHDL



            MENTOR   RENIOR



图形输入:    composer(cadence);



            viewlogic (viewdraw)



2.)电路仿真(circuit simulation)



将vhd代码进行先前逻辑仿真,验证功能描述是否正确



数字电路仿真工具:



    Verolog:  CADENCE     Verolig-XL



               SYNOPSYS    VCS



               MENTOR      Modle-sim



     VHDL :    CADENCE     NC-vhdl



               SYNOPSYS    VSS



               MENTOR      Modle-sim



模拟电路仿真工具:



               ***ANTI HSpice pspice,spectre micro microwave:    eesoft : hp





3.)逻辑综合(synthesis tools)



       逻辑综合工具可以将设计思想vhd代码转化成对应一定工艺手段的门级电路;将初级仿真中所没有考虑的门沿(gates delay)反标到生成的门级网表中,返回电路仿真阶段进行再仿真。最终仿真结果生成的网表称为物理网表。





7、解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA 2003.11.06上海笔试试题)





Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。





建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。





6、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)





在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。





7、如何解决亚稳态。(飞利浦-大唐笔试)





亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。





解决方法:





1降低系统时钟频率





2用反应更快的FF





3引入同步机制,防止亚稳态传播





4改善时钟质量,用边沿变化快速的时钟信号





关键是器件使用比较好的工艺和时钟周期的裕量要大。





8、IC设计中同步复位与异步复位的区别。(南山之桥)





 同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。





9、多时域设计中,如何处理信号跨时域。(南山之桥)





 不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。





跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。 如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。





10、给了reg的setup,hold时间,求中间组合逻辑的delay范围。(飞利浦-大唐笔试)





Delay < period - setup–hold





11、时钟周期为T,触发器D1的寄存器到输出时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。(华为)





T3setup>T+T2max,T3hold>T1min+T2min





12、说说静态、动态时序模拟的优缺点。(威盛VIA 2003.11.06上海笔试试题)





静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。





动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;





13、同步电路和异步电路的区别是什么?





同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。





异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。





14、什么是NMOS、PMOS、CMOS?什么是增强型、耗尽型?什么是PNP、NPN?他们有什么差别?





MOS场效应管即金属-氧化物-半导体型场效应管,英文缩写为MOSFET(Metal-Oxide-Semiconductor Field-Effect-Transistor),属于绝缘栅型。其主要特点是在金属栅极与沟道之间有一层二氧化硅绝缘层,因此具有很高的输入电阻(最高可达1015Ω)。它也分N沟道管和P沟道管,符号如图1所示。通常是将衬底(基板)与源极S接在一起。根据导电方式的不同,MOSFET又分增强型、耗尽型。所谓增强型是指:当VGS=0时管子是呈截止状态,加上正确的VGS后,多数载流子被吸引到栅极,从而“增强”了该区域的载流子,形成导电沟道。耗尽型则是指,当VGS=0时即形成沟道,加上正确的VGS时,能使多数载流子流出沟道,因而“耗尽”了载流子,使管子转向截止。





PNP与NPN的区别在表面上是以PN结的方向来定义的,实际上是以三极管的结构材料来区分的。PNP是两边的棒料是镓,中间的是硅。镓是第三主族的元素,其核外为三个电子,硅是第四主族的元素,其核外有四个电子,这样在两个PN的方向上的顺序是P-N-N的关系;相反NPN是两边的材料是硅,中间的是镓,形成的PN结顺序为N-P-N的关系。



顺便说明:P的意思是在PN结上缺少电子,以空穴为主导电的材料,也叫P型材料;N的意思是在PN结上有多余的电子,以电子为主导电的材料,也叫N型材料。





1设计原理





系统设计框图如图1所示。





根据不同分频系数设置适当的计数器周期,每个计数值对应输入时钟信号fi的一个周期,让q0只在fi的上升沿及适当的计数范围内产生高电平,最后将q0和q1进行逻辑或操作,进而得到所需的分频信号fo。q1的作用是在奇数分频中补足下降沿处半个时钟周期,使其等占空比,以及在半整数分频中,在时钟下降沿处产生分频信号的上升沿,以实现半整数分频。





下面介绍如何确定计数器周期以及q0、q1产生高电平输出时各自的计数范围。为叙述方便,现规定如下标记:分频系数为divide(MAX downto 0),其中MAX是分频数对应二进制数的最高位,对于半整数分频,最低位即第0位为小数位;q 0_count和q1_count分别为q0和q1产生高电平的计数范围,并记divide(MAX downto 1)为a,divide(MAX downto 2)为b,divide(MAX downto 0)-1为c。





1.1偶数及奇数分频





计数器周期都为0到c。等占空比的偶数分频很容易实现,在此不加叙述。对奇数分频,只需当q0_count<a时q0输出高电平,当q1_count=a-1时q1输出一个周期的高电平,其他情况下q0和q1都为低电平,然后把q0和q1逻辑或,所得的输出fo就是所需的基数分频时钟信号。





1.2半整数分频





计数器周期为0到c。如果整数部分是偶数,只需当q0_count<b时q0输出高电平,当b≤q1_count<a+b时q1输出高电平,其他情况下,q0和q1都为低电平;如果整数部分是奇数,只需当q0_coun≤b时q0输出高电平,当b≤q1_count≤a+b输出高电平,其他情况下q0和q1都为低电平,然后把q0和q1逻辑或所得输出f0即所需的半整数分频时钟信号。





latch与DFF的区别





   收集了一下网上资源,总结如下:





1、latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。DFF由时钟沿触发,同步控制。





2、latch容易产生毛刺(glitch),DFF则不易产生毛刺。





3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。所以,在ASIC中使用latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。





4、latch将静态时序分析变得极为复杂。





   一般的设计规则是:在绝大多数设计中避免产生latch。它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。latch最大的危害在于不能过滤毛刺。这对于下一级电路是极其危险的。所以,只要能用D触发器的地方,就不用latch。





   有些地方没有时钟,也只能用latch了。比如现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latch timing borrow。基本上相当于借了一个高电平时间。也就是说,latch借的时间也是有限的。



 

电压跟随器是用一个三极管构成的共集电路,它的电压增益是一,所以叫做电压跟随器。那么电压跟随有什么作用呢?共集电路是输入高阻抗,输出低阻抗,这就使得它在电路中可以起到阻抗匹配的作用,能够使得后一级的放大电路更好的工作。   

 



晶体三极管的三种工作状态


截止状态:当加在三极管发射结的电压小于PN结的导通电压,基极电流为零,集电极电流和发射极电流都为零,三极管这时失去了电流放大作用,集电极和发射极之间相当于开关的断开状态,我们称三极管处于截止状态。  


放大状态:当加在三极管发射结的电压大于PN结的导通电压,并处于某一恰当的值时,三极管的发射结正向偏置,集电结反向偏置,这时基极电流对集电极电流起着控制作用,使三极管具有电流放大作用,其电流放大倍数β=ΔIc/ΔIb,这时三极管处放大状态。  


饱和导通状态:当加在三极管发射结的电压大于PN结的导通电压,并当基极电流增大到一定程度时,集电极电流不再随着基极电流的增大而增大,而是处于某一定值附近不怎么变化,这时三极管失去电流放大作用,集电极与发射极之间的电压很小,集电极和发射极之间相当于开关的导通状态。三极管的这种状态我们称之为饱和导通状态。  




根据三极管工作时各个电极的电位高低,就能判别三极管的工作状态,因此,电子维修人员在维修过程中,经常要拿多用电表测量三极管各脚的电压,从而判别三极管的工作情况和工作状态。