谈谈EDA技术(一)
1赞现在很多大学的电子信息工程、微电子科学与技术、集成电路设计与集成系统这类比较偏电子信息学科中“硬件”的专业大多会开一门《电子设计自动化技术》或者类似的课程。但是在90%以上的学校里实际上这门课程是一个典型的“文不对题”的课程。那么真正的电子设计自动化技术(Electronic Design Automation Technology,通常简称为EDA技术)到底是什么,接下来就我就重点来讲讲这个。今天还是先谈谈和这个领域顶级会议有关的事情。
首先呼应一下上次谈的内容。上一篇文章谈了谈数字集成电路与系统,也重点谈了谈ISSCC这个会。里面就说到,其实有一些并不关注底层电气特性而更强调从结构、组织、系统上创新的会议,真正做数字系统的人是大量的在这类会议上发表高水平文章。这种会主要是计算机体系结构的几大会议:ISCA、HPCA、MICRO以及ASPLOS以及EDA领域的四大会议:ICCAD、DAC、DATE以及ASPDAC,还有就是嵌入式系统领域的一个比较专业的活动叫ESWEEK(Embedded System week,嵌入式周,由嵌入式系统相关的几个会组合而成)。在信号处理和通信领域的一些会议上,也有一些专门的Session来讨论信号处理、通信的硬件实现方法,不过通常不是主流。所以信号处理的硬件实现,就通常会被发表到一个“超级大会”ISCAS(International Symposium on Circuits and Systems,国际电路与系统会议)。这个会我今年5月去参加了一下,还写了一篇博客:http://blog.chinaaet.com/molf/p/5100051679
先来说说计算机体系结构的几个大会,ISCA、HPCA、MICRO以及ASPLOS这几个会都是研究从芯片设计到计算机组成再到计算机系统的管理(操作系统)这几个层次的技术的。通常这几个层次的技术会有很大的交叉,因此不是单纯的数字系统设计方面的会议,还涉及到一部分底层软件、管理算法以及计算机整机。其中ISCA比较综合,包含了从芯片设计到计算机单机的各方面内容。HPCA主要面向高性能、并行计算,比较偏大型计算机、超级计算机,但是这几年也有一些多核处理器和存储系统有关的论文。MICRO是创立之初是为了研讨微体系结构,也就是处理器内部的设计方案,所以是几个会里面和处理器关联程度最大的。而ASPLOS这个会比较“奇葩”,这个会本质上是从“软件视角”来看体系结构的会,和编译器、操作系统关系密切,反而是这个会上很多对于硬件的假设和分析我认为是有缺陷的。
再谈一下ESWEEK,他们自己是这么来定义自己的:Embedded Systems Week (ESWEEK) is the premier event covering all aspects of embedded systems and software. By bringing together three leading conferences (CASES, CODES+ISSS, EMSOFT), a special track on Internet of Things (IoT), 3 symposia (ESTIMedia, RSP, NOCS) and several workshops and tutorials, ESWEEK allows attendees to benefit from a wide range of topics covering the state of the art in embedded systems research and development.(嵌入式系统周(ESWEEK)是涵盖嵌入式系统和软件各个方面的重要活动。 通过汇集三个领先的会议(CASES,CODES + ISSS,EMSOFT),一个物联网(IoT)特别跟踪,3个座谈会(ESTIMedia,RSP,NOCS)和几个研讨会和教程,ESWEEK使与会者能够从广 涵盖嵌入式系统研究和开发领域的主题范围。)总的说来就是把嵌入式相关的一些会议集合到一起开。这一方面是因为嵌入式系统本来就是一个涉及到从芯片设计到应用软件开发的小而全的领域,也是由于专门做这个领域的人其实并不太多,大家有点抱团取暖凑个大会,节约差旅费的同时也多多加强交流。ESWEEK这三个主会中CASES(International Conference on Compilers, Architecture, and Synthesis for Embedded Systems) 主要偏体系结构,强调处理器、存储器、内部互联结构以及面向特定架构的编译器设计
,EMSOFT(International Conference on Embedded Software)则主要强调嵌入式软件方面的突破,CODES+ISSS(International Conference on Hardware/Software Codesign and System Synthesis)是强调软硬件协同设计和系统级合成。这三个会基本上涵盖了嵌入式系统从硬件到软件的所有层面。目前,我们小组在CODES+ISSS上发表过论文,应该是我电的第一篇也是唯一的一篇。
接下来就要谈到EDA技术方面的这几个会议了。首先的一个就是ICCAD(International Conference on Computer-Aided Design ,计算机辅助设计国际会议)。从名字上来看,这好像是一个关于计算机用于各种辅助设计的大会。但大会专门补充了一点:The Premier Conference Devoted to Technical innovations in Electronic Design Automation(致力于电子设计自动化的创新)。因此,这其实是一个关于电子设计自动化的世界级专业会议。我们来看一看这个会的一些Session的主题:System Designs with Emerging Memory Technologies(用于新兴存储器技术的系统设计)、Exploring Intricate Gate Level Optimization Trade-offs(探索复杂的门级优化权衡)、Application Mapping and Estimation Methods for Heterogeneous Platforms(异构平台的应用映射和估计方法)、HDSLs: Domain Specific Languages for Hardware and SoC Design(HDSL:硬件和SoC设计的域特定语言)等。可以看到这些主题都是和EDA技术相关的话题,既设计方法学、设计自动化工具以及电子系统领域计算机辅助设计理论相关。这个会议是传统的,从做电子系统、集成电路这个角度上去看EDA技术的人习惯的视角的一个会议。今年我们曾经尝试去投了一下这个会议,论文的评价是在可中与不可中之间。由于我们的题目不是非契合这个会的主题和套路(题目是将C4.5如何在FPGA实现片上训练的,偏向具体设计方案而不是方法学),所以没有被录用。几经修改,最后被FPGA四大会议之一的FPT录用了(第一作者彭海同学刚刚从澳洲开完会回来,抱怨野生西餐真是太难吃了。我决定用海鲜火锅给他接风洗尘)。
另外一个重要的会议叫DAC(Design Automation Conference,设计自动化大会)。这个会呢,主要是接受Automotive(汽车,主要是汽车电子这方面的), Design(设计), Electronic Design Automation (EDA,电子设计自动化), Electronic Systems and Software (ESS,电子系统与软件)等方面的研究。因为EDA这个研究领域是以电子系统为主要研究对象,凡是研究方法却是如何运用计算机技术来辅助/自动化的完成设计。所以EDA这个领域是电子和计算机背景的人各占一半。而DAC这个会,明显是计算机背景的人也就是ACM(Association for Computing Machinery,计算机协会)的人主导性更强一些。以前这个会主要是电子系统的设计自动化的话题为主,发表一些工具、仿真模型、仿真方法学的文章。但是现在也越来越强调设计和软件,分出了专门的主题。因此现在在这个会上面也可以找到一些具体的电路设计、嵌入式设计方面的文章了。我们今年也往这个会议上投稿了,希望后面会有好的消息。
谈到了DAC,那么在欧洲,有一个以欧洲人为主举办的类似会议叫DATE(Design, Automation & Test in Europe Conference)。名字里面写着欧洲两个字,举办地点也在欧洲各个国家轮着转。这个会其实规模要比DAC大很多,因为会议的名字里面设计、自动化和测试三者是并列的。所以这个会里面会有具体设计相关的文章,比如做一个奇形怪状的乘法器、有特殊结构的存储器之类的。也可以有设计自动化相关的文章,比如任务如何分配、电路如何布局布线。更多的还有测试相关的文章,比如可测性设计、测试数据生成与处理等。
有欧洲人为主举办的会,就有亚洲人为主举办的会。亚洲人为主举办的会议叫ASP-DAC(Asia and South Pacific Design Automation Conference ),这个会是常年在亚太地区开,一般在每年的1月份。2018年的ASP-DAC是在韩国的济州岛开。我们从2013年刚开始搞片上网络的时候,初生牛犊,啥也不球懂就往ASP-DAC投了第一篇稿子。结果当然是可想而知了。其后,我们又往ISCAS投了两篇稿子,都是以备惨痛拒稿而告终。在今年,其实我们已经实现了命中ISCAS,当然,这其实也没啥好值得骄傲的。而同时我们投2018年ASPDAC的两篇论文,也都命中了。明年一月,我又需要去一趟济州岛了。一月份的济州岛,可不是什么好地方。各位到时候可以看我的博文报道。
今天先开个头,给大家盘点了一下这些会议。如果是研究嵌入式系统硬件、数字集成电路与数字系统以及电子设计自动化的同学和朋友呢,可以根据我的介绍,去下载一些这些会议上的论文来看。