关于VHDL语言教学的思考

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:ellydyl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 结合多轮的课程教学实践,主要介绍VHDL语言中变量和信号的区别以及IF语句使用时应注意的问题,提出的方法对VHDL语言教学以及VHDL设计都具有一定的指导意义。
  关键词 VHDL;信号;变量;IF
  中图分类号:G434 文献标识码:A 文章编号:1671-489X(2008)20-0039-03
  
  1 引言
  
  VHDL语言是一种用于电路设计的高级语言,它的英文全写是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,即超高速集成电路硬件描述语言。VHDL语言最初是由美国国防部开发出来,供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言,后来成为IEEE工业标准的硬件描述语言。它具有很强的行为描述能力,与原理图输入方式相比较,用语言的方式描述硬件电路更容易修改和保存。因此,目前VHDL在电路设计中得到广泛应用。我国高等学校电子信息类专业把VHDL语言列为主干课程,作为电子专业学生必须掌握的专业知识。笔者在教学过程中常发现大部分学生无法分清变量与信号的区别以及IF语句常误用等问题,通常虽然程序编译可以通过,但结果却和预期相差甚远,且学生很难发现其中的错误[1]。本文主要介绍VHDL语言的信号与变量和IF语句应用的教学经验。
  
  2 变量与信号的区别
  
  信号和变量是VHDL语言中的数据对象,是存放数据的容器[2]。两者的区别:1)声明的形式和位置不同。信号声明为signal,常在结构体中声明;变量声明为variable,常在进程中声明。2)赋值符号不同。信号赋值为“<=”;变量赋值为“∶=”。3)赋值生效的时间不同。信号赋值是进程结束时生效;变量赋值是立即生效。4)使用范围不同。信号是一个全局量,使用范围是实体、结构体和程序包;变量是一个局部量,常在进程语句、函数语句和过程结构中使用。下面以一个异或程序为例,说明信号和变量的区别以及对系统设计的影响。
  程序一:
  library ieee;
  use ieee.std_logic_1164.all;
  entity xor_sig is
  port(a, b,c:in std_logic;
  x,y:out std_logic);
  end xor_sig;
  architecture behav of xor_sig is
  signal d:std_logic; ①
  begin
   process(a,b,c)
   (*)
   begin
   d<=a;②
   x<=c xor d; ③
   d<=b;④
   y<=c xor d; ⑤
   end process;
  end behav;
  程序一中d定义为信号,使用MAX PLUS II软件对程序进行编译和仿真,编译可以通过,没有语法错误,但出现两个警告:1)Found multiple assignments to the same signal-only the last assignment will take effect;2)Ignored unnecessary input signal pin ‘a’。警告内容是程序对信号d多次赋值,但只有最近的一次会生效,忽略输入信号a的赋值。仿真结果如图1所示。图1中输入信号是b和c,输出信号是x和y。b和c异或的结果给x和y,即x=y=/bc /cb=b c,程序中②没有起作用,信号d的值是b。
  
  图中输入信号是c,b,a;输出信号是x和y,x=/ac /ca=a c,y=/bc /cb=b c,即a和c异或的结果给x,b和c异或的结果给y。
  通过程序里把信号修改为变量,学生可以直观看出信号与变量声明位置和赋值符号的不同;对比两个程序x和y的运行结果,学生可以理解信号和变量的赋值生效时间不同。
  
  3 慎用IF语句
  
  IF语句作为一种条件判断语句,在VHDL程序设计中有着广泛的应用。IF语句有3种结构,一种是门闩控制,语句形式为:
  IF 条件 THEN
   顺序执行语句
  END IF;
  另一种是选择控制,语句有两种形式。形式一:
  IF 条件 THEN
   顺序执行语句
  ELSE
   顺序执行语
  END IF;
  形式二:
  IF 条件 THEN
   顺序执行语句
   :
   ELSIF 条件 THEN
   顺序执行语句
   ELSE
   顺序执行语句
   END IF;
  在用IF语句设计程序时,要注意2个问题:1)在多个条件判断选择时用选择控制中的形式二语句,条件的判断有优先,写在前面的优先判断;2)在设计组合逻辑电路时,尽量不引入不必要的寄存器,则应选择带有ELSE结构的语句。
  程序二:
  library ieee;
  use ieee.std_logic_1164.all;
  entity and22 is
  port(a, b:in std_logic;
   q:out std_logic);
  end and22;
  architecture behav of and22 is
  begin
   process(a ,b)
   begin
   if(a=’1’ and b=’1’) then
  q<=’1’;
   else ①
  q<=’0’; ②
   end if;
   end process;
  end behav;
  程序二是用VHDL语言实现一个二输入的与非门,使用MAX PLUSⅡ软件编译和仿真,仿真结果如图3所示。a,b是输入信号,q是输出信号,当a和b同时为1(高电平)时,q输出1,即高电平;a和b为其他值时,q为0。
  
  
  4 总结
  
  通过对信号与变量以及IF语句的讲解,配合实例的分析,使得学生对信号与变量以及IF语句有了更清楚的认识,减少了不必要的错误。通过多年VHDL的教学,笔者深深地体会到:
  1)VHDL语言是一种硬件描述语言,不能简单地认为是一种高级语言,进行程序设计时要与硬件对应,要考虑程序综合后电路的形式。
  2)教师不仅要精通理论知识,还要有丰富的程序设计经验,能够熟练地指导实验。对学生提出的任何问题要能够结合课堂知识和编程经验加以解决。
  3)任课教师要不断学习,不断实践,不断总结,将最新的技术成果引入教学实践中,及时更新教学内容,使学生能够掌握最新知识和技术。
  
  参考文献
  [1]杨丹,张树林.VHDL中信号与变量的教学体会[J].电气电子教学学报,2006(6):30-33
  [2]黄正谨,徐坚,等.CPLD系统设计入门与应用[M].北京:电子工业出版社,2002
  [3]戴慧.VHDL设计技巧探讨[J].正德学院学报,2006(4)
