基于FPGA的CARRY4 抽头延迟链TDC延时仿真

基于FPGA的CARRY4 抽头延迟链TDC延时仿真

基于FPGA的CARRY4 抽头延迟链TDC延时仿真

1 摘要

基于 FPGA 的 CARRY4 抽头延迟链 TDC,核心是利用 Xilinx FPGA 中 CARRY4 进位单元的固定、低抖动级联延迟构建抽头延迟线,通过锁存信号传播位置实现亚纳秒级时间测量,单级进位延迟约 10–30 ps,级联后可覆盖更大时间量程并结合粗计数拓展动态范围。TDC设计利用FPGA的专用进位链硬件,实现了亚纳秒级的时间测量精度,这是传统数字方法无法达到的。虽然需要校准,但其性能优势和数字集成的便利性使其成为高精度时间测量的首选方案。

2 CARRY4 核心结构与抽头延迟链原理

2.1 CARRY4 单元结构(Xilinx 7 系列 / UltraScale)
每个 CARRY4 包含 4 个 MUXCY 进位选择器与 4 个 XORCY 异或门,形成 4 级进位链,CIN 为进位输入,COUT 为级联输出,CO0–CO3 为 4 个抽头输出,可引出每级进位节点信号。级联方式:上一级 CARRY4 的 COUT 接下一级 CIN,形成连续延迟链;抽头 CO0–CO3 分别连接 D 触发器,由停止信号(Stop)或全局时钟同步锁存。

在这里插入图片描述

2.2. 抽头延迟链 TDC 工作原理
①起始信号(Start)从链首 CIN 注入,沿 CARRY4 级联路径以固定延迟传播。
②停止信号触发所有抽头处的 D 触发器锁存当前传播状态,形成 “温度计码”。
③温度计码经编码器转换为二进制细时间值 T_fine,结合粗计数器(如系统时钟计数)得到总时间 T_total=T_coarse+T_fine。

在这里插入图片描述

)

3 Xilinx FPGA CARRY4 单元核

3.1 CARRY4的工作原理
PGA的CARRY4进位单元,每个CARRY4的COUT连接到下一个CARRY4的CIN,这样级联起来,形成延时链。

CYINIT → MUXCY0 → CO[0] → MUXCY1 → CO[1] → MUXCY2 → CO[2] → MUXCY3 → CO[3] ↗ ↗ ↗ ↗ ↗ ↗ ↗ ↗ DI[0] S[0] DI[1] S[1] DI[2] S[2] DI[3] S[3] 

模拟内部结构

`timescale 1ps/1ps module CARRY5( output [3:0] CO, output [3:0] O, input CI, input CYINIT, input [3:0] DI, input [3:0] S ); // 模拟Xilinx CARRY4的行为 reg [3:0] co_int; always @* begin // 传播延迟:每个CARRY4约10ps #10; // CARRY4逻辑 co_int[0] = (CYINIT & S[0]) | (CI & S[0]) | DI[0]; co_int[1] = (co_int[0] & S[1]) | DI[1]; co_int[2] = (co_int[1] & S[2]) | DI[2]; co_int[3] = (co_int[2] & S[3]) | DI[3]; end assign CO = co_int; assign O = co_int; endmodule 

3.2 Xilinx FP

Read more

微信小程序案例 - 自定义 tabBar

一、前言:为什么需要自定义 tabBar? 微信小程序原生 tabBar 虽然简单易用,但存在明显限制: * ❌ 不支持中间“+”号等凸起按钮 * ❌ 图标和文字样式无法高度自定义(如选中态动画) * ❌ 无法动态隐藏/显示 tabBar * ❌ 不能嵌入徽标(Badge)、红点等业务元素 解决方案:使用自定义 tabBar! 本文将带你从零实现一个支持中间凸起按钮、带动画、可扩展的自定义 tabBar,并封装为通用组件。 二、最终效果预览 ✅ 底部 5 个 tab(中间为“+”发布按钮) ✅ 点击 tab 平滑切换页面 ✅ 中间按钮跳转独立功能页(如发布内容) ✅ 支持徽标、选中高亮、图标切换 三、实现原理 由于小程序页面是全屏渲染,我们无法像 H5 那样用 fixed 布局直接覆盖原生

FPGA实现同步RS422转UART方案

FPGA实现同步RS422转UART方案

要在 Xilinx Kintex-7 XC7K325T FPGA 上实现 同步 RS422 转 UART(异步) 的功能,需明确以下几点: 🔍 一、需求澄清:什么是“同步 RS422”? 严格来说,RS422 是一种差分电气标准,本身不规定同步/异步。 但工业中常将以下两种情况称为“同步 RS422”: 1. 同步串行接口(如 SSI、SPI over RS422):有独立时钟线(CLK + DATA±) 2. 带帧同步的高速串行流:如某些传感器输出的连续数据流,含同步字 ✅ 根据你引用的文章和上下文(如 ZEEKLOG 资料 [8]),此处“同步 RS422”更可能指 带有外部同步时钟的串行数据流(

Angular应用在Chrome中调用高德地图API定位超时问题解析与安全方案

1. 问题现象:为什么我的Angular应用在Chrome里定位总是“转圈圈”? 最近在做一个基于Angular的项目,需要集成高德地图来实现用户位置获取。功能在Edge、Firefox上跑得挺顺溜,可一到Chrome上就卡壳了——那个定位的小图标转啊转,最后给你弹出一个“定位超时”(Geolocation Timeout)的错误。这事儿别提多闹心了,明明代码一样,高德地图的Key也配置对了,怎么换个浏览器就不灵了呢? 一开始我也以为是自己的代码写错了,反复检查了@types/amap-js-api的类型声明,确认AMap.Geolocation的调用方式没问题。后来一搜,发现不少用Vue、React甚至原生JS开发的朋友,只要在Chrome里调用高德地图定位,都踩过这个坑。这就有点意思了,看来不是我们前端框架的锅,问题可能出在更底层的地方。最让人困惑的是,有时候你开了“科学上网”工具,诶,定位居然成功了!但这显然不是个正经的解决方案,且不说安全性和稳定性,你总不能要求每个用户都先去折腾网络配置吧。 这个问题的核心体验就是:在Chrome浏览器中,通过高德地图JavaScript

3大突破重新定义AI绘画真实感:Realistic Vision V1.4深度解析

3大突破重新定义AI绘画真实感:Realistic Vision V1.4深度解析 【免费下载链接】Realistic_Vision_V1.4 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/Realistic_Vision_V1.4 问题:当AI绘画遭遇真实感瓶颈,我们缺失了什么? 当我们谈论真实感时,究竟在追求什么?是皮肤纹理的细腻质感,还是光影交错的自然过渡?当前AI绘画工具虽然能生成令人惊叹的图像,却常常在细节真实度上"露怯"——人物眼神空洞如塑料模特,金属反光生硬如廉价贴纸,织物纹理模糊如失焦镜头。这些问题的根源在于传统生成模型难以同时满足细节精度、光影一致性和场景合理性的三重要求。 核心洞察 真实感生成的本质是解决"全局一致性"与"局部细节"的矛盾。人类视觉系统对自然图像的容错率极低,