《2012联发科数字IC设计笔试题.docx》由会员分享,可在线阅读,更多相关《2012联发科数字IC设计笔试题.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2012数字IC设计第一波笔试题 一、 请写出unix系统下创建文件夹、删除文件夹、XX、XX和XX操作的命 令。 因为这道题本人完全不会,所以基本上就瞅了一眼,后面几个就不清楚了,但是可以肯定的是都是很基本的操作(*_*)。 二、 简答题 (1) 请解释Latch与flip-flop的区别; 关于latch的讨论 latch和flip-flop都是时序逻辑,区别为:latch同其所有的输入信号相关,当输入信号变化时latch就变化,没有时钟端;flip-flop受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。当然因为二者都是时序逻辑,所以输出不但同当前的输入
2、相关还同上一时间的输出相关 latch缺点: 1、没有时钟端,不受系统同步时钟的控制,无法实现同步操作; 2、对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生; 在xilinx和altera器件的slice和LE中都能够同时支持生产d-latch和d-ff,在这一层面上二者有什么区别暂时没有想到。如果使用门电路来搭建latch和ff,则latch消耗的门资源比ff要少,这是latch比ff优越的地方。 latch的最大缺点就是没有时钟端,和当前我们尽可能采用时序电路的设计思路不符。 latch是电平触发,相当于有一个使能端,且在激活之后(在使能电平的时候)相当于导线了,随输出而变化
3、,在非使能状态下是保持原来的信号,这就可以看出和flip-flop的差别,其实很多时候latch是不能代替ff的 1.latch对毛刺敏感 2.在ASIC中使用latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现 3.latch将静态时序分析变得极为复杂 4.目前latch只在极高端电的路中使用,如intel 的P4等CPU。 FPGA中有latch单元,寄存器单元就可以配置成latch单元,在xilinx v2p的手册将该单元成为register/latch单元,附件是xilinx半个slice的结构
4、图。其它型号和厂家的FPGA没有去查证 (2) 请解释阻塞赋值和非阻塞赋值的区别;(8楼buffon同学补充的哈) 阻塞赋值操作符用等号(即 = )表示。为什么称这种赋值为阻塞赋值呢?这是因为在赋值时先计算等号右手方向(RHS)部分的值,这时赋值语句不允许任何别的Verilog语句的干扰,直到现行的赋值完成时刻,即把RHS赋值给 LHS的时刻,它才允许别的赋值语句的执行。一般可综合的阻塞赋值操作在RHS不能设定有延迟,(即使是零延迟也不允许)。从理论上讲,它与后面的赋值语句只有概念上的先后,而无实质上的延迟。 阻塞赋值的执行可以认为是只有一个步骤的操作: 计算RHS并更新LHS,此时不能允许有
5、来自任何其他Verilog语句的干扰。 所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上(即使不设定延迟)是在前一句赋值语句结束后再开始赋值的。 非阻塞赋值操作符用小于等于号 (即 = )表示。为什么称这种赋值为非阻塞赋值?这是因为在赋值操作时刻开始时计算非阻塞赋值符的RHS表达式,赋值操作时刻结束时更新LHS。在计算非阻塞赋值的RHS表达式和更新LHS期间,其他的Verilog语句,包括其他的Verilog非阻塞赋值语句都能同时计算RHS表达式和更新LHS。非阻塞赋值允许其他的Verilog语句同时进行操作。非阻塞赋值的操作可以看作为两个步骤的过程:在赋值时刻开始时,计算
6、非阻塞赋值RHS表达式。 在赋值时刻结束时,更新非阻塞赋值LHS表达式。 非阻塞赋值操作只能用于对寄存器类型变量进行赋值,因此只能用在initial块和always块等过程块中。非阻塞赋值不允许用于连续赋值。 在编程时应该注意以下问题: 时序电路建模时,用非阻塞赋值。 锁存器电路建模时,用非阻塞赋值。 用always块建立组合逻辑模型时,用阻塞赋值。 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。 在同一个always块中不要既用非阻塞赋值又用阻塞赋值。 不要在一个以上的always块中为同一个变量赋值。 用$strobe系统任务来显示用非阻塞赋值的变量值 在赋值时不要使用
7、#0 延迟(3) 请解释setup time 和 hold time 之间的区别; Setup time 是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间- Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。 hold time 是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time 不够,数据同样不能被打入触发器。(4) XXX (5) XXX 这里边的好多题里边的术语没见过,或者说没印象了,也属于想做都
8、没法下手的,所以也没花太多时间,请大家参加过的补充下嘛。 三、 下图是一个4位右移寄存器,0时刻的初始状态为0110,请写出5个时 刻后的输出。(这是问哦唯一会的一道题,可是只有5分b)四、 关于防抖动电路。输入信号pai_in连续四次稳定在同一电平是,则对其 进行采样,否则输入无效。(1) 用VHDL或Verilog描述该逻辑电路; (2) 给定各器件的时延,求系统运行的最大频率,并给出简要计算步骤。其中 setup time 等于0.5ns,hold time 等于0s,D1、D2、D3、D4的延时分别为2ns、2ns、1ns、1ns。(其他器件的最小延时和最大延时分别是表格给出的,记不清
9、咯,不过大多数器件的最小延时都是1ns,这个欢迎大家补名词解释,请写出下列简写的英文全名或中文意义。ECO: Engineering Change Order(工程设计更改)DFM: Design for manufacturability(可制造性设计)AMBA: Advanced Microcontroller Bus Architecture(先进的微控制总线构架)DLL: Delay Locked Loop(数字延迟锁相环)BIST: Built-in Self Test(内建自测)LDPC: Low Density Parity Check Codes(低密度奇偶校验码)DCT: D
10、iscrete Cosine Transform(离散余弦变换)STA: Static Timing Analysis(静态时序分析)CRC: Cyclic Redundancy Check(循环冗余校验码)2、请用流程图的方式简述数字ASIC设计流程以及相应的工具。功能要求行为设计 行为仿真综合、优化网表时序仿真布局布线版图后仿真流片典型ASIC设计具有下列相当复杂的流程:u结构及电气规定。uRTL级代码设计和仿真测试平台文件准备。u为具有存储单元的模块插入BIST。u为了验证设计功能,进行完全设计的动态仿真。u设计环境设置。包括使用的设计库和其他一些环境变量。使用Design Compil
11、er工具,约束和综合设计,并且加入扫描链(或者JTAG)。u使用自带静态时序分析器,进行模块静态时序分析。u使用Formality工具,进行RTL级和综合后门级网表的Formal Verification。u版图布局布线之前,使用Prime Time工具进行整个设计的静态时序分析。u将时序约束前标注到版图生成工具。u时序驱动的单元布局,时钟树插入和全局布线。u将时钟树插入到DC的原始设计中。u使用Formality,对综合后网表和插入时钟树网表Formal Verification。u从全局布线后的版图中提取出估算的时间延时信息。u将估算的时间延时信息反标注到Design Compiler或者
12、Prime Time。u在Prime Time中静态时序分析。u在Design Compiler中进行设计优化。u设计的详细布线。u从详细布线设计中提取出实际时间延时信息。u将提取出的实际时间延时信息反标注到Design Compiler或者Prime Time中。u在Prime Time进行版图后的静态时序分析。u在Design Compiler中进行设计优化(如需要)。u进行版图后带时间信息的门级仿真。uLVS和DRC验证,然后流片。3、a数字电路的静态功耗和动态功耗有哪几部分构成?与哪些因素有什么关系。b阈值电压Vt对静态功耗有什么影响?对电路速度有什么影响?请阐述动态时序和静态时序分析
13、的区别和各自的作用。动态功耗:主要是指晶体管开关状态变换产生的开关功耗,还包括输出电压转换的过程中NMOS和PMOS同时导通造成的短路电流功耗。与电源电压的平方,以及总负载电容,时钟频率,动态转换因子的大小成正比。静态功耗:即晶体管状态稳定不变时的功耗,包括:亚阈漏电流功耗,多晶硅栅漏电流功耗,PN结反偏漏电流功耗。与电源电压成成正比,与阈值电压成指数关系。提高阈值电压Vt可以有效地降低静态功耗。但提高阈值电压,电路的速度会降低。动态时序分析的时序确认通过仿真实现,分析的结果完全依赖于验证工程师所提供的激励。不同激励分析的路径不同,也许有些路径(比如关键路径)不能覆盖到,当设计规模很大时,动态
14、分析所需要的时间、占用的资源也越来越大。静态时序分析根据一定的模型从网表中创建无向图,计算路径延迟的总和,如果所有的路径都满足时序约束和规范,那么认为电路设计满足时序约束规范。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。它完全克服了动态时序验证的缺陷,适合大规模的电路设计验证。对于同步设计电路,可以借助于静态时序分析工具完成时序验证的任务。4、a解释setup time和hold time的定义。b如果一个电路中的某个time path有setup time violation。请问升高或降低这个电路的频率对这个violation有什么影响?升高或降低这个电
15、路的电压会有什么影响?c.如果一个电路中的某个time path有hold time violation。请问升高或降低这个电路的频率对这个violation有什么影响?升高或降低这个电路的电压会有什么影响?常考题!5、画出的CMOS电路图。6、画出一下RTL code对应的门级电路图,请使用最少的门。并且只能使用与门and,或门or和非门not。a是2-bit输入,b是1-bit输入,c是1-bit输出。case(a1:0)2h0:d = b;2h1:d = c;2h2:d = 1b1;2h3:d = 1b0;Endcase这题大家自己琢磨了啊!7、画出一下三段RTL code对应的电路图。(a) always (posedge clk or negedge rst_n)if(!rst_n)a = 1b0;else if(en)a = a;(b) always (posedge clk)if(!rst_n)a = 1b0;else if(en)a = a;(c) always (rst_n or en or b)if(!rst_n)a = 1b0;else if(en)a = b;专心-专注-专业
限制150内