【FPGA学习篇】认识Robei(一)

简介: 【FPGA学习篇】认识Robei(一)

一、什么是认识Robei?

1.1 集成电路的历史:

图1.1 集成电路发展史

1.2 现在的工艺

图 1.2 工艺精确程度

       随着时代的进步,消失掉的手机品牌,随着科技的不断进步,手机行业的技术更新换代速度非常快,不断有新的技术和产品出现。如果手机品牌不能跟上这个步伐,就会失去竞争力,最终被市场淘汰。

       图1.3 当前随着时代淘汰掉的手机品牌

       当前IC设计的强势公司可以说是流过争霸二分天下了。在这个新的竞争格局中,华为海思、紫光展锐、瑞芯微等公司依然保持着领先地位,但其他一些公司也正在崛起,如联发科、中芯国际等。这些公司凭借其技术实力和市场份额,正在逐渐扩大自己的影响力。

       未来,随着5G、物联网、人工智能等技术的不断发展和应用,IC设计行业将迎来更多的机遇和挑战。在这个竞争激烈的市场环境中,只有不断创新、提高技术水平、加强合作,才能赢得市场份额和客户的信任。同时,行业内的公司也需要加强产业链的协同合作,共同推动国内半导体产业的发展。

图 1.3 当前IC行业的强势品牌

1.3 什么是Robei:

       Robei 是一种电子设计自动化(EDA)工具,它用于集成电路和电路板的设计与分析。它具有图形用户界面,允许用户通过图形化方式设计和测试电子电路,同时也提供仿真功能以验证电路的功能。Robei 设计来提供一种快速、轻量级的电路设计和仿真环境,它可能特别适用于教育、快速原型设计或小规模项目。由于该工具较为专业,它可能并不像一些主流EDA工具(如Cadence、Altium Designer或Eagle)那样广为人知。

二、为什么要选择 Robei

       Robei 是一款跨平台 EDA 设计工具,它提供了一种超级简化的设计流程,采用了最新的可视化分层设计理念,并拥有透明的模型库和友好的用户界面。通过掌握三个基本元素,用户可以快速掌握该软件的使用技巧。Robei 将图形化和代码设计相融合,实现了框图与代码设计的优势互补,消除了它们的弱势。换言之,Robei 是一款高度抽象化且精简的设计工具,它能够为用户提供一种简单易用的设计流程,同时融合了先进的技术,实现了优势互补。

图2.1 Robei 界面图

       Robei 软件是一种创新的 EDA 设计工具,它在 Verilog 代码设计的基础上进行了进一步的抽象,实现了框图设计与代码设计的完美融合。相比于传统的原理图设计,Robei 软件提供了更高的灵活性和直观性。传统的原理图设计虽然直观,但灵活性较差,用户需要利用现成的模块来拼凑设计,而代码设计虽然灵活,但代码密集且不直观。Robei 软件通过在结构层面上实现图形化设计,以及在算法层面上采用代码输入的方式,使设计更加直观和灵活。用户可以更加便捷地构建和修改电路,从而提高设计效率和准确性。

图 2.2 Robei 自动生成代码

       目前,传统的 EDA 设计方法需要工程师在脑海中构思结构,并根据结构手写代码,这容易导致出错。而使用 Robei 软件,工程师可以边构思边设计结构,结构完成后,工程师可以专注于编写核心算法,软件会自动生成结构层的代码并与工程师输入的算法代码结合仿真。这种方法可以让工程师将精力集中在设计算法上,而无需记忆引脚名称和数据宽度等繁琐的细节。此外,该软件将模型设计、测试文件和引脚分配集成在一个超级简化的设计流程中,可以进行快速设计仿真,提高了设计的效率和准确性。

图2.3 Robei 让框图设计与代码设计优势互补

       Robei 是一款集成了图形化设计和代码设计优势的 EDA 设计工具,同时具备 Verilog 编译仿真和波形分析功能,可以实现各种系统的快速设计、仿真和测试。软件能够生成标准的 Verilog 代码,可直接与各种 EDA 工具相融合。Robei 是一款贴近用户的前端设计仿真软件,用户进行仿真后,软件可以直接生成 Verilog 代码,方便在其他 EDA 设计工具中使用。这使得设计过程更加高效和便捷。

图 2.4 Robei 是一个通用的前端设计工具

三、安装与注册步骤

3.1 安装

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

图3.1 安装提示

        Robei 安装界面会出现,如图 3.2 所示。

图3.2 安装启动

       这里选择合适的安装位置后,在弹出的窗口中点“Next”。

图3.3 安装位置选择

       这里安装已经就绪,点击“Install”

图3.4 安装准备就绪

       等待执行完毕。

图3.4 安装过程

       安装完毕

图3.5 安装结束

       点击“Finish”,安装完毕。你可以从桌面上或者开始菜单栏中找到 Robei,启动 Robei 会看到如下图 3.6 的界面。

图3.6 启动界面图

