EDA技术在毕业设计中的应用

时间:2022-09-02 05:14:52

EDA技术在毕业设计中的应用

摘要:该文简要的介绍EDA技术在电子专业学生毕业设计中的应用,并通过与传统设计方法比较阐述其设计思想及特点,后用一实例反映设计过程和步骤。

关键词:毕业设计;EDA技术;VHDL

中图分类号:TP313 文献标识码:A 文章编号:1009-3044(2013)33-7609-04

毕业设计对于工科院校的学生来说是非常重要的一个学习和综合训练环节,通过毕业设计可检验学生在大学对所学知识、技能的掌握程度,运用理论指导实践的能力,及分析问题、解决问题和知识创新的能力。对于电子类专业的学生毕业设计的选题即是电子系统的设计与制作。目前由于大规模集成电路的发展,电子系统的设计已发生了革命性的变化,尤其是数字系统绝大部分设计已采用EDA技术完成,传统设计的方法逐渐被淘汰。因此,掌握 EDA设计方法及设计工具对电子专业类学生来说非常重要。

1 EDA简介及与传统设计方法的比较

EDA技术涉及面很广,其中包括半导体工艺设计自动化,可编程器件设计自动化,电子系统设计自动化,印刷电路板设计自动化,仿真与测试、故障诊断、形式验证自动化,内容非常丰富。但我们从电子系统设计的角度看,则主要有以下四方面的内容:1)大规模可编程逻辑器件;2)硬件描述语言;3)软件开发工具;4)实验开发系统。其中,大规模可编程逻辑器件是电子系统设计的载体,硬件描述语言是对电子系统进行逻辑描述的主要表达方法,软件开发工具是电子系统设计的智能化、自动化设计工具,实验开发系统是电子系统设计的下载及硬件验证工具。这门技术通过有关的开发软件自动完成了用软件方法设计的电子系统到硬件系统的实现,,它的应用解决了专用集成电路设计面临的难度不断提高设计周期不断缩短的矛盾,大大的提高了电子系统的开发的速度。

EDA设计方法与传统设计的区别主要体现在以下几个方面:

1)EDA采用 “自顶向下”的设计方法。“自顶向下”的设计方法是在顶层对整机电路系统进行功能方框图划分和结构设计,将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各个子系统关系合理,便于逻辑电路级的设计和实现止。并可逐层描述,逐层仿真,保证满足系统指标。这种设计方法有利于在设计的早期发现结构设计中的错误,提高设计的一次成功率。而传统设计通常采用“自下而上”的方法,结构性设计错误则在设计末期才能发现。

2)EDA设计以硬件描述语言为主。用硬件描述语言进行电路系统设计是EDA技术的一个重要特征。与传统的原理图设计方法相比较,硬件描述语言更适合规模日益增大的电子系统。硬件描述语言能使设计者在比较抽象的层次上描述设计的结构和内部特征。它的突出优点是语言的公开性、设计与工艺的无关性、宽范围的描述能力、便于组织大规模系统的设计、便于设计的复用和继承等。

3)EDA技术是基于芯片的设计方法。EDA技术的设计载体是可编程逻辑器件,EDA设计是对其内部逻辑功能进行设计。一个大规模可编程逻辑器件可将整个电子系统设计在其中,芯片设计完成即电子系统设计完成。 EDA设计重点是芯片设计,电路板仅起到信号连接的作用。传统设计是基于电路板的设计,是以通用的逻辑元、器件为主体设计电路板,设计重点是构成不同功能的电路板。

4)EDA设计方法是自动实现的。EDA技术通过有关的开发软件自动完成用软件方法设计的电子系统到硬件系统的实现。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等都由EDA工具一体化完成。传统设计的方法则以手工设计为主,对设计人员的要求较高,设计周期较长,难度也较大。

5)高速性能好。与以CPU为主的电路系统相比,基于FPGA/CPLD开发的纯硬件系统的高速性能更好。因为CPU是通过顺序执行指令的方式来完成运算和控制步骤的,而用硬件语言描述的系统实现方式是硬件,是以并行方式工作的。例如,晶振工作频率为12MHZ的MCS-51系列单片机对A/D控制的采样频率为20KHZ左右;若以工作频率为100MHZ的FPGA来完成同样的工作,则采样速度可达50MHZ。

另外,EDA技术有强大的系统建模、电路仿真功能。能对所设计的电子系统从各种不同层次的系统性能完成一系列准确的仿真与测试操作。同时由于开发技术的标准化与规范化。它的设计成果是通用的,具有规范的IP核接口协议。良好的可测试与可移植性,为高质高效的设计开发提供了可靠保证。

鉴于EDA技术的优越性,本技术已成为现代系统设计和电子产品研制开发的有效工具,成为电子工程师应具备的基本能力之一。电子类专业学生在毕业设计中使用EDA技术一方面是对学生实际工作技能的训练,同时也解决了对制作实物有一定难度的,而难于对所设计的系统正确性、可靠性进行验证的问题,因EDA技术对系统电路设计正确性的验证可通过计算机仿真和EDA实验平台进行。下面我们通过一个具体实例介绍运用EDA技术进行电子系统设计的方法与过程。

