ROBEI在EDA课程教学中的实践研究与探讨

时间:2022-09-26 10:25:51

ROBEI在EDA课程教学中的实践研究与探讨

摘要:将ROBEI设计软件引入到“EDA电子设计自动化”课程教学改革中,并利用实例表明该教学方法可以使学生更加直观、深刻地理解EDA设计技术与方法学。通过使学生掌握该设计软件的使用方法,培养提高学生的设计、调试与实践创新能力,进一步明确专业发展方向,使学生更加符合就业与用人单位的实际需求。

关键词:ROBEI;数字电路设计;ALU;Verilog

作者简介:张雷鸣(1980-),男,河南洛阳人,河南科技大学电气工程学院,讲师;刘博(1982-),男,河北乐亭人,河南科技大学电气工程学院,副教授。(河南 洛阳 471000)

基金项目:本文系河南省教育厅科学技术重点研究项目(项目编号:14B510004)、河南科技大学实验技术开发基金项目(项目编号:SY1314018)的研究成果。

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2014)14-0131-02

“EDA电子设计自动化”是面向电子信息与科学技术方向本科生所开设的一门重要的专业基础课。该门课程具有逻辑性强、概念多、与工程实际联系紧密的特点,而设计实践环节是本课程极为重要的组成部分。通过在实践环节中有针对性地使用ROBEI设计软件可以使学生全面理解面向市场需求和工程应用的电子系统设计的概念和方法,巩固和加深学生理解所学的理论知识,并通过实践环节的训练,使学生树立正确的设计观点、严谨的科学作风、理论联系实际的能力与动手操作的能力,达到提高学生综合素质的目的。ROBEI作为功能强大的数字电子系统虚拟仿真平台,已经成为“EDA电子设计自动化”课程教学改革的重要工具。在课程的各教学环节中,如何使用ROBEI培养学生的实践创新能力,是目前EDA课程深入改革需要重点研究与解决的问题。[1]

一、ROBEI软件简介

ROBEI软件是由美国若贝科技公司开发并推出的一款可视化跨平台EDA设计工具,提供了超级简化的设计流程、可视化的分层设计理念、透明的模型库与友好的用户界面。该软件将先进的图形化与代码设计相融合,将框图与代码设计的优势进行互补。ROBEI软件是目前世界上最小的芯片设计仿真工具,也是唯一能在移动平台上应用的EDA工具。该软件不需要任何芯片,在仿真后可以自动生成Verilog代码,并与其他EDA工具无缝衔接,完成虚拟仿真设计的各个流程,如图1所示。ROBEI软件通过对Verilog代码设计基础的进一步抽象,让框图设计与代码设计实现完美融合。传统的EDA设计软件使用原理图设计,其灵活性差,且用户需要利用现成的模块来拼凑设计,而代码设计相当灵活但不直观。ROBEI集成了先进的图形化与代码设计的优势,同时具备Verilog编译仿真和波形分析,可以实现各种系统的快速设计、仿真和测试。

传统的EDA设计需要工程师在脑海中将电路结构与接口构思好,然后根据结构完成代码设计,这样做容易导致设计出错。[2]通过使用ROBEI软件,工程师可以一边构思系统结构,一边设计接口。当结构与接口完成后,工程师可以专注于完成核心算法,并利用软件自动生成结构层的代码与工程师输入的算法代码相结合进行仿真。该软件将模型设计,测试文件和引脚分配集成在一个超级简化的设计流程中,可以进行快速设计仿真。

正是基于以上特点,在“EDA电子设计自动化”课程的实践教学中使用ROBEI软件作为学生的辅助学习工具,可以大大提高学生的学习兴趣与学习效率。本文主要结合在教学与实践过程中遇到的典型例子,安排课堂演示帮助学生更形象掌握数字电路的设计方法,并使大家了解仿真软件的强大功能及其在教学和实践中的重要作用。

二、ROBEI使用方法介绍

ROBEI软件启动后,界面如图2所示。软件界面分为菜单、工具条、工具箱、属性栏、工作空间和输出窗口几个部分,菜单和工具条在软件的顶部,工具条上分布着一些常用的按钮。左侧的工具箱里包含设计可用的module模型,是可以重复利用的。中间的工作空间是主要设计区域,当前设计模块默认名是“module”。用户可以在界面右侧属性栏里修改当前设计模块的属性,底部为输出窗口,用来显示错误以及警告信息。工作空间是一个图形化设计区域,在这个空间用户可以利用模块、模型、引脚和连接线来设计复杂的数字电路。工作空间由两个部分组成,一个是图形化设计视窗,一个是代码设计视窗,可以通过底端的“Graph”和“Code”选项卡进行切换。

