IC八股文

这篇具有很好参考价值的文章主要介绍了IC八股文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、时序设计的实质

时序设计的实质就是满足每一个触发器的建立/保持时间的要求

2、建立时间与保持时间的概念?

建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。

保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。

3、为什么触发器要满足建立时间和保持时间?

因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值

这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。

(比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。

4、什么是亚稳态?如何防止亚稳态?

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

解决方法:

1 降低系统时钟频率

2 用反应更快的FF

3 引入同步机制,防止亚稳态传播(加两级D触发器)。

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

5、如果存在时序违例,它们有何影响?可以如何修复?

解题思路

时序违例分为2类:建立时间违例和保持时间违例。 简历时间违例的发生,会导致数据没有充足的时间在时钟上升沿到来之前做好准备,从而可能导致采集到的数据不正确。 建立时间违例的修复方法有以下2种: (1)改用速度更快的器件,降低触发器时钟边沿到数据输出端的响应时间,以增大留给建立时间的时间余量。 (2)缩短电路中的逻辑。如果在电路中2级D触发器之间的组合逻辑电路逻辑深度过深或者逻辑过长,可以考虑分步进行,将一段长的逻辑分成两个或者多个步骤分别实现,以减小每个时钟周期内Tp-logic逻辑运算时间,从而增大留给建立时间的时间余量。 保持时间违例的发生,会导致前一个周期的数据尚未打入后一级电路就被冲掉。 保持时间违例的修复方法有以下4种: (1)改用速度慢一些的器件,增加器件响应时间,从而增大Tcq时间,以增大留给保持时间的时间余量。 (2)加长2级D触发器中组合逻辑电路中的逻辑,加长逻辑运算时间Tp-logic。以增大留给保持时间的时间余量。 (3)加延迟缓冲。如可以加2级反相器。在不影响原有逻辑的基础上,加大数据传播所需要的时间,从而增大留给保持时间的时间余量。 (4)降低器件电压(不推荐)

6、AXI4总线有哪些通道,为什么会没有读响应通道

解题思路

AXI4总线包括以下5个通道:写地址通道、写数据通道、写响应通道、读数据通道、读地址通道。 没有读响应通道的原因:因为读数据通道可以从接收端接收到数据,因此它也有AXI4读响应功能,因此不需要再额外开辟一条读响应通道。

7、数字IC的全流程

1)、项目需求:确定芯片的具体指标(spec)

  • 物理:工艺、面积、封装;

  • 性能:速度、功耗;

  • 功能:功能表述、接口定义。

2)、系统级设计:用系统建模语言对各模块进行描述

3)、前端设计:

RTL设计、

功能验证、

逻辑综合DC(需要指定特定的综合库,添加约束文件;逻辑综合得到门级网表(Netlist))、

形式验证(静态验证)(功能上进行验证,综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。做等价性检查用到Synopsys的Formality工具)、

STA静态时序分析( 在时序上进行分析,用到Synopsys的PT(Prime Time)工具,一般用在后端设计中,由版图生成网表进行STA更准确一些;STA满足时序约束,得到最终的Netlist)、

DFT(design for test)可测性设计:

DFT是在得到Netlist之后,布局布线(Place and Route)之前进行设计

4)、后端设计:布局布线(包括时钟树的插入),版图物理验证,后仿真

5)、封装和测试:

8、什么是同步逻辑和异步逻辑?

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

同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x有无变化,状态表中的每个状态都是稳定的。

异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

9、同步电路和异步电路的区别:

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

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

10、系统最高速度计算(最快时钟频率)和流水线设计思想:

同步电路的速度是指同步系统时钟的速度,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大。假设Tco是触发器的输入数据被时钟打入到触发器到数据到达触发器输出端的延时时间(Tco=Tsetpup+Thold);Tdelay是组合逻辑的延时;Tsetup是D触发器的建立时间。假设数据已被时钟打入D触发器,那么数据到达第一个触发器的Q输出端需要的延时时间是Tco,经过组合逻辑的延时时间为Tdelay,然后到达第二个触发器的D端,要希望时钟能在第二个触发器再次被稳定地打入触发器,则时钟的延迟必须大于Tco+Tdelay+Tsetup,也就是说最小的时钟周期Tmin =Tco+Tdelay+Tsetup,即最快的时钟频率Fmax =1/Tmin。FPGA开发软件也是通过这种方法来计算系统最高运行速度Fmax。因为Tco和Tsetup是由具体的器件工艺决定的,故设计电路时只能改变组合逻辑的延迟时间Tdelay,所以说缩短触发器间组合逻辑的延时时间是提高同步电路速度的关键所在。由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作频率。可以将较大的组合逻辑分解为较小的N块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。这就是所谓"流水线"技术的基本设计思想,即原设计速度受限部分用一个时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因此系统的工作速度可以加快,吞吐量加大。注意,流水线设计会在原数据通路上加入延时,另外硬件面积也会稍有增加。

11、时序约束的概念和基本策略?

时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,使设计达到时序要求。

附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

12、附加约束的作用?

