VHDL语言在数字电路教学改革中的应用

时间:2022-10-20 02:18:27

VHDL语言在数字电路教学改革中的应用

【摘要】随着大规模集成电路的广泛应用,实用性和创新性欠缺的传统数字电路教学模式,已不再适应现代应用型人才的培养。本文提出了将VHDL描述语言融入数字电路教学中的改革方案,即通过具体实例说明,VHDL语言能在丰富教学内容的同时,降低电路设计难度,提高学生学习兴趣及设计能力,从而改进教学效果。

【关键词】数字电路;VHDL;教学改革;设计方法

1.引言

数字电路是理工科中的电类专业和计算机专业必修的专业基础课程,也是信息类各专业的平台课程。该课程在介绍有关数字系统基本知识、基本理论、基本电路的基础上,重点讨论数字系统中各种逻辑电路分析与设计的基本方法,以及该领域的发展现状及最新的技术。设置该课程的主要目的是为了让学生了解各种基本逻辑电路,能熟练地运用有关知识和理论对各类逻辑电路进行分析设计。目前, 大多数高等院校仍是采用传统的数字电路教学模式, 以教材为中心,过于强调基本原理、公式的推导以及波形的分析,往往让学生觉得抽象,不能够很好地理解电路、集成芯片的功能及应用。而实验环节主要在实验箱上完成,开设的是一些验证性的实验,对各实验项目的电路设计以手工为主,一般遵循自底向上的设计方法,从电路的功能分析,真值表、表达式、逻辑电路图到器件的选择、连线、测试等,学生的认识仅仅停留在局部小部件上,复杂的系统设计思想受到限制。在数字电子技术飞速发展的今天,大规模以及超大规模集成电路的广泛应用,这种缺乏实用性和创新性的传统教学模式,已不再适应现代应用型人才的培养。因此,教学需要融入新技术 、突破传统教学模式,引入VHDL语言的数字电路教学改革就成为一个重要的研究课题。

2.VHDL语言及其特点

超高速集成电路硬件描述语言(VHDL) 是一种用于数字电路设计的高级语言,是被IEEE和美国国防部确认为标准的硬件描述语言,其主要用于描述数字电路的结构,行为,功能和接口。基于这种描述结合相关的软件工具,可以得到所期望的实际数字电路。利用VHDL语言进行电路设计具有以下几个特点:

(1)VHDL可用于设计复杂的、多层次的设计,并且支持设计库和设计的重复使用;

(2)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力;

(3)VHDL有丰富的仿真语句和库函数,使其在设计的早期就能查验设计系统的功能可行性,借助于相关仿真器随时可对设计进行仿真模拟;

(4)对于VHDL完成的一个确定的设计,一般可进行逻辑综合和优化,并能自动的把VHDL描述设计转变成门级网表;

(5)VHDL语言支持电路描述由高层向低层的综合变换,便于文档管理,易于理解和设计的再利用;

(6)VHDL对于设计的描述具有相对独立性,设计者可以不懂硬件的结构,最终实现的目标器件设计。

3.VHDL语言较传统设计方法的优点

通过上述特点,我们了解到VHDL语言功能强大、设计灵活、容易掌握。将VHDL语言引入数字电路教学中,有利于增强学生对电路设计的认识,掌握更多的设计方法,提高分析设计能力。本文针对六进制约翰逊计数器的设计,分别采用了传统设计方法和VHDL方法进行设计,通过对比可得出,VHDL可以显著提升数字电路的教学效果。

3.1 传统设计方法

传统电路设计采用自底向上的设计方法如图1所示。本文选用JK、D触发器及门电路来实现,采用3个触发器连接产生8个状态,六进制约翰逊计数器只有6个状态,将其中的010,011两个状态禁止掉,具体状态转换表如表1所示。

图1 自底向上设计方法

表1 状态转换表

CLK Q2n'Q1n'Q0n Q2n+1'Q1n+1'Q0n+1

1 0..0..0 0...0...1

2 0..0..1 0...1...1

3 0..1..1 1...1...1

4 1..1..1 1...1...0

5 1..1..0 1...0...0

6 1..0..0 0...0...0

由状态转换表得出状态方程:

