发作品签到
专业版

PEX88096-PCIE4-Switch-GPU底板套件

工程标签

3.8k
0
0
13

简介

随着AI计算热度上升,多GPU运算已经趋势。但是高昂的GPU PCIE4底板价格还是天价,是时候出一套PCIE4 GPU底板来做搅屎棍了。

简介:随着AI计算热度上升,多GPU运算已经趋势。但是高昂的GPU PCIE4底板价格还是天价,是时候出一套PCIE4 GPU底板来做搅屎棍了。
星火计划2025
复刻成本:3000

开源协议

GPL 3.0

创建时间:2025-01-03 06:12:21更新时间:2025-03-03 03:16:05

描述

        随着AI计算热度上升,多GPU运算已经趋势。但是高昂的GPU PCIE4.0底板价格还是天价,是时候出一套PCIE4.0 GPU底板来做搅屎棍了。

一:前言,请仔细阅读。(如果你不阅读,我也不会回答你此类的留言和私信)

上面是PEX88全系列型号表,本项目说的就是这表里的PEX88系列零售版,版本都为B0。PEX88000系列本质只有2种封装。

PEX88096,PEX88080,PEX88064它们同一种封装,并且PIN TO PIN,只是通道阉割区别,使用的1MM BGA间距。

PEX88048,PEX88032,PEX88024它们同一种封装,并且PIN TO PIN,只是通道阉割区别,使用的0.8MM BGA间距。

前面开源过PEX88048,但是这个芯片现在已经很难买到,就算买到价格也不会PEX88096便宜多少。所以有88048需求的人大家都用PEX88096吧。(可以自我阉割当88048用,并不会有什么功耗差距,表格中的功耗指示是标准通道下的功耗,你固件阉割了通道,它功耗也不会变低。)

PEX88096市场目前存量较大,可以放心食用。

PEX88000全系列2种封装,除了PCIE通道数差异之外。非PCIE通道的其它信号都是一模一样的,无论PEX88024和PEX88096都一样设计。

本项目都是基础模式,如果你要其它模式请自行研究,我没有足够多的资料和规格书,无法给你帮助,也请勿私聊我。

我没有PEX89000系列的任何规格书和资料,也请勿找我要,什么都没有,如果你有,请发我一份。

PEX88048项目:PEX88048_8NGFF_GEN4_EVM - 立创开源硬件平台

PEX8796项目:PEX8796_PCIE_GEN3_24PORT_Switch - 立创开源硬件平台

PEX8748项目:PEX8748_2SLIMSAS_4NGFF_GEN3 - 立创开源硬件平台

如果你只是想学习怎么设计的可以看看以下视频。

在线用立创EDA设计PEX88096,从入门到冒烟!

在线手搓PEX8748,从入门到砸电脑!

二:本项目的成品实物和功能详解

1.本项目一次性设计了2个卡,分别是AIC型(PCIE直插型)和GPU底板型(PCIE间隔3槽,五条PCIE4.0X16母座)。

2.两个板子可以套娃使用,但是我个人不建议这么做,相对来说AIC搭配SLIMSAS转PCIE单转接板性价比更高。

3.PCIE4.0带宽比PCIE3.0大了2倍,已经不能像PCIE3.0那样随便延长随便拉线了,后面我会出对应的转接卡。

4.AIC和GPU都是PCIE4.0X16输入,支持PCIE4.0X16 5条输出,可以通过固件切换10条X8或者20条X4或者40条X2,或者80条X1。

5.GPU底板的上面的USB3.0和网络接口,是为测试PEX88000系列2条管理通道是否能够作为下游PCIEX1使用,答案是可以的。在这张板子上面没什么本质作用。GPU底板兼容ATX孔位。但是机箱后挡板要重新设计。(就是为机箱厂商快速制造机箱)

6.两张板子都是8层的板子,可以缩水成6层,没办法更低了。开源项目只是为了验证和演示。如果自己设计,我建议用6层就足够了。内层请使用1OZ铜厚(因为PEX88096 VDD09电流还是很大的。)

