“各位教授,各位老师,大家好,非常感谢大家能抱着对我的信任加入我们EDA项目组。今天这个会议就是大概讲述一下我们这款极简EDA的设计理念,已经对大家接下来的工作做一个分工。”
实验室四楼小会议室里,宁为正在给项目组的众人做着报告。
压力还是有的。
毕竟除了余兴伟外,年纪最小的也都大了他一轮。
“这么说吧,对于我们项目组即将设计的这款EDA软件,并没有大家想象中的那么复杂。我把它称之为面向对象的EDA软件设计。”
“在这里我先假设每一个由现有技术能够制作出的结构都是一个对象。这些对象我将之分成了四种类型。”
“它们分别是元,即现有技术能够制作的最小结构单位,这个单位是可以随着技术的突破而更新的。”
“组,若干个元彼此连接、排列形成的具有单一功能的结构。
“群,若干个功能相同或不同的组彼此连接、排列形成的能够独立完成某一特定功能的结构。”
“容器:用以承装元、组或群的结构。”
“每一个对象要都包含属性和函数两部分。”
“属性不仅包含该对象的物理属性,如尺寸、大小等,还包含该对象的索引与表示属性,如代表符号、统一序号等,还包含了该对象的布局属性,如连接方式和排列方式等。函数则必须有输入参数和返回值,是对对象功能的描述,如单项导通、放大、截止等。”
宁为对照着昨天赶出的PPT,给项目组成员表述着他的基础设计理念。
“从这种视角,大家应该看出我们的EDA设计思路其实很简单,一方面我们要让操作者很轻松的将代表不同类型对象的符号在设计界面上进行定位和排列并进行接线;另一方面,操作者的所有操作实际上是计算机后台将对象的函数彼此串联调用,最终形成一个大函数过程。”
“以上是对设计过程的要求。同时,我们的EDA软件要具备仿真功能。EDA仿真过程是向大函数过程输入参数并记录反馈结果的过程,也包括对各个子过程之间传递的参数和返回值的监测。
“EDA实例化过程需要将对象的布局位置和排列方式生成运行脚本以便控制光刻机进行生产和制造。”
“由以上需求,我们直接引导出软件结构。”
“对象库:用于定义现有的对象并保存未来新设计的对象。”
“函数库:用于保存现有或未来新增对象的函数。”
“设计界面:用于对对象进行布局、排列和连接。”
“函数连接:用于将排列和连接的对象的函数按照排列和连接的方式进行串联和调用。”
“仿真与监控:用于向结构发送参数并检测各个函数节点的返回值。”
“生产函数:用于将对象的布局、排列和连接进行脚本化提供给光刻机用于生产。”
“除此之外,因为这是一款全新的EDA软件,我们没办法依靠外设接口来引入外挂程序,所以我们还要有一个跟其他EDA区别开的库。这个库跟对象库相对应。我们每设计一种结构,便要为这一结构更新一个指令集跟配套的函数。”
“换句话说,我们每针对某个特定问题设计的芯片,都要有全方位的支持。这也是我们的产品差异化竞争之所在。我们的产品并不只是面向特定的大厂专业EDA设计人员,我的初衷是要让一个小学孩子,在看过说明书后,都能够用我们的软件设计出能用的芯片。”
“在我们的软件推出之后,由专业人员设计出的结构跟配套的指令集、函数再经过验证跟审核之后,也可以同步到我们的库中。”
“这里又对我们的产品提出了一个要求,就是要内置一个对结构的逻辑判断能力。简单来说就是所求即所得,换句话说,用户只需要能够比较准确的描述出需求,我们的软件就能自动给其推荐能完成这一需求的架构跟配套的配置文件!”
“想来大家已经明白这款软件的设计理念了。那就是简单,足够的简单,就几乎不需要任何推广成本。”
“大家还有什么问题吗?”
……
项目组成员们面面相觑。
因为人在局中很难想象这么一款EDA软件开发出来的意义在哪。
给小朋友当玩具么?
没错,简单是能省掉许多的推广成本,但也意味着这玩意实用价值不高啊!
首先是几乎不能设计跟仿真大型复杂的通用芯片,比如CPU、GPU。
另一个就是应用层了。
宁为的意思是要绕开现有的各种架构跟指令集,又牵扯到兼容性的问题。
实际上现阶段AI芯片本就有现成的解决方案,比如FPGA。
跟宁为的构思不同,FPGA直接就可以理解为一种万能芯片,有着统一的结构。
用户通过烧入 FPGA 配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言对 FPGA 的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。
这种方式显然比宁为设计的这种ASIC模式更具性价比。虽然FPGA也有自身的缺点,比如性能比不上 ASIC 芯片,价格也比 ASIC 芯片更高。
原因是现在各种人工智能的深度学习算法正处于快速发展期,迭代极快,如果照着宁为的想法每种结构都要设计对应配套的最优化可烧录配置文件,也就意味着每次算法更迭,都要在对象库里更新新一代的专用芯片结构。
一旦更新慢了,就落伍了……
所以整个项目组没几个人看好这款EDA软件的前景。
但每个人的想法却又有不同。
有的人觉得无所谓,反正拨款下来了,不管怎么样,大家都多少都能赚点。至于这款软件有没有实用价值,也没啥好在意的。
反正是专项拨款,不用白不用。
但也有人觉得这样不妥。
公家的钱也是钱,现在实验室的盘子就这么大,在他们的项目上用的多了,别的项目就要削减资金。
把这钱用在注定没什么价值的项目上,其他有价值的项目怎么办?
于是沉默过后,有人发出了不同的声音。
“宁为,能不能解释下,设计这款软件的初衷是什么?实用价值又在哪里?”