1984年,Ross Freeman提出了PLD的概念,有人说他疯了,这是对晶体管最不靠谱的浪费。
从1985年Xilinx的第一颗XC2064到2004年第一颗集成了PowerPC CPU的Virtex4 XC4VFX 用了整整二十年。这二十年做了一件看似很简单但却很重要的事情,就是加入为某种应用而特定需求的硬核,而不再仅仅是扩展Array的大小,增加资源种类。其背后本质的诉求是,使FPGA中的浪费变得越来越少,即便是浪费,也要靠谱的浪费。
基于Virtex4 FX版本的原型,随后又推出了65nm节点的Virtex5 FX版本,可是这条路并没有走通,在Virtex6上,并没有看到CPU的身影。
随着28nm节点的到来,一个响亮的口号“Generation Ahead” 喊来了7系列的器件,一颗Kintex 7把对手Altera打的满地找牙。7系列凭借宇瞻性的产品定义、优秀的架构设计、TSMC 28nm HPL工艺对成本和性能的控制、新一代Vivado开发软件的到来,Xilinx大学计划的推广、竞争对手的战略失误,可以说是集齐爆款的天时地利人合,确确实实的做到了领先一代。
就在人们讶异于Kintex 7所提供的优秀性价比的同时,2011年发布了Zynq 7000系列EEP器件。很少有人会记得EEP的缩写代表什么,就连Xilinx后来也很少提及EEP这个名词,但请记住这个名词 EEP = Extensible Processing Platform,这个名词的使命就是让晶体管的浪费变得最靠谱。Zynq 7000就仿佛是28nm这场世纪烟火中最绚烂的高潮,随着ARM Cotex A9的加入,一方面变获得了让FPGA走入更多行业的通行证,另一方面把Altera远远甩在身后,消失在后视镜里。
Ross Freeman在以这种让我膜拜的姿态审视XC2064 Layout的时候,一定没有想到让PLD器件大放异彩的竟然是加入了与之对立的Application Specified的单元。
2017年底,Xilinx又发布了RFSoC,这次又破天荒的将高性能ADC与DAC完美的集成在SoC当中。这个器件在无线通信会不会成功,目前不得而知,但是越来越多的朋友说他们在5G系统的设计中使用了这颗器件。
今年初,Xilinx迎来了第四任CEO Victor Peng。就在几天前,他带来了代号Everest的7nm新品。这次它有一个牛逼的名字ACAP——Adaptive Compute Acceleration Platform,这次它看到了新一代数据中心、自动驾驶等领域对于计算独特而又强烈的需求,一定又集成了什么,让晶体管浪费的越来越靠谱。
让我来大胆猜测一下,里面会增加哪些东西?
- NoC Tile:解放routing资源,让各个资源block变成可以寻址访问。难道不是这样才配得上叫Platform么?
- 用于部分重配置的加载逻辑单元:就是上图中的Programmable Engine,让复杂的分区重配置变得灵活易做。难道不是这样才配叫Adaptive么?
- 用于新一代计算的类DSP单元:为啥叫类DSP,因为它一定不再是传统的DSP48E,里面一定针对于xNN做了很多额外的优化。大概率是把SuperTile固化下来,做成2D甚至是3D的Array取代1D的DSP Tile。这样才配得上叫Compute!
- Quantum FPGA:Xilinx投资了一家叫efinix的公司,核心技术就是把LUT和Switch box做成同一个cell,这样可以把资源更灵活的使用与配置。以后FPGA的datasheet里就会对routing资源只字不提,各位看官也不需要为了routing过不去而苦恼了。这样美好的减少晶体管浪费的技术,Xilinx应该不会错过吧?!
随着7nm节点的释放,我们可以看到的是,Xilinx铁了心要和Nvidia Intel开战了。话说三分天下,合久必分,分久必合。Xilinx朝着XXX Platform的方向走下去,丫们一个做GPU的,一个做CPU的,必定输了!在维度上就输了!
最后,用一句话和一张图总结如今的FPGA与如今的Xilinx。
一句话是 FPGA依旧是FPGA,Xilinx却早已不是Xilinx。
一张图是 模拟教父 Bob Widlar的经典手势。
没有回复内容