3.2 注册

       打开 Robei 官方网站:http://robei.cn/register.php,注册新用户,用户名称中不能含有中 文和空格。注册完成后可以联系 sales@robei.com 购买注册码。

       获得注册码后,返回电脑上打开 Robei 软件,点击菜单“Help”,在下拉菜单里选择 “Register”,如下图 3.7 所示。

图3.8 注册账号

       在弹出的 Register 对话框中输入之前注册的用户名和密码,点击按钮“Get License”, 软件 会弹出网页,在该网页中有相关的注册码信息。

图3.9 Register 对话框

图3.9 注册信息

       复制 Your License:后面的一串编码,并输入到 Register 对话框的“License*:”中,点击 “Register”按钮。

 图3.9 注册信息

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

 图3.9 注册信息

       一切准备就绪后,关闭软件,重新启动,你会在软件界面最上方看到“Robei Trial”的字样消失,取而代之的是你的注册码的类型:学生版是“Robei Student”,个人版是“Robei Personal”,教育版是“Robei Education”,专业版是“Robei Professional”。无论哪种版本,只要按照教程操作,都可以使用,只是编译的设计数量有限制。

3.10 注册成功后注册码类型信息

四、如何使用 Robei

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

图 4.1 界面图

4.1 菜单和工具条

       Robei 软件为了提高用户的使用便利性,在其界面上设置了菜单、工具条、工具箱、属性栏、工作空间和输出窗口等部分。对于文件相关的操作,如复制、粘贴、剪切和删除,位于“Edit”菜单中;设计相关的操作,如添加模块、引脚和连接线,则位于“Tools”菜单中。此外,“Build”菜单还提供了执行仿真和查看波形的功能,“View”菜单则提供了放大和缩小视图的功能。如果用户不小心关闭了某个窗口,他们可以通过“Window”菜单找到并打开对应的窗口。

图4.2 菜单栏和工具条

4.2 工具箱

       工具箱分为两栏,第一栏“Current”显示当前工作文件夹中的设计模型,这些模型存储在用户当前模型所存储的文件夹中。第二栏“System”包含由Robei软件自带的模型,其路径为“C:\ProgramData\Robei”。用户也可以添加新的栏目,并指定相应的文件夹,Robei会自动读取该文件夹中的所有Robei模型。要添加新的栏目,只需在“Toolbox”中点击右键,选择“Add”,然后系统会弹出添加库的对话框(如图4.3 所示)。

图4.3 工具栏(左)和添加库对话框(右)

4.3 属性栏

       属性栏窗口用于展示工作区域中被选中物体的属性。用户可以修改这些属性,但有些属性是受保护的,因此无法修改。如果用户尝试修改这些受保护的属性,系统会提示无法修改。

图4.4 属性栏

4.4 工作空间

       工作空间是一个图形化设计区域,用户可以在其中利用模块、模型、引脚和连接线来设计复杂的集成电路。该工作空间由两部分组成:一个是图形化设计视窗,用于进行图形化设计;另一个是代码设计视窗,用于编写代码。这两个部分可以通过底端的“Graph”和“Code”选项卡进行切换。

 

图4.5 图形视窗和代码视窗

4.5 输出

       输出窗口用来显示输出信息,包括错误信息和警告信息。

图4.6 输出窗口

五、Robei 三元素

       Robei以模块、引脚和连接线这三个基本元素来模拟Verilog中的组成部分。在Verilog语言中,电路是由一系列模块来描述的。一个模块可以代表一个逻辑门、一个寄存器、一个ALU(算术逻辑单元)或一个SOC(系统级芯片)系统等。模块就像一个抽象的芯片,而在这个抽象的芯片上,存在一些抽象的引脚。这些引脚是模块与外界进行通信的门户,每个引脚都需要一条抽象的连接线与其他模块进行通信,这条连接线可以是单独的一根线,也可以是一个总线。

5.1 模块

       模块是设计流程中的基本元素,可以看作是一个可以接受输入并产生输出的黑盒子。在模块内部,可以放置引脚,作为通信的门户,可以放置设计好的模型,并实现模块功能的算法代码。根据设计阶段的不同,一个模块可以被细分为不同的类型。目前正在开发的模块都是“Module”类型,但一旦设计完成,会转换为“Model”类型,这个模型可以在其他模块中使用,且部分属性被设定为写保护,不能随意修改。此外,模块还有其他类型,包括含有激励代码来实现仿真的“Testbench”类型,以及用于实现FPGA引脚分配的“Constrain”类型。

       图5.1 Module 可以看作一个黑盒子

       (1)Robei的基本模块类型包括Module和Model。当前正在设计的集成电路模块属于Module类型,设计完成后,会自动转换为Model类型,用户可以修改模块的任何属性。        

图5.2 Module界面

       (2)Model是设计好的模块,可以在其他模块中使用,自动转换为Model类型。部分属性进行了写保护,但用户仍可以修改其他属性,如颜色、名称和参数等。

图5.3 Model界面

       (3)Testbench是测试模块,对于验证设计非常重要。它提供激励,调用设计好的模块,用于验证设计结果。若要查看仿真结果,请确保顶层激励模块的属性设置为“testbench”。这样您将能够进行波形分析。

