VHDL编程语言常见错误及解决方法

时间:2022-09-20 05:52:53

VHDL编程语言常见错误及解决方法

摘 要VHDL语言是国际化的标准硬件描述语言,在EDA电子产品设计自动化中主要用于描述数字系统的外部接口和内部功能。本文以设计二选一数据选择器为例,运用MAXPLUS软件平台来介绍VHDL编程语言中常见的错误及解决方法。

VHDL被IEEE确认为标准硬件描述语言。VHDL描述语言层次较高,在进行电子系统设计时可以不了解电路的结构细节,初学者在学习VHDL的过程中需要理论结合实验,在不断地软件编程中获得锻炼,掌握技能。本文以二选一数据选择器为例,运用MAXPLUS软件平台来介绍VHDL编程语言中常见的错误及解决方法。

初学者首先在c:\max2work文件夹中新建一个工程库文件夹,命名为“exy”,后打开MAXPLUS软件,新建一个文本文件,在编辑窗中输入程序,完毕后保存。笔者依据教学经验,将学生容易出错的知识点综合在一起所得到的二选一数据选择器的程序如下:

librry ieee; use IEEE.std_logic_1164.all;

entity ch0 is

port ( d0, d1,sel,: in std_logic;

q: out std_logic)

end ch0;

architecture connect of ch0 is

begin

process (d0,d1,sel)

variable temp1,temp2:std_logic;

begin

temp1

end connect;

2 编译和改错

编辑好文本后,选择与实验箱对应的芯片,并将项目路径设置统一,再进行编译。编译提示错误有如下几种类型:

(1)文本后缀错误.tdf:Error:line 1,file c:\max2work\exy\untitled2.tdf:TDF syntax error:Expected,ASSERT,CONSTANT,DEFINE,DESIGN,FUNCTION,IF,OPTIONS,PARAMETERS,SUBDESIGN,or TITLE but found a symbolic name “library”将后缀改为.vhd。

(2)实体名命名错误:Error: line 1,file c:\max2work\exy\untitled2.vhd:VHDL design file “untitled”must contain an entity of the same name. 错误提示要求文件名和实体名一致,将文件名改为ch0。

(3)Error:line 8,file c:\max2work\exy\ch0.vhd:VHDL syntax error: port clause must have “;”,but found END instead. 程序中PORT语句结束后没有分号,加上“;”。

(4)Error: line 17,file c:\max2work\exy\ch0.vhd:identifier error :identifier “temp3” has not been declared。程序进程中用到了temp3,但是前面没有定义,在进程定义语句temp2后面加上”,temp3”。

(5)Error: line 17,file c:\max2work\exy\ch0.vhd:VHDL syntax error: process statement must have end process,but found connect instead.进程缺少结束语句,在”end connect;”前加上” end process;”。

(6)Error: line 15:file c:\max2work\exy\ch0.vhd:Assignment error:target of a Signal Assignment Statement must be a signal or an aggregate, but is a Variable instead.赋值语句temp1

(7)Error: line 18:file c:\max2work\exy\ch0.vhd:Assignment error:target of aVariable Assignment Statement must be a variable or an aggregate, but is a port instead. 赋值语句q:=temp3;中采用的是变量赋值语句,但q为信号,故赋值语句应该改为信号赋值语句:”q

3 结束语

初学者在软件编程中常见的问题主要包括如下:路径设置、文件命名、语句结束、库的调用、变量和常量的使用等。问题出现的原因主要是由于知识掌握不牢,对VHDL的语法不熟悉,对语言的使用不熟练,以及粗心大意。所以初学者需要带着严谨的态度,并通过不断地进行软件编程练习,在不断地出错及改错中积累经验,并逐步地来提高编程技能和设计电子产品的能力。

参考文献

[1]刘江海.DA技术[M].武汉:华中科技大学出版社,2013.

[2]聂小燕,鲁才.数字电路EDA设计与应用[M].北京:人民邮电出版社,2010.

[3]余丽红.基于FLEX10K的数字显示程序设计[J].电子技术与软件工程,2014(07):267-268.

上一篇:基于数字化校园的移动APP 研发与应用 下一篇:学龄前儿童教育空间探析