基于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

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

【Matlab】最新版2025a发布,深色模式、Copilot编程助手上线!

文章目录 * 一、软件安装 * 1.1 系统配置要求 * 1.2 安装 * 二、新版功能探索 * 2.1 界面图标和深色主题 * 2.2 MATLAB Copilot AI助手 * 2.3 绘图区升级 * 2.4 simulink * 2.5 更多 🟠现在可能无法登录或者注册mathworks(写这句话的时间:2025-05-20): 最近当你登录或者注册账号的时候会显示:no healthy upstream,很多人都遇到了这个问题,我在reddit上看到了mathworks官方的回答:确实有这个问题,正在恢复,不知道要几天咯,大家先用旧版本吧。 — 已经近10天了,原因是:遭受勒索软件攻击 延迟一个月,终于发布了🤭。 一、软件安装 1.1

DeepSeek-R1-Distill-Llama-8B Python爬虫实战:智能数据采集与清洗教程

DeepSeek-R1-Distill-Llama-8B Python爬虫实战:智能数据采集与清洗教程 1. 引言:当AI推理能力遇上Python爬虫 如果你做过Python爬虫项目,肯定遇到过这些头疼的问题:网站结构变了,代码就得重写;反爬机制越来越复杂,得花大量时间研究;数据清洗规则繁琐,写正则表达式写到眼花。更别提那些动态加载的页面,用传统方法处理起来简直让人崩溃。 现在有个好消息:DeepSeek-R1-Distill-Llama-8B这个模型,能把爬虫开发这件事变得简单很多。它是个8B参数的推理模型,继承了DeepSeek-R1强大的推理能力,特别擅长理解网页结构、分析数据模式、生成处理代码。简单说,就是让AI帮你思考怎么爬数据、怎么清洗数据。 这个教程我会带你从零开始,用这个模型来优化整个爬虫开发流程。你会发现,原来写爬虫可以这么轻松——不用再为每个网站写一堆复杂的解析规则,AI能帮你自动生成代码;不用再手动处理各种反爬,AI能帮你分析应对策略;数据清洗也不再是苦差事,AI能帮你设计清洗规则。 2. 环境准备:快速搭建开发环境 2.1 安装基础依赖 首先确

零代码体验AI写作:Qwen2.5-32B-Instruct网页版直接调用

零代码体验AI写作:Qwen2.5-32B-Instruct网页版直接调用 你是否试过在浏览器里点几下,就让一个320亿参数的大模型为你写方案、改文案、理逻辑、编报告?不用装环境、不写代码、不配GPU——连终端都不用打开。 这次我们不聊本地部署、不讲Docker编排、不碰vLLM配置。我们就用最轻的方式,把Qwen2.5-32B-Instruct这个当前中文能力顶尖的开源大模型,直接“请”进你的浏览器里,像用搜索引擎一样提问,像发微信一样获得专业级文字输出。 这不是概念演示,而是真实可用的网页服务;不是简化阉割版,而是完整支持128K上下文、8K长文本生成、结构化数据理解与JSON输出的原生能力。它背后跑的是Ollama轻量推理框架,但对你来说——只有输入框和回车键。 下面带你全程零门槛上手,从打开页面到写出第一段可商用文案,5分钟搞定。 1. 为什么是Qwen2.5-32B-Instruct?它到底强在哪 先说结论:它不是“又一个大模型”,而是目前开源生态中,中文理解+逻辑表达+工程落地能力最均衡的32B级选手。我们不堆参数,只看你能用它做什么。 1.1

LLaMA-Factory安装教程(详细版)

LLaMA-Factory安装教程(详细版)

本机显卡双3090 使用wsl中ubuntu torch==2.6.0 conda==24.5.0 cuda==12.4 python==3.12.4(python安装不做赘述,有需要我会另开一篇文章) 一、准备工作 首先,在 https://developer.nvidia.com/cuda-gpus 查看您的 GPU 是否支持CUDA。 保证当前 Linux 版本支持CUDA. 在命令行中输入  uname -m && cat /etc/*release 输出如下,不一定完全一样,类似即可 检查是否安装了 gcc . 在命令行中输入 gcc --version