7天搞定FPGA:Robei与Xilinx实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-08 23:20:38

点击下载

作者:吴国盛

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

7天搞定FPGA:Robei与Xilinx实战

7天搞定FPGA:Robei与Xilinx实战试读:

前言

集成电路设计软件目前在世界上只有几家公司在做,主要分布在欧美国家,国内的集成电路设计软件知识产权意识仍较薄弱。“工欲善其事,必先利其器”,中国要想大力发展集成电路产业,首先要有自主知识产权的集成电路设计工具。

Robei是一款拥有自主知识产权的集成电路设计工具,不仅具备传统设计工具的代码编写、编译、仿真功能,更增加了可视化和模块化设计理念,具有模块设计透明化、方便模块重新利用、加快设计进度的特点。

传统的集成电路设计工具庞大、复杂、难用,很不容易入门。初学者一般会经历感兴趣→迷茫→头疼→失去兴趣→悟道→加深兴趣→痴迷的过程,其中很大一批人在中间过程中就放弃了。本书可以让初学者平稳而快速地过渡到悟道阶段,并提出“7天搞定FPGA”的方案,为初学者扫平了学习集成电路的荆棘,将泥泞的土路打造成了高铁,为更多人在集成电路学习的道路上保驾护航。

目前的部分专业书籍,知识体系较固化,让初学者摸不清头脑。本书采用了初学者教初学者的方式,通过初学者在学习过程中的整理,把学习心得编写成案例。案例丰富、讲解精练,更加贴合读者的需求。

参与本书编写和校对工作的主要有吴国盛、郑显通、杨立国、王帅、程浩武、许美、杨玮嘉。由于编写时间仓促,编者水平有限,书中难免出现纰漏和错误,敬请批评指正。

在本书付梓之际,感谢美国5C Group创始人Paul Yih博士,中国科学院微电子研究所于芳教授,江西科技师范大学通信与电子学院詹华群教授在若贝的发展过程中给予的大力支持和帮助。谨向为本书付出辛勤劳动的青岛若贝电子有限公司的相关人员,致以诚挚的谢意!编著者第一天认识工具,掌握基础

通过今天的学习,读者可以了解集成电路设计工具的历史背景,同时熟悉国内外的产业差距。今天的学习将为后面的操作打下基础,读者要尽可能地熟悉软件和Verilog语法,了解Robei软件的结构和操作方式,并知道如何注册和寻找Robei资源。今天学习完成后,熟悉Verilog语言的读者可以加深记忆,即使刚刚开始学习FPGA设计的读者也可以轻松掌握Verilog语言的结构和语法。1.1 为什么要选择Robei1.1.1 背景介绍

提供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崇尚的是一种学完就分享的模式,让更多的设计者受益,让更大的设计变得方便可控。1.1.2 EDA的发展史(参见图1-1-1至图1-1-3)图1-1-1图1-1-2图1-1-3

最早的集成电路设计是依赖于逻辑门的,用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.3 Robei的优势

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、Mac OS的版本,也有专门针对Android平板的版本。到目前为止,Robei也是唯一一个可以在移动平台上设计仿真的EDA工具,如图1-1-8和1-1-19所示。图1-1-8图1-1-91.2 安装与注册1.2.1 安装

