EDA技术在数字电路实践教学中的应用
2017-03-31刘妍妍崔炜杨晓慧白雪梅
刘妍妍 崔炜 杨晓慧 白雪梅
摘 要:EDA(Electronic Design Automation)是以计算机为平台,原理图输入法、硬件描述语言(VHDL)为设计语言,可编程逻辑器件为实验载体,以ASIC/SOC芯片为目标器件进行必要的元件建模和系统仿真的电子产品自动化的设计过程,将传统的数字电路基础理论教学与现代EDA课程在教学内容和实践内容协调发展,EDA实践教学采用开放式实验教学模式,通过开设数字电路EDA实践教学工作,使学生从传统的数字电路设计方法过渡到现代先进的设计方法,在长期的教学实践中,数字电路课程自成体系,取得了良好的教学效果。EDA实践教学在顶层进行原理图的设计、仿真、纠错,也可用硬件描述语言对复杂系统进行描述,然后生成具体门级电路,学生可不受芯片的约束,进行数字电路相关实践内容。
关键词:EDA VHDL 自动化 数字电路
中图分类号:G71 文献标识码:A 文章编号:1672-3791(2015)11(c)-0033-02
数字电路EDA也是电子信息工程学院各个专业的一门必修课,它是一门实践性很强的课程,是实践教学中不可缺少的重要教学环节,EDA实验使学生了解通过软件仿真的方法可以高效的完成硬件电路设计的计算机技术,初步掌握自顶向下的设计方法、EDA设计流程等,会用原理图输入和硬件描述语言VHDL设计逻辑电路。
数字电路EDA课程是高等院校电气、电子信息类专业的一门重要的实践课程,具有理论性与实践性强的特点,优化该课程的实践教学,对提高课程教学质量至关重要,由注重传授知识向注重培养学生综合素质方向转变,随着大规模集成电路的飞速发展,电子类高新技术的开发也更加依赖于EDA技术的应用,通过实践课程,学生掌握使用EDA工具设计数字电路的方法,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程。
1 优化课程的实践教学
数字电路课程引入EDA技术,不仅极大地丰富课程选题,而且同一课题出现多种实现方案,提高了学生的创新思维能力,对后续专业基础课程学习、电子设计竞赛、撰写论文等起到了启蒙和引导的作用。
2 综合运用基础知识,解决工程实际应用能力
EDA(Electronic Design Automation)是以计算机为平台,原理图输入法、硬件描述语言(VHDL)为设计语言,可编程逻辑器件为实验载体。
自顶向下的模块设计方法就是从系统的总体要求出发,自上而下地逐步将设计内容细化,最后完成系统硬件的总体设计。设计的三个层次如下。
第一层次是行为描述。实质上就是对整个系统的数学模型的描述(抽象程度高)。
第二层次是RTL方式描述,又称寄存器传输描述(数据流描述),以实现逻辑综合。
第三层次是逻辑综合,就是利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。在门电路级上再进行仿真,并检查定时关系。
完成硬件设计的两种选择,由自动布线程序将网络表转换成相应的ASIC芯片制造工艺,做出ASIC芯片。将网络表转换成FPGA编程代码,利用FPGA器件完成硬件电路设计。
3 应用实例
首先建立一个新的工程,然后建立新文件并输入如下的代码:
module sled(seg,dig,clock,rst_n,);
input clock;
input rst_n;
output [7:0] seg;
output [3:0] dig;
reg [7:0] seg_reg;
reg [3:0] dig_reg;
reg [3:0] disp_dat;
reg [36:0] count;
always @ (posedge clock )
begin
if(!rst_n)
count = 37'b0;
else
count = count + 1'b1;
dig_reg= 4'b0000;//
end
always @ (count[3])
begin
disp_dat = {count[7:4]};
end
always @ (disp_dat)
begin
case (disp_dat)
4'h0 : seg_reg = 8'hc0;
4'h1 : seg_reg = 8'hf9;
4'h2 : seg_reg = 8'ha4;
4'h3 : seg_reg = 8'hb0;
4'h4 : seg_reg = 8'h99;
4'h5 : seg_reg = 8'h92;
4'h6 : seg_reg = 8'h82;
4'h7 : seg_reg = 8'hf8;
4'h8 : seg_reg = 8'h80;
4'h9 : seg_reg = 8'h90;
4'ha : seg_reg = 8'h88;
4'hb : seg_reg = 8'h83;
4'hc : seg_reg = 8'hc6;
4'hd : seg_reg = 8'ha1;
4'he : seg_reg = 8'h86;
4'hf : seg_reg = 8'h8e;
endcase
end
assign seg=seg_reg;
assign dig=dig_reg;
endmodule
保存后,再编译,之后选Tools->Run EDA Simulation Tool->EDA RTL Simulation进行仿真。最后配置引脚,下载并运行。
4 营造良好的实践教学环境并建立科学的评价方法
基于EDA技术的数字电路实践教学主要由计算机,EDA软件开发工具,可编程芯片及实验硬件开发系统组成,该院已建有EDA 实验室,配有多台安装Quartus开发软件的PC机,为每人或者小组完成课题提供良好的实验条件。
如何评价设计成果,客观,合理的给出成绩,既能反映出真实水平又能激发学生的学习积极性和创新意识,不以最终结果正确性作为评价的唯一标准,而对设计过程的每个环节都给出量化的评分标准。
5 结语
数字电路实验中引入EDA技术,蕴含着数字系统设计的新思路、新方法,代表了现代数字系统设计的方向,EDA技术采用“自上向下”设计数字系统的方法,通过设计逻辑功能模块来实现数字系统功能,不仅大大提高了工作效率,而且提高了系统的可靠性,使设计更加灵活,学生在大二期间,就能够通过数字电路EDA实验,掌握EDA技术,对将来后续课程的学习,以及对学生提高创新能力,工程设计能力都是十分有利,数字电路EDA实验中应用EDA技术可使学生突破硬件资源,制作耗时的限制,充分发挥想象力和创造性,设计出别具特色的作品来,使课程设计的效果大大提高,应用EDA技术设计数字电路,可为实验的选题拓宽范围,增加了课程的趣味性、综合性、创造性,以不同类型,不同难度的设计任务供学生选择。
参考文献
[1] 邹虹.数字电路与逻辑设计[M].北京:人民邮电出版社,2008.
[2] 白雪梅.数字电子技术实验教程[M].北京:电子工业出版社,2014.
[3] 白中英.数字逻辑与数字系统[M].北京:科学出版社,2007.