当前位置:   article > 正文

FPGA知识点笔记(一)

FPGA知识点笔记(一)

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
(一)知识点一、常用名词解释
(1)FPGA(Fied Programmable Gate Array),现场可编程门阵列,它是在PLA、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC领域中出现的一种半定制电路而出现的。既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺陷。
(2)ASIC(Application Specific IC)专用集成电路,它是面向专用用途的电路,专门为一个用户设计和制作的。根据一个用户的特定要求,能以低研制成本,短交货周期供货的全定制,半定制集成电路。
(3)PCI(Peripheral Component Interconnect)外围组件互连,一种由Interg公司1991年推出的用于定义局部总线的标准。
(4)DDR(Double Data Rate),双倍速率同步动态随机存储器。DDR SDRAM,SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器。
(5)USB(Universal Serial Bus),通用串行总线,一个外部总线标准,用于规范电脑与外部设备的连接和通讯。
(6)BIOS(Basic Input Output System),基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统配置信息、开机后自检程序和系统自启动程序。主要功能是为计算机提供最底层、最直接的硬件设置和控制。
(7)IRQ(Interrupt Request),中断请求,功能是在所使用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工作状态。
(8)DSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟信号或者实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度, 最值得称道的两大特色。
(9)MCU(Micro Controller Unit),微控制单元,单片机,指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数计时器和多种IO接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
(10)RSIC(Reduced Instruction Set Computer),精简指令集计算机,是一种执行较少类型计算机指令的微处理器。
(11)CSIC(Complex Instruction Set Computer),复杂指令集计算机,台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
(二)知识点二、格雷码、独热码、二进制码
独热码:独热码的每个状态只有1bit是不同的,付出的代价就是状态变量的位宽需要的就比较多。
二进制编码:二进制编码的情况和独热码刚好相反,使用了少量的状态变量,使之在减少寄存器状态的同时无法进行比较器部分之间的优化,所以使用的寄存器资源较少,而使用的组合逻辑资源较多。
独热码编码的状态机可以在高速系统上运行,因为是多比特的比较器每个比特到达比较器的时间可能会因为布局布线的走线长短而导致路径延时的不同,这样在高速系统下就会导致采集到不稳定的状态,导致比较后的结果产生一个时钟的毛刺,使输出不稳定,而单比特的比较器不用考虑这个问题。
格雷码:如果状态数非常多的话即使是FPGA也吃不消独热码对寄存器的消耗,所以当状态数特别多的时候可以使用格雷码对状态进行编码。格雷码虽然也是和二进制编码一样使用的寄存器资源少,组合逻辑资源多,但是其相邻状态转换时只有一个状态发生翻转,这样不仅能消除状态转换时由多条信号线的传输延迟所造成的毛刺,又可以降低功耗,所以要优于二进制编码的方式,相当于是独热码和二进制编码的折中。
(三)知识点三、同步逻辑和异步逻辑
同步逻辑:与时钟之间有固定的关系的逻辑。
特点:当时钟脉冲到来时,电路的状态才能变化。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入有无变化,状态表中的每个状态都是稳定的。
异步逻辑:与时钟之间没有固定的关系的逻辑。
特点:电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。
(四)知识点四、同步电路和异步电路
同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,所有触发器的状态的变化都与所加的时钟脉冲信号同步。
异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。
(五)知识点五、时序设计
时序设计的本质是满足每一个触发器的建立、保持时间的要求,从而保证设计的功能
(六)知识点六、建立时间和保持时间
建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间
保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间
(七)知识点七、亚稳态
亚稳态:触发器无法在某个规定的时间段内到达一个可以确认的稳定状态。
单比特的输入信号,可以使用两级触发器来防止亚稳态传播:
若第一级触发器的输入不满足其建立保持时间,在第一个脉冲沿到来后输出的数据就为亚稳态;
在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间t_1后稳定;
如果输入端的数据满足第二级触发器的建立时间t_set,在下一个脉冲沿到来时,第二个触发器将不会出现亚稳态现象;
解决方法:①降低系统时钟频率;②用反应更快的FF;③引入同步机制,防止亚稳态产生;④改善时钟质量,用边沿变化快速的时钟信号。
(八)知识点八、最快时钟频率
T_co:触发器的输入端接收输入数据开始,至数据从触发器的输出端发送结束,一个建立时间+一个保持时间, T_co=T_set+T_hold。
T_delay:组合逻辑的时延
T_set:异步输入数据,使用两级触发器来防止亚稳态
T_min:最小的时钟周期,即最快时钟频率,T_min > T_co + T_delay + T_set
(九)知识点九、流水线
目的:为提供芯片的处理速度,由于T_co和T_set只能由芯片的工艺所决定,可通过流水线调整组合逻辑的时延,达到最快时钟频率
流水线设计通过将较大规模的组合逻辑分成多个较小规模的组合逻辑,避免两个触发器之间产生较大的延迟,通过增加硬件的面积实现速度的提升。
(十)知识点十、时序约束
时序约束:为保证设计的电路的成功应用,对时序进行约束满足设计的需求
时序约束包括:周期约束、偏移约束、静态时序约束三种。通过附加约束可以优化综合、映射、布线、布局,使设计到达时序要求。
时序约束策略:先附加全局约束,对快慢路径附加专门约束。
全局约束:定义设计所有的时钟,对各时钟域内的同步元件进行分组并附加周期约束,对FPGA的输入输出引脚附加偏移约束,对组合逻辑的关键路径附加约束。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/1013047
推荐阅读
相关标签
  

闽ICP备14008679号