当前位置:文档之家› 数字IC面试题

数字IC面试题

数字IC面试题
数字IC面试题

注:红色为不会

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

-------------------以上选自digital_IC----------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

数字部分

逻辑

同步复位和异步复位:

同步复位:同步复位仅在有效的时钟沿时对触发器复位,该复位信号经过组合逻辑馈送到触发器的D输入端。

同步复位优缺点:

1)、优点:同步复位可以保证100%同步,可以对小的复位毛刺滤波;

同步复位可以在时钟周期之间,对逻辑等式产生的毛刺进行滤波;

a、有利于仿真器的仿真

b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。

c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺

2)、缺点:同步复位有时需要脉冲展宽,用以保证时钟有效期间有足够的复位宽度;

同步复位将复位信号经过组合逻辑馈送到数据输入端,从而增加了数据通道使用组合逻辑门数和相应的时延;

a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,

组合逻辑路径延时,复位延时等因素。

b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄

存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。

C. An active clock is essential for a synchronous reset design. Hence you can expect more power consumption.

异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位

异步复位优点:

1)、最大优点是只要综合工具工艺库有可异步复位的触发器,那么该触发器的数据输入通道就不需要额外的组合逻辑;

2)、电路在任何情况下都能复位而不管是否有时钟出现。

a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源

b、设计相对简单。

c、异步复位信号识别方便

d、Clocking scheme is not necessary for an asynchronous design. Hence design consumes less power. Asynchronous design style is

also one of the latest design options to achieve low power. Design community is scrathing their head over asynchronous design possibilities.

异步复位缺点:

1)、最大的问题在于它属于异步逻辑,问题出现在复位释放时,而不是有效时,如果复位释放接近时钟有效沿,则触发器的输出可能进入亚稳态,从而使复位失败。

2)、可能因为噪声或者毛刺造成虚假复位信号,

3)、对异步复位INS静态定时分析比较困难。

4)、对于DFT(DESING FOR TEST)设计,如果复位信号不是直接来自于I/O引脚,在DFT扫描和测试时,复位信号必须被禁止,因此需要额外的同步电路。

根据状态数目是否有限可以将时序状态机分为有限状态机(Finite Status Machine,FSM)和无限状态机。

FSM: Mealy & Moore

Mealy:米利机的下一状态和输出取决于当前状态和当前输出;-->异步FSM

Moore:Moore机的下一状态取决于当前状态和当前输出,但其输出仅取决于当前状态,

-->同步FSM

状态图或者状态转移表以表格的形式表示在当前状态和输入的各种组合下状态机的下一状态和输出。

状态转移图(Status transition graph,STG)是一种有向图,

算法状态机(ASM),类似于软件流程图,是时序状态机功能的一种抽象。

函数和任务的区别:

1)、函数:函数代表了纯组合逻辑,

2)、任务:即可以用来表示组合逻辑也可以表示时序逻辑

阻塞和非阻塞语句的区别:

阻塞(=)和非阻塞(<=)语句的最主要的区别在其后的引用它的语句的电路结构上:

1)、对于阻塞语句,其综合出的组合逻辑的输出,被馈送到其后引用他的语句的组合逻辑的输入端,也即后面的语句引用其新值;

2)、对于非阻塞语句,其综合出的触发器的输出,被馈送到其后引用它的语句的组合逻辑的输入端,也即后面的语句引用其旧值。

Me:同步异步时钟域接口信号:

异步时钟域的同步分为两种:

1)两个域的时钟频率相同,但相位不固定,称为同频异相时钟域的同步。同频异相问题的简单解决办法是用后级时钟对前级时钟数据采样两次。该方法可以有效的减少亚稳态的传输,使后级电路数据都是有效电平值。

2)两个时钟域频率根本不同,称为异频时钟域的同步。要可靠地完成异频时钟域同步,可以使用DPRAM或者FIFO,利用上级时钟写数据再用本级时钟读出即可。

1.同步电路和异步电路的区别是什么?

Me:同步电路:其核心逻辑用触发器实现,电路的主要信号。输出信号灯都由某个时钟沿驱动产生。可以很好的避免毛刺,利于器件移植,有利于STA、验证设计时序性能

异步电路:其核心逻辑使用组合电路实现,电路的主要信号、输出信号不依赖于任何一个时钟信号。容易产生毛刺,不利于器件移植,不利于STA、验证设计时序性能。

答:同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如D触发器,当上升延到来时,寄存器把D端的电平传到Q输出端。

异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。

2. 什么是同步逻辑和异步逻辑?

答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。

3. 什么是组合逻辑电路和时序逻辑电路?