7.开源的板子我不建议直接量产,因为成本和其它因素。请你们自行重构,当然你不嫌弃贵,直接量产也是可以的。

8.开源只是为了让大家更好的学习和参考,目的并不是为了给白嫖党直接生产,所以部分韭菜总是留言,能不能做成这样,能不能做成那样。一样的原理,只是布局不一样或者只是换了接口,我是不会开源第二次的,没有任何意义。

9.本开源的2个板子。SLIMSAS设计的时钟和复位都必须在插入检测拉低才会正常发出,可能和市面上的一些转接板存在兼容问题(因为大部分转接板都不会设计严谨,这里我点名一下39.COM的SLIMSAS转PCIEX16的转接板。我拿来测试,复位怎么都不拉高,时钟怎么不出。我万用表一量,原来他把SLIMSAS的PRSNT1#拉低了,PRSNT0#在那悬空。。。。。。。)

10.本项目的SLIMSAS接口定义都是SFF-9402标准定义,BY TYPE上拉3.3V,可以作为同步启动用。REFCLK和PERST#都是对应的PRSNT#拉低才会输出,如果自行设计可以让复位和时钟一直输出,以便兼容更多的第三方转接卡。

AIC直接接SSD图:

GPU底板接显卡图:

AIC接GPU底板,GPU底板在接AIC卡套娃SDK框架图:

管理用的2个PCIE X1作为普通下游PCIE端口的工作图:

三:PEX88096信号引脚配置详解(PEX88080,PEX88064同样使用)

       1.JTAG引脚:JTAG调试接口,我没有调试工具,请自行研究

           TCK:上拉或者悬空(因为内部弱上拉)

           TDI:上拉或者悬空(因为内部弱上拉)

           TDO:必须悬空

           TMS:上拉或者悬空(因为内部弱上拉)

           TRST#:下拉或者悬空(因为内部弱下拉)

       2.UART串口引脚:UART信号串口,SDB调试串口,我没用相关工具。

           UART_TX,UART_RX:不用悬空,如果使用2K电阻上拉1.8V,如果接的串口工具非1.8V需要电平转换(NMOS或者专用芯片)

           SDB_TX,SDB_RX:不用悬空,如果使用2K电阻上拉1.8V,如果接的串口工具非1.8V需要电平转换(NMOS或者专用芯片)

       3.工厂测试和保留引脚:对于你来说没用,按照规格书配置。

           PAD_TRI_L:上拉或者悬空(因为内部弱上拉)

           DFT_IDDT:下拉或者悬空(因为内部弱下拉)

           DFT_TN:上拉或者悬空(因为内部弱上拉)

           DFT_SHIFT_CLK:必须下拉(因为内部弱上拉)

           DFT_SCAN_ENABLE:拉或者悬空(因为内部弱下拉)

           SPARE0-5:拉或者悬空(因为内部弱下拉)

       4.DBG配置引脚。

           DBG_SEL0-1:设置外部调试DBG工具,内部弱下拉,此时为博通的JTAG调试端口信号,不用请悬空.

           DBG_MODE0-4:下拉或者悬空(因为内部弱下拉)。如果DBG_MODE3-4下拉,禁用DBG调试,则DBG_MODE0-2引脚电平无效。

       5.DSGPIO信号。

           SGPIO0_CLK,SGPIO0_DIN,SGPIO0_DOUT,SGPIO0_LOAD,SIO_BLINK。我不知道如何使用,也没工具,悬空。

       6.以太网管理网络引脚。

           ENET_125M_IN,ETH_PHY_CLK_OUT,RGMII_MDC,RGMII_MIO,RGMII_RX_CTL,RGMII_RXC,RGMII_RD0-3,RGMII_TX_CTL,RGMII_TXC,RGMII_TD0-3. 是的,和服务器的BMC的管理网口是一样的,用的RGMII,我没有管理的开发资料,请悬空。

       7.I2C信号接口。

           I2C_SCL0-5,I2C_SDA0-5. PEX88000提供了五组I2C,如果使用需2K电阻上拉1.8V,连接3.3V电平的I2C需电平转换。I2C_SCL2和I2C_SDA2是配合SHPC_INT#热插拔专用端口。(本项目未使用任何I2C,可悬空)

       8.SHPC_INT#热插拔中断引脚。

           拉高或者悬空(内部弱上拉),本项目中未使用。如果你不知道怎么使用,那就不要问,因为我也没用过,和87系列的使用方法一样,搭配单片机连接I2C_SCL2和I2C_SDA2扩展IO口,用单片机输出控制串口热插拔相关信号,实现对下游设备的热插拔。

       9.SYS_ERROR#系统报错引脚。

           当PEX88000出现问题(具体那几种错误情况请看规格书),或者SBR配置有问题,不能正常运行时,它会拉低,默认开漏输出,如果接LED指示灯,请通过双NMOS NPN或者其它方式转换电平。不用可以悬空。

       10.ADCTEMP引脚。

           ADCTEMP0_VINP2,ADCTEMP0_VINP3. 内部ADC的模拟电压输入,不清楚干什么用的,本项目未使用,可悬空。

       11.GPIOA引脚。

           GPIOA0-GPIOA31:GIPIOA 32个端口需要在SBR自行定义,默认的定义功能未知,没有相关具体资料,不用可悬空(内部弱上拉,可以在SBR里面可以转换电平状态)。

       12.EXT_GPIO_LATCH# 保存GPIOA状态,本项目未使用,悬空

       13.SPI_FLASH引脚。(PEX88000系列必须要通过外置FLASH里面的SBR固件才能运行)

            基础模式下FLASH只有SBR作用(SBR就理解为主板BIOS你设置选项的寄存器,PEX8800本身功能在芯片内部,),只配置SBR,4K容量以上的25系列FLASH即可,只支持1.8V的电压型号,3.3V的型号需要转换电平不可直接使用。

               SPI_FLASH_CS#:主片选引脚,如果你只有一个FLASH,只用这个片选引脚就行了,需要10K电阻上拉1.8V。

               SPI_CS0-3#:次片选引脚,多个副FLASH的片选,不用悬空,使用需要10K上拉1.8V,接入对应的FLASH。

               SPI_RST#:SPI复位,如果FLASH复位引脚被IO复用,悬空即可。如果FLASH有单独的复位引脚,并且没有被IO占用,接入FLASH复位,需要10K上拉1.8V。

                SPI_SDIO0-3:连接四速25系FLASH IO0-3.如果是单速FLASH或者双速FLASH,IO2和IO3悬空。不要上拉或者下拉任何电阻。

       14.MODE_SEL,模式配置引脚。

          MODE_SEL0-8默认全部是弱下拉。MODE_SEL3-8只有在没有正确的SBR下才会生效,正常加载SBR固件,这些引脚无作用。(就是你SBR正常运行时候,这些MODE_SEL3-8引脚无论什么电平和状态他都没有任何作用。

              MODE_SEL0:低电平从SPI_FLASH_CS#片选FLASH加载SBR配置,高电平从SPI_CS0#片选FLASH加载SBR配置。

              MODE_SEL1:低电平开启SBR加载。高电平关闭SBR加载。

              MODE_SEL2:设置串口SDB和UART速率,低电平115,200 b/s,高电平19,200 b/s

              MODE_SEL3:当SBR未加载成功时候,默认PCIE采用的时钟模式:低电平SRIS,高电平SSC隔离模式。

              MODE_SEL4-8:当SBR未加载成功时候,默认哪个端口作为UPS,6-8定义STATION,4-5定义PORT(无正确SBR时候,PEX88系列所有STATION都以四个PCIEX4状态存在。)

     15.复位和时钟引脚

           一:SYS_PWR_ON_RST#和SYS_REFCLK为芯片主复位,和主时钟。如果是新手,就把它当PEX87系列的PEX_PERST#和PEX_REFCLK就行了。

          当你只作为PEX_PERST#和PEX_REFCLK。SYS_PWR_ON_RST#需要1.8V的高电平。它拉高的条件时机条件有三个:{1.VDD18和VDD09稳定100MS后}

{2.HOST(上游的PCIE输入)的PERST#拉高}

{3.REFCLK时钟已经稳定输入}

          二:Sx_PCE_PERST#,Sx_PCE_REFCLK是可选的信号和时钟,它们一一对应有四组,通过多个HOST输入使用,如果要使用:

       {SYS_PWR_ON_RST#在VDD18和VDD09稳定输出100MS后拉高。}

       {SYS_REFCLK输入独立的时钟发生(SRNS或者SRIS)}

       {Sx_PCE_PERST#接入对应HOST输入的PERST#(需转成1.8V电平)}

       {Sx_REFCLK接入对应HOST输入的REFCLK}

       16.PCIE通道信号:

           PET0-PET95,PER0-PER95为主PCIE通道。0-15为STATION0,16-31为STATION1,32-47为STATION2,48-63为STATION3,64-79为STATION4,80-96为STATION5。这些端口都可以配置X1,X2,X4,X8,X16任意状态,都可以作为上游或者下游,都可以作为管理通道。

           PET96-PET97,PER96-PER97为管理用的PCIE通道。这2个端口是固定X1,可以作为下游,也可以作为管理端口。不可作为上游。

           这些PCIE通道,可以参考SYS_REFCLK和 Sx_REFCLK任意一个时钟。

四:SDK配置SBR固件和固件的刷入

       1.PLX的SDK软件在博通官网就可以下面。

     下载地址:https://docs.broadcom.com/docs-and-downloads/plx-files/Broadcom_PCI_PCIe_SDK_v8_23_Final_2020-11-18.exe

      编辑SDK文件需要对应的授权KEY,你有87系列的授权,是不能配置88系列的,如果你有博通PEX88000 SDK的授权,用SDK打开我的基础固件,然后请按照下面的配置(直接输入,我已经给你们进制算好了),其它都不需要动。

     没有PEX88096授权KEY的,没有以下选项,没有以下选项,没有以下选项!

编辑完了保存,如果遇到YES就YES。编辑好的SBR不可以直接用编程器刷入,在前前面0-400的位置全部填充FF才可以编程器直接刷。

         2.如果你没有授权,那就自己去找XX版,因为法律问题我这里无法演示。或者你直接用编程器刷入对应我配置好的固件。附件中的PEX88096_SBR压缩文件就配置好的SBR,编程器直接刷就刷SPI后缀的,SDK打开的就打开SDK后缀的。

         3.刷入固件,可以在SDK下面刷入(不需要授权),也可以编程器刷入好了在去贴。初始化SDK刷入,你需要主板有完整的PCIEX16接口,并且X16全速,并且MODE_SEL配置正确。编程器刷入,你要刷好了在焊接上去,编程器要支持1.8V,如果不支持在淘宝买个3.3V转1.8V的转接板。编程器刷入不可用直接刷入SDK编辑固件,前面0-400要填充FF。

五:芯片供电

       0.9V需要38A的电流,OCP给到45A以上(过流保护)。1.8V需要7A的电流,OCP给到10A。

六:关于PCIE参考时钟问题。

               1.PCIE参考时钟有共用的时钟,有独立的时钟。PCIE参考时钟也分无展频模式,有展频(SSC)模式。这样搭配就引出四中构架。(也有叫扩频的,都是一个意思)

               【通用时钟】缩写【CC】

               【带展频通用时钟】缩写【CCS】

               【独立基准无展频】缩写【SRNS】

               【带基准无展频】缩写【SRIS】

                       展频就是为了降低 EMI,而把时钟频率降低0%-0.5%(PCIE时钟展频只有向下展频。至于你需要哪种时钟结构方案,是要经过多方面考虑的,并不是说什么什么时钟结构就好。通用时钟它方案便宜,因为一般的普通时钟缓冲器就能解决。但是它的缺点就是拉的太远(通常你用8654线什么的拉出去),它时钟信号就会衰减变差。独立基准的时钟,成本更高(因为支持SRIS并且达到PCIE4.0要求的通常不便宜,5.0的更贵的,最主要的是很难买。)

              2.并不是所有的PCIE时钟发生器(独立基准时钟用的发生器)和时钟缓冲器(一分多路)都是一样的。PCIE时钟都信号是HCSL 100MHZ信号,HCSL又分LP HCSL和普通的HCSL。LP HCSL顾名思义就是低功耗的(通常这种信号的时钟没有外接串联电阻和下拉电阻,且一个时钟又分85 100阻抗2个小型号)。普通的HCSL时钟芯片(一般需要外接串联或者下拉电阻,也有部分不加的,以规格书为准。PCIE时钟芯片不一定都是100OHM阻抗差分的,也有85的。因为它是电流型信号,所以它的阻抗是和输出电流挂钩的,有的HCSL输出时钟芯片,是支持切换电流改变阻抗的。有的则是固定死的,这时候你设计的阻抗和它不匹配,会导致一些些反射(并不是就不能用了。)

       3.选购的时钟芯片需要满足PCIE GEN4的抖动需求 MAX 0.5ps RMS

七:关于PCIE的一些本身特性和PEX的一些特性

       PCIE的差分数据信号是强制支持极性翻转的(说人话就是不分极性),包括REFCLK参考时钟,都不分极性,强制的!和PEX无关,任何PCIE设备,任何PCIE控制器,任何PCIE芯片,都支持!都不分极性。你可以全部极性对调,也可以只调他们其中的任意一对。

         PEX的PCIE通道,全部都支持链路翻转。就是0-3接设备的3-0反过来。链路翻转一翻整个PORT翻。

         PERST#信号:PERST#就是PCIE的复位信号,PCIE的供电准备好了,参考时钟REFCLK工作稳定了,PERST#拉高告诉设备我OK了!就这么简单。

         REFCLK:就是PCIE的参考时钟,就是传输过去给下游设备的TX信号用来做基准,和你USB HUB主控单片机那些用的晶振是一样的,只不过PCIE对于时钟要求同步需求更高,所以采用REFCLK差分线传输过去。你直接在主控旁边用晶振通过时钟发生器,生成100MHZ REFCLK也是可以的,这就是SRNS时钟结构,只不过这些时钟要求比较高而已。

八:PCB设计事项

       差分线就是差分阻抗线,就是2条单端阻抗线,平行一起走线,两条单端阻抗线互相产生阻抗作用,所以叫差分阻抗线。共面差分阻抗线,就是不仅这两条线互相产生阻抗影响,也和两边的铜皮产线了阻抗影响,这就是共面差分阻抗。并不是你通过工具计算出来的阻抗,它就是你生产出来的。工具计算的值,只是理论值,因为你的线的模型是理论模型,比如一个完美的梯形,实际生产出来的它不是完美模型,不是完美梯形,一整条线,放大了看,他也会有粗有细,有塌方的地方。工具计算的线宽线距只是用来给你留互卡余量的。实际你生产的阻抗靠的是PCB厂商CAM的调整(他们知道自家哪条生产线生产出来的成品和图档偏差多少,然后通过经验补偿生产图档,如果你想要更高的阻抗精度,就等第一次打样出来之后继续微调补偿。)

        并不是说你的阻抗值对了,你的信号就好了。阻抗匹配实际上代表整个大尺寸任意一点的特性阻抗。你们常说的测试阻抗值,它是测的一整条线的长度的阻抗值,这个值是没有太大意义的。在特性阻抗值确定的情况下,要的是阻抗的均匀性,带宽越高,这个均匀性越低。(带宽越高,阻抗的不均匀性会带来更大的影响。)阻抗均匀度并没有直观测试方法,因为板材的特性阻抗固定,所以影响它的就是三次元平均度(线宽线距铜厚俗称三次元。)至于说这条差分阻抗线是85OHM还是90OHM,对信号影响无关紧要。就是一些新手无法理解阻抗特性是怎么来的,就死记经验值,看别人的视频,大家都知道阻抗不匹配会产生反射。那些测试视频为了给你讲解,都是阻抗从50突然增加到100 200甚至更大。实际压根不存在这么大的阻抗突变,所以反射也不会像讲解视频那种超高反射。你85-90反射基本忽略不计。但是你这条线阻抗均匀度低,它中间无数的细微反射堆叠在一起,眼图的眼宽就会淹没的更高。所以不要再去纠结这个阻抗具体值是多少,具体值85还是92,都无关紧要,要的是均匀度。

      还有一些人认为PCIE5.0 4.0就应该用更高级的板材,如果你忽略上面的这些话,你单纯的换更高级昂贵的板材是没有意义的。你用以前的那套经验法则,就算你换了高级板材也补救不了多少。换板材提升是很小的,都是PCIE5.0那些走线过长,没办法只能去扣细节。现在PCB对于超高速到了瓶颈期,本质最大的损耗还是蚀刻这种方式本身的限制。从其它方面扣细节还补偿。我们大部分情况下,没办法做一个特制的叠层,都是嘉立创或者其它接散活的PCB工厂,下单都用的他们自己的推荐常规叠层。这些都是不可能,所以能做的尽量就是走线要短。只要距离短,铁丝跑万兆。

      就是很多人没接触过PCIE之类的,就是以太网什么的,别说千兆,就算是万兆,对于PCIE 1.0来说都不是一个层面的,万兆以太网对于线路的需求还没有USB2.0大。所以你们从设计以太网转过来的人,不要用以太网那套经验法则往这上面套。

     阻抗线路的损耗,好比你跑步,还是开汽车,在泥巴路上和在沥青公路上。你跑步在泥巴路和沥青路上是没有速度差别的。泥巴路不影响你跑步速度,或者说忽略不计。但是你开汽车,速度越快泥巴路对你的影响越大。带宽和阻抗也同样道理。它的损耗程度上跟你带宽速度成正比的。并不是固定值。

    金手指下面挖空,耦合电容下面挖空,母座焊盘下面挖空,都是用来增加阻抗值的,缓解阻抗突变的,这些都属于扣细节。你单做每一项并不能带来多少提升。

     挖空就是挖空差分线的焊盘或者金手指,下面的临近一层,让它去和在下一层去参考,挖空的下面一层必须是一整块铜不可分割这个和正常的参考层是一样的。这样能增大阻抗值,来缓解阻抗因为焊盘或者手指带来的阻抗变低突变。过孔也是。(很多新手对阻抗概念理解不够深入,以为只有走线才有阻抗,你和你女朋友站在一起越近阻抗低)。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
9DML0451四输出固定85差分阻抗双输入LP HCSL时钟切换器.pdf
41
2
Broadcom_PEX88096_Data Sheet_V2_4.pdf
50
3
9FGV0241双输出固定差分100阻抗LP HCSL时钟发生器.PDF
34
4
9ZXL0651-9ZXL0851六输出八输出固定85差分阻抗LP HCSL时钟缓冲器.pdf
33
5
PCIE时钟结构.png
38
6
PCIe5.0CEM官方白皮书(PCIE卡外形和供电).pdf
41
7
PCIE时钟详解.pdf
65
8
tca9548a八通道I2C开关切换器.pdf
26
9
tps3808可编程延迟复位芯片.pdf
27
10
U10A474250T-SLIMSAS 8I卧贴母座.pdf
26
11
W25Q32JW-1.8V 32MB SPIFLASH.pdf
31
12
PEX88096_已经配置好的SBR.zip
4
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航