- 博客(79)
- 收藏
- 关注
原创 GMSL 常见问题整理
本文系统解析LiDAR与域控制器间GMSL链路时间同步中的关键问题,涵盖其双工传输原理、线缆使用、双向带宽分配及GPIO延时特性。核心要点:GMSL采用单线(同轴)或双绞线实现全双工通信,前向3Gbps传数据,反向187.5Mbps传控制信号;反向GPIO延时在补偿模式下稳定为15.3μs,偏差约7ns,且无需芯片时间同步,通过本地计数器实现固定延迟输出。实测建议扣除平均值并验证稳定性,适用于高精度时间同步场景。
2026-11-02 09:47:59
186
原创 Lattice 与 Xilinx 同类文件对照
本文对比了Lattice与Xilinx工具链中常用文件的格式、用途及流程阶段差异。相同内容以不同格式输出:如映射资源(hrr/html)、时序报告(twr/rpt)、位流(bit/bin),便于人读或工具解析;设计数据库(udb/dcp)和报告按流程阶段递进,反映综合、布局布线、优化等各阶段状态;日志文件分主日志(vds/vdi)与命令记录(jou),支持调试与复现。关键文件如utilization、timing、drc报告在两平台对应一致,确保流程可比性。
2026-10-27 10:29:52
153
原创 CLAUDE : FPGA模块互换AI命令
Xilinx | `Cursor\xilinx_hier_routed.rpt`(布线后层次报告) | `*_utilization_placed.rpt` || Lattice | `lattice\03_pnr\impl_1\*_map.hrr`(映射后,每个模块的值含子模块) | 同目录 `.mrp` || 进位链 | 1:1(每位 1 LUT6),CARRY4 = 位数 ÷ 4 | 按实际用到的位数 1:1(CCU2 每位 1 LUT4) |- 用户在底稿上划掉的模块不计入,新加的计入;
2026-10-27 09:59:10
320
原创 赛灵思 7 系列里的 DSP48E1结构与应用
乘法器基于二进制竖式乘法,通过与门实现每位“照抄或清零”,各行部分积左移后并行相加。硬件采用加法树加速求和,提升速度。DSP48E1支持24×17位乘法,通过位宽拆分与预加法器优化对称FIR滤波等应用,减少乘法次数与资源占用,提高效率。
2026-10-26 14:43:21
127
原创 移位寄存器和打排的处理对比
本文对比了移位寄存器与独立寄存器的使用场景。移位寄存器适用于需要位索引(如en_d[0])、位或操作(如|en_d[5:2])以及需要灵活调整延迟级数的场景,能使代码更紧凑。而独立寄存器则在每个时钟周期具有独立含义时更利于代码可读性。选择依据主要取决于具体需求:若仅为时序标号,移位寄存器更优;若需明确各周期含义,则宜采用独立命名寄存器。两者功能等效,最终选择应权衡代码简洁性与可读性需求。
2026-08-11 11:32:09
199
原创 RAM读写存储的PINGPONG(乒乓机制)
PINGPONG(乒乓机制)是一种高效的双缓冲设计思想,通过两块存储区(或一个RAM的两部分)交替进行读写操作,实现数据流的无缝处理。其核心原理是同时进行读写但操作不同区域:当A区写入时从B区读取,反之亦然,形成类似乒乓球来回的交替模式。这种设计避免了单缓冲导致的流水线停顿,使吞吐量翻倍。关键约束是读取速度必须≥写入速度,否则会导致数据覆盖。该机制广泛应用于视频处理、网络通信等领域,可通过独立双RAM或单双口RAM循环实现。本工程采用后者的"时间错位读写"方案,在满足读快于写的条件下,既
2026-08-06 12:37:10
180
原创 DDR = Double Data Rate 为什么需要一个时钟和一个时钟相位差90度
摘要: DDR(双数据率)接口采用90°相移时钟的核心原因是为了解决数据采样与跳变时刻重叠的问题。由于DDR在时钟上升沿和下降沿均传输数据,若接收端直接使用同相时钟采样,会因数据跳变时的亚稳态导致采样错误。通过引入90°相移(四分之一周期延迟),采样点被移至数据稳定窗口的中央,确保建立时间和保持时间充足。例如,125MHz系统中,2ns的延迟使采样点避开跳变边缘,提升可靠性。这一原理适用于所有DDR接口(如RGMII、内存、HDMI等),实现方式包括PLL生成、PCB走线延迟或PHY芯片内部配置。90°相移
2026-08-03 17:45:04
350
原创 lattice的SDR ip介绍
该摘要总结了FPGA接口配置参数的当前值及其调整后的影响。关键参数包括接口方向(发送/接收)、IO类型(LVDS)、数据位宽(17bit)、数据路径延迟(BYPASS)、延迟调整模式(DEFAULT)、细/粗延迟值(0/0ns)、三态功能(禁用)、时钟反相(禁用)和时钟频率(100MHz)。调整这些参数会影响接口模式、资源使用、时序特性和数据相位等。例如,改变IO类型需更换输出buffer,调整延迟值会改变数据相对时钟的相位,启用三态功能需额外控制信号。这些参数共同决定了接口的数据传输特性和性能表现。
2026-07-15 16:41:33
258
原创 故障积累——异步复位问题
摘要:时钟信号在复位后未能及时触发解复位阶段的初始化流程,导致逻辑内部状态机出现异常,最终引发缓存挂死问题。该故障表明复位时序设计存在缺陷,需优化时钟与复位信号的同步机制,确保状态机正常初始化以避免系统死锁。
2026-07-14 18:22:49
37
原创 故障积累——RAM存储的
紫光PG3T500芯片出现CRC误码问题,表现为误码位置不固定且软复位无效。研究发现失效与DRM模块的VCC/VCC_DRM电压差相关:当VCC≤VCC_DRM时可能失效。失效机理源于写操作时VCC电源域的驱动能力下降(当VCC<VCC_DRM)或工艺偏差导致NMOS管驱动不足,造成存储单元写操作竞争失败。VCC_DRM因IRdrop较小保持较强上拉,而VCC域IRdrop较大进一步加剧驱动失衡,双重因素共同导致写失效。(149字)
2026-07-14 18:21:41
129
原创 FPGA 中 STARTUPE2 原语的使用和含义
摘要:STARTUPE2是Xilinx FPGA芯片内部的专用硬件结构,作为用户逻辑访问配置启动模块的接口。它不同于普通逻辑模块,主要用于连接配置相关信号,如配置Flash的时钟CCLK。通过STARTUPE2的USRCCLKO端口,用户逻辑可以在配置完成后继续驱动CCLK访问同一Flash。其核心功能包括输出配置时钟、启动完成标志等,是实现FPGA配置与用户逻辑交互的关键组件。不同Xilinx系列器件中,该原语名称略有差异(如7系列为STARTUPE2,UltraScale为STARTUPE3)。
2026-07-14 17:29:28
383
原创 图像数据传输中一般用到的报文格式
文章摘要:FPGA无法仅通过数据值自动区分直方图与灰度图数据,需依赖协议、标志位或帧格式进行判断。灰度图/原始图像(raw image)是最常见的正式测量数据,保留了完整的像素信息,便于后处理分析。直方图则是统计灰度值分布的简化数据。数据格式通常由传感器芯片或接口协议定义,如MIPI CSI-2中的RAW8/10/12/14格式。实际测量中可能传输多种数据类型,包括原始ADC数据、统计结果、ROI区域或特征数据等。建议通过明确的类型标志而非仅依赖数据内容进行区分。
2026-07-13 16:38:38
195
原创 VIVADO手册说明书
摘要: Xilinx/Vivado常用手册主要分为软件流程、RTL综合实现、约束时序、Tcl脚本、IP核、器件配置、调试烧录等类别。核心手册包括: 流程类:UG973(安装/版本)、UG892(设计流程); RTL/综合:UG901(综合优化)、UG904(布局布线); 约束时序:UG903(XDC约束)、UG906(时序收敛); Tcl脚本:UG835(命令字典)、UG894(脚本编写); 调试烧录:UG908(JTAG/ILA/烧录)、UG470(7系列配置); 器件手册:DS181(电气参数)、UG4
2026-07-10 14:58:19
343
原创 FPGA的eFUSE的加密和FPGA内部AES 模块
Xilinx FPGA安全机制与eFUSE操作风险 Xilinx FPGA的eFUSE是一种一次性可编程的非易失存储单元,用于存储AES密钥、安全控制位(如JTAG禁用)等关键信息。通过烧写eFUSE可永久禁用JTAG或启用加密配置,但操作不可逆,错误操作会导致FPGA无法调试(如Vivado检测不到设备)。eFUSE通过物理熔断实现状态保存,安全性高但风险极大,仅建议在量产时使用。 内部AES模块是FPGA的硬件解密单元,用于解密加密的bitstream文件。密钥可存储在eFUSE(永久)或BBRAM(需
2026-07-10 11:25:39
273
原创 vivado 加密
本文介绍了Xilinx FPGA的bitstream加密技术,主要采用AES-256-CBC算法进行配置流加密。不同系列FPGA的加密方案有所差异,7系列使用AES-256,UltraScale系列增加HMAC/RSA认证,Versal则采用更完整的AES-GCM和PUF技术。加密密钥可存储在BBRAM(可重写,需电池)或eFUSE(一次性烧写)中,开发阶段建议使用BBRAM以降低风险,量产时推荐eFUSE确保安全性。AES加密能有效防止设计被复制、分析和篡改,保护知识产权。
2026-07-09 16:04:41
284
原创 vivado的bit 和 bin的区别
FPGA配置文件格式对比:.bit文件是标准bitstream,包含头信息、器件数据等,可由Vivado直接识别下载;.bin是精简的二进制配置数据,去除了部分头信息,更适合通过SPI Flash、MCU或bootloader进行设备升级和自定义加载。两者分别适用于开发调试和实际部署的不同场景。
2026-07-09 15:39:42
238
原创 lattice mipi ip开启DESKEW_EN属性(“ENABLED“),输出异常
MIPID-PHY在1.5Gbps高速模式下存在Skew问题的根本原因是DESKEW_EN使能后需要0x5555前导码进行时钟校准,但发送端未按协议发送该前导码,导致接收端采样异常(首字段非标准B8值而是随机值)。解决方案是当发送端不符合协议要求时,应保持DESKEW_EN属性禁用状态。该问题揭示了1.5Gbps作为协议关键阈值时,必须严格遵循发送校准序列的规范要求。
2026-07-09 15:37:11
210
转载 MIPI扫盲——CSI-2介绍(一)
本文介绍了MIPI CSI-2接口协议的基本情况。CSI-2是目前广泛使用的高速摄像头串行接口协议,支持D-PHY和C-PHY两种物理层协议,其中D-PHY兼容性更好、应用更广泛。文章对比了两种物理层的差异,指出D-PHY因其兼容CSI-2和DSI协议的优势而更受青睐,并以Lattice CrossLink系列器件为例说明了D-PHY的灵活应用。此外还提到CSI-3采用M-PHY协议与CSI-2不兼容。后续内容将重点介绍CSI-2 v1.1版本。
2026-07-08 10:55:53
40
转载 MIPI扫盲——D-PHY介绍(一)
本文介绍了MIPI D-PHY的基本概念和工作原理。D-PHY是MIPI联盟定义的物理层标准,PHY代表物理层,D源自罗马数字500,表示最初版本的目标传输速率为500Mbps。D-PHY采用高功效设计,包含高速模块(用于图像数据传输)和低功耗模块(用于控制信息传输),适合电池供电设备使用。协议定义了两种传输模式:高速模式(HS,差分信号,80Mbps-1.5Gbps)和低功耗模式(LP,单端信号,10Mbps)。D-PHY最多支持5个通道(1时钟+4数据),支持半双工双向通信。文章还对比了不同信号类型的功
2026-07-08 10:42:43
28
转载 MIPI扫盲——D-PHY介绍(二)
本文介绍了MIPI D-PHY协议的两种工作模式:高速传输的HS模式和低功耗的LP模式(包含控制模式、LPDT和ULPS)。详细说明了不同系统配置下Data Lane所需的最小功能模块,以及HS模式、Escape模式的状态转换过程,包括进入/退出时序和方向切换机制。通过波形图展示了HS数据传输和LPDT异步传输特点,后者采用Spaced-One-Hot编码实现自时钟同步。文章最后给出了完整的状态转移图,强调HS模式与Escape模式间必须通过Control模式中转切换。这些内容为理解D-PHY协议的操作机制
2026-07-08 10:41:31
25
原创 MIPI扫盲——What the hell is mipi?
MIPI(移动通信行业处理器接口)是专为移动设备设计的高速接口标准,旨在解决高清图像传输的高带宽需求与传统接口低速率间的矛盾。最初由Intel、三星等公司发起,现已被广泛应用于智能手机、VR等嵌入式设备。MIPI主要包含CSI(摄像头接口)和DSI(显示接口),共用D-PHY物理层协议,并衍生出M-PHY和C-PHY等新协议。CSI-2和DSI分别用于摄像头与处理器、处理器与显示屏之间的高速数据传输,成为行业通用标准。后续将详细介绍D-PHY、CSI-2和DSI协议内容。
2026-07-08 10:05:59
200
原创 lattice debug 故障积累
我查一下最新日志里 -1073741819 出现在哪个阶段;这个码通常是 Windows 访问冲突/程序崩溃,不是普通 RTL 报错。-------笔记本电脑性能设置不行,导致进程崩溃,所以这个的不是软件的问题,是我电脑的问题。
2026-07-03 15:00:55
46
原创 lattice软件遇到问题大集合
FPGA布局布线加速配置说明:当遇到主机号与内核不匹配时,需修改配置文件以实现多机并行加速。该设置专为多节点PAR加速设计,允许将布局布线任务分配到指定机器(如PC_A、PC_B等)上运行,通过集群计算提升编译效率。常规FPGA工程无需绑定特定主机,此功能适用于企业多机协作场景。
2026-07-02 21:19:21
206
原创 lattice套件相关软件的名称和作用
布局布线、生成烧录文件。Radiant Software Lattice新一代FPGA开发主平台,用于编写代码、综合、Release Notes 版本更新说明,包含bug修复、新增功能、已知问题等。Diamond (常用但未列在列表) 老款主平台,支持ECP5、MachXO2/XO3等经典器件。下的动态+静态功耗,辅助评估散热和供电方案。注:如果用MachXO2/XO3、ECP5等老器件,需安装Lattice Diamond软件。
2026-07-02 15:28:05
261
原创 lattice 的SDR的ip
在 Lattice 的语境里,你说的 “SDR IP” 通常指,这是一个用于高速数据传输的通用接口 IP。它的速率不是一个固定值,而是可以根据你的应用需求进行配置的。在 Lattice 的语境下,“SDR”这个缩写很可能指代两种不同的技术,具体取决于你是在看 IP 核(功能模块)还是芯片手册。
2026-07-01 20:54:05
211
原创 lattice 中Reveal Inserter 中add controller和逻辑分析仪有什么区别么
在 Lattice 的 Reveal Inserter 中,,用于解决不同类型的问题。
2026-07-01 18:56:28
383
原创 高反膨胀现象
激光雷达高反膨胀现象是指扫描高反射物体时点云轮廓虚假扩散,导致物体成像比实际更大。其核心原因是强反射信号使接收器饱和,导致电荷溢出和串扰,形成虚假点云。这会影响物体尺寸判断、定位精度并增加计算负担。解决方法包括硬件改进(如提升探测器动态范围)和软件算法优化(滤除噪声点)。该现象是自动驾驶感知系统中需要解决的关键问题之一。
2026-06-08 11:36:38
271
原创 使用PLL的lock信号作为复位信号
外部时钟 → PLL → 产生系统时钟 clk_sys→ 产生锁定信号 locked(异步)你想把locked直接连到各个模块的复位端。那么上电后的流程是:PLL 开始锁定,locked = 0clk_sys不稳定一段时间后 PLL 锁定,locked = 1clk_sys稳定各模块复位释放,开始工作看起来逻辑很顺,但问题就出在。
2026-06-01 18:02:42
517
原创 多bit同步的处理
1.多 bit 数据在跨时钟域处理时一般都需要用到格雷码转换处理。单 bit 数据跨时钟域时一般直接打拍。多 bit 数据跨时钟域时如果也是直接打拍,不同 bit 达到被同步时钟域时的延时不一致导致功能错误问题。异步 fifo 完成跨时钟域转换时,写数据和读数据分别位于读写不同时钟域。读写地址分别进行格雷码转换。
2026-05-08 20:44:33
253
原创 故障积累——PWM信号占空比变化
通过该故障和硬件了解到:硬件信号在电路传输过程中一般会高电平的脉冲宽度一般都是展宽,不会变窄了,这是因为电路的容性导致电路在放电过程中放电缓慢,从而下降沿缓慢,脉冲展宽。电路上器件一般导致占空比劣化的范围在+10%左右,比如说上升/下降边沿一遍都会左移动10%,右边移动10%,这是极限情况,一般没这么大。PWM信号的输出端口,在编码输出后经过硬件链路传输,导致高电平占空比展宽,从而导致线卡逻辑内部采样机计数的时候,高电平计数异常,状态机提前跳转,解码异常。
2025-03-26 11:57:59
222
原创 FPGA随记-RAM仿真记得初始化
RAM仿真最好初始化一下ram中的值,一般设备上的存储器件初始化都会写0的,所以仿真的时候也要记得初始化ram。初始化ram的代码可以找AI帮忙写一写。一般实际应用中,一种是ram在例化的时候,可以在ip里面设置初始值。这样每次复位都会有初始值写入。另一种是逻辑实现,顺次地址自加然后写入一些值。不过不仿真初始化,用高阻态可以观察一下哪些信号有异常也是比较好的。
2025-03-26 10:12:02
152
原创 紫光芯片中包含的硬件资源
通用技术原语)是针对本公司器件特征开发的一系列通用模。相关、 IO 相关、时钟相关、配置相关、块的名称,是芯片中的基本单元,代表。相关、其他九个类别,具体分类见下表。本章节对本文描述的 GTP。原语按功能分为了触发器、锁存器、实际拥有的硬件逻辑单元,如。
2025-02-17 16:16:36
377
原创 故障积累—管脚没接
由于某些信号在内部是有接连线的,但是实际没有使用,所以在管脚约束中不分配管脚,同时有的管脚是虽然连线了,但是实际信号没有使用,这样就会导致这些信号在内部跑版本的时候被忽略,反而芯片会自动给那些实际有连线的信号分配管脚,这样可能导致这个信号连接对对岸芯片有问题。我遇到的是正好一个信号被随便连到了连接到了给对端的CPU复位(实际这个复位内部没用,就是定义了一下管脚)的管脚,把对端复位住了。
2025-01-10 10:11:22
236
原创 FPGA随记——时钟时序一些基本知识
将写指针同步到读时钟域再和读指针比较进行FIFO空状态判断时,因为在同步写指针时需要时间,而在这个同步的时间内有可能还会写入新的数据,因此同步后的写指针一定是小于或者等于当前实际的写指针,所以此时如果FIFO为空”,则实际的写指针可能仍然大于读指针,FIFO并不是真的“空。所以判断出来的空”信号,是一个保守的“空”信号。快时钟域中需要同步的信号是脉冲信号,它触发原时钟域的反转电路,每当翻转电路收到脉冲时,电路翻转一次慢时钟域的同步器对翻转后的信号进行采样,和边沿检测,重新在本时钟域恢复出脉冲信号。
2025-01-09 10:48:16
1167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