关键词:
FPGA笔试必会知识点1--数字电路基本知识
组合逻辑与时序逻辑
组合逻辑电路:任意时刻电路输出的逻辑状态仅仅取决于当时输入的逻辑状态,而与电路过去的工作状态无关。
时序逻辑电路:任意时刻电路输出的逻辑状态不仅取决于当时输入的逻辑状态,而与电路过去的工作状态有关。
在电路的结构上,时序逻辑电路肯定包含有存储电路,而且输出一定与存储电路的状态有关。
COMS与TTL电平
常用逻辑电平: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;Voh>=0.9VDD,Vol<=0.1VDD。
TTL的为:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v。
用CMOS可直接驱动TTL。
TTL加上拉后可驱动CMOS。
上拉电阻作用
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OD、OC门电路必须加上拉电阻,以提高输出的高电平值。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力,管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
时序逻辑电路的三大方程与设计
描述一个时序逻辑电路时,主要由驱动方程、状态方程(由驱动方程代入时序器件的特性方程得到)、输出方程这三大方程进行描述。
详细过程参考《数字电子技术基本教程》P181—gary计数器的设计
在设计时序逻辑电路时可以采用以下流程:
- 找出电路的状态转换图或者状态转换表;
- 从状态转换图或者状态转换表中画出次态与输出的卡诺图,并进行化简;
- 由化简的卡诺图得出状态方程,再由状态方程得出驱动方程和输出方程;
- 由驱动方程和输出方程画出电路结构图;
- 检查电路能否自启动。
同步逻辑与异步逻辑
同步逻辑:时钟之间有固定的因果关系;
异步逻辑:时钟之间没有固定的因果关系,电路中的触发器的状态不仅仅由时钟决定;
同步电路与异步电路
同步电路:电路中所有触发器的时钟输入端都接至统一的时钟信号(并且同一触发沿触发),并且所有触发器的输出与统一的时钟有效沿下保持同步输出。
异步电路:电路中所有触发器的时钟没有统一的时钟信号,所有触发器的输出不与统一的时钟有效沿下保持同步输出。
同步设计的优点:
- 使用同步电路可以避免器件受温度T,电压V,工艺P的影响,避免毛刺/亚稳态,使设计更可靠,单板更稳定;
- 逻辑设计不依赖于每个逻辑器件的布线延迟,有利于器件的移植;
- 同步电路可以很容易地组织流水线,提高芯片的运行速度,设计容易实现;
- 有利于静态时序分析,验证时序的性能;
异步设计的缺点:
- 容易产生毛刺/亚稳态;
- 异步逻辑时序的正确性依赖于每个逻辑器件的布线延迟,不利于器件的移植;
- 不利于静态时序分析,验证时序性能;
同步复位与异步复位
同步复位:复位信号与时钟信号同时有效时进行复位动作;
优点:
- 保证100%的同步,综合成同步时序电路;
- 同步复位仅在时钟信号有效沿时有效,可以消除毛刺
缺点:
- 在FPGA中,同步设计需要采用组合逻辑进行设计,增加逻辑资源;
- 需要进行复位信号脉冲展宽,保证复位信号时间足够长,以保证所有触发器都能有效复位;
- 必须需要时钟信号才能完成复位,当电路存在门控时钟或使能时钟时,可能出现复位信号有效而时钟信号被禁止;
异步复位:只要复位信号有效就进行复位动作,与时钟信号无关;
优点:
- 复位动作与时钟无关;
- 在FPGA内部有专用的GSR资源,使复位信号的偏斜最小,无需组合逻辑,节省逻辑资源;
缺点:
- 当复位信号撤除时,可能和时钟信号有效沿同时有效,容易造成触发器出现亚稳态;
- 异步复位对毛刺敏感,当复位信号出现毛刺时,容易造成虚假复位;
- 进行STA分析时比较困难;
建议采用的复位电路:分布式异步复位同步方法,将异步复位同步电路放在每个模块的复位信号输入端。
复位毛刺的消除:采用等价与门,对复位信号和经过延迟的复位信号进行相与操作,完成毛刺的滤除。
竞争与冒险
组合逻辑电路的竞争冒险
竞争与冒险:组合电路中由于信号到某一电路节点的时间不一致或者输入信号的电平往相反的方向变化叫竞争,由于竞争现像导致毛刺的产生称为冒险。
竞争不一定导致冒险:当组合逻辑器件采用的工艺比较好,逻辑器件的速度快,由于竞争导致的毛刺现像很快就被消除掉。
时序逻辑电路的竞争冒险
由于时序逻辑电路主要由两部分组成:组合电路和存储电路,所以时序逻辑电路的竞争冒险也分为两种:一种为组合逻辑电路的竞争冒险引起,其由于竞争冒险产生的输出脉冲噪声不仅影响整个电路的输出,还影响存储电路产生误动作;另一种由存储电路的触发器的输入信号和时钟信号在状态变化时配合不当(不满足建立时间和保持时间)引起,可能引起电路产生误动作。
竞争与冒险的消除
- 添加布尔式消去项(卡诺图、公式进行化简);
- 输出端添加RC电容滤波;
- 使用使能/选通信号;
- 采用gary码或者独热码;
亚稳态
亚稳态:触发器无法在某个规定的时间内达到一个确认的状态;
亚稳态的消除:
- 单信号时采用两级同步寄存器;
- 降低时钟频率;
- 用反应更快的触发器;
- 用边沿快速变化的时钟信号;
阻塞与非阻塞
参考《Verilog数字系统设计教程》
阻塞
逻辑模式:wire线型,由此在某一个模块中进行赋值操作,需要综合器进行逻辑模式的化简。如b=a;b的值在赋值语句执行完成之后就立刻改变。
赋值时先计算右边部分的值,这时不允许其他的赋值语句的干扰,即其他赋值语句不进行赋值操作(区别于非阻塞的地方),只有完成将右边的值赋到左边,才开始下一条的赋值语句的执行。
非阻塞
逻辑模式:reg寄存器型,由此在某一个模块中进行赋值操作,采用寄存器对赋值进行寄存。
赋值时先计算右边部分的值,这时允许其他的赋值语句的同时进行(区别于非阻塞的地方),所以整个模块的所有赋值语句同时计算右边的值,然后又同时将计算出的值赋到左边。
所以在某一模块中,上面语句所赋的值不能立刻就为下面的语句所使用。模块结束后,才完成赋值操作,所赋的值是上一次赋值所得到的。
阻塞与非阻塞的区别
常用编码
Gray码
Gray码:任何两个相邻的代码只有一位的状态不同。
优点:
- 任何两个相邻的代码只有一位的状态不同,可以减少竞争冒险的发生;
- 翻转次数减少,速度快,可以降低功耗;
缺点:
(1)占用较多的组合逻辑;
独热码
独热码:有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。
优点:one-hot 编码的最大优势在于状态比较时仅仅需要比较一个bit,一定程度上从而简化了比较逻辑,减少了毛刺产生的概率。
缺点:占用较多的触发器(可以利用FPGA内部触发器资源丰富的特点);
二进制码
二进制码:采用二进制格式进行编码的码。
优点:
(1)采用组合逻辑进行设计,节省触发器资源;
缺点:
- 容易造成竞争冒险的发生;
- 占用组合逻辑,延迟大,速度慢;
Johnson码
Johnson counter也叫扭环计数器,是把n位移位寄存器的串行(高位bit)输出取反,反馈到串行的输入端(低位bit),构成具有2n种状态的计数器,相邻位只有1bit的不同,可以用于实现跨时域的编码操作,避免亚稳态的问题,速度快,缺点就是占用触发器。
000à001à011à111à110à100à000à……..
Moore型状态机和mealy型状态机
状态机一般分为三种类型:
- Moore型状态机:下一状态/输出只由当前状态决定,即次态=f(现状),输出=f(现状);
- Mealy型状态机:下一状态/输出不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入);
- 混合型状态机
Moore型状态机的输出信号是直接由当前状态寄存器译码得到,相比mealy要多等一个时钟周期,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。
锁存器、触发器、寄存器
锁存器:电平敏感器件,电平触发,组合逻辑器件;
触发器:边沿敏感器件,边沿触发,时序逻辑器件;
寄存器:存储二值信息代码,无论使用电平触发的触发器还是使用边沿触发的触发器都可以组成寄存器。
可编程逻辑器件类型
PLA(可编程逻辑阵列)、
PAL(可编程阵列逻辑)、
GAL(通用逻辑阵列)、
CPLD(复杂可编程逻辑器件)、
FPGA(现场可编程逻辑器件);
PLD与ASIC
PLD优点:配置灵活,集成度高可满足一般的数字系统设计,开发周期短,设计成本低;
缺点:相比ASIC体积大,功耗高,成本高;
ASIC优点:批量生产时相比PLD成本低,功耗低,可靠性高,性能高,成本低;
缺点:功能固定,后期无法修改,灵活性差,开发周期长,设计成本高;
SoC
片上系统,将微处理器、模拟IP核、数字IP核和存储器集成在单一芯片上。
关键技术:总线架构技术、IP核可复用技术、软硬件协同设计技术,SoC验证技术、可测性技术、低功耗技术等。
存储器
SRAM,FALSH, MEMORY,DRAM,SSRAM及SDRAM的区别?
SRAM:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像DRAM 需要不停的REFRESH,制造成本较高,集成度低,通常用来作为快取(CACHE) 记忆体使用。
FLASH:闪存,存取速度慢,容量大,掉电后数据不会丢失。
NAND FLASH用于数据存储,广泛用于多媒体移动设备;
NOR FLASH用于程序存储。
DRAM:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比SRAM便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用,集成度高。
SSRAM:即同步静态随机存取存储器。对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。
SDRAM:即同步动态随机存取存储器。
反馈电路
反馈,就是在电路系统中,把输出回路中的电量(电压或电流)输入到输入回路中去。
反馈的类型:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。
负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。
电压负反馈的特点:电路的输出电压趋向于维持恒定。
电流负反馈的特点:电路的输出电流趋向于维持恒定。
数字IC设计流程
1、需求分析(制定规格书)。分析用户或市场的需求,并将其翻译成对芯片产品的技术需求。
2、算法设计。设计和优化芯片钟所使用的算法。这一阶段一般使用高级编程语言(如C/C++),利用算法级建模和仿真工具(如MATLAB,SPW)进行浮点和定点的仿真,进而对算法进行评估和优化。
3、构架设计。根据设计的功能需求和算法分析的结果,设计芯片的构架,并对不同的方案进行比较,选择性能价格最优的方案。这一阶段可以使用SystemC语言对芯片构架进行模拟和分析。
4、RTL设计(代码输入)。使用HDL语言完成对设计实体的RTL级描述。这一阶段使用VHDL和Verilog HDL语言的输入工具编写代码。
5、 RTL验证(功能仿真)。使用仿真工具或其他RTL代码分析工具,验证RTL代码的质量和性能。
6、综合。从RTL代码生成描述实际电路的门级网表文件。
7、门级验证(综合后仿真)。对综合产生的门级网表进行验证。这一阶段通常会使用仿真、静态时序分析和形式验证等工具。
8、布局布线。后端设计对综合产生的门级网表进行布局规划(Floorplanning)、布局(Placement)、布线(Routing),生成生产用的版图。
9、电路参数提取确定芯片中互连线的寄生参数,从而获得门级的延时信息。
10、版图后验证。根据后端设计后取得的新的延时信息,再次验证设计是否能够实现所有的功能和性能指标。
11、芯片生产。生产在特定的芯片工艺线上制造出芯片。
12、 芯片测试。对制造好的芯片进行测试,检测生产中产生的缺陷和问题。
本文档为大西瓜FPGA所有,淘宝地址:https://daxiguafpga.taobao.com,
(如需转载或使用,请注明作者信息和出处,谢谢!)
,
fpga笔试必会知识点2—fpga器件
FPGA笔试必会知识点2—FPGA器件FPGA综合工具并不一定保证能够充分利用芯片结构特点以达到最优目的而且工具本身也不一定非常智能,因为设计本身是复杂多样的且一直在变化,问题总会越来越多,因此在这种情况下,我们必须... 查看详情
fpga与数字ic求职知识准备-数字电路知识总结
前言本文整理了数字电路课程中的相关基本的知识点和较为重要的知识点,用于求职的数电部分的知识准备,差缺补漏。二进制数的算术运算无符号二进制数的算术运算加法:同十进制加法,逢二进一,无符... 查看详情
全面解析fpga的基础知识(代码片段)
...可编程器件门电路数有限的缺点。(2)FPGA普遍用于实现数字电路模块,用户可对FPGA内部的逻辑模块和I/O模块重新 查看详情
fpga的一些知识
...合逻辑电路如下:该组合逻辑的真值表:如果使用传统的数字电路的方法,则要实现该组合逻辑电路,需要经过下面几个过程:通过真值表得到输入和输出之间的逻辑关系;通过化简卡诺图得到描述输入输出变量关系的逻辑表达... 查看详情
数字电路逻辑设计笔记:基础知识
数字电路逻辑设计笔记(1):基础知识参考教材:《数字电路逻辑设计》欧阳星明人民邮电出版社参考教程:中国大学MOOC西安工业大学《数字电子技术基础》文章目录数字电路逻辑设计笔记(1):基础知识一.引入计算机层次架构二.数字... 查看详情
fpga基础知识|芯片设计基础知识
...上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。由于FPGA需要被反复烧写,它实现组合逻辑 查看详情
fpga基础知识|芯片设计基础知识
...上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。由于FPGA需要被反复烧写,它实现组合逻辑 查看详情
fpga知识点汇总(verilog数字电路时序分析跨时钟域亚稳态)
FPGA十分擅长同时做简单且重复的工作(并行计算)人工智能就有许多重复性、需要并行计算的工作如模式识别、图像处理,在通信领域,FPGA的低延时、可编程、低功耗的特点开发流程:RTL设计,仿真验证&... 查看详情
opencv图像处理:数字图像的必会知识
本文已收录于Opencv系列专栏:深入浅出OpenCV,专栏旨在详解Python版本的Opencv,为计算机视觉的开发与研究打下坚实基础。免费订阅,持续更新。数字图像1.数字图像概念数字图像:数字图像,又称数码图像,一幅二维图... 查看详情
数字电路第四章逻辑电路4-5节知识点
§4.4若干典型的组合逻辑电路一、编码器(具有编码功能的逻辑电路)(1)普通编码器:不能同时按下输入键,是根据真值表设计编码器电路。(2)优先编码器:具有一定的优先级,是根据真值表设计的优先编码器电路。二、... 查看详情
fpga工程师面试——时序约束知识17题
目录1.时序约束的概念和基本策略2.FPGA设计中如何实现同步时序电路的延时? 查看详情
[从零开始学习fpga编程-36]:进阶篇-基本时序电路-有限状态机简述(数字电路描述)=》moore型mealy型
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址: 目录前言:第1章状态机的概念回顾第2章数 查看详情
fpga/ic秋招笔试/面试题总结(代码片段)
持续更新,请根据目录浏览,觉得有用三连支持一下也是一种鼓励~。文章目录一、FPGA内部资源1.什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2.异步复... 查看详情
笔试总结
...20道是单选选择和多选混合,基本五五开的样子,设计的知识点从语言基础,到网络知识还有Linux相关。具体能记住的有字节对齐、TCP/IP协议、用户权限(umask),还有一些特别涉及底层实现(vmalloc和fmalloc功能)。后2道题目是编... 查看详情
硬件工程师必会电路模块之三极管实用电路(转)
**本文你可以获得什么?学会实际工程应用中常用的三极管电路(以英特尔公司经典电路为例);学到推挽电路,并且了解非常重要的拉电流和灌电流的来源及概念;数字集成电路畅行的年代,为什么还需要学习模拟知识,背后... 查看详情
[从零开始学习fpga编程-37]:进阶篇-基本时序电路-有限状态机实现(verilog)
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录第1章状态机概述1.1UML描述状态机1.2数字电路描述状态机 查看详情
fpga基础知识关键点摘要
...转换的(时序逻辑中的组合逻辑)。RTL级代码︴综合逻辑电路︴布局布线︴电路可综合的语法就是那些可以在电路上实现的语法…行为级语法就是不能够实现在电路里面,却可以作为仿真验证的高层次语法!reg型和wire型信号... 查看详情
嵌入式基本硬件知识
做嵌入式系统开发,经常要接触硬件,需要对数字电路和模拟电路要有一定的了解,这样才能深入的研究下去。下面我们简单地介绍一下嵌入式开发中的一些硬件相关的概念。 电平(Level) 在数字电路中,分为高电平和... 查看详情