从Robei官方网站(http://robei.com)上下载最新版Robei软件。解压Robei.zip,然后双击Robei-setup.exe,在弹出的安全警告中选择“是”,如图1-2-1所示。图1-2-1

Robei安装界面,如图1-2-2至1-2-7所示。

在弹出的窗口中点“Next”。图1-2-2图1-2-3

如须更换路径,可以单击“Browse...”按钮重新选择路径;如果不需要更改,继续在弹出的窗口中单击“Next”。图1-2-4

单击“Next”。图1-2-5

单击“Install”。图1-2-6

等待执行完毕。图1-2-7

单击“Finish”,安装完毕。可以从桌面上或者开始菜单栏中找到Robei,启动Robei会看到如图1-2-8的界面。图1-2-81.2.2 注册

打开Robei官方网站:http://robei.cn/register.php,注册新用户,用户名称中不能含有中文和空格。注册完成后可以登录后台购买Robei的注册码。Robei注册码分为四种不同的类型,学生版、个人版、教育版和专业版,可根据自身的需求选择购买。

获得注册码后,返回计算机打开Robei软件,单击菜单“Help”,在下拉菜单里选择“Register”,如图1-2-9所示。图1-2-9

在弹出的Register对话框中输入之前注册的用户名和密码,单击按钮“Get License”,如图1-2-10所示。软件会弹出网页,在该网页中有相关的注册码信息。图1-2-10图1-2-11

复制Your License:后面的一串编码,并输入Register对话框的“License*:”中,单击“Register”按钮,如图1-2-12所示。图1-2-12

如果看到下图1-2-13所示的对话框,恭喜你,注册成功。如果没有,可联系若贝公司:robei@robei.com。单击“Yes”按钮,退出注册。图1-2-13

一切准备就绪之后,关闭软件,重新启动,查看软件界面的最顶端,“Robei Trial”的字样已经消失,取而代之的是注册码的类型:学生版是“Robei Student”,个人版是“Robei Personal”,教育版是“Robei Education”,专业版是“Robei Professional”。无论何种版本都可以跟随教程使用,只是能编译的设计个数受限,如图1-2-14所示。图1-2-141.3 如何使用Robei

Robei软件启动后,界面如图1-3-1所示,软件界面分为菜单、工具条、工具箱、属性栏、工作空间和输出窗口几个部分。菜单和工具条位于软件的顶部,与常见的软件工具一样,工具条上分布着一些常用的按钮。左侧的工具箱里包含设计好的模型,可以重复利用。用户可以在界面右侧的属性栏里修改当前设计模块的属性。中间的工作空间是主要设计区域,当前设计模块默认名为“module”。底部为输出窗口,用来显示错误以及警告信息。图1-3-11.3.1 菜单和工具条

为了方便用户使用,Robei在窗口顶部设有菜单和工具条。与文件相关的操作放在“File”菜单里,复制、粘贴、剪切和删除操作放置在“Edit”菜单里。与设计相关的操作比如添加模块、引脚和连接线放在“Tools”菜单里。除了这些,还有在“Build”菜单里的执行仿真和查看波形操作,及“View”菜单里的放大缩小操作。如果想恢复被错误关闭的窗口,用户可以到“Window”菜单下找出对应的窗口并打开,如图1-3-2所示。图1-3-21.3.2 工具箱

工具箱分为两栏,第一栏“Current”对应的文件位置为当前工作文件夹,用来展示在当前目录下,用户开发的设计模型,其路径是用户当前模型所存储的文件夹。第二栏“System”是随Robei软件一起安装好的,里面的模型均由系统自带,其路径是“C:\ProgramData\Robei”。用户也可自行添加新的栏目,并给出所对应的文件夹,Robei会自动读取该文件夹里所有的Robei模型。添加方法是在“Toolbox”里单击右键,选择“Add”,系统会自动弹出添加库的对话框(图1-3-3)。图1-3-31.3.3 属性栏

属性栏窗口用来展示工作区域中被选中物体的属性。用户可以修改对应的属性,并按下回车键,修改的属性会直接展示在工作区域中(图1-3-4)。模型中有些属性是受保护的,所以不能修改。图1-3-41.3.4 工作空间

工作空间是一个图形化设计区域,在这个空间,用户可以利用模块、模型、引脚和连接线来设计复杂的集成电路。工作空间由两个部分组成,一个是图形化设计视窗,另一个是代码设计视窗,可以通过底端的“Graph”和“Code”选项卡进行切换,如图1-3-5所示。图1-3-51.3.5 输出

输出窗口用来显示输出信息,包括错误信息和警告信息如图1-3-6所示。图1-3-6

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载