答:数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。

4. 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?

答:线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现(漏极或者集电极开路),,由于不用oc门可能使灌电流过大,而烧坏逻辑门。同时在输出端口应加一个上拉电阻.(线或则是下拉电阻) 。

OC门,又称集电极开路(漏极开路)与非门门电路,Open Collector(Open Drain)。为什么引入OC门?实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路--OC门来实现“线与逻辑”。OC门主要用于3个方面:

1、实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。

2、线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。用OC门实现线与,应同时在输出端口应加一个上拉电阻。

3、三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。

5. 什么是Setup 和Holdup时间?

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

保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。

6. 解释setup time和hold time的定义和在时钟信号延迟时的变化。

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

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

7. 什么是竞争与冒险现象?怎样判断?如何消除?

答:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。三加选通信号。用D触发器,格雷码计数器,同步电路等优秀的设计方案可以消除。

8. 你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?

答:常用逻辑电平: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.3VDD;V oh>=0.9VDD,V ol<=0.1VDD,ttl的为:Vih>=2.0v,Vil<=0.8v;V oh>=2.4v,V ol<=0.4v.

用cmos可直接驱动ttl;加上拉电阻后,ttl可驱动cmos.

9. 如何解决亚稳态?Metastability

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

解决方法:

1 降低系统时钟频率

2 用反应更快的Flip-Flop

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

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

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

9(1)为什么两级触发器可以防止亚稳态传播?

沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间+ 第二级触发器的建立时间< = 时钟周期。

更确切地说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险的脉冲宽度是两倍同步时钟周期。所以,这样的同步电路对于从较慢的时钟域来的异步信号进入较快的时钟域比较有效,对于进入一个较慢的时钟域,则没有作用。

10. IC设计中同步复位与异步复位的区别。

答:同步复位,就是当复位信号有效且在给定的时钟边沿到来时,触发器才被复位。换一句话说,即使复位信号有效,如果时钟脉冲边沿未到来,触发器也不会复位。异步复位则不同,一旦复位信号有效,触发器就立即复位。

异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态.

11. MOORE与MEELEY状态机的特征。

答:两种典型的状态机是摩尔(Moore)状态机和米立(Mealy)状态机。摩尔有限状态机输出只与当前状态有关,与输入信号的当前值无关,是严格的现态函数。在时钟脉冲的有效边沿作用后的有限个门延后,输出达到稳定值。即使在时钟周期内输入信号发生变化,输出也会保持稳定不变。从时序上看,Moore状态机属于同步输出状态机。Moore有限状态机最重要的特点就是将输入与输出信号隔离开来。

Mealy状态机的输出是现态和所有输入的函数,随输入变化而随时发生变化。从时序上看,Mealy状态机属于异步输出状态机,它不依赖于时钟。

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

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

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

Me: Hold

Delay < period - setup – hold

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

T3setupT1min+T2min

不考虑时钟的skew,D2的建立时间不能大于(时钟周期T - D1数据最迟到达时间T1max+T2max);保持时间不大于大于(D1数据最快到达时间T1min+T2min);否则D2的数据将进入亚稳态并向后级电路传

17、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有clock的delay,写出决定最大时钟的因素,同时给出表达

Thold+Tclkdelay

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

静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误.它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中. 动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径.因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;

静态时序分析缺点:

1.无法识别伪路径

2.不适合异步电路

3.不能验证功能

19、一个四级的Mux,其中第二级信号为关键信号如何改善timing.(威盛VIA 2003.11.06 上海笔试试题)

Me:可以参考加法F =A+B+C+D,改善Timing:F=(A+B)+(C+D)

将第二级信号放到最后一级输出,这样关键信号到输出的路径将只延时一级MUX,从而改善timing

关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改.

20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径.(未知) Me:Critical Path 指的是同步逻辑电路中,组合逻辑时延最大的路径

21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优点),全加器等等.(未知)

触发器种类:

区别:

优点:

全加器:S=A xor B xor C

Co=(A xor B)*C+AB=AB+AC+BC

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 2

4 5 7 6

12 13 15 14

8 9 11 10

24、please show the CMOS inverter schmatic,layout and its cross sectionwith P-well process.Plot its transfer curve (V out-Vin) And also explain the operation region of PMOS and NMOS for each segment of the transfer curve? (威盛笔试题circuit design-beijing-03.11.09)

NMOS and explain?

26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)

和载流子有关,P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等

27、用mos管搭出一个二输入与非门.(扬智电子笔试)

28、please draw the transistor 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和一个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).(仕兰微电子) 以上均为画COMS电路图,实现一给定的逻辑表达式

