提供EDA设计工具的厂家有Cadence、Synopsys、Mentor Graphics、Xilinx、Altera等公司,这些公司都来自欧美国家,中国自己知识产权的EDA设计工具却少得可怜。国内采用的多数芯片设计工具来自国外。集成电路产业的发展依托于集成电路设计工具的发展,设计工具与集成电路产业的发展同步,就像两条腿走路,缺一不可。“工欲善其事,必先利其器”,在中国大力发展集成电路的大环境和氛围下,相对缺失的还有集成电路工具的发展。一个国家某个产业的快速繁荣不能依赖于其他国家,不能让产业的咽喉握在别的国家手里。否则产业的利润将会慢慢通过知识产权的诉讼形式流失进入工具所有国。这会导致欧美国家顺利完成产业淘汰和升级,而我国变成集成电路产业链的最低端,只能依赖微薄的利润生存,并时不时被掌握设计工具的国家过来“剪羊毛”。
欧美国家的EDA设计工具也联合本国的IP供应商,打造了一个知识产权产业链,对于一些常用的IP进行知识产权封锁,要求国内的生产和设计厂商进行购买,否则就无法完成整体设计。而且他们掌握着对软件和IP更新升级的主动权,其他人即使购买了IP,在一定时间之后,随着版本的升级,IP在不同的版本中并不兼容,需要继续付费升级,同时升级后的IP使用方法不同,这就要求国内的产业链随着软件和IP的升级不断更改设计,甚至重新设计,导致大量的人力、物力和财力的浪费,因为产业的依附性已经形成。
国内的高校在培养集成电路设计人才的时候,没有注重如何设计IP。而IP的封闭又导致了中国集成电路产业的惰性。随着集成电路大基金的投入,集成电路制造厂的规模扩建,新生产线的上线和产能的增加,我们应如何快速培养更多的集成电路人才来设计和流片,以满足这些新增的产能和高端工艺线?
仔细分析一下集成电路设计的历史,从最早的逻辑门搭建到原理图设计(软件化的集成电路芯片模组),再到编写Verilog或者VHDL的代码(充分灵活的设计方式),每一步都是为了让设计更方便、简单、抽象。未来的EDA工具会怎么样?
现在的EDA工具设计相当灵活,全部由代码实现功能并仿真。设计过程涉及大量模块重用,进行例化,这个过程需要使用者清楚要进行例化的每个引脚和位宽,用户就需要在声明和设计中来回切换,时常查证引脚信号的定义,浪费了大量的时间。
在大型的设计中,需要对一些细节或者模块进行反复修改,一旦使用频率高的模块被修改,相关设计就要更新,这需花费大量的时间,甚至导致重新设计。如果能有一键更新,分层调整,将可以大大节约工作量。
集成电路的学习是一个痛苦而抽象的过程,它不像C语言软件一样,可以快速编译,所见即所得。EDA设计中语句是并行执行的,C语言中是串行执行的,如何能减小软件和硬件设计的鸿沟,让有C语言基础的人快速转变成硬件设计工程师?因为大多数EDA软件都是庞然巨物,要想入门EDA,首先必须把庞然巨物下载完成后安装并熟悉使用,而一旦运行巨物,就要吞噬电脑的大量内存和计算性能。有没有办法用最小的工具完成初学者的学习任务,既让电脑运行流畅又不妨碍同时打游戏呢?
若贝公司推出的Robei可视化芯片设计工具是在现有的EDA工具的最上层加了一层,从而进行可视化的所见即所得的设计,同时向下跨越到设计仿真和波形查看,基本涵盖了设计前端的所有功能,实现RTL级别的设计仿真,减少了中国大部分工程师和学生对于国外EDA设计工具的依赖和减少国外EDA设计工具的进口使用量。以前,国外的EDA设计工具需要人手一个,这样的成本不是个人和中小公司能够负担起的,现在,采用Robei需要购买少量的后端设计工具,大大减小了开支。同时Robei支持的结构化和可视化设计,方便了模块重用,节省了设计公司和工程师的时间,提升了设计效率和设计质量。目前的集成电路工具更多是面向设计工艺的,极少从设计者和学习者的使用方便出发,而且软件动辄上吉字节或者几十吉字节,对电脑性能要求也极高。Robei软件是一个以轻量决胜的软件,只有不到10M,可以减少学生学习的时间,提升学习的兴趣和效率,可以为集成电路行业培养更多的人才。
Robei打造了一个完全透明的IP平台,在这个平台上,我们将容纳更多会思考、会设计的工程师来打造更多更好的设计,所有的设计完全透明,用户在使用的时候可以随意更改和裁剪,也可以学习IP设计的相关思路。这个平台打造的是学习与贡献一体,鼓励贡献优质IP,定期公布设计项目,让更多有思想的工程师参与项目,打造IP共享社区,奖励优秀设计者。本来我们集成电路设计就落后很多,如果再采用自我封闭的理念,将会导致更加落后。Robei崇尚的是一种学完就分享的模式,让更多的设计者受益,让更大的设计变得方便可控。
最早的集成电路设计是依赖于逻辑门的,用74LS系列的芯片进行连接,实现一些基本的功能。随着技术的发展和演进,出现了PCB的设计,也就是板级的设计,可以让这些基本的逻辑单元器件布局到一个PCB板上实现。PCB的设计演进也单独发展成了一个分支,一直延续使用到现在。在集成电路历史上,第一个可编程逻辑器件诞生于1985年,由硅谷的Xilinx公司推出,既然是可编程逻辑器件,自然少不了可以用于编程的EDA工具。
最早的EDA设计工具是原理图设计方式,原理图主要基于市场上常见的元器件进行组合连线设计。这种设计基本上是将逻辑门设计中的基础电路模块软件虚拟化之后提供在设计库中,用户可以用来软搭建出自己需要的系统,再写入FPGA中。原理图的优点是设计非常直观,但是灵活性不够。如果在原理图中新增加一个不存在的设备器件,往往需要写代码、打包、更新到器件库、从器件库查找并使用等过程,一旦元器件设计有误,就会需要重新回到代码修改并重新打包。已经在设计中存在的器件需要重新更替。流程繁复浪费了设计师大量的时间,尤其是源代码不慎丢失,将会直接导致模块无法修改,设计师需要重新来做。
后来由于原理图设计中每个模块要对应于实际的芯片,设计灵活性差,导致后来以VHDL和Verilog为主流的代码编程设计,所有的模块实现均采用代码编写实现。代码设计是目前非常流行的设计方式,无论是元器件接口定义、模块例化还是功能实现,全部用Verilog或者VHDL等语言设计实现。代码设计的优点是灵活,想写什么器件就写什么器件,缺陷是不够直观。工程师需要读完大段代码才能了解其功能和结构信息,同时在撰写例化的时候,需要依据代码进行编写例化,要反复对照和查看接口名称和数据宽度等信息,防止出错。例化的代码也是手写为主。
界面设计方式和代码设计方式各成一体,相互之间交叉很少。模块化设计体现不够完美,很多模块不公开。基于界面的设计在生成代码的过程中,掺杂了很多冗余信号,在出错后返回查看代码,增加了障碍。
进入21世纪,伴随着FPGA的功能越来越强大,工艺越来越先进,逻辑资源使用量已经不是设计的瓶颈,这个时候出现了方便设计和使用的框图设计模式。较灵活的框图设计模式当属Robei,它采用了框图设计结构,代码设计算法的方式,让软件自动生成结构层代码并与用户输入的代码组合成完整的代码。这种设计方式既拥有原理图设计的直观,又拥有代码设计的灵活性。
自Xilinx公司1984年诞生到现在,其软件经历了14代以上的更新迭代。我们可以分析一下该公司的 ISE设计工具的变化,来分析EDA软件的膨胀过程。Xilinx的 ISE从最早的几十兆到现在的 8个吉,发展速度十分快,但是软件庞大毕竟不是好事,软件越大,问题越多,为了修复和维护庞大的软件,所需要的人力成本就越高,所以 Xilinx公司有几千人做软件,远远超过做硬件设计的人数。在集成电路行业,软件的庞大司空见惯,这是因为所有厂商都以芯片的结构为核心来设计软件,却忽略了用户的感受。从用户角度来说,软件的庞大就代表着下载耗费大量的时间,学习需要比较长的周期,运用的步骤复杂,每一步都要按部就班,稍有差错就要焦头烂额。Robei是一款面向用户的芯片设计工具,从诞生之日起,Robei开放软件让超过 35万人试用,得到用户的体验和感受的问题,并在之后的版本中进行不断修改演进。这些意见来自美国、加拿大、中国、欧洲、韩国、日本等国家,能够让Robei快速匹配来自不同地域的用户体验感受。时至今日,Robei也在鼓励用户反馈问题,在意见采纳后,为每个用户提供奖励。
图1-1-1
图1-1-2
图1-1-3
Robei是一款可视化的跨平台EDA设计工具,提供了超级简化的设计流程、最新可视化的分层设计理念、透明的模型库,以及非常友好的用户界面。Robei软件将芯片设计高度抽象化,并精简到三个基本元素,掌握这三个基本元素,就能很快地掌握Robei的使用技巧。该软件将先进的图形化与代码设计相融合,让框图与代码设计优势互补,如图1-1-4所示。
图1-1-4
Robei软件是在Verilog代码设计的基础上进一步抽象,让框图设计与代码设计实现完美融合。传统的原理图设计虽然看起来非常直观,但是灵活性差,用户要利用现成的模块来拼凑设计;而代码设计虽然相当灵活,但是代码很不直观。Robei软件通过一种结构层面上的图形化设计,算法层面上代码输入的方式使设计更加直观灵活,如图1-1-5和图1-1-6所示。
图1-1-5
图1-1-6
目前EDA的设计首先需要工程师在脑海中设计结构,再根据结构手写代码,容易出错。现在工程师利用Robei软件可以边构思边设计结构。结构完成后工程师可以专注于写核心算法,软件自动生成结构层的代码并与工程师输入的算法代码结合仿真。这种设计可以让工程师专注在设计算法上,而不用去记任何引脚名称和数据宽度。同时该软件将模型设计、测试文件和引脚分配集成在一个超级简化的设计流程中,进行快速设计仿真,如图1-1-7所示。
图1-1-7
Robei集成了先进的图形化与代码设计的优势,同时具备Verilog编译仿真和波形分析功能,可以实现各种系统的快速设计、仿真和测试。软件生成标准的Verilog代码,可直接与各种EDA工具相融合。Robei是最贴近用户的前端设计仿真软件,仿真后直接生成Verilog代码,可以直接在其他EDA设计工具中使用。
Robei也是一款跨平台的EDA仿真工具,不仅有Windows、Linux、MacOS的版本,也有专门针对Android平板的版本。到目前为止,Robei也是唯一一个可以在移动平台上设计仿真的EDA工具,如图1-1-8和1-1-19所示。
图1-1-8
图1-1-9