,,

将Q2,Q1选用D触发器,Q0选用JK触发器,得出驱动方程:

,,,

根据驱动方程最终画出逻辑原理图如图2所示。

图2 逻辑原理图

在得到逻辑原路图后,还需要进行逻辑验证,验证无误后再对逻辑原理图进行逻辑验证无误后,在PCB版上完成布线、装配、焊接及调试,如有问题,再进行局部修改,直至整个电路调试完毕为止。

图3 自顶向下设计方法

3.2 VHDL设计方法

VHDL设计采用自顶向下的设计方法如图3所示。首先根据设计要求对电路功能进行行为级描述和仿真,然后再进行RTL级描述和仿真,达到预期结果后再进行逻辑综合、布局布线,最终完成电路设计。

(1)行为描述,也就是对计数器数学模型的描述,通过代码描述出输入、输出引脚和计数过程中状态变化时序及关系,具体程序如下:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

entity counter6 is

port(clk,reset:in std_logic;

count_out:out std_logic_vector(2 downto 0));

end counter6;

architecture rtl Of counter6 is

signal next_count:std_logic_vector(2 downto 0);

begin count_proc:process(clk,reset)

begin if reset='0' then

next_count<="000";

elsif clk'event and clk='1' then

case next_count is

when "000"=>next_count<="001";

when "001"=>next_count<="011";

when "011"=>next_count<="111";

when "111"=>next_count<="110";

when "110"=>next_count<="100";

when "100"=>next_count<="000";

when others=>next_count<="000";

end case;

end if;

count_out<=next_count;

end process;

end rtl;

利用Max+plusⅡ软件对上述程序进行编译、仿真,仿真结果如图4所示,结果表明,该方案符合设计要求。

图4 仿真结果

(2)RTL描述,即用具体门电路、运算器等来描述行为部分。行为描述程序抽象程度较高,故需转化为RTL方式描述的VDHL程序,以便于映射到具体的逻辑元件,得到硬件的具体实现。对于改写后的RTL程序同样需要进行仿真,检查正确性。

(3)逻辑综合,利用MAX+PLUS II Advanced Synthsis ALtera将其转换为门级网络表,输出逻辑原理图并进行仿真、检查定时关系。最后根据需要利用门级网表做出ASIC芯片或生成FPGA码点,完成电路设计。

3.3 VHDL与传统设计方法比较

相较于传统设计方法,VHDL采用自顶向下的设计方法,可进行结构化、模块化设计,更利于分工合作,再加上各层次的仿真检查,便于早期发现错误并改正,提高了设计效率;同时设计描述的相对独立性,使得学生设计时不必写表达式、真值表,不必考虑所用器件,降低了设计难度;另外VHDL语言简单易学,MAX+PLUS II界面友好,通过仿真波形分析,学生能更形象、更深刻的理解所学内容。

4.结束语

数字电路作为专业基础课程,其教学效果的好坏,将直接影响后续相关专业课程的学习。在数字电路教学中引入VHDL描述语言,利用MAX+PLUS II进行编译、仿真、演示,不但丰富了教学内容,改进了教学手段,提高学习兴趣,还有助于学生消除“抽象感”;另外VHDL能将传统教学中较难实现的电路设计转换为软件设计,不仅简化了设计工作,还有利于增强学生对集成芯片的认识,提高分析设计能力,掌握更多的设计方法,以适应现代应用型人才培养要求。

参考文献

[1]张天瑜.基于VHDL的数字电路课程改革研究[J].湖北广播电视大学学报:2010(02):25-26.

[2]黄红霞.基于VHDL提升数字电路教学效果的研究[J].黄石理工学院学报,2010(03):66-70.

[3]谭勇,朱斌.基于EDA技术的数字电路实验教学改革[J].中国现代教育装备,2012(17):43-44.

[4]毕春跃,万忠,孙荣高.基于EDA技术的数字电路教学研究[J].2011(09):89-91.

作者简介:柴志成(1982―),男,湖北浠水人,硕士,贵阳学院数学与信息科学学院讲师。

上一篇:基于高频趋肤效应的手写绘图板的研究与实践 下一篇:一卡通与校园网的融合及安全