其他文献
课堂实录  一、导入激趣,指导生字  师:同学们,今天上课前我们先来猜一则谜语:白天草丛待,夜晚空中游。一盏小灯笼,挂在身后头。  生:我觉得是萤火虫,我看到“一盏小灯笼”就猜出来了。  师:萤火虫是一种昆虫,它生活在草丛中,我们看这个“萤”是——  生:草字头,下面是“昆虫”的“虫”。  (师板书“萤”,生齐读。)  师:关于萤火虫,还有这样一则谜语:小飞虫,尾巴明,夜黑闪闪像盏灯。谜语中说,古
摘要 Visual FoxPro(VFP)程序设计是计算机基础课程之一。VFP既是一个高效的数据库管理系统,又是一个集可视化和面向对象的应用系统快速开发工具。在大学计算机基础课中如何教好VFP是一个值得研究的课题,本文就对VFP程序设计的教学方法进行一些探讨。  关键词 VFP;程序设计;教学方法  中图分类号:G642.41 文献标识码:A 文章编号:1671-489X(2008)24-0044
示教板是常用教具。如何设计示教板,才能符合教学需要?本文以多用电表原理示教板为例,浅述电路式示教板的设计。    教材内容和要求    普通高中课程标准实验教科书《物理》 (选修3-1)中有关于多用电表的内容。  教材例题在图1所示电路中,电源的电动势E=1.5 V,内阻r=0.5Ω,电流表满偏电流Ig=10 mA,电流表电阻为7.5 Ω,A、B为接线柱。    1)用一条导线把A、B直接连起来,
摘 要本文通过调研瑞昌市农村中小学远程教育情况,以点带面,探讨了江西省农村中小学远程教育现状,指出了存在的主要问题,并提出了若干解决对策。  关键词农村中小学;远程教育;调查;解决对策    江西省农村中小学现代远程教育工程(以下简称“农远工程”)从2003年开始试点,2005年起被列入国家工程项目,并取得国家资金支持。江西省已安排各项资金4个多亿元用于该项工程建设,目前远程教育已覆盖全省农村所有
教学目标:  1. 通过听读、观察图画、联系生活等方法,认识“天、地”等6个生字。  2. 初步学习朗读课文。  教学过程:  一、 课前谈话,激发兴趣  1. 师带读儿歌,生边读边拍手。  小朋友你好!老师好!  我们要开始上课了!  看谁已经坐好了,  老师就要表扬他!  (设计意图:这是一节识字课,将课前常规教育融入语文课,同时,巧妙地将本课部分教学内容“你、我、他”三个生字贯穿其中,在读儿
教学实录  一、课题导入  师:本课有一个词是你们在《四季》这一课中已经会认的。王老师写在黑板上,如果谁认识,就举手。  师:(板书:青蛙)谁认识这个词?  生:青蛙。  师:读词不能拖长音。跟老师一起读。  师生:(齐)青蛙。  师:你们对青蛙都不陌生,谁  来给大家介绍一下青蛙是什么样的,有什么特点。  生:我知道青蛙是绿色的。  师:青蛙喜欢穿绿色的衣裳。  生:我见过青蛙吐舌头,舌头特别长
夏日的阳光穿过叶缝,书桌上一片斑驳。小雨点抱着我的腿叫奶奶,缠着要听故事;放在一旁的电脑不时传来嘀嘀声,是工作室的孩子们正围绕“育人故事”的主题热烈交流;电话铃响了,是姣姣打来的,她兴奋又急切地说:“师父!我要上一堂公开课,教学设计出来了,您帮我看看吧!”……  时间,真是件神奇的东西。  中师毕业,穿梭于马家村小雨后芬芳的田野间,用游戏的心态教学生学习语文,一同探寻文字的乐趣。一来一往,点趣之间
他从两江环抱的山城重庆走来,天生一份山的厚重与水的灵动,总是努力成就了他“特级教师”的称号。  他向热气腾腾的课改现场走来,在多岗位多角色中历练,勇于担当赋予了他教育的大格局大视野。  他选准习作教学为突破点,在理论研磨与实践建构中“学”与“习”,在家常课与大讲堂上“琢”与“磨”,在“立课”与“立言”中“立人”,“十大青年名师”是他专业的又一次拔节。  最好,在当下,更在明天。  ——张咏梅  【
摘要 针对当前计算机技术、GIS技术的发展和三维GIS强大的功能,结合油田企业生产、管理需求的特点,阐述GIS的发展过程,以及在油田企业中的用途,并展望三维GIS在油田企业生产建设领域应用的发展前景。  关键词 三维GIS;油田企业;发展  中图分类号:P208 文献标识码:B 文章编号:1671-489X(2009)21-0099-02    Review for Development of
摘要 Adobe Flex是一个用于创建RIA应用程序的开源框架,其创建的内容运行于Adobe Flash Player中,集桌面应用的强大功能与Web应用的高效性于一体。Flex使用MXML和ActionScript语言进行编程。阐述使用Flex技术构建企业网站的优势,并探讨相关的连接数据库的技术。  关键词 Flex;Flash;RIA;Web开发  中图分类号:TP312 文献标识码:B 文