1:提高设计的工作频率(减少了逻辑和布线延时);2:获得正确的时序分析报告;(静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具可以正确的输出时序报告)3:指定FPGA/CPLD的电气标准和引脚位置。

13、对于多位的异步信号如何进行同步?

对以一位的异步信号可以使用“一位同步器进行同步”(使用两级触发器),而对于多位的异步信号,可以采用如下方法:1:可以采用保持寄存器加握手信号的方法(多数据,控制,地址);2:特殊的具体应用电路结构,根据应用的不同而不同;3:异步FIFO。(最常用的缓存单元是DPRAM)

14、FPGA和CPLD的区别?

时序设计的实质是什么,fpga开发,Powered by 金山文档

15、锁存器(latch)和触发器(flip-flop)区别?

电平敏感的存储器件称为锁存器。可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。

有交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。

16、FPGA芯片内有哪两种存储器资源?

FPGA芯片内有两种存储器资源:一种叫BLOCK RAM,另一种是由LUT配置成的内部存储器(也就是分布式RAM)。BLOCK RAM由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。

17、查找表的原理与结构?

查找表(look-up-table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有 4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。文章来源地址https://www.toymoban.com/news/detail-665897.html

到了这里,关于IC八股文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java八股文面试[多线程]——什么是守护线程

     知识来源: 【2023年面试】什么是守护线程_哔哩哔哩_bilibili

    2024年02月11日
    浏览(43)
  • C++面试八股文:什么是空指针/野指针/悬垂指针?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第30面: 面试官:什么是空指针? 二师兄:一般我们将等于 0 / NULL / nullptr 的指针称为空指针。空指针不能被解引用,但是可以对空指针取地址。 面试官:你知道 0/NULL/nullptr 三者之间的区别吗? 二师兄:虽然三者都能定义空指

    2024年02月11日
    浏览(38)
  • C++面试八股文:override和finial关键字有什么作用?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第22面: (二师兄好苦逼,节假日还在面试。。。) 面试官:C++的继承了解吗? 二师兄:(不好意思,你面到我的强项了。。)了解一些。 面试官:什么是虚函数,为什么需要虚函数? 二师兄:虚函数允许在基类中定义一个函

    2024年02月10日
    浏览(39)
  • java八股文面试[多线程]——为什么要用线程池、线程池参数

     速记7个: 核心、最大 存活2 队列 工厂 拒绝 线程池处理流程: 线程池底层工作原理: 线程复用原理:   知识来源: 【并发与线程】为什么使用线程池,参数解释_哔哩哔哩_bilibili 【并发与线程】线程池处理流程_哔哩哔哩_bilibili 【并发与线程】线程池的底层工作原理_哔哩

    2024年02月11日
    浏览(51)
  • 什么叫面试八股文,一篇文章带你入门音视频(1),使用指南

    版税方式:按个收取 备注:WMA的全称是Windows Media Audio,它是微软公司推出的与MP3格式齐名的一种新的音频格式。由于WMA在压缩比和音质方面都超过了MP3,更是远胜于RA(Real Audio),即使在较低的采样频率下也能产生较好的音质,再加上WMA有微软的Windows Media Player做其强大的后盾

    2024年04月25日
    浏览(64)
  • C++面试八股文:C++中,设计一个类要注意哪些东西?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第9面: 面试官:C++中,设计一个类要注意哪些东西? 二师兄:设计一个类主要考虑以下几个方面:1.面向对象的封装、继承及多态。2. big three 或者 big five 。3.运算符和函数重载、静态成员、友元、异常处理等相关问题。 面试官

    2024年02月08日
    浏览(79)
  • Java 大厂八股文面试专题-设计模式 工厂方法模式、策略模式、责任链模式

            在平时的开发中,涉及到设计模式的有两块内容,第一个是我们 平时使用的框架 (比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。         面试官一般比较关心的是你在开发过程中, 有没有使用过设计模式,或者你在简历上写了关于设计

    2024年02月10日
    浏览(56)
  • 前端八股文

    去掉ESLint校验: package.json 中的extends去掉eslint:commends 引入icon图标 state: 存放数据 mutations: 同步操作,写方法用于改变state里面的数据,vue可以监听数据的改变进行更新(相当于methods) actions:所有异步操作都放在这里,改变的数据不能够被vue监听 getters: 进行逻辑处理(相当于

    2024年02月16日
    浏览(43)
  • 八股文之springboot

    主要简化了使用spring的难度,简省看繁重的配置,提供了各种启动器,开发者能快速上手。 容易上手,提升开发效率 ,为 Spring 开发提供一个更快、更广泛的入门体验。 开箱即用,远离繁琐的配置。 提供了一系列 大型项目通用的非业务性功能 ,例如:内嵌服务器、安全管

    2024年02月01日
    浏览(38)
  • Java八股文

    相似点 接口和抽象类都不能被实例化 实现接口或者抽象类的子类都必须实现这些抽象方法 不同点 抽象类可以包含普通方法和代码块, 接口里只能包含抽象方法, 静态方法和默认方法 抽象类可以有构造方法, 而接口没有 抽象类中的成员变量可以是各种类型, 接口中的成员变量

    2023年04月23日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包