35、利用4选1实现F(x,y,z)=xz+yz'.(未知)

x,y作为4选1的数据选择输入,四个数据输入端分别是z或者z的反相,0,1

36、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化简).

化成最小项之和的形式后根据~(~(A*B)*(~(C*D)))=AB+CD

[电子/通信] verilog笔试题

笔试题

https://www.doczj.com/doc/20325428.html,e verilog hdl to implement a flip-flopwith synchronous RESET and SET, a Flip-flop with asynchronous RESET and SET.

实现同步置位和复位的触发器。实现异步置位和复位的触发器。

always@(posedge clk or negtive set or negtive reset)

if(set)

q<=1;

else if (!reset)

q<=0;

else

q<=d;

https://www.doczj.com/doc/20325428.html,e verilog hdl to implement a latch withasynchronous RESET and SET.

实现异步置位和复位的锁存器。

always@(clk or set or reset)

if(set)

q<=1;

else if (!reset)

q<=0;

else

q<=d;

https://www.doczj.com/doc/20325428.html,e V erilog hdl to implement a 2-to-1multiplexer.

实现二选一。

assign out = sel? a:b;

https://www.doczj.com/doc/20325428.html,e AND gate, OR gate and Inverter toimplement a 2-to-1 multiplexer.

用门级电路搭二选一。

https://www.doczj.com/doc/20325428.html,e a 2-to-1 multiplexer to implement a two input OR gate.

用二选一搭或门。

assign out = a? a:b ;

https://www.doczj.com/doc/20325428.html,e a tri-state buffer to implementOpen-Drain buffer.

用三态实现开路。

Ass ign out = en? In: 1’bz ;

7.To divide one input clock by3, Written by verilog hdl.

三分频。

8.To divide one input clock by3, 50% dutycycle is required. Written by verilog hdl. 三分频,50%空占比。

The 7 and 8 is basic same. I give the 8 answer.

