基于FPGA的EDA技术课程设计

点赞:25604 浏览:118826 近期更新时间:2024-03-20 作者:网友分享原创网站原创

摘 要 EDA技术课程设计是EDA技术学习的一个重要环节,为培养学生的实际动手能力及设计创新能力,从教学改革的实践出发,文章详细介绍了课程设计的教学安排,给出了课程设计的具体方法.

关 键 词 EDA技术 课程设计 实践教学

中图分类号:G424 文献标识码:A

0 引言

随着微电子技术的不断发展和制造工艺水平的提高,现代电子产品正在以前所未有的革新速度,朝着功能多样化、体积最小化、功耗最低化的方向迅速发展.EDA(Electronic Design Automation,电子设计自动化)技术正是为了适应这种现状,以缩短电子产品的开发周期,降低开发成本,提高产品竞争力为目的,吸收多学科最新成果而形成的一门新技术.日趋完善的EDA技术正在逐步取代传统的电子设计方法,广泛应用于工业生产、消费电子、医药卫生、汽车电子、无线通信、仪器仪表等领域.

1.EDA技术课程概述

EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,由计算机自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术.①

EDA技术是一门应用性和实践性很强的课程.需要掌握四个方面:大规模可编程逻辑器件,硬件描述语言,软件开发工具,实验开发系统.大规模可编程逻辑器件主要是了解主流的FPGA/CPLD厂商及其主要器件,对器件的内部结构可以少讲,不作深入的剖析.常用的硬件描述语言包括VHDL和Verilog HDL两种,在教学中应让学生至少掌握一种.选用不同厂家的可编程逻辑器件需要使用不同的EDA软件开发工具.目前比较流行的、主流厂家的EDA 软件工具有Altera公司的QuartusⅡ,Xilinx的ISE/ISE-WebPACK Series 和Lattice公司的ispLEVER.实验开发系统是硬件验证工具.②

EDA技术课程设计作为EDA技术理论课程的后续实践教学环节,主要教学目的是提高学生的实践动手能力,注重学生的自主设计能力和创新能力的培养,比较全面的掌握EDA技术的设计方法和工程开发流程,为毕业后能适应工作岗位打下基础.

2.EDA课程设计教学实践

2.1 教学安排

我校学生在上EDA课程设计之前已经学习了EDA技术理论课,并进行了18学时的EDA技术实验,已经具备一定的理论基础,掌握QuartusⅡ软件的使用,能够进行一些基本的组合逻辑电路及时序逻辑电路的设计,并下载到实验箱上面观察硬件现象.课程设计的教学安排主要包括下面几个阶段.

图1 系统组成框图

选题:学生3人一组,根据分发的题目,通过查找资料,选择自己感兴趣的课题或者自由定题,如果是自由定题需经过指导教师批准后方可进行后续设计.

具体设计:主要包括设计方案的确定,各模块程序设计,仿真,硬件测试.学生在完成设计之后,需在实验箱上演示硬件现象并进行讲解,提交项目文件.指导教师根据学生的设计成果进行验收.主要考察学生设计中所用的基础理论、基本知识、基本技能的掌握程度,以及学生在实验箱实验过程中遇到的问题和解决方案.

课程设计报告撰写:对设计过程进行归纳总结,按照规定的格式要求完成设计报告的撰写,每人一份,不得抄袭.主要是培养学生的论文写作能力.

答辩:学生对其设计内容进行讲解并回答指导教师的提问.

2.2 电路系统的设计方法

EDA技术课程设计的题目一般比较复杂,需要综合运用所学的知识.采用自上而下的设计方法进行设计,主要包括下面几个步骤:(1)分析课程设计任务书的题目及要求;(2)通过查找资料,确定系统方案,将整个系统进行模块划分;(3)利用Altera公司的QuartusⅡ软件,采用VHDL语言或原理图的输入方式进行具体模块设计;(4)功能仿真、时序仿真,功能仿真是为了验证系统是否能够完成要求的逻辑功能,时序仿真是考虑了器件延时特性之后的仿真.(5)硬件测试.下面以汽车尾灯控制器的设计为例介绍数字电路系统的设计方法.


设计任务:设计一个汽车尾灯控制器,检测设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括:(1)汽车正常行驶时指示灯都不亮;(2)汽车右转弯时,右侧的一盏指示灯亮且闪烁;(3)汽车左转弯时,左侧的一盏指示灯亮且闪烁;(4)汽车刹车时,左右两侧的一盏指示灯同时亮;(5)汽车在夜间行驶,左右两侧的一盏指示灯同时一直亮,供照明使用.

按照设计要求,采用自顶向下的设计方式,将整个系统分为时钟分频模块、主控模块、汽车左灯控制模块及汽车右灯控制模块等四个模块.其系统组成框图如图1所示.系统的输入信号包括系统时钟信号CLK、刹车信号BRE、夜间行驶信号NIGHT、汽车左转弯控制信号LEFT及汽车右转弯控制信号RIGHT,系统的输出信号包括左侧3盏指示灯LD1(左转弯信号灯)、LD2(左刹车灯)、LD3(左夜灯)及RD1(右转弯信号灯)、RD2(右刹车灯)、RD3(右夜灯).

