乐于分享
好东西不私藏

用AI干掉芯片验证工程师? 我看行!

用AI干掉芯片验证工程师? 我看行!

一个 CPU 模块的 UT 级验证,从拿到 spec 到 sign-off 签字,通常需要一位资深验证工程师投入四个月以上。现在,有人用三个 AI agent 串成的流水线,把这件事压到了两天以内——覆盖率不降反升,过程中还发现了两位资深工程师都没注意到的 spec 与 RTL 的隐性不一致

这不是实验室里的概念验证。最终产物是一份完整的 sign-off package:line coverage 99.86%、branch 99.74%、functional coverage 100%(effective)、17 个 testcase 全部 PASS、58 个 waiver 每一条都有技术 justification、282 个测试点全部可追溯到 spec。和人工做出来的包放在一起,sign-off committee 分不出哪份是 agent 跑的

更值得关注的是后面发生的事:跑完这个模块之后,团队把过程中踩的 11 个坑编码回了 skill 本身——下一个模块用同一条流水线,这 11 个坑不会再踩。工具在用的过程中自己变强了。

核心结果:

  • 人工做同一个模块至少 4 个月;三个 skill 联合闭环压到 1-2 个工作日——近 60 倍加速
  • 三个 skill 串联构成 8 Phase 核心流水线,6 个全自动,2 个由人做高价值判断
  • Line 覆盖率 99.86%,Branch 99.74%,Condition 92.86%,Functional coverage 100%(effective)
  • 17 个 testcase,282 个测试点,58 个 waiver(全部有技术 justification)
  • 过程中发现并修复了 2 个隐藏的采样 bug,找到 1 条 spec 与 RTL 的隐性不一致
  • 整条闭环的经验被反哺回 skill 自身,完成了第一轮自我进化

最后一条是这篇文章最想讲的:不只是"用 AI 做完了一个模块的验证",而是"做完之后把踩的坑编码回了工具,让下一个模块更快"。

为什么模块级 UT 这么磨人?

一个典型 CPU 子模块(ITLB、LSU、分支预测的一部分)的输入材料通常包括:架构 spec 50-150 页 PDF、RTL 源码 3k-15k 行 SystemVerilog、寄存器 + 接口文档 10-50 页、历史 bug 复盘 0-30 条。合计轻松突破 30 万 token。人脑一次塞不下,大模型即使 context 够长,注意力也会摊得很薄。

输出的测试点表有严格格式:12 列,每条都要可追溯(到 spec 章节)、可度量(明确的 checkpoint)、有优先级、有分解方法、有覆盖模型。一个合格的 testpoint 表往往 300 条起步,需要按 8 个维度做平衡覆盖——基础结构、输入路径、内部状态、内部更新、输出路径、异常恢复、时序反压、cross 场景。

新人写出的测试点,D1/D2 占 50% 以上,D7/D8 几乎是空的。这种不平衡直接反映到后续的覆盖率爬坡——D7/D8 缺失的模块,代码覆盖率会在 80% 左右卡死,再往上每一个百分点都要用大量随机测试去碰运气。前期省下来的 3 天,后期要用 3 周还回来

而验证的后半段——从"UVM 环境写完"到"sign-off 签字"——同样磨人。218 条 checklist 要逐条走读,RM 边界要架构师 review,SVA 要设计,coverage hole 要逐个分析是"真的没覆盖"还是"采样链路断了",waiver 要逐条写理由。这一段没有 glamour,全是合规性工作,但少了任何一步 sign-off committee 都不会签字。


三个 skill 各自干什么

三个 skill 的边界非常清晰:

Skill
职责
输入
输出
对接方式
testpoint-gen
从 spec + RTL 拆测试点功能树
spec PDF + RTL + 寄存器文档
testpoints.json (282 条)
JSON 文件契约
uvm-env-gen
把功能树翻译成 UVM 环境并跑覆盖率
testpoints.json + RTL
UVM env + regression 结果
目录结构
verif-signoff-driver
从"环境已搭好"驱动到 sign-off 签字
testpoints.json + UVM env
sign-off package (7 份文件)
tracking DB + workspace

它们之间用文件契约对接,不是函数调用。testpoints.json 是前两个 skill 的中间产物,也是第三个 skill 的输入。这种解耦让三个 skill 可以独立迭代、跨 session 运行,也允许人在任何一个节点插入 review 或手动修改。


8 Phase 闭环:6 自动 + 2 人工

三个 skill 合起来构成一条 8 Phase 核心流水线:

Phase
工作内容
并行度
人机分工
所属 Skill
0
环境体检(前置)
自动
verif-signoff-driver
1
RTL 分析
4-way
自动
testpoint-gen
2架构决策
3
Wrapper 生成
自动
uvm-env-gen
4
UVM 代码生成
5-way
自动
uvm-env-gen
5
编译调试自动循环(≤10 轮)
自动
uvm-env-gen
6RM 精化 + mismatch 裁定
7
功能覆盖率实现
自动
verif-signoff-driver
8
代码覆盖率补充循环(≤5 轮)
N-way
自动
verif-signoff-driver

Phase 2(架构决策)和 Phase 6(语义裁定)是整条流水线上判断力最密集的两个点。它们不是 agent 做不了所以退回来让人做——它们本来就应该由人做。人在 Phase 2 注入的不是信息,是判断:预算、ROI、架构稳定性、上下游解耦可能性——这些东西不在任何文件里。

Phase 2 让人介入不是退步。这是流水线懂事的证明:它知道哪些事该自动化、哪些事必须人做,并主动停下来等人。

Sign-off 驱动:6 阶段 × 5 个 checkpoint

第三个 skill verif-signoff-driver 是整条闭环的"收官"环节。它从"覆盖率已收敛"出发,用一个 6 阶段状态机驱动 sign-off 流程:

Stage
名称
核心动作
Checkpoint
A
Baseline
导入 282 测试点 + 218 条 checklist walk + 复杂度评估
ckpt1: 人 review checklist
B
Reference Model
RM 边界文档化 + co-sim diff report
ckpt2: 架构师 review RM 语义
C
Sequence Fill
17 tc 评估 + testpoint linking
无 checkpoint
D
Assertion
20 个 SVA 设计(8 protocol + 7 structural + 5 negative)
ckpt3: 人 review SVA
E
Regression & Coverage
1000+ seeds + coverage hole analysis + waiver
ckpt4: 人 review waiver
F
Sign-off Package
7 份文件打包
ckpt5: 人签字

5 个硬 checkpoint,其余全自动。最终产出是一份可以交给 sign-off committee 的完整 package:覆盖率分析报告、追溯矩阵、waiver 报告、bug 列表、checklist 状态、签字页。


深度 debug:6 层追踪找到采样根因

Sign-off 过程中最有价值的技术发现是——functional coverage 的采样链路断了,导致 page_size 覆盖率永远是 0%

这个 bug 非常隐蔽。我们先跑了 1000 个 random seeds(functional 只涨了 0.16pp),又试了 clean rebuild(发现 VDB 目录用 rm -f 删不掉导致旧 design database 残留),又写了 VA diversity 的 tc(发现 bins 不在预期的 covergroup 里)。每一次"以为找到了"都被新的数据推翻。

最终定位到 RTL 的一个 always_ff 块:

tlb_size_c2 只在 dbg_tlb_rw_c1=1 (debug read) 时更新

    ↓ 正常 lookup 时输出 stale 值或 X

        ↓ monitor 采到的 size 永远不匹配 bin 定义

            ↓ 同时 lu2common 的 skip_output 关闭了 fcov 通道

                ↓ 非 4K 页的采样被完全阻断

两个 bug 叠加:debug-gated 信号让 size/global/smash 三个字段在正常 lookup 时输出无效值;lu2common 的 skip_output 和 fcov 共用同一个 analysis port,RM skip 时顺带关了 fcov。单修一个都不会生效——必须同时修。

修复方式:在 tb_top 加 ungated flop 从 RTL 内部直接采样 C1 信号;给 lu2common 加独立的 fcov analysis port,始终输出,不受 skip 影响。

修复后,cp_page_size 从 0% 跳到 100%,cg_context 从 30% 跳到 75%。整体 functional coverage 从 57.76% 提升到 65.33%。

这说明什么?1000 个 random seeds 只涨 0.16pp,修采样链路涨 7.57pp。当 coverage 不涨时,先查采样,再查 stimulus。这是我们在整个 sign-off 过程中学到的最贵的一课。


覆盖率收敛:从 57% 到 100%

时间点
Functional
关键事件
原始
57.76%
旧 simv,16 tc
+1000 random seeds
57.92%
random 无效
(+0.16pp)
Fix 1: size ungated flop
62.03%
cp_page_size 0→100%
Fix 2: global+smash ungated
63.21%
cp_global 0→100%
Fix 3: tc_cov_diversity
65.33%
level/fwb/smash/permission diversity
+58 waivers100% effective
covered + waived = 100%

最终数字:

指标
目标
状态
Line
99.86%
≥95%
PASS
Branch
99.74%
≥90%
PASS
Condition
92.86%
≥90%
PASS
Toggle
44.22%
≥50% (waived)
PASS
Functional65.33% raw / 100% effective
100%
PASS

