- 回答1
首先,PCIe分为控制器(controller)和PHY两部分。控制器是数字电路,PHY包含PCS和PMA两部分,PMA是模拟电路。控制器主要负责pcie协议包处理,phy主要负责数据编码和串行化高速传输。国内应该有公司做出相应的phy芯片(例如芯动科技、牛芯半导体),毕竟常见的pcie 3.0才8Gbps的速率,最新的6.0才64Gbps。
回答这个问题,国内当然能够自研出pcie控制器。哪怕再不济,可以先买个synopsys pcie ip,能直接看到源代码,然后再改造吸收,最后做到完全自研。
但是,实现自研还不是终点。如果自研的目的不是仅仅自己使用的话,我认为最难的地方是商业化。芯片行业里,别人买你的IP,首先你要证明自己的IP有多可靠,在什么工艺节点下成功流了多少次片等。另外,比较重要的一点是,pcie控制器的兼容性。pcie协议很复杂,很多特性不是每个控制器必选的。简单理解为有很多配置,配置空间非常大,那么控制器在不同配置下是否都能正常工作,是否与其它家的pcie设备兼容。虽然synopsys的pcie控制器做了那么久,都不敢保证这一点。隔一段时间就会有版本更新,并罗列下在哪种配置组合下、哪种触发情况下,会有什么样的问题。
另外,从linux上pcie驱动代码上看,博通、高通、海思等公司都是采用的synopsys的pcie控制器。但这些大厂现在有没有自研的pcie ip我就不清楚了……
- 回答2
国内也有专门的IP设计公司,你说的这几个接口都有做,也都成功商用了。不是一说到买IP就是和外企做生意,就是买办。但因为这些接口是数模混,所以不同foundry厂的不同工艺都要单独去设计匹配,国内的IP厂确实还不像synopsys等大厂那么全,你要的工艺下不一定有。
SOC公司基本上没有做这个的,SOC和MCU这类芯片,主要的竞争点就是恰到好处的架构设计和对应用需求的精准把握,然后用最快速的反应去抢占市场,买成熟IP去集成是常规也是比较合适的方式。自研一个PCIE的成本,比买一个回来只会高得多,这还不算时间成本;另外质量风险也要大得多,IP公司的东西能拿出来卖的,基本都是经过千锤百炼了,自己做,你准备花几个版本去验证?
当然,现在很多公司为了吸引人才,或者为了吸引投资者,总要想出一个看上去比较牛逼的东西去讲故事,自研PCIE这个东西说吸引投资还是欠了一点,但拉几个不明真相的有志青年,还是够的。
- 回答3
自研controller当然可以,但难点是phy啊(当然,mac子层也很重要,但国内专门做pcie switch的公司应该还是少数,我甚至怀疑cpu内部的IO HUB带宽放开后,第三方商用的switch都可以不需要...因为IO HUB本身就能承担这部分功能)!
不管是gen3/4/5,最终承载链路带宽的都是phy,phy当中除了大量用于计算链路训练的算法逻辑以外,还有serdes这种analog的部分,串并转换可都是在这里完成的。
知道国内serdes方向的工程师现在什么价格不?两三年前,一个工作五年的做serdes的工程师在南京基本就是100w起...比同level的digital工程师贵多了。关键这种工程师,有钱还不一定招的到,市面上少的可怜(我可没推荐转模拟昂)。
如果phy用的是第三方IP,那自研controller的意义就不是很大。怕被卡脖子?放心,真到那一天,被卡脖子的绝不是controller。
如果是追求极致的性能,国内有些公司确实会自研controller,主要是基于之前购买的IP做二次开发,目的嘛是当然是为了更好地适配自家的总线架构,达到与host之间通信的最优性能(如果是自家的芯片搞片间互联,使用pcie的底层结构,并非是最优解,要不NVIDIA为嘛要搞nvlink)。