跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言算法

CARRY4进位链在TDC中的行为仿真:从抽头延迟到温度计码

用Xilinx FPGA的CARRY4进位单元实现抽头延迟链TDC,通过级联延迟线和温度计码锁存,结合粗计数得到亚纳秒级时间戳。给出一个行为级Verilog仿真模型,展示进位传播和锁存机制,并讨论了仿真与真实器件的差异及校准需求。

芝士奶盖发布于 2026/6/300 浏览
CARRY4进位链在TDC中的行为仿真:从抽头延迟到温度计码

利用Xilinx FPGA的CARRY4实现抽头延迟链TDC,关键在于理解其进位路径和锁存机制。这篇文章不是手册的翻译,而是梳理一下我验证过的仿真思路,把几个核心部分串起来讲清楚。

1. 基本工作方式

CARRY4内部有4个级联的MUXCY选择器,CIN进、COUT出,每一级的进位节点都引出一根抽头(CO0~CO3)。把多个CARRY4首尾串联,就得到一条连续延迟链。起始信号从链首CIN灌进去,像多米诺骨牌一样沿级传播。当停止信号到来时,各级抽头处的触发器同时锁存当前状态,输出就是一个'温度计码'——哪几级已经翻转,哪几级还没到。

温度计码经过编码器转换为细时间值T_fine,再叠加上粗计数器(比如系统时钟)给出的T_coarse,就得到最终测量结果。单级进位延迟一般在10~30 ps量级,想覆盖更大的量程就要串联更多CARRY4,同时用粗计数器扩展到微秒甚至毫秒。

2. 行为级仿真模型

设计TDC逻辑之前,需要一个能反映延迟特性的仿真模型。下面这个Verilog模块没有综合意图,纯粹是行为级的,用来验证温度计码生成和编码逻辑。

`timescale 1ps/1ps
module CARRY4(
    output [3:0] CO,
    output [3:0] O,
    input CI,
    input CYINIT,
    input [3:0] DI,
    input [3:0] S
);
    reg [3:0] co_int;
    always @* begin
        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

这里直接把进位链逻辑写成了组合环,每一级依赖前一级的输出,仿真器会自然引入传播延迟(timescale 1ps/1ps下通常按ps级步进)。如果要更精确地控制延迟,可以在assign前加上#(delay),但一般用不着,因为行为仿真的核心是验证编码器能否正确解析温度计码。

3. 级联与锁存

实际使用时,CARRY4原语实例化之后,上一级的COUT接到下一级的CIN,所有抽头输出打到一组寄存器上,寄存器的时钟接停止信号(或者取沿)。这样停止信号一触发,就能锁住整个链的瞬时状态。

温度计码的编码器很简单:找第一个出现0的位置,乘以单级延迟,就是细时间。如果链长是N级,编码器就是一个优先编码器。网上常见的做法是先把温度计码取反,再用前导1检测逻辑。

4. 几点提醒

  • 行为仿真的延迟分布是均匀的,但真实FPGA里每一级延迟受工艺、电压、温度影响会有差异,需要做校准(bin-by-bin校准)。这个仿真模型帮不了你,只是功能验证的起点。
  • timescale 1ps/1ps下,仿真器用整数ps步进,但实际的延迟可能是零点几ps,如果要更细致的时序验证,需要改timescale或者用SDF反标。
  • 温度计码可能会出现冒泡(比如中间跳变),真实器件里触发器亚稳态也会产生错误码,编码器最好做点容错设计,比如校正到最近的有效码。

这个模型没什么花哨,但它能帮你快速看到延迟链的行为,尤其是编码器和粗计数器之间的握手逻辑。

目录

  1. 1. 基本工作方式
  2. 2. 行为级仿真模型
  3. 3. 级联与锁存
  4. 4. 几点提醒
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 从后端到前端:AI Agent 跨语言全栈项目实战记录(Java + Python + Vue3)
  • 7款国内AI助手横评:豆包、元宝、千问、Kimi、DeepSeek、MiniMax、GLM
  • 2026 算法求职:为什么我劝你深耕多模态大模型
  • 2023年网络安全趋势观察:十个绕不开的方向
  • 用 MGeo 和 Neo4j 搭建中文地址语义知识图谱
  • F5 刷新:缓存协商与浏览器渲染流程
  • 网络安全零基础教程:小白科普指南
  • 斯坦福 2025 AI Index Report 深度解读
  • 前端面试深度解析:核心概念与代码实践
  • 在银河麒麟 V10 上使用 Docker 和 Compose 部署 .NET 8 WebAPI
  • 汉诺塔问题的递归与非递归 C++ 解法
  • 三维模型数据结构与存储方式解析
  • 大模型微调技术纵览:从全参微调到对齐方法的实践思考
  • 理解MySQL事务隔离:读未提交、读提交、可重复读和串行化
  • LeetCode 41 缺失的第一个正数:原地哈希两种思路
  • MATLAB 多模型 AI 编程助手:在编辑器内直接调用大模型
  • Go 仿真实践:免疫治疗门诊排队、irAE 与床位挤兑建模
  • 网络安全学习平台盘点:七个从新手到进阶的资源
  • Python 编程起步:变量、数据结构与面向对象实例
  • Python MCP Server 实战:从工具调用到业务数据查询

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online