- 博客(62)
- 问答 (2)
- 收藏
- 关注
原创 状态机群的设计
本文介绍了五种状态机群的设计方法:并联式、串联式、串行式、嵌套式和总分式。并联式适用于独立任务,串联式处理有数据传递的任务,串行式处理有先后顺序的任务,嵌套式处理复杂但无确定顺序的任务,总分式则可同时触发多个子任务。设计时应遵循模块化原则,先从高层次划分问题,再逐步细化。状态机群设计应在项目早期进行,通过灵活组合这些基本结构来解决复杂时序逻辑问题。(150字)
2025-07-05 15:05:10
704
原创 状态机的设计
摘要:状态机的设计涉及真正状态(由状态寄存器决定)和抽象状态(设计者关注的)。FPGA设计者利用抽象状态和中间变量(如计数器)来简化状态机设计,并通过抽象原则(流程、功能、复杂度)优化状态划分。状态机包括初始态、结束态、中继态、分支态等基本状态,其中多余态用于处理不可达态。状态化简的关键是识别并剔除等价状态以减少冗余,从而提升性能和可维护性。编译器辅助处理复杂状态细节,但设计者仍需关注状态抽象和优化。
2025-07-05 15:00:53
1024
原创 FPGA设计与外界接口
本文系统介绍了FPGA与外界接口的设计要点。首先强调FPGA必须具备外界交互接口才有实用价值,随后从三个维度分类解析:按信号方向分为输入、输出和双向接口,重点分析了双向接口的主从模式和对等模式实现机制;按电气特性对比了单端接口与差分接口的应用场景及HDL实现代码;按功能特性区分了时钟、控制和数据接口的波形特点。全文通过具体电路图和代码示例,为FPGA接口设计提供了全面的技术指导,涵盖有线/无线传输等关键概念。
2025-07-05 14:40:36
999
原创 有限状态机(Finite State Machine)
有限状态机(FSM)是一种状态节点和输入输出范围有限的系统。其六要素包括状态集合、初态、终态(FPGA中通常无终态)、输入符号集(非必需)、输出符号集和状态转移函数。工作四要素为现态、输入、输出和次态。FPGA中的状态机分为三种模型:Moore型(输出仅由现态决定)、Mealy型(输出由现态和输入共同决定)和Mix型(结合前两者)。Moore型和Mealy型又各自细分为三种类型,分别解决输出延迟等问题。Mix型状态机则灵活组合两种模型,适用于复杂场景。状态机广泛应用于数字系统设计,需根据具体需求选择合适的模
2025-07-05 14:36:49
805
原创 FPGA设计中的数据存储
FPGA设计中的数据存储优化与应用 摘要:本文探讨了FPGA设计中数据存储的关键技术与优化方法。首先分析了FPGA内部三种主要存储载体(触发器、查找表、块存储)的特点及应用场景。针对高速设计中的性能瓶颈,重点介绍了FIFO的"冗余法"优化技巧,通过在数据包尾部添加冗余数据,有效解决了高速连续读取不定长数据包时的"数据消失性"问题。该方法在不降低系统吞吐量的前提下,确保了数据完整性和时序稳定性,为FPGA存储系统的高效设计提供了实用解决方案。文章还对比了RAM、ROM等
2025-07-05 14:28:32
862
原创 FPGA设计中的复位方式
FPGA复位设计:同步与异步复位的选择与应用 摘要:FPGA设计中复位方式分为同步复位和异步复位。同步复位在时钟边沿生效,具有仿真友好、可靠性高、时序约束简单等优点,但需保证复位信号持续时长并消耗更多资源。异步复位独立于时钟,节省资源但存在亚稳态风险和易受干扰问题。针对不同信号类型(同步/异步),应采用相应复位策略。复位高扇出问题可通过寄存器复制和全局时钟树优化解决。设计复位体系时,推荐采用"两级复位体系"结合全局异步复位和局部同步复位。需注意不同FPGA厂商对复位方式的偏好差异(如Xi
2025-07-05 14:22:37
1113
原创 时序逻辑电路中的时钟控制
摘要 时序逻辑电路中,PLL和DCM模块是关键的时钟控制单元。PLL提供灵活的时钟输入(CLKIN)和输出(CLKOUT)控制,支持多路输出和动态配置,但需满足严格的频率、占空比等要求。DCM功能较简单,仅支持单路输入。两者均可实现倍频、分频和时钟移相,但PLL在灵活性上更优,尤其适合多路输出场景。通过级联PLL/DCM可扩展频率合成范围,解决大范围频率合成需求。此外,PLL独有的低通滤波器结构使其具备时钟去抖能力,而DCM则无此功能。复位和配置端口增强了PLL的可靠性和适应性。这些模块为FPGA设计提供了
2025-07-05 14:18:37
965
原创 FIFO 的使用模式
FIFO使用模式可分为五类:散模式(无规律读写,适用于无实时性要求的场景);帧模式(按固定格式读写,突出计数信号作用);拉模式(写入强读取阻塞,适用于读有特定要求的场景);推模式(读出强写入阻塞,适用于写有特定要求的场景);透明模式(无阻塞操作,适用于双方实时性要求强的场景)。此外,异步RAM法比异步FIFO更灵活但实现复杂,适合特定网络传输场景;格雷码法要求传递递增/递减数据以确保跨时钟域安全。不同模式适用场景各异,需根据具体需求选择。
2025-07-05 13:38:31
1164
原创 时钟信号的分类
文章摘要 本文系统介绍了FPGA设计中时钟信号的分类、时钟树资源选择及使用方法。主要内容包括:外部时钟的必要性及波形特性;内部时钟中再生时钟(DCM/PLL生成)与门控时钟(组合逻辑生成)的差异;时钟树资源(全局、区域、IO时钟树)的选择原则及"上树"标准;通过专用管脚或原语代码实现时钟上树的具体方法;跨时钟域问题的两级采样解决方案。文章强调全局时钟树的优先使用原则,并指出对时钟信号进行逻辑操作会使其"被拉下树",需重新分配时钟树资源。为FPGA时钟设计提供了全面的技
2025-07-05 11:58:06
983
原创 FPGA设计中的不稳定态分析与消除方法
8位寄存器从"01111111"变为"00000011"时,中间会出现短暂的不稳定态(图5-18)。任何组合逻辑输入/输出间存在最大延迟路径,只需在输出端。,并合理使用时序采样法消除险象,可最大限度降低不稳定态的影响。:状态转换时产生非预期的中间电平(毛刺),成为数字电路的。指的是寄存器输出在状态转换过程中出现的非预期中间状态。:确保时钟有效沿时,寄存器输入/输出数据。:多路径延迟差异导致输出短暂错误。:异步逻辑中,不稳定态可能导致。:相邻数值仅1 bit变化,:在FPGA设计中,优先采用。
2025-07-02 23:28:05
485
原创 FPGA设计的上板调试
本文系统介绍了时钟信号在FPGA设计中的应用要点。从时钟信号的基础特性(周期性、同步性、稳定性)和关键指标(抖动、偏移、温漂)出发,详细解析了FPGA中外部/内部时钟的生成方式与设计规范,强调内部时钟必须通过BUFG上时钟树。重点对比了三种时钟树资源(全局/区域/IO)的适用场景和选择策略,并给出典型问题的解决方案,包括时钟切换保护和门控时钟优化。最后提出设计原则:优先使用全局时钟、避免组合逻辑生成时钟,并指出高精度(±5ppm)、光时钟网络等发展趋势。所有时钟设计必须配合SDC时序约束分析。
2025-06-28 21:18:28
852
原创 可编程逻辑器件的发展与比较
本文对比了可编程逻辑器件(PLD)中CPLD和FPGA的特点与应用。早期使用离散逻辑芯片存在体积大、功耗高等问题。CPLD采用宏单元和连接矩阵结构,时序延迟可预测,配置掉电不丢失,适合高速组合逻辑。FPGA采用逻辑单元阵列,灵活性高但时序不可预测,配置需外部存储。CPLD在保密性和高速应用中占优,而FPGA更适合复杂系统设计。选择器件需根据具体应用需求权衡。
2025-06-28 18:01:41
980
原创 编译流程详解
本文系统介绍了FPGA编译流程的三个关键环节:综合、翻译融合和映射。综合阶段将HDL代码转化为门级网表,涉及多种优化策略和设置选项;翻译融合阶段整合网表与IP核信息,适配FPGA格式;映射阶段将设计映射到具体芯片资源。每个环节都有明确的输入输出和对应的分析报告,为开发者提供优化依据。理解这些编译流程对FPGA开发具有重要指导意义,能帮助开发者更好地进行设计优化和调试。
2025-06-28 17:59:51
681
原创 FPGA设计的时序分析概要
FPGA时序分析是确保芯片在目标环境下正常工作的重要环节。文章介绍了静态时序分析(STA)的概念及其必要性,指出功能仿真通过但实际测试失败往往源于时序问题。时序分析分为映射后和布局布线后两种,后者更贴近实际但前者速度更快。时序约束作为编译器参考与实际的时序分析不同,两者需要灵活处理。合理设置时序约束并保持10%余量,能有效提高设计可靠性。时序分析是FPGA设计流程中验证时序性能的关键步骤。
2025-06-28 17:52:14
678
原创 FPGA设计的用户约束
FPGA设计的用户约束是指导编译器实现硬件设计的关键要求,主要包括综合约束、管脚约束、位置约束和时序约束四类。其中综合约束影响HDL代码到门级网表的转换,后三者统称为布局布线约束,直接影响FPGA芯片的硬件实现。用户通过约束文件传达需求,但编译器仅会参考而非完全保证实现。合理设定约束有助于优化设计性能,若结果不理想通常需调整设计方案而非依赖编译器优化。约束工作主要在门级网表生成后、布局布线前完成。
2025-06-28 17:45:47
559
原创 FPGA芯片的配置方法
摘要: FPGA芯片的配置方法主要针对SRAM工艺芯片,因其掉电后配置数据丢失,需通过外部手段重新加载。配置模式分为三种:主动配置模式(FPGA从外部Flash/EPROM芯片读取配置数据,适合快速启动但保密性低);被动配置模式(由微处理器控制配置过程,保密性高且支持多配置文件切换);JTAG配置模式(通过JTAG接口实现在线调试与动态编程,灵活性高)。不同模式在保密性、灵活性和应用场景上各有优劣,需根据实际需求选择。
2025-06-28 17:40:30
502
原创 FPGA芯片的供电
FPGA芯片的供电机制主要包括外部端口供电、内部逻辑供电和专有电路供电三部分。外部端口供电通过VCCIO为用户IO资源提供多种电平支持,以满足与外部不同电平环境的通信需求;内部逻辑供电通过VCCINT为FPGA芯片的核心逻辑提供稳定的低电压、大电流电源;专有电路供电则为特殊的资源(如PLL)提供独立的电源支持。电源稳定性对FPGA的正常工作至关重要,需要通过滤波电路和散热措施来确保电源的稳定性和芯片的温度控制。
2025-06-28 17:37:29
861
原创 FPGA内部资源介绍
本文详细介绍了FPGA内部的各种资源及其功能。逻辑资源块(CLB/ALM)是FPGA的核心资源,通过LUT、寄存器、加法器和MUX等基本元素实现复杂的逻辑功能。时钟网络资源(全局、区域和IO时钟网络)以及时钟处理单元(PLL和DCM)为FPGA提供了灵活的时钟管理能力。BLOCK RAM和DSP硬核分别用于存储和高性能数字信号处理。布线资源(CB、SB和行列连线)则确保了不同资源之间的通信。接口资源(用户IO资源和专用高速接口资源)则为FPGA与外部世界的交互提供了支持。
2025-06-28 17:35:16
810
原创 FPGA产品
民用级商业级军用级和宇航级。民用级芯片:性能最低、容量最小,几乎全球各地都能买到,主要用于一般应用。商业级芯片:较民用级芯片性能高出很多,容量也增大不少,广泛应用于各类电子行业。出于对FPGA厂商本国企业的保护,一些高端的商业级芯片很可能会对其他国家禁售。军用级芯片:性能最高、容量也最大,FPGA厂商一般仅为本国的军方生产这种级别的FPGA芯片,其他国家一般没有合法途径得到这种级别的FPGA芯片。宇航级芯片:性能和容量比民用级强很多,但比一些高端的商业级芯片或者军用级芯片差一些。
2025-06-28 17:31:38
907
原创 FPGA原理结构
FPGA的基本原理架构由IOB模块、CLB模块和丰富的连线资源组成。CLB模块是FPGA的核心逻辑单元,其逻辑表达基于LUT,与CPLD的SOP表达式有本质区别。为了实现CLB之间的灵活通信,FPGA引入了连线盒(CB)和开关盒(SB),并通过SRAM单元存储编程信息以控制传输管的导通与关闭。尽管FPGA芯片的内部结构不断复杂化,但其基本架构始终围绕IOB、CLB和连线资源展开。
2025-06-28 17:28:36
344
原创 可编程逻辑器件的演进与对比分析
本文分析了可编程逻辑器件(PLD)的演进历程,从早期离散逻辑芯片到复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。CPLD延续PLA结构,采用宏单元和连接矩阵,适合触发器有限的应用;而FPGA创新性地采用逻辑单元阵列(LCA)架构,以查找表和寄存器为基础,提供更高灵活性。两者核心差异体现在:CPLD时序确定、速度快、安全性好;FPGA则密度高、可重构性强。文章系统比较了两者的结构特点与应用场景。
2025-06-28 16:36:57
438
原创 vivado XMP使用
使用XMP做跨时钟域,方便的是官方认证,好用且不会爆时序问题,懒得写 set flase。这里不给时序了,参数和使用方法都比较简单,看手册即可UG974对于上面所有的xpm,都是输入数据必须被目标时钟采样两次或更多次,也就是快到慢的跨时钟,最好就要时钟单独的脉冲展宽或者握手信号,或者是做fifo或者ram缓冲等手段来做跨时钟。
2025-04-22 23:44:07
985
原创 Transceivers Wizard IP核
后面的CPLL或者QPLL选择,可以直接在代码中进行修正,包括GT收发器的位置也可以在XDC中进行覆盖。通过以上配置,可高效利用7系列FPGA的GT收发器实现高速串行通信。使用两个K28.5进行时钟纠正,类似同步码。buffer延迟大概100个时钟周期。几十公里的就选择DFE均衡器。
2025-02-22 21:36:04
1342
原创 FPGA VIVADO:axi-lite 从机和主机
协议就不详细讲解了,直接看手册即可。下面主要如何写代码和关键的时序。此外下面的代码可以直接用于实际工程。
2025-02-18 23:06:38
1102
原创 VIVADO生成DCP和EDF指南
详细步骤就不贴图了,网上一大堆在Vivado中,常用的三种封装形式有三种:● IP● edif● dcp在下文之前,先看几个概念:和global相对,out_of_context就是将上下文分离,在综合的时候,只是将这个module作为一个整体,类似IP生成的时候,选择global就会将IP修改部分和未修改部分整合起来一起综合和优化,而out_of_context就只是将这一块或者修改部分进行综合和优化-no_iobuf。
2025-02-07 23:36:35
2331
原创 ZYNQ PS和PL交互
AXIM_GP:属于AXI-lite协议。适用于少量数据一般不用AXI-FIFO作为数据交互,因为互联模块本身也有FIFO(但是空间小)。大量数据其实也就不用这种方式。
2024-12-08 22:29:01
731
原创 不常用的verilog语法
full-case:都可以被遍历到parallel-case:一个case表达式只对应一个item. 比如casez在使用时,就可能是。
2024-12-08 00:24:44
762
原创 FPGA理论基础1一一一简单的硬件知识
当BANK的I/O口作为LVDS电平时,HR BANK的IO电压VCCO只能为2.5V,HPBANKS的I/O口电压为1.8V。可接1V2/1V5/1V8/2V5/3V3等多种电压,但是主SPI/主BPI模式下配置过程涉及到该BANK上的某些引脚,需要和VCCO_O保持一致。系列的FPGA,GTP最高可以达到6.6Gb/s,GTX最高12.5Gb/s,GTH最高13.1Gb/s,GTZ最高28.05Gb/s。限制电压有助于控制功耗,从而减少热量的产生,对于热管理是非常重要的,尤其是在高密度集成的系统中。
2024-11-19 23:40:03
2870
原创 FPGA FIFO系列 - FIFO使用中需要注意的若干问题
场景:类似图像、文字等码流数据是不需要重复被访问的,因此使用FIFO进行缓存(如果需要被存储,一般不会放在FPGA内部)。此时,FIFO的数据消失性对设计没有影响。但是对于fifo来说,如果时钟频率提高,需要满足建立和保持时间,那么就需要对fifo接口进行缓存,以截断前、后组合逻辑布线延迟和FIFO接口时序之间的相互影响。写时序因为数据和写使能是同步输入给FIFO的,所以没有影响,但是,读时序,读出数据就会延迟3个时钟周期,如下图所示。
2024-11-17 23:33:58
1362
原创 深入浅出通信原理
阅读《深入浅出通信原理----陈爱军》笔记,无图,可以对照的书去看,有页码标志。非通信人,定性的去理解,如果有理解不对的地方,望提出宝贵意见。
2024-09-13 00:27:48
2072
原创 FPGA概述
FPGA的工作原理主流的是采用SRAM工艺的LUT结构,LUT本质就是一个RAM,将真值表写入RAM,通过4或者6输入来定位ram中的真值表,然后输出。当FPGA启动时,就会读取flash或者其他存储器中的数据,把真值表写入ram中,当下电时,FPGA就是白片。军用或者航天级别一般采用FLASH或者熔丝与反熔丝工艺的LUT。也就是说不同的使用场景,使用不同的工艺来设计LUT硅片融合是发展趋势。熟悉不同器件在不同应用场景的优缺点熟悉FPGA内的资源有哪些。
2024-08-27 21:20:07
614
原创 从PCB开始研究FPGA设计问题
这里只针对FPGA告诉电路板设计问题进行讨论总得来说需要考虑信号线,信号线之间,电源供电(供电曲线,供电顺序(核心电压和io电压),电源退耦)
2024-08-26 12:12:45
698
原创 FPGA时钟域处理
FPGA在代码设计的时候要考虑不同功能会有不同的时钟域,在设计构思的时候就要考虑到框图中的时钟域划分。一般都是多时钟域设计总体起来说需要考虑两个方面的知识点,时钟资源有哪些,跨时钟域的处理。另外就是需要考虑对时钟本身的处理需要考虑的处理技巧,如分频,时钟的反转或者倍频调整(尽量还是用pll吧)
2024-08-26 12:05:54
1289
原创 FPGA速度优化
速度优化,主要就是设计时序进行优化吞吐量:每个时钟周期能处理的数据量,多少bit,b/s。为了提高吞吐量,大量的并行的设计被使用,再对数据处理完成之后对外传输,一般使用告诉串行I/O口,使得提高速率的前提又增加了稳定性设计延时:输入数据和数据被处理后输出的时间间隔。对于吞吐量来说,只关心流水线末端下线产品的数量,很少关系数据被处理的传输延迟。即尽量采用并行操作,减少流水操作。设计时序:指设计时钟速度,两个时序单元之间的最大延迟,决定了时钟频率(速度),可以得到一个最大时钟频率。
2024-08-26 10:58:21
1925
原创 如何写好状态机
标准状态机分为两种摩尔moore:状态机输出只和当前状态值有关系mealy:状态输出和当前有关还和输入有关状态转换的时候出现过渡状态进入非法状态器件不同,综合出来的情况不同占用资源过多状态机的注意事项有两个,一个是避免出现非法状态(编码设计、状态切换的布局布线,即组合逻辑和计算影响切换速度,导致时序不满足,出现过度状态),另一个是资源使用。编码状态机内部跳转减少跳转过程的组合逻辑、让综合工具能识别到这些来考虑。
2024-08-25 22:52:05
264
原创 verilog 面积优化
面积优化就是尽可能的减少门电路资源的消耗面积的优化主要从共享来考虑,就是考虑综合出来的电路是什么样的,操作符共享,表达式共享,功能共享。其次,就是有些信号的处理,比如复位信号不是一定给。最后考虑硬件本身的特性。
2024-08-25 22:45:17
1143
pg210 10G/25G High Speed Ethernet Subsystem v4.1 中文版和引文版PDF
2025-05-08
tortoisesvn SVN
2025-04-28
资源简介本仓库提供了一个重要的资源文件下载,该文件是关于Xilinx原语的最新版介绍文档,文件名为“xilinx原语相关介绍最新版(ug974)” 这份文档详细介绍了Xilinx平台中的关键原语,特
2025-04-21
数据转axi lite接口: 读/写数据FIFO缓存 仲裁:写优先 AXI LITE 总线输出 以下是axi-lite主机的代码: 主要思路: 先理清楚下面5个通道,一个一个来看,端口再多理顺了就好了
2025-02-18
米联客2020版FPGA课程:MIG DDR3控制器设计与实践
2024-11-17
FPGA设计中基于Verilog的RTL级仿真详解及其重要性
2024-11-17
FPGA笔试与面试技术要点详解
2024-11-17
lte_20m和5g_nr_100m的ecpri速率计算
2023-11-22
vivado如何实现硬核仿真
2023-07-11
FPGA前仿真如何实现自动化
2023-06-29
有几个关于fpga的基础问题黑盒仿真,建立保持时间,和仿真覆盖理论。
2023-01-28
Ubuntu和 centos编译区别
2023-01-09
ftps用证书验证登录而不是用密码
2022-12-06
有没有ftps服务器可以使用公钥登录的?
2022-11-29
找一个可以使用ftpes连接的服务端
2022-11-07
搭建了私有的Ca服务器,然后去申请数字证书,这个数字证书可以用于不同的服务器吗
2022-11-01
vsftpd服务器和curl之前怎么实现建立双向认证的tls连接
2022-10-27
vsftpd.conf中设置ssl_enable=YES后 重启vsftpd就失败
2022-10-26
从github下载的ftps开源马可以直接在linux下编译吗
2022-09-23
ftps传输文件证书和密码问题
2022-09-20
使用libcurl设置进行ftps协议传输文件
2022-09-20
C++回调函数,参数获取和保存
2022-07-19
DHCP客户端获取IP
2022-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人