《多家it公司硬件笔试题及答案.doc》由会员分享,可在线阅读,更多相关《多家it公司硬件笔试题及答案.doc(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流多家it公司硬件笔试题及答案.精品文档.1、同步电路和异步电路的区别是什么?(仕兰微电子) 解答:同步电路是说电路里的时钟相互之间是同步的,同步的含义不只局限于同一个CLOCK,而是容许有多个CLOCK,这些CLOCK的周期有倍数关系并且相互之间的相位关系是固定的就可以,比如,10ns, 5ns, 2.5ns 三个CLOCK的电路是同步电路。我们现在的综合,STA都是针对同步电路的。异步电路是指CLOCK之间没有倍数关系或者相互之间的相位关系不是固定的,比如5ns, 3ns 两个CLOCK是异步的。异步电路无法作真正意义上的综合及STA,如果
2、在同步电路里夹杂有异步电路,就set_flase_path。所以异步电路只有靠仿真来检查电路正确与否。异步电路主要是组合逻辑电路,用于产生地址译码器、或的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路的稳定需要有可靠的建立时间和持时间,待下面介绍。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟,而所有的状态变化都是在时钟的上升沿(或下降沿)完
3、成的。比如触发器,当上升延到来时,寄存器把端的电平传到输出端。同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其它的触发器的状态变化不与时钟脉冲同步。5、名词:SRAM、SSRAM、SDRAMSRAM:静态RAMDRAM:动态RAMSSRAM:Synchronous Static Random Access Memory同步静态随机访问存储器。它的一种类型的SRAM。SSRAM的所有访问都在时钟的上升/下降沿启动。
4、地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。SDRAM:Synchronous DRAM同步动态随机存储器6、FPGA和ASIC的概念,他们的区别。(未知) 答案:FPGA是可编程ASIC。 ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与 门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量
5、稳定以及可实时在线检验等优点。7、什么叫做OTP片、掩膜片,两者的区别何在?OTP means one time program,一次性编程MTP means multi time program,多次性编程OTP(One Time Program)是MCU的一种存储器类型MCU按其存储器类型可分为MASK(掩模)ROM、OTP(一次性可编程)ROM、FLASHROM等类型。MASKROM的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合;FALSHROM的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途;OTP ROM的MCU价格介于前
6、两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。8、单片机上电后没有运转,首先要检查什么?首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平
7、,则多半是因为晶振没有起振。另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。2、什么是同步逻辑和异步逻辑?(汉王笔试)
8、 解答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 答案应该与上面问题一致补充:同步时序逻辑电路的特点 各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点 电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。4、什么是Setup 和Holdup时间?(汉王笔试) 5、setup和holdup时间,
9、区别.(南山之桥) 6、解释setup time和hold time的定义和在时钟信号延迟时的变化。(未知) 7、解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA 2003.11.06 上海笔试试题) 解答:Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发 器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入
10、触发器。 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time 不够,数据同样不能被打入触发器。 建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信 号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现 metastability的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时 间,那么超过量就分别被称为建立时间裕量和保持时间裕量。 8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除。
11、(仕兰微 电子) 9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试) 解答:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。三是增加选通电路在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。 10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试) 解
12、答:常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。 10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage Differential Signaling)、
13、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.9V
14、DD,Vol=2.0v,Vil=2.4v,Vol=0.4v.用cmos可直接驱动ttl;加上拉电阻后,ttl可驱动cmos.1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,以提高输出的搞电平值。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰
15、能力。6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理/OC门电路必须加上拉电阻,以提高输出的搞电平值。OC门电路要输出“1”时才需要加上拉电阻不加根本就没有高电平在有时我们用OC门作驱动(例如控制一个LED)灌电流工作时就可
16、以不加上拉电阻OC门可以实现“线与”运算OC门就是 集电极开路输出总之加上拉电阻能够提高驱动能力。什么是OC门?OC门,又称集电极开路(漏极开路)与非门门电路,Open Collector(Open Drain)。为什么引入OC门? 实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路-OC门来实现“线与逻辑”。OC门主要用于3个方面: 1、实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为
17、了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。 2、线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。 用OC门实现线与,应同时在输出端口应加一个上拉电阻。 3、 三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN
18、)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。11、如何解决亚稳态。(飞利浦大唐笔试) 解答:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 12、IC设计中同步复位与 异步复位的区别。(南山之桥) 解答:1)同步复位和异步复位在FPGA的实现与所选
19、的器件有关。有些器件里的触发器本身就具有同步/异步复位端,在这样的器件中,异步复位和同步复位在走线上是没有区别的。区别只在于是否与时钟有关。在这样的器件中,只要不是在复位一结束信号(例如多位的计数器)的值就发生跳变,应该是没有影响的。(2)如果器件只能完成异步复位,那同步复位实际上是由逻辑完成的。在这种情况下,有可能增加你的逻辑资源。(3)如果想采用异步复位,又想避免复位结束时,有些触发器处于复位状态,有些触发器处于工作状态的情况(由于skew造成),可以在复位输入的起始路径上加入一级D触发器。并限制同步后复位信号的max_delay。总之,需要根据你的应用情况选用不同的复位形式。13、MOO
20、RE 与 MEELEY状态机的特征。(南山之桥) 解答Moore型状态机的转向只取决于当前的状态,Meeley型不同。Moore型状态机的输出信号是直接由状态寄存器译码得到,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号Moore状态机的输出只与有限状态自动机的当前状态有关,与输入信号的当前值无关。 Moore有限状态机在时钟CLOCK脉冲的有效边沿后的有限个门延后,输出达到稳定值。即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。输入对输出的影响要到下一个时钟周期才能反映出来。Moore有限状态机最重要的特点就是将输入与输出
21、信号隔离开来。 14、多时域设计中,如何处理信号跨时域。(南山之桥) 解答:多时钟域的设计中,对于信号跨时域的处理这里可以采用乒乓操作的方法来进行。乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。在第一个缓冲周期,将输入的数据流缓存到“数据缓冲模块1”;在第2个缓冲周期,通过“输入数据选择单元”的切换,将输入的数据流缓存到“数据缓冲模块2”,同时将“数据缓冲模块1”缓存的第1个周期数据通过“输入数据选择单元”的选择,送到“数据流运算处理模
22、块”进行运算处理;在第3个缓冲周期通过“输入数据选择单元”的再次切换,将输入的数据流缓存到“数据缓冲模块1”,同时将“数据缓冲模块2”缓存的第2个周期的数据通过“输入数据选择单元”切换,送到“数据流运算处理模块”进行运算处理。如此循环。 乒乓操作的最大特点是通过“输入数据选择单元”和“输出数据选择单元”按节拍、相互配合的切换,将经过缓冲的数据流没有停顿地送到“数据流运算处理模块”进行运算与处理。把乒乓操作模块当做一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。所以乒乓操作常常应用于流水线式算法,完成数据的无缝缓冲与处
23、理。 乒乓操作的第二个优点是可以节约缓冲区空间。还有一种方法,FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16位 100K SPS,那么每秒的数据量为100K16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。15、给了reg的setup,
24、hold时间,求中间组合逻辑的delay范围。(飞利浦大唐笔试) 解答:Delay T+T2max,T3holdT1min+T2min17、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck-q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式。(威盛VIA 2003.11.06 上海笔试试题)T+TclkdealyTsetup+Tco+Tdelay;TholdTclkdelay+Tco+Tdelay;18、说说静态、动态时序模拟的优缺点。(威盛VIA 2003.11.06 上海笔试试题)静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号
25、在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;19、一个四级的Mux,其中第二级信号为关键信号 如何改善timing。(威盛VIA 2003.11.06 上海笔试
26、试题)关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改。20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入, 使得输出依赖于关键路径。(未知)21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优 点),全加器等22、卡诺图写出逻辑表达式。(威盛VIA 2003.11.06 上海笔试试题)23、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和。(威盛)卡诺图化简:一般是四输入,记住00 01 11 10顺序,0 1 3 24 5 7 612 13 15 148 9 1
27、1 1024、please show the CMOS inverter schmatic,layout and its cross sectionwith P- well process.Plot its transfer curve (Vout-Vin) And also explain the operation region of PMOS and NMOS for each segment of the transfer curve? (威 盛笔试题circuit design-beijing-03.11.09) 25、To design a CMOS invertor with b
28、alance rise and fall time,please define the ration of channel width of PMOS and NMOS and explain? 26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)和载流子有关,P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等27、用mos管搭出一个二输入与非门。(扬智电子笔试)28、please draw the transistor
29、level schematic of a cmos 2 input AND gate and explain which input has faster response for output rising edge.(less delay time)。(威盛笔试题circuit design-beijing-03.11.09)29、画出NOT,NAND,NOR的符号,真值表,还有transistor level的电路。(Infineon笔 试)30、画出CMOS的图,画出tow-to-one mux gate。(威盛VIA 2003.11.06 上海笔试试题)31、用一个二选一mux和一个
30、inv实现异或。(飞利浦大唐笔试)input a,b;output c;assign c=a?(b):(b);32、画出Y=A*B+C的cmos电路图。(科广试题)33、用逻辑们和cmos电路实现ab+cd。(飞利浦大唐笔试)34、画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E)。(仕兰微电子)35、利用4选1实现F(x,y,z)=xz+yz。(未知)x,y作为4选1的数据选择输入,四个数据输入端分别是z或者z的反相,0,136、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化简)。 解答:好好复习状态图的化简。(实际上就是化 化成最小
31、项之和的形式后根据(A*B)*((C*D))=AB+CD37、给出一个简单的由多个NOT,NAND,NOR组成的原理图,根据输入波形画出各点波形。(Infineon笔试)38、为了实现逻辑(A XOR B)OR (C AND D),请选用以下逻辑中的一种,并说明为什么?1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR 答案:NAND,不知道如何解答。39、用与非门等设计全加法器。(华为)40、给出两个门电路让你分析异同。(华为)41、用简单电路实现,当A为输入时,输出B波形为(仕兰微电子)42、A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,
32、E中1的个数比0 多,那么F输出为1,否则F为0),用与非门实现,输入数目没有限制。(未知) 解答:我对此题的解答是认为做一个全加器,让后把低两位与然后或一个高位。Module Check(A,B,C,D,E,F)InputA,B,C,D,E;OutputF;RegA,B,C,D,E;RegF;Reg 2:0 Z;AssignZ = A+B+C+D+E;Always( )BeginIf( Z 2)F=1;ElseF=0;EndEndmodule;43、用波形表示D触发器的功能。(扬智电子笔试) 44、用传输门和倒向器搭一个边沿触发器。(扬智电子笔试) 45、用逻辑们画出D触发器。(威盛VIA
33、2003.11.06 上海笔试试题) 46、画出DFF的结构图,用verilog实现之。(威盛) 解答:知道DFF是D触发器就好做多了。略。47、画出一种CMOS的D锁存器的电路图和版图。(未知) 48、D触发器和D锁存器的区别。(新太硬件面试) 解答:是边缘触发的也是就取上升沿来的时候的值latch 是为高电平的时候就是透明的49、简述latch和filp-flop的异同。(未知) 50、LATCH和DFF的概念和区别。(未知) 解答:如48。51、latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的。(南山之桥) 解答:应为latch为电平触
34、发,容易产生毛刺干扰。latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。52、用D触发器做个二分频的电路.又问什么是状态图。(华为) 53、请画出用D触发器实现2倍分频的逻辑电路?(汉王笔试) 54、怎样用D触发器、与或非门组成二分频电路?(东信笔试) 解答:二分频电路即是D触发器的反相输出接入输入即可。55、How many flip-flop circuits are needed to divide by 16? (Inte
35、l) 16分频? 解答:4个56、用filp-flop和logic-gate设计一个1位加法器,输入carryin和current-stage,输出 carryout和next-stage. (未知) 57、用D触发器做个4进制的计数。(华为) 58、实现N位Johnson Counter,N=5。(南山之桥) 解答:下面的Verilog代码描述了一个异步复位的Johnson Counter.module johnson(clk,clr,out);input clk,clr;output4:0 out;reg4:0 out;always (posedge clk or posedge clr)
36、 beginif (clr) out= 5h0; elsebegin out= out 1; out0= out4;endendendmodule 59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰微电子) 60、数字电路设计当然必问Verilog/VHDL,如设计计数器。(未知) 61、BLOCKING NONBLOCKING 赋值的区别。(南山之桥) 解答:首先这两个词的意思是阻塞和非阻塞。这两种赋值的形式直接影响着你在设计中是否出现了锁存的现象or出现了触发器。阻塞赋值(),它在使用后立即赋值,使用在组合逻辑电路中。非阻塞赋值(=),它的赋值在下次的时钟脉
37、冲到来时赋值,使用在时序逻辑电路中。在Verilog中推荐使用非阻塞赋值。62、写异步D触发器的verilog module。(扬智电子笔试) module dff8(clk , reset, d, q); input clk; input reset; input 7:0 d; output 7:0 q; reg 7:0 q; always (posedge clk or posedge reset) if(reset) q = 0; else q = d; endmodule 63、用D触发器实现2倍分频的Verilog描述? (汉王笔试) module divide2( clk , cl
38、k_o, reset); input clk , reset; output clk_o; wire in; reg out ; always ( posedge clk or posedge reset) if ( reset) out = 0; else out = in; assign in = out; assign clk_o = out; endmodule 64、可编程逻辑器件在现代电子设计中越来越重要,请问:a) 你所知道的可编程逻辑器件有哪些? b) 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑。(汉王笔试)解答:PAL,PLD,CPLD,FPGA。 modul
39、e dff8(clk , reset, d, q); input clk; input reset; input d; output q; reg q; always (posedge clk or posedge reset) if(reset) q = 0; else q = d; endmodule 65、请用HDL描述四位的全加法器、5分频电路。(仕兰微电子) 解答:四位全加器的描述:Module Add4( a,b,c,d,q,cp,clk,clr);Inputa,b,c,d,clk,clr;Outputq,cp;Reg a,b,c,d;Wire3:0q;wirecp;Reg4:0
40、Qout;Always(posedge clk or negedge clr )BeginIf(clr)Qout = 0;elseQout = a+b+c+d;EndQ = Qout3:0;Cp = qout4;Endmodule5分频电路的设计:Module5Div(ClkIn,ClkOut,clr)InputClkIn,clr;OutputClkOut;RegClkIn,clr,ClkOut;Reg2:0 Count;Always( posedge ClkIn or negedge clr )BeginIf(clr)ClkOut = 0;ElseBeginIf(Count = 3h5)be
41、ginClkOut = 0;Count = 0;EndElseBeginClkOut = 1;Count = Count + 1;EndEndEndEndmodule66、用VERILOG或VHDL写一段代码,实现10进制计数器。(未知) 67、用VERILOG或VHDL写一段代码,实现消除一个glitch。(未知) 68、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解的)。(威盛VIA 2003.11.06 上海笔试试题) 69、描述一个交通信号灯的设计。(仕兰微电子) 解答:(1) 在交通灯控制电路JTDKZ的设计中,利用状态机非常简洁地实现了对主、支干道指
42、示灯的控制和有关单元电路的使能控制。 (2) 在定时单元CNT45S和CNT25S的设计中,根据设计要求需进行减计数,但本设计中却使用的是加法计数,只是在将计数结果转换成两位BCD码时,将计数的最小值对应转换成显示定时的最大值,计数值加1时,转换的显示值减1,依此类推。70、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱。(扬智电子笔试) 71、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱 数。 (1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计 的要求。(未知) 72、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两
43、种,并考虑找零:(1) 画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计 工程中可使用的工具及设计大致过程。(未知) 73、画出可以检测10010串的状态图,并verilog实现之。(威盛) 74、用FSM实现101101的序列检测模块。(南山之桥) a为输入端,b为输出端,如果a连续输入为1101则b输出为1,否则为0。 例如a: 0001100110110100100110 b: 0000000000100100000000 请画出state machine;请用RTL描述其state machine。(未知) 解答:只处理73;代码的书写是采
44、用Case语句来完成的。例如:ModuleCheck( clk,clr,S,Q)Inputclk,S,clr;OutputQ;Regclk,S,clr;RegQ;Reg2:0 State;Parameter A = 3h1; B = 3h2; C = 3h3; D = 3h4; E = 3h5;always(posedge clk or negedge clr)beginif(clr)Q = 0;ElseBeginSwitch (State):A:if( S )beginState = B;Q = 0;endElsebeginState = A;Q = 0;endB:if( S )beginState = B;Q= 0;endElsebeginState = C;Q= 0;EndC:if( S )beginState = B;Q= 0;endElsebeginState = D;Q= 0;endD:if( S )beginState = E;Q=0;endElsebeginState = A;Q=0;endE:if( S )beginState = B;Q=0;endElsebeginState = A;Q = 1;EndDefault : state = A;Endcase;Endmodule75、用verilog/vddl检测stream中的特定字符串(分状