`timescale 1ns / 1ps

module diveven;

reg rst;

reg clkin;

wire clkout;

reg clkout1,clkout2;

reg [2:0] count;

always #50 clkin =~clkin;

initial

begin

clkin = 0;

rst = 1;

#200 rst = 0;

end

assign clkout =clkout1 | clkout2;

always@(posedge clkin)

if(rst)

begin

count <= 0;

end

else if(count ==3'h2)

begin

count<=0;

end

else

count <= count+1;

always@(posedge clkin)

if(rst)

begin

clkout1 <= 0;

end

else if(count ==3'h2)

begin

clkout1<=~clkout1;

end

else if(count ==3'h1)

end

always@(negedge clkin)

if(rst)

begin

clkout2 <= 0;

end

else if(count ==3'h2)

begin

clkout2<=~clkout2;

end

else if(count ==3'h1)

begin

clkout2<=~clkout2;

end

endmodule

9.Pickup any interface from the following.Draw the waveform and block diagram. Writhe the verilog code for serial toparallel data conversion.

从下面串口中挑选一个你熟悉的,画框图和波形。并写一段串转并的程序。

UART, SPI, PS2, LPC, USB, I2C, I2S, SA TA, MMC, SD

always(posedge clk)

begin

rsr[0]<= rxd;

rsr[7:1]<= rsr[6:0];

end

Assign out <= rsr;

数字电路

1、同步电路和异步电路的区别是什么?(仕兰微电子)

2、什么是同步逻辑和异步逻辑?(汉王笔试)

同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。

3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)

线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门。同时在输出端口应加一个上拉电阻。

4、什么是Setup 和Holdup时间?(汉王笔试)

5、setup和holdup时间,区别.(南山之桥)

6、解释setup time和hold time的定义和在时钟信号延迟时的变化。(未知)

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

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

metastability的情况。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。

8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除。(仕兰微电子)

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

在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决

方法:一是添加布尔式的消去项,二是在芯片外部加电容。

10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试)

常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V 之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接CMOS需要在输出端口加一上拉电阻接到5V或者12V。

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

亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平

上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无

用的输出电平可以沿信号通道上的各个触发器级联式传播下去。

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

13、MOORE 与 MEELEY状态机的特征。(南山之桥)

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

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

Delay < period - setup – hold

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

17、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式。(威盛VIA 2003.11.06 上海笔试试题)

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

20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径。(未知)

21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优

点),全加器等等。(未知)

22、卡诺图写出逻辑表达使。(威盛VIA 2003.11.06 上海笔试试题)

23、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和。(威盛)

24、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 balance rise and fall time,please define the ration of channel width of PMOS and NMOS and explain?

26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)

27、用mos管搭出一个二输入与非门。(扬智电子笔试)

28、 please draw the transistor 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和一个inv实现异或。(飞利浦-大唐笔试)

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'。(未知)

36、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化

简)。

37、给出一个简单的由多个NOT,NAND,NOR组成的原理图,根据输入波形画出各点波形。

(Infineon笔试)

38、为了实现逻辑(A XOR B)OR (C AND D),请选用以下逻辑中的一种,并说明为什么?1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR

Me Answer: NAND ,因为NAND是数字逻辑最基本的组成逻辑,其他的逻辑门都可以通过NAND来实现(未知)

39、用与非门等设计全加法器。(华为)

A B C S Co

0 0 0 0 0

0 0 1 10

0 1 0 10

0 1 1 0 1

1 0 0 10

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

S=A xor B xor C

Co=(A xor B)*C+A*B=AB+AC+BC

40、给出两个门电路让你分析异同。(华为)

41、用简单电路实现,当A为输入时,输出B波形为…(仕兰微电子)

43、用波形表示D触发器的功能。(扬智电子笔试)

44、用传输门和倒向器搭一个边沿触发器。(扬智电子笔试)

45、用逻辑们画出D触发器。(威盛VIA 2003.11.06 上海笔试试题)

46、画出DFF的结构图,用verilog实现之。(威盛)

always@(posedge clk or negedge rst)

begin

if(!rst)

Q <=0;

else

Q <=D;

end

47、画出一种CMOS的D锁存器的电路图和版图。(未知)

48、D触发器和D锁存器的区别。(新太硬件面试)

49、简述latch和filp-flop的异同。(未知)

50、LATCH和DFF的概念和区别。(未知)

latch和flip-flop都是时序逻辑,区别为:latch同其所有的输入信号相关,当输入信号变化时latch就变化,没有时钟端;flip-flop受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。当然因为二者都是时序逻辑,所以输出不但同当前的输入相关还同上一时间的输出相关。

51、latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的。(南山之桥)

latch最大的危害在于不能过滤毛刺。这对于下一级电路是极其危险的。所以,只要能用D触发器的地方,就不用latch。在if语句和case不全很容易产生latch

52、用D触发器做个二分颦的电路.又问什么是状态图。(华为)

状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。

always@(posedge clk or negedge rst)

Clk_div2 <=0;

Else

Clk_div2 <=~clk_div2;

end

53、请画出用D触发器实现2倍分频的逻辑电路?(汉王笔试)

54、怎样用D触发器、与或非门组成二分频电路?(东信笔试)

55、How many flip-flop circuits are needed to divide by 16? (Intel) 16分频?

Answer:4 flip-flop circuits

56、用filp-flop和logic-gate设计一个1位加法器,输入carryin和current-stage,输出carryout 和next-stage. (未知)

57、用D触发器做个4进制的计数。(华为)

Me:参考《专用集成电路设计实用教程》--P58

module count4(clk,reset,co);

input clk,reset;

output co;

reg[1:0] count;

always@(posedge clk or negedge reset)

if(~reset)

count<=0;

else if(count==3)

count<=0;

else

count<=count+1;

assign co=(count==3);

endmodule

58、实现N位Johnson Counter,N=5。(南山之桥)

Johnson counter 建模的关键在于:

a)如果计数器最高有效位(最左边的那位)为1,则从右端移入0;

b)如果最高有效位为0,则从右端移入1

Eg:3位的JohnsonCounter module

Module johnsonCounter(clk,rst,Q);

Parameter Nbits=3;

Output [0:Nbits-1]Q;

Reg [0:Nbits-1]Q;

always@(negedge clk or negedge rst)

Begin

If(!Rst)

Q<=0;

Else

Begin

If(!Q[0])

Q<={Q[1:Nbits-1],1'b1};

Else

Q<={Q[1:Nbits-1],1'b0};

end

end

endmodule

59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰微电子)

Me:

Module counter(clk,set_n,pre_set_data,out);

Input clk,set_n;

Input [2:0] pre_set_data;

Output [2:0] out;

Reg [2:0] cnt;

Always @(posedge clk or negedge set_n )

Begin

If(!Set_n)

Cnt<=pre_set_data;

Else if (cnt==3'b111)

Cnt<=0;

Else

Cnt

end

Assign out=cnt;

endmodule

60、数字电路设计当然必问Verilog/VHDL,如设计计数器。(未知)

61、BLOCKING NONBLOCKING 赋值的区别。(南山之桥)

65、请用HDL描述四位的全加法器、5分频电路。(仕兰微电子)

用verilog 实现3分频电路

module div3f(

clk,

rst,

input rst;

output q;

reg clk1,clk2;

reg [1:0] cnt1;

always@(posedge clk or negedge rst)

begin

if(!rst)

cnt1=0;

else if(cnt1==2'b10)

cnt1=0;

else

cnt1=cnt1+1;

end

always@(posedge clk or negedge rst)

begin

if(!rst)

clk1=0;

else if(cnt1==2'b10)

clk1=1;

else

clk1=0;

end

always@(negedge clk or negedge rst)

begin

if(!rst)

clk2<=0;

else if(cnt1==2'b01)

clk2<=1;

else

clk2<=0;

end

assign q=clk1 || clk2;

endmodule

66、用VERILOG或VHDL写一段代码,实现10进制计数器。(未知)

67、用VERILOG或VHDL写一段代码,实现消除一个glitch。(未知)

68、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解的)。(威盛VIA 2003.11.06 上海笔试试题)

69、描述一个交通信号灯的设计。(仕兰微电子)

Copyright by dratejo,has simulated by ModelSim

Time:sept,7th,2010

rst,

red1,

green1,

yellow1,

red2,

green2,

yellow2);

input clk;

input rst;

output red1,green1,yellow1;

output red2,green2,yellow2;

reg red1,green1,yellow1;

reg red2,green2,yellow2;

parameter st0=0,st1=1,st2=2,st3=3,st4=4,st5=5,st6=6,st7=7;

reg [2:0] st,next_st;

always@(posedge clk or negedge rst)

begin

if(!rst)

st=st0;

else

st=next_st;

end

always@(st)

begin

red1=1'b0;green1=1'b0;yellow1=1'b0;

red2=1'b0;green2=1'b0;yellow2=1'b0;//initial the value ,void the latch case(st)

st0://when east to weast light green,north2south light red,3 cycles begin

green1=1'b1;

red2=1'b1;

next_st=st1;

end

st1:

begin

green1=1'b1;

red2=1'b1;

next_st=st2;

end

green1=1'b1;

red2=1'b1;

next_st=st3;

end

//---east2west light yellow,south2north light red

st3:

begin

yellow1=1'b1;

green1=1'b1;

red2=1'b1;

next_st=st4;

end

//---when east2weast light red ,south2north light green

st4:

begin

green2=1'b1;

red1=1'b1;

next_st=st5;

end

st5:

begin

green2=1'b1;

red1=1'b1;

next_st=st6;

end

st6:

begin

green2=1'b1;

red1=1'b1;

next_st=st7;

end

st7://when east2weast light red,south2north light yellow and green, begin

yellow2=1'b1;

green2=1'b1;

red1=1'b1;

next_st=st0;

end

endcase

end

endmodule

70、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱。(扬智电子笔试)

Copyright by dratejo,has simulated by ModelSim

Time:sept,7th,2010

module coin_machine(

a1,

b2,

c5,

out);

input clk;

input rst;

input a1;

input b2;

input c5;

//--a1 present 1 fen,b2 present 2 fen,c5 present 5 fen output out;

reg out;

parameter st0=0,st1=1,st2=2,st3=3,st4=4,st5=5;

reg [2:0] st,next_st;

always@(posedge clk or negedge rst)

begin

if(!rst)

st=st0;

else

st=next_st;

end

always@(a1 or b2 or c5 or st)

begin

next_st=st;

case(st)

st0:

begin

if(a1==1'b1)

next_st=st1;

else if(b2==1'b1)

next_st=st2;

else if(c5==1'b1)

next_st=st5;

end

st1:

begin

if(a1==1'b1)

next_st=st2;

else if(b2==1'b1)

next_st=st3;

else if(c5==1'b1)

next_st=st5;

end

if(a1==1'b1)

next_st=st3;

else if(b2==1'b1)

next_st=st4;

else if(c5==1'b1)

next_st=st5;

end

st3:

begin

if(a1==1'b1)

next_st=st4;

else if(b2==1'b1 || c5==1'b1)

next_st=st5;

end

st4:

begin

if(a1==1'b1 || b2==1'b1 || c5==1'b1)

next_st=st5;

end

st5:

next_st=st0;

endcase

end

always@(st)

begin

if(st==st5)

out=1;

else

out=0;

end

endmodule

71、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱

数。(1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求。(未知)

72、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零:(1)

画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计

工程中可使用的工具及设计大致过程。(未知)

Copyright:dratejo,has simulated by ModelSim

Time:sept,7th,2010

//----with back coins for the coin machine----

module coin_machine(

clk,

rst,

a1,

b2,

相关主题
文本预览
相关文档 最新文档