2 设计实例

多路彩灯控制器。

2.1设计任务

试设计一个十六路彩灯控制器,要求如下:

1)彩灯能做6种花型变化;2)有清零功能,可使十六路彩灯熄灭;3)彩灯循环有快慢两种节拍。

2.2设计方案

根据设计要求,该系统应有三个输入信号:控制彩灯循环的基准时钟信号clk_in,系统清零信号clr和控制彩灯循环节奏快慢的选择开关信号chose_key;并有16个输出信号led[15…0],分别用于控制十六路彩灯。

可考虑将该控制系统分为两个模块组成,分别为时序控制电路SXKZ和显示控制电路XSKZ。其工作原理是,时序控制电路根据输入信号clk_in、clr、chose_key产生符合一定要求的、供显示控制电路使用的控制时钟信号clk,而显示控制电路则根据SXKZ输出的控制时钟信号clk,输出6种花形循环变化的、控制十六路彩灯工作的控制信号led[15…0]。系统方框图如图1所示。

2.3系统设计

1) 时序控制模块。在设计该模块时,可利用计数器来产生所需的控制时钟信号clk。具体实现过程为,在clk_in作用下,计数器开始计数,当计数值达到分频值时,对计数器进行清零,同时使输出信号反相,从而实现对clk_in的分频。其VHDL源程序设计如下。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY sxkz IS

PORT(clk_in,clr,chose_key:IN STD_LOGIC;

clk:OUT STD_LOGIC);

END sxkz;

ARCHITECTURE beh OF sxkz IS

SIGNAL cp: STD_LOGIC;

SIGNAL temp:STD_LOGIC_VECTOR(2 DOWNTO 0);

BEGIN

PROCESS(clk_in,clr,chose_key)

BEGIN

IF clr='0' THEN — 当时clr=0清零,否则正常工作

cp

temp

ELSIF clk_in'event AND clk_in='1'THEN

IF chose_key='1' THEN — 当chose_key=1时,实现1/8分频

IF temp="011" THEN

temp

cp

ELSE

temp

END IF;

ELSE — 当chose_key=0时,实现1/16分频

IF temp="111" THEN

temp

cp

ELSE

temp

END IF;

END IF;

END IF;

END PROCESS;

clk

END beh;

仿真波形如图2所示。

2)显示控制模块。在设计该模块时,可利用常数来定义输出的6种花型,同时采用状态机来设计六种花形的循环变化。其VHDL源程序设计如下。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY xskz IS

PORT(clk,clr:IN STD_LOGIC;

led:OUT STD_LOGIC_VECTOR (15 DOWNTO 0));

END xskz;

ARCHITECTURE beh OF xskz IS

TYPE state IS(s0,s1,s2,s3,s4,s5,s6);

SIGNAL current_state: state;

SIGNAL flower: STD_LOGIC_VECTOR(15 DOWNTO 0);

BEGIN

PROCESS(clk,clr)

CONSTANT f1: STD_LOGIC_VECTOR(15 DOWNTO 0):="0001000100010001";

CONSTANT f2: STD_LOGIC_VECTOR(15 DOWNTO 0):="1010101010101010";

CONSTANT f3: STD_LOGIC_VECTOR(15 DOWNTO 0):="0011001100110011";

CONSTANT f4: STD_LOGIC_VECTOR(15 DOWNTO 0):="0100100100100100";

CONSTANT f5: STD_LOGIC_VECTOR(15 DOWNTO 0):="1001010010100101";

CONSTANT f6: STD_LOGIC_VECTOR(15 DOWNTO 0):="1101101101100110";

BEGIN

IF clr='0' THEN

current_state

ELSIF clk'event AND clk='1' THEN

CASE current_state IS

WHEN s0=>flower

current_state

WHEN s1=>flower

current_state

WHEN s2=>flower

current_state

WHEN s3=>flower

current_state

WHEN s4=>flower

current_state

WHEN s5=>flower

current_state

WHEN s6=>flower

current_state

END CASE;

END IF;

led

END PROCESS;

END beh;

仿真波形如图3所示。

2.3编程下载

顶层电路通过编译仿真后,锁定引脚,在引脚锁定后再通过编译器对文件重新进行编译,将引脚信息编入下载文件中,然后将设计文件编程/配置下载到芯片上,最后在实验平台上进行硬件测试。

3 结束语

目前,在电子工程领域EDA技术应用越来越广泛,是电子产品开发研制的动力源和加速器,是现代电子设计的核心。电子类专业学生掌握EDA技术、应用EDA技术是其必备技能之一。通过毕业设计的训练,使学生对该技术的应用更加熟练。

参考文献:

[1] 焦素敏.EDA应用技术[M].北京:清华大学出版社,2005.

[2] 唐俊英.EDA技术应用实例教程[M].北京:电子工业出版社,2008.

[3] 江国强.EDA技术及应用[M].北京:电子工业出版社,2009.

上一篇:基于C8051F单片机安培小时计的设计 下一篇:基于现代信息技术下的基层电大教师专业化发展