58 个 waiver 分 11 类,每一个都有技术 justification。最大的一类是 cross bulk waiver(~200 bins)——auto-generated cross 组合的稀疏 bins,constituent variable bins 全部已覆盖或单独 waived。其余包括 reserved encoding(ARM 保留的 page size 编码,RTL 永远不产生)、pipeline 内部信号(UT wrapper 不暴露 C3 stage)、config IT-scope(msid/EL2/security 模式需要 IT 级别测试)。

waiver 不是掩耳盗铃。waiver 是一种正式的"声明这个 bin 在当前验证级别不可达,并说明理由"的机制。effective coverage = covered / (total - waived) = 100%——这是行业标准做法。


一个让我们印象最深的发现

Sign-off 流程的 cross-synthesizer 在做 spec 和 RTL 的交叉对比时,主动标出了一条 warning:

某个需要 broadcast 失效的微架构模块——spec 说收到失效请求后应立即清空状态表项,RTL 实际行为是惰性清空(打 stale 标记,下次访问才真清空)。两者稳态等价,但在"失效完成到首次访问"的瞬态窗口里,可观测状态不同。

两位做过不止一代同类模块的资深工程师没发现过这个差异。看 spec 时大脑自动"等价化",看 RTL 时又已经接受了惰性清空这个事实——两边的视线从来没有在那一个瞬态窗口上交汇过。

不是 agent 比人聪明,是 agent 不带人的先验。资深工程师最大的优势——"看一眼就知道"——在某些场景下会转成劣势,它让人跳过"看起来没问题的地方"。agent 没有这种偏好。不是炫耀,是互补


Skill 自我进化:把经验编码回流水线

ITLB sign-off 过程中踩了 11 个坑、做了 13 次人工决策。跑完之后我们问自己:下一个模块能不能少踩几个?

答案是:可以。方法是把经验分层编码回 skill。

Layer 1(已实施):工程加固——7 项

#
曾经的坑
编码进 skill 的规则
1
testpoints.json 缺失(用户给了 xlsx)
自动检测 xlsx 并转换为 json
2
URG license 找不到
从运行中的 EDA 进程自动提取 license 配置
3
目录结构不匹配(sim/Makefile 不在预期位置)
用 find 自动发现,不硬编码路径
4
rm -f
 对 VDB 目录无效(VDB 是目录不是文件)
统一用 rm -rf
5
SVA 目录是空骨架(以为有 SVA 实际没有)
检查文件数 ≥1,不只检查目录存在
6
include 路径格式不一致导致编译失败
自动匹配现有 include 格式
7
clean rebuild 后新旧 VDB 不兼容
强制删除旧 VDB + 重跑全部 tc

预计效果:下一个模块的 Phase 0 启动成功率从 ~60% 提到 ~95%,减少 4 个人工阻塞点。

Layer 2(待验证):智能提案——5 项

自动检测 coverage 平台期(N 轮 < 0.5pp → 切到 hole analysis)、自动生成 waiver 提案(分 risk 等级,ckpt4 仍然人审)、checklist 阈值自动通过。

Layer 3(远期):Checkpoint 瘦身——3 项

ckpt2/ckpt4 改为"例外 review"——只展示异常项。需要在 5+ 模块上验证后才推进。

绝不动的:Phase 2 架构决策、ckpt5 最终签字、Type 3 mismatch 裁定。加速人的决策,不替代人的判断——这是 skill 自我进化的红线。

这才是这套工具最有价值的地方:不是某一次跑出了 99.86% 的覆盖率,而是每跑一个模块,skill 自己就变得更好一点。Phase 0 的启动越来越顺畅,常见的坑被自动绕过,但 Phase 2 和 Phase 6 的判断层始终由人把控。Flywheel 的终态不是"完全无人",是无摩擦的 80/20——80% 的体力活彻底消失,20% 的判断力被精准投放到最需要它的地方


对行业的启示

芯片验证是 agent 闭环的天选甜区

大多数人的直觉:AI 在写文章、写业务代码、客服对话这些领域会先跑通。恰好相反

芯片验证同时具备两个绝大多数领域没有的条件:方法论可编码为 Phase(UVM 20 年积累的不是 SystemVerilog 语法手册,是一套可执行的工作流,每一层的输入输出都有明确契约)+ 反馈信号客观且即时(line/branch/functional coverage 是数字,mismatch 是数字,编译错误是枚举,仿真器是客观裁判)。

大多数 agent 系统做不出真正的闭环,根源正在第二条——它们没有一个客观、即时的裁判。写业务代码的 agent 跑完一段,谁告诉它对错?通常是另一个更大的模型或者人,两者都不够客观不够即时。"agent 闭环的甜区"不是能力问题,是结构性契合问题

Workflow Engineering:继 prompt / context engineering 之后的下一层

  • Prompt engineering 优化单次交互的措辞
  • Context engineering 优化单次交互的信息供给
  • Workflow engineering 优化的是:多 agent 协作、反馈信号设计、人机分工边界

