您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 硬件工程师笔试题及答案(FPGA相关)
硬件工程师笔试面试题及答案(FPGA相关)1.同步电路和异步电路的区别是什么?异步电路:主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路的稳定需要有可靠的建立时间和持时间,待下面介绍。同步电路:是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如D触发器,当上升延到来时,寄存器把D端的电平传到Q输出端。在同步电路设计中一般采用D触发器,异步电路设计中一般采用Latch修改.2.什么是同步逻辑和异步逻辑?同步逻辑:是时钟之间有固定的因果关系。异步逻辑:是各时钟之间没有固定的因果关系。3.什么是线与逻辑,要实现它,在硬件特性上有什么具体要求?线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现(漏极或者集电极开路),由于不用oc门可能使灌电流过大,而烧坏逻辑门,同时在输出端口应加一个上拉电阻。(线或则是下拉电阻)4.什么是Setup和Holdup时间?5、setup和holdup时间的区别.6、解释setuptime和holdtime的定义和在时钟信号延迟时的变化。7、解释setup和holdtimeviolation,画图说明,并说明解决办法。Setup/holdtime是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setuptime。如不满足setuptime,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。建立时间(SetupTime)和保持时间(Holdtime)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现亚稳态(metastability)的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除。9、什么是竞争与冒险现象?怎样判断?如何消除?在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容,三是增加选通电路。10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(EmitterCoupledLogic)、PECL(Pseudo/PositiveEmitterCoupledLogic)、LVDS(LowVoltageDifferentialSignaling)、GTL(GunningTransceiverLogic)、BTL(BackplaneTransceiverLogic)、ETL(enhancedtransceiverlogic)、GTLP(GunningTransceiverLogicPlus);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,是随机的,所以亚稳定可能造成逻辑错误。但更严重的危害是本级电路的亚稳态可能会使下一级电路也产生亚稳态,这样扩大了故障面,甚至导致系统瘫痪。解决办法:通过两级触发器级联可以将发生亚稳态的概率降低到很低的程度,或者用其他的同步机制。12、IC设计中同步复位与异步复位的区别。同步复位在时钟沿产生复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。13、MOORE与MEELEY状态机的特征。Moore状态机的输出仅与当前状态值有关,Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关。14、多时域设计中,如何处理信号跨时域。不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,像异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。我们可以在跨越ClockDomain时加上一个低电平使能的LockupLatch以确保Timing能正确无误。15、给了reg的setup,hold时间,求中间组合逻辑的delay范围。holdDelayperiod-setup16、时钟周期为T,触发器D1的寄存器到输出时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。T3setupT+T2max,T3holdT1min+T2min17、CPLD与FPGA的区别?答:FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程;CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。18、89C51单片机最小系统单片机电源复位晶振
本文标题:硬件工程师笔试题及答案(FPGA相关)
链接地址:https://www.777doc.com/doc-4535196 .html