图5.4 Testbench界面        

       (4)约束文件是用于分配FPGA引脚的文件。由于不同FPGA厂商的引脚分配模式有所不同,Robei会根据不同的厂商自动生成对应于该厂商的引脚约束文件。然而,在Robei软件中进行引脚分配的方式是统一的。例如,Xilinx ISE的引脚约束文件是UCF文件,Vivado的引脚约束文件是XDC文件,Altera的引脚约束文件是QSF文件。如果需要分配的引脚是一条总线的一部分,用户可以在连接线上声明要分配的引脚在该总线中的编号。

图5.5 Constrain 界面

       在引脚分配之前,用户需要在菜单“Settings”里面选择“FPGA”,用来选择正确的 FPGA 厂家。额外的约束可以用代码形式写在工作空间中的代码视窗中。

图5.6 选择 FPGA 厂商

在菜单“View”的下拉菜单中选择“CodeView”, 就可以看到自动生成的引脚约束代码。

图5.7 针对 Xilinx 和 Altera 公司的约束文件

5.2 引脚

       引脚是硬件设备中重要的一部分,它可以是物理芯片上的一根针,或者是开发板上的一个连接口,或者芯片上的一个总线。引脚是模块与外界沟通的桥梁,是模块与外界进行信息交互的接口。引脚的作用就像在黑盒子上打孔,在向内部钻孔时,孔是外部大内部小,这是输入;在从内部向外钻孔时,孔则是内部大外部小,这是输出。此外,有些引脚具有双向性,既可以作为输入使用,也可以作为输出使用。

图5.8 引脚对应于在黑盒子上打孔

       注意:模型上的引脚的一些属性是写保护的,不能修改,但是位置和颜色信息可以随意调整。

图5.9 引脚

5.3 连接线

       连接线是用来连接两个引脚的,负责信号的传输。它就像连接黑盒子上的两个孔的密封管子,只有通过连接线才能保证信号不泄漏。集成电路也使用了类似的连接方式,但这里流动的不是水,而是电。

图5.10 连接线

       通常情况下,连接线会继承起始引脚的颜色和数据宽度信息,然后颜色渐变为目标引脚的颜色。根据数据宽度的不同,连接线的粗细也不尽相同。

图5.11 连接线

       Robei 的三个元素包括模块、引脚和连接线。通过这些元素,Robei 将复杂的集成电路设计简化至最简化,从而降低了用户入门的要求,方便用户快速进入集成电路设计领域。

 

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

 

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

 

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

 

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

 

目录
相关文章
|
开发工具 芯片 异构计算
芯片设计:FPGA开发学习
芯片设计:FPGA开发学习
225 0
芯片设计:FPGA开发学习
|
存储
FPGA-SDRAM设计学习(三)初始化、模式寄存器、激活和读命令
FPGA-SDRAM设计学习(三)初始化、模式寄存器、激活和读命令
249 0
FPGA-SDRAM设计学习(三)初始化、模式寄存器、激活和读命令
|
Go 网络架构 内存技术
FPGA-SDRAM设计学习(二)具体操作详细介绍(文档阅读)
FPGA-SDRAM设计学习(二)具体操作详细介绍(文档阅读)
140 0
FPGA-SDRAM设计学习(二)具体操作详细介绍(文档阅读)
|
存储 vr&ar 芯片
FPGA-SDRAM设计学习(一)简单概念和操作介绍
FPGA-SDRAM设计学习(一)简单概念和操作介绍
228 0
FPGA-SDRAM设计学习(一)简单概念和操作介绍
|
算法 计算机视觉 异构计算
FPGA与MATLAB-图像处理-学习列表(图像处理专题更新目录,补充中)
FPGA与MATLAB-图像处理-学习列表(图像处理专题更新目录,补充中)
135 0
|
缓存 异构计算
FPGA学习之按键控制led
按键控制led 设计要求:通过8个按键分别控制一个led的亮灭。   该实验有两个模块:按键缓存模块和由按键值控制led模块 按键缓存模块:通过二级缓存,将按键值存入key_r1,防止按键时产生的尖峰脉冲影响按键值。 由按键值控制led模块:采用case语句,一一对应控制led的亮灭。   顶层代码: module keyled(clk,
1974 0
|
异构计算
FPGA学习之流水灯的简单设计
流水灯的简单设计 设计要求:低位点亮一个led,下一个周期,点亮两个led,逐次增加led的个数,全部点亮后的下一个周期,又点亮一个led 该实验需要两个模块,计数器模块和led控制模块 计数器模块:就是一个分频器,频率为2hz,系统时钟为50mhz,50_000_000/2=25_000_000,需要25位计数器。 Led控制模块:控制移位,到达全0时,led
1692 0
|
异构计算 人工智能
【FPGA学习】Verilog之加法器
         在fpga工程应用设计中,随处可见加法器,乘法器等等。现在将一些常用模块和心得体会先记录下来,以便日后使用。 一位半加器: module halfadder(cout,sum,a,b);          outputco...
1645 0
|
2月前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
75 7
|
2月前
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
123 2

热门文章

最新文章