分频模块:输入系统时钟信号CLK(16Hz)进行16分频得到1Hz的时钟信号CP,CP的电平信号分别和LEDL、LEDR电平相与,用于控制左转弯信号灯LD1及右转弯信号灯RD1的闪烁.

主控模块:此模块用于整体控制,当输入左转弯信号LEFT时,输出左灯控制信号LP,当输入右转弯信号RIGHT时,输出右灯控制信号RP,当输入刹车信号BRE时,输出刹车灯控制信号BRE_LED,当输入夜间行驶信号NIGHT时,输出夜灯控制信号NIGHT_LED,其它情况输出错误控制信号LR.主控模块的VHDL源程序如下: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CTRL IS

PORT(LEFT,RIGHT,BRE,NIGHT: IN STD_LOGIC;

LP,RP,LR,BRE_LED,NIGHT_LED: OUT STD_LOGIC);

END ENTITY CTRL;

ARCHITECTURE ART OF CTRL IS

BEGIN

NIGHT_LED<=NIGHT;

BRE_LED<=BRE;

PROCESS(LEFT,RIGHT)

VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

TEMP:等于LEFT&RIGHT;

CASE TEMP IS

WHEN "00"等于>LP<='0';RP<='0';LR<='0';

WHEN "01"等于>LP<='0';RP<='1';LR<='0';

WHEN "10"等于>LP<='1';RP<='0';LR<='0';

WHEN OTHERS等于>LP<='0';RP<='0';LR<='1';

END CASE;

END PROCESS;

END ARCHITECTURE ART;

汽车左灯控制模块:用于控制左侧尾灯的亮、灭和闪烁情况.在时钟信号上升沿的控制下,左灯控制信号LP有效时,左灯LEDL输出有效电平,输出的LEDL信号与CP信号相与,使得左转弯信号灯LD1闪烁.刹车控制信号有效时,LEDB输出高电平,使得左边刹车灯LD2点亮;夜间行驶信号有效时,LEDN输出高电平,使得左边夜灯LD3点亮.当错误控制信号出现时,左侧三盏灯都不亮.源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LC IS

PORT(CLK,LP,LR,BRE,NIGHT: IN STD_LOGIC;

LEDL,LEDB,LEDN: OUT STD_LOGIC);

END ENTITY LC;

ARCHITECTURE ART OF LC IS

BEGIN

LEDB<=BRE;

LEDN<=NIGHT;

PROCESS(CLK,LP,LR)

BEGIN

IF CLK'EVENT AND CLK等于'1' THEN

IF(LR等于'0') THEN

IF(LP等于'0')THEN

LEDL<='0';

ELSE

LEDL<='1';

END IF;

ELSE

LEDL<='0';

END IF;

END IF;

END PROCESS;

END ARCHITECTURE ART;

汽车右灯控制模块:此模块与左灯控制模块类似,在这里不作详细介绍.

顶层电路:各模块设计仿真实现后,可以分别创建各个模块的元件符号,然后将各子模块采用原理图的输入方式连接起来建立顶层文件,或者用VHDL语言编写顶层文件实现系统电路.图2是顶层VHDL文件编译后生成的RTL电路图.

系统设计完成后,对整个系统进行功能仿真,根据设计要求添加测试输入条件,观察仿真后的输出结果是否与理论结果相符,如果不符,则必须修改源程序,直到相符为止.图3为系统仿真图,由仿真现象可知,当刹车信号Brake为高电平时,不管时钟信号如何,左右两盏灯ld2及rd2同时点亮.当夜灯Night为高电平时,不管时钟信号如何,左右两盏灯ld3及rd3同时点亮.当左转信号Left及右转信号Right同时有效时,这是一种错误输入,左右三盏灯均不亮,而当左转信号Left单独有效时,在时钟CLK的上升沿到来后,相应尾灯Ld1开始闪烁.仿真结果与预期结果相符,验证了设计的正确性.

电路仿真正确后,进行硬件验证.根据实验室的实验箱,选择Altera公司的EP1K30TC144-3芯片,正确分配好引脚,进行全编译,生成编程文件,连接好实验箱,将编程文件通过编程器下载到实验箱上面,然后拨动开关,观察实验现象是否符合设计要求.

3.结束语

通过课程设计,同学们对EDA技术表现出浓厚的学习兴趣,逐渐从被动学习转变成了主动学习.同学们掌握了如何基于FPGA器件进行系统电路设计,学会了应用编程技术设计专用集成电路芯片的方法,实践动手能力、综合设计能力得到很大的提高,为将来的就业奠定了基础.

基于FPGA的EDA技术课程设计参考属性评定
有关论文范文主题研究: 信号类论文范文 大学生适用: 硕士学位论文、自考毕业论文
相关参考文献下载数量: 77 写作解决问题: 写作资料
毕业论文开题报告: 文献综述、论文前言 职称论文适用: 职称评定、职称评中级
所属大学生专业类别: 写作资料 论文题目推荐度: 免费选题

注释

① 谭会生,张昌凡.EDA技术及应用(第三版)[M].西安:西安电子科技大学出版社,2011.

② 刘娅琴,林霖.EDA课程教学探索与实践[J].电气电子教学学报,2010.8.32(4).