三、基于Robei的ALU设计实践

1.设计要求

ALU(算数逻辑单元)是CPU的基本组成部分,也是学习EDA过程中比较常见的一种典型实际电路结构。[3,4]要求设计一个8位ALU,并能实现数据与、或、非、异或、不带进位加法、带进位加法、不带借位减法和带借位减法运算。运算符采用3bit表示,A、B、R均为8bit数据。用测试文件测试ALU功能,并用级联方式将4个8bit的ALU实现32bit的ALU,使学生通过实践设计环节掌握算术逻辑运算加、减操作原理,验证运算器的组合功能。

(1)加法运算包含2种类型:一种是不带进位的加法器,另外一种是带进位的加法器。

不带进位的加法器公式: (1)

带进位的可以进行加法器级联,实现更高位数的串行加法运算。带进位的加法器公式: (2)

(2)减法运算也包含 2 种类型。

不带借位的减法运算: (3)

带借位的减法运算: (4)

2.设计内容

新建一个模型命名为ALU,类型为 module,同时具备 4 输入 2 输出。点击模型下方的 Code添加代码。在代码设计区内输入以下 Verilog 代码:

always @ (A or B or op or F)

case ( op )

3'b000: {D,R}=A&B;//实现与运算

3'b001: {D,R}=A|B; //实现或运算

3'b010: {D,R}=~A;//实现非运算

3'b011: {D,R}=A^B;//实现异或运算

3'b100: {D,R}=A+B;//实现不带进位的加运算

3'b101: {D,R}=A+B+F; //实现带进位的加运算

3'b110: {D,R}=A-B;//实现不带借位的减运算

3'b111: {D,R}=A-B-F;//实现带借位的减运算

default: {D,R}=A&B;//默认为与运算

endcase

保存模型到一个文件夹中,运行并检查有无错误输出。如果没有错误输出,则新建一个4输入2输出的测试文件,并将Module Type设置为“testbench”。将测试文件保存到ALU模型所在的文件夹下。此时,Toolbox工具箱的Current栏里会出现一个ALU模型,单击该模型在alutest上添加并连接引脚。

接着点击测试模块下方的“Code”,输入激励算法。然后执行仿真并查看输出信息,检查没有错误之后查看波形。点击右侧 Workspace中的信号,进行添加并查看分析仿真结果。对照真值表,查看设计波形输入输出是否一致。

创建一个新的具有10个输入引脚和5个输出引脚的电路模型,并保存到ALU模型所在的文件夹下;添加4个ALU连接引脚,并将4个8位的ALU进行级联;然后从 Toolbox里面的Current 栏找到alu32bit模型,并添加到测试模块上,将对应引脚相连;最后测试激励代码设计好后进行仿真,并查看结果,仿真图形如图3所示。

四、教学效果分析

从学生提交的设计报告中可以看出通过利用ROBEI软件仿真上述的ALU算数逻辑单元,使学生能够通过本系统很好地掌握数字电路的设计过程。同时由于采用ROBEI仿真软件进行虚拟实验,无需涉及和消耗电子元件即可设计好电路图,并可详尽了解该电路的各个设计参数及电路的性能,从而使实践环节的设计内容具有更加全面、硬件投入更少、更加省时省力的优点。另外,通过使用该软件可以使学生结合自己在相关专业课程当中所学过的知识,进行数字电子系统的功能设计和验证,建立系统级设计的概念,掌握实际工程中数字电子系统设计的方法,激发学生学习EDA电子设计的兴趣,提高其理论联系实际的能力。

目前在我国,部分高校已经开始在“EDA电子设计自动化”的课程教学中将ROBEI软件应用在课程的各个教学环节中。该软件的应用使得传统的“EDA电子设计自动化”课程教学模式发生了根本的改变,也使得数字电子系统的调试方法与设计理念发生了根本的变革,克服了传统的教学模式存在的许多不足和弊病,对提高学生的设计与调试能力以及实践能力有了一个质的飞跃。总之,学生在学习过程中发挥了主体作用,提高了综合分析能力和创新能力。

参考文献:

[1]赵恒平,龙婷.研究型大学本科教学定位与质量提升的路径选择[J].华北电力大学学报(社会科学版),2008,(2).

[2]赵永熹,黄云峰.基于项目驱动法的单片机课程体系建设[J].中国电力教育,2013,(4).

[3]王军.现代电子技术综合实验[M].成都:电子科技大学出版社,

2003.

[4]朱定华.电子电路实验与课程设计[M].北京:清华大学出版社,

上一篇:“单片机原理及应用”课程的CDIO教学模式探索 下一篇:关于英语高效课堂的思考