手机在旁边不停的震动,但宁为仿若未觉。
最近一段时间,湍流算法那边他几乎完全放下了,全身心的投入到了eda软件这块。
到不是湍流算法那边已经没问题了,实际上之所以这个项目一直在实验室里进行内测,还没有对外联系进行大规模公测,也是因为遇到了技术瓶颈。
目前湍流算法在实验室里的错误判断率稳定在十万分之一点八左右,无法在进一步下降了。
十万分之一点八的出错率听起来不算高,但如果应用在12306这种售票网站跟p的服务器上,却很可怕。
用户基数太大了。
每一亿人次使用12306订票,可能有1800多人被误判为恶意爬虫程序而受到惩罚,这得是多败人品的一件事。更别提每年使用12306订票系统的何止一亿人次?
一个长假都不止了!
宁为跟三位辅助的研究员也不是没想过办法,几个人一起头脑风暴过,对算法经过了两次迭代,但始终无法降低实验室内测的错误率。
这让宁为有种感觉,湍流算法的进一步突破,可能需要他对整个系统的理解进一步加深,这是急不来的,索性先这么在实验室挂着,多做一段时间的内测,可用来分析的数据足够多了,说不定就能从这些数据中找出一些端倪。
所以宁为便不再关注湍流算法那边,毕竟eda软件项目组这边,没人比他更清楚这款软件的结构跟难点。
最大的难点其实就是让芯片设计简单化。
举一个简单的例子。
在使用主流eda软件做后端设计的时候,第一步一般是需要对标准库进行设置。
需要的数据大概可以分为三类,分别为逻辑层、物理层跟设计。
这三类又能细分为六种文件,包括工艺文件、单元库、子库、综合后网表文件、约束pad位置的tdf文件跟综合后给出的时序约束文件。
然后是芯片的整体布局,这是直接影响到芯片面积、速度信号完整性跟设计周期的重要步骤。要为模块、输入输出接口、电源焊盘等等分配对应的位置。
接下来是时钟树综合,这也是一大挑战。想想看,在集合数千万甚至上亿的晶体管后,要将时钟信号零偏差的传输到芯片每一个局部区域本就是件不简单的事情。
接下来是整体布线,这也是整个芯片设计最重要的物理实践过程。
紧跟着还要进行设计规则检查。
这些都做完之后,没有问题了,再进入仿真环节……
按照宁为的想法,是要以上步骤完全缩减到一步到位,在对象库中集成完成某一特定类任务的一级芯片架构,即为容器,然后是二级架构即为组,然后依次往下划分……
操作者只需要将进行简单的组合,经过对已有结构的简单修补删减之后,就能直接进入仿真环节。
这也是这款eda软件单纯只是为了设计各类ai芯片的原因。
如果要用这种傻瓜方式设计通用芯片,宁为就算真把头发耗光,也不可能解决得了傻瓜式操作这一难题。
但在ai芯片领域却是能做到的。
就目前ai领域的情况来说,所谓智能算法一是快速寻求最优解的过程。这些算法通过模拟一些自然过程,来解决复杂工程问题。
还有基于数据的机器学习,主要是从已知数据出发用来对未知数据进行预测的规律等等。
所以宁为的设计理念很简单。
比如首先搭载一个标准的卷积神经网络学习的容器,然后在子分类下方融入各种机器视觉类别的组,比如图片识别、人脸识别、进阶的表情识别、手势识别等等。
让组设计可以相对科学的排列成群,解决特定任务。
操作者只需