让高性能计算芯片设计与CXL规范修订保持同步
【导语】在当今高性能计算领域,Compute Express Link®(CXL®)标准已成为确保处理器、存储和加速器之间快速可靠通信的关键。作为CXL联盟的活跃成员,SmartDV Technologies凭借其在设计和验证IP方面的丰富经验,致力于帮助工程团队应对CXL标准的不断演进。本文将由SmartDV资深应用工程师Ettore Giliberti深入探讨CXL VIP在支持CXL 3.0规范时所面临的技术挑战和工程考量,并分享SmartDV如何为客户提供高质量的、符合规范的VIP解决方案。
作者:Ettore Giliberti,SmartDV Technologies资深应用工程师
在当今的高性能计算领域,确保处理器、存储和加速器之间快速可靠的通信对系统性能和可扩展性至关重要。因此,就诞生了Compute Express Link®(CXL®)标准:其目标是实现一致的内存访问、低延迟的数据传输,以及(jí)不(bù)同先进架构之间的无缝互操作性。
作(zuò)为(wèi)CXL联盟的活跃成员,SmartDV Technologies在设计和验证IP方面拥有数十年的专业知识,可以帮助工程团队了解不断发展的标准。我们符合规范的VIP产品组合使团队能够充满信心地采用最新的CXL版本来加速开发,同时保持鲁棒性和准确性。
随着CXL规范的快速演进发展,在对越来越多围绕它所打造的设计进行验证时,所使用的工具和构建的基础架构也必须同样迅速发展。维护与新规范的修订(dìng)保(bǎo)持同步的验(yàn)证(zhèng)IP (VIP)不(bù)是(shì)一(yī)项(xiàng)小(xiǎo)任(rèn)务(wu),特(tè)别(bié)是(shì)处(chù)理(lǐ)从(cóng)CXL 2.0到(dào)3.0的(de)主要(yào)版(bǎn)本(běn)转(zhuǎn)换(huàn)。
作(zuò)为(wèi)全球(qiú)领(lǐng)先(xiān)的VIP和定制IP解决方案提供商,我们在SmartDV Technologies亲眼目睹了VIP的快速适应能力的重要性,它们需要能够覆盖不同的版本,同时还要保持稳健性和准确性。这篇技术文章探讨了这些更新带来的技术挑战和工程考量因素,并引用了最近在支持CXL 3.0实际工作项目中所积累的示例。
持续演进的需要
基于CXL的硬件在流片前的验证既复杂又要求苛刻,因此(cǐ)VIP必须能够准确地模拟互连的主机和设备端,并提供可靠的协议检查器来验证系统行为。
功能强大的VIP基础架构对于构建可靠的验证IP和随着规范的发展而实现快速更新至关重要。下面的图表说明了SmartDV的 CXL VIP所采用的高级架构。
图1:SmartDV CXL VIP功能原理图
随着CXL规范的更新,VIP也必须进行相应的升级,且通常要求在紧迫的时间内完成。
例如,从CXL 2.0到3.0的版本转换引入了一些重要的更改,这就需要对VIP进行大量更新,包括功能和协议处理。
关键变更和实施挑战
- 支持256字节的数据Flit(流控制单元)
在CXL 3.0版本中,协议的Flit现已可支持256字节的数据,而CXL 2.0只支持68字节的数据。这带来了一些架构上的变化:
- 信用值(LLCRD),以前在单个Flit单元中传输,现在通过使用2字节字段(字节数为240-241)直接嵌入到协议Flit中(zhōng)。
- 在(zài)传(chuán)输一个非空的协议Flit之前,请求、响应和数据(Flit类型为cache/mem)的初始信用值需要在协(xié)议(yì)Flit中(zhōng)公(gōng)布(bù)。
- 公(gōng)布(bù)的(de)信(xìn)用(yòng)值(zhí)反(fǎn)映(yìng)了(le)当(dāng)前(qián)接收缓冲区的可用性。
- Flit格式增强和循环冗余校验(CRC)处理
CXL 3.0引入了三种类型的Flit格式:
- 标准的256字节
- 延迟优化的(LO)Flit
- PBR Flit
延迟优化的Flit需要以不同的方式去计算CRC。前8个数据槽(122字节)需要在数据槽7 (6字节)中放置一个CRC,而其余数据槽(116B)需要一个单独的CRC。这种双重CRC结构要求在VIP内部要有精确实现和验证。
此外,现在的ARB/MUX链路管理数据包(ALMP)Flit包括CRC和前向纠错(FEC),而不再如CXL 2.0所要求的那样,为了完整性目的而需要复制数据。虽然这种改变简化了物理层表示层,但它将CRC/FEC管理的责任转移到协议栈中的一个全新位置。
- 内存一致性和反向无效处理
CXL 3.0通(tōng)过(guò)支(zhī)持(chí)M2S反(fǎn)向(xiàng)无(wú)效(xiào)窥(kuī)探(tàn)(Back-Invalidate Snoop, BISnp)通(tōng)道(dào)改(gǎi)进(jìn)了(le)存(cún)储(chǔ)协(xié)议(yì)行(xíng)为(wèi)。在(zài)CXL 2.0中(zhōng),设(shè)备(bèi)到(dào)主机(jī)(device-to-host,D2H)的(de)请(qǐng)求(qiú)在(zài)等(děng)待(dài)M2S进(jìn)程(chéng)时(shí)可(kě)能(néng)会(huì)阻(zǔ)塞(sāi),从(cóng)而(ér)限(xiàn)制(zhì)了(le)架(jià)构(gòu)选(xuǎn)择(zé),无(wú)法(fǎ)使(shǐ)用(yòng)诸(zhū)如(rú)内(nèi)含(hán)式(shì)窥(kuī)探(tàn)过(guò)滤(lǜ)器(qì)(Inclusive Snoop Filter)等(děng)手(shǒu)段(duàn)。通(tōng)过(guò)BISnp而(ér)不(bù)是(shì)CXL.缓(huǎn)存(cún)通(tōng)道(dào)来(lái)解(jiě)决(jué)一(yī)致(zhì)性(xìng),CXL 3.0支(zhī)持(chí)更(gèng)灵(líng)活(huó)和(hé)高(gāo)效(xiào)的(de)存(cún)储(chǔ)架(jià)构(gòu)。
- 重(zhòng)试(shì)机(jī)制(zhì)被(bèi)移(yí)至(zhì)物(wù)理(lǐ)层(céng)
CXL 3.0中最重要的变化之一是将重试机制从链路层重新迁移到物理层。在CXL 2.0中,通过使用链路层中的本地和远程状态转换来管理重试。现在在CXL 3.0中,重试是通过一个Flit序列号握手系统来处理的。
全新的重试机制的主要特性包括:
- 新增传输端重试缓冲区,可用来存储所有协议Flits(CXL.io, CXL.cache / mem ALMP)。
- 基(jī)于(yú)序(xù)列(liè)号(hào)的(de)、由(yóu)确(què)认(rèn)驱(qū)动(dòng)的(de)缓(huǎn)冲(chōng)区(qū)清(qīng)除(chú)。
- 选(xuǎn)择(zé)性(xìng)否(fǒu)定(dìng)确认(NACK)重放:能够重传特定的Flits,而不是重播所有未被确认的片段。
- 标准回放:所有等待确认的Flit的完整回放。
结语
为支持全新的规范修订版本,开发和更新CXL通用验证方法(UVM) VIP并(bìng)不(bù)是(shì)一(yī)项(xiàng)简(jiǎn)单(dān)的(de)任(rèn)务(wu)。即(jí)便(biàn)有一个功能强大的、可重用的VIP基础架构,深入的领域知识和大量的工程工作也是必不可少的。为了让您了解所涉及的复杂性和所需时间,CXL 3.0主要的版本更新可能需要的工程工作量如下:
- 将重试机制迁移到物理层:需要4周时间
- 增加对256字节Flit和(hé)相(xiāng)关协(xié)议(yì)更(gèng)改(gǎi)的(de)支(zhī)持(chí):需要5周时间
这些时间估算都假设任务全部是由经验丰富的工程师负责,他们非常熟悉现有的VIP和(hé)CXL协议栈。
构建一个可扩展的、可自(zì)适(shì)应(yīng)的CXL VIP不仅仅是编码工作;它也关系到对规范变更的预测和构建体系结构,从而适应未来的增长。
SmartDV Technologies凭借其在设计IP和(hé)验(yàn)证(zhèng)IP两(liǎng)个(gè)方面都具有的丰富经验,为工程团队提供适用于像CXL这样的先进协议的高质量的、符合规范的VIP。随着标准的不断演进,SmartDV仍然致力于帮助客户保持领先地位。
相关链接
CXL验证IP(https://www.smartdvtech.com/products/cxl-vip/)
申请数据手册及申请评估(https://www.smartdvtech.com/contact_us/)
与我们在ICCAD 2025上现场交流
SmartDV将参加于2025年11月20日-21日在成都·中国西部国际博览城隆重举办的“成渝集成电路2025年度产业发展论坛暨第三十一届集成电路设计业展览会(ICCAD-Expo 2025)”,并将在现场介绍公司的设计IP和VIP产品。欢迎届时前往展会现场与我们交流,SmartDV展位号为D91。如希望与我们进行现场交流,预约与SmartDV团队在ICCAD 2025见面,请发邮件至:info@smartdvtech.com。