这三个 skill 本质上是一次 workflow engineering 实践。它们的价值不在于"某个 prompt 写得好",而在于整个 8 Phase 的分层结构 + 人机边界 + 反馈回路设计。最值钱的东西不是某一个 prompt,而是"把 Phase 2 和 Phase 6 留给人"这个决定。

验证工程师的价值在上移

原本手做的 6 个 Phase 被折叠进 agent 的执行层。但 Phase 2 和 Phase 6 被加粗了——这两步承担的判断责任比过去重。过去你写十行 sequence,现在你写一条边界。写一条边界的时间比写十行 sequence 短,但权重大得多。被折叠的是体量,不是价值

一句话:你省下来的不是脑力,是体力;你需要增加的是判断力


我们的判断

这条闭环的核心价值不是"省了多少时间",而是四件事:

第一,三个 skill 串联证明了 agent 闭环能在芯片验证里端到端跑通。从 spec 读取到 sign-off 签字,不是 demo,是一个能复用的流水线。UVM 20 年积累的方法论不是 AI 时代的负债,是工业底座

第二,sign-off 过程中发现的 2 个采样 bug 比任何一个功能 bug 都有价值。debug-gated 信号让 functional coverage 永远是 0%——如果没有 verif-signoff-driver 的系统性 hole analysis,这个 bug 可能永远不会被发现,覆盖率数字会一直"看起来还行"。

第三,skill 自我进化把"一次性经验"变成了"可复用资产"。ITLB 踩的 11 个坑,7 个被编码进了 skill 的 Phase 0 逻辑。下一个模块跑同样的流水线,这 7 个坑不会再踩。这不是"用 AI 做了一个模块",是"用一个模块的经验升级了 AI"

第四,人和 agent 的分工边界被实践验证了。80% 无人在环 + 20% 判断力密集——这个比例在 ITLB 上被证明是可行的。Phase 2 的架构决策和 Phase 6 的语义裁定,目前看不到自动化的可能,也不应该自动化。

这套方法不是银弹。它最适合中等复杂度、规格清晰、方法论成熟的模块级验证场景。对于超大规模设计或规格模糊的场景,仍需人工深度参与。但这正是工具的价值——不是替代人,是让人知道自己应该把判断力花在哪一个格子里


延伸思考

按"方法论可编码 + 反馈信号客观"这两个条件看,有几个值得尝试的相邻领域:

  • 编译器优化:IR 一致性 + 性能 benchmark
  • 数据库 query planner:查询结果正确性 + 执行时间
  • DFT 设计自动化:规则库 + 测试覆盖率
  • 物理综合质量检查:时序、面积、功耗都是硬指标
  • RTL lint:规则库 + 规则违反数

另一个值得思考的方向:skill 自我进化的 flywheel。每跑一个模块,skill 就从中学到几条新规则。跑得越多,Phase 0 的启动越顺畅,人工决策点越少,但 Phase 2/6 的判断层始终由人把控。这个 flywheel 的终态不是"完全无人",是"无摩擦的 80/20"

(来源:内容转自公众号半拍Offbeat,作者:穆洋,谢谢

点这里👆加关注,锁定更多原创内容

*免责声明:文章内容系作者个人观点,半导体芯闻转载仅为了传达一种不同的观点,不代表半导体芯闻对该观点赞同或支持,如果有任何异议,欢迎联系我们。

推荐阅读

10万亿,投向半导体

芯片巨头,市值大跌

黄仁勋:HBM是个技术奇迹

Jim Keller:RISC-V一定会胜出

全球市值最高的10家芯片公司

喜欢我们的内容就点“在看分享给小伙伴哦~

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-14 19:23:59 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/523806.html
  2. 运行时间 : 0.104332s [ 吞吐率:9.58req/s ] 内存消耗:4,869.70kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e8fb95f755c40398badc4fb2a7dc09fc
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000548s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000907s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000357s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002758s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000660s ]
  6. SELECT * FROM `set` [ RunTime:0.000236s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000699s ]
  8. SELECT * FROM `article` WHERE `id` = 523806 LIMIT 1 [ RunTime:0.000528s ]
  9. UPDATE `article` SET `lasttime` = 1776165839 WHERE `id` = 523806 [ RunTime:0.015706s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000321s ]
  11. SELECT * FROM `article` WHERE `id` < 523806 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000640s ]
  12. SELECT * FROM `article` WHERE `id` > 523806 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000463s ]
  13. SELECT * FROM `article` WHERE `id` < 523806 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000967s ]
  14. SELECT * FROM `article` WHERE `id` < 523806 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001131s ]
  15. SELECT * FROM `article` WHERE `id` < 523806 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001864s ]
0.106002s