网站搜索:
第7节 使用Xilinx VHDL工具
文章出处:与非网
更新于2008-05-16 12:06:16

在WebPack环境中搭建VHDL设计的电路,需要一个文本编辑器来创建VHDL源文件,还需要一个综合器来将源文件转换为可以下载到芯片的格式,以及一个仿真器来检查结果。也许对于更复杂的设计,还需要布局布线器或是时序分析仪(后面会讨论这些工具)。任何编辑器都可以用来创建VHDL源文件。Xilinx在WebPack中提供了编辑器,并且该编辑器使用了彩色编辑和自动缩进功能使得源文件具有更好的可读性(我们极力推荐WebPack)。在该指南手册中,我们将从一个新的工程开始,然后使用Xilinx VHDL编辑器和环境来创建一个简单的逻辑电路“Y<=(not A and B) or C
先从创建一个新的工程开始,然后讨论章节3中的原理图输入部分的使用方法。当创建一个新的工程时,先点击“Create New Source菜单。在打开的“选择源文件类型”窗口中选择VHDL模型,并输入一个合适的文件名,以及一个合适的文件路径,然后选择“Add to project选择框。点击下一步到定义模型对话框。这个可选的定义模型对话框为你提供了一个方便的方式来产生VHDL源文件中所需要的内容。你可以选择往这个对话框中输入信息,或者直接跳过不输入任何信息,而在后面直接向VHDL编辑器输入信息。这里,我们将输入信息来保存时间和效率。电路“Y<= (not A and B) or C使用了三个输入,分别标记为A,B和C,还有一个输出Y。该信息可以输入到对话框中,如图所示(保证Y的方向要改为“out)。实例名称可以是任何字母加数字的文本字符串;在这一步,我们将使用前一步中的文件名。结构名称可以是任何有效的字母加数字字符串,这里用默认的“Behavioral。点击下一步到概览窗口,并点击Finish完成,并启动VHDL编辑器。当VHDL编辑器打开时,会自动打开一个文件包含了你在新文件向导中输入的所有信息,以及其他一些附加信息。

注释如绿色部分所示,通常以双横杠开始,且必须用横杠线来定义。任何双横杠之间或双横杠后面的内容都作为注释,并被其后面使用的工具所忽略。库文件和封装文件通常定义在源文件的开头部分。需要的库(library)和use表达式在你的工程中是极其重要的-现在,我们只把它们留在这里,在后面的工程中再来解释它们的功能。
Entity(实例)表达式为设计定义了外部可见端口。工程中的每一个实例都必须有唯一的名称。一旦定义完成,每一个实例在其它设计中都作为一个器件。Port(端口)表达式是实例表达式中主要成分-端口表达式定义了所有的输入输出信号,以及信号的方向(“in”“out或是“inout)和类型。后面我们将详细讨论类型。这里,你创建的几乎所有设计都选用“STD_LOGIC类型(STD_LOGIC是一种VHDL类型,表示实际电路连接线的模型,所以也非常适用于数据类型)。

Architecture(结构)表达式定义了电路行为-工程师必须在一个结构表达式的“begin和“end之间输入有效的VHDL赋值表达式,并用来定义电路。注意在begin/end之间的区域,如上图所示,实际上是一个“并行区域”。这是因为在该区域内描述的赋值表达式是并行操作的,而在构造物理电路模型时就需要并行发生。后面我们会更详细的解释这个概念。
要想完成这个VHDL源文件,你还必须将VHDL赋值表达式“Y<=((not A) and B) or C输入到并行区域内来描述电路行为。这样完整的源文件就产生了,并可以用来仿真和综合,最后下载到Digilent板卡中。
要仿真该源文件,可以使用原理图的仿真程序(也就是,使用WebPack的波形编辑器来创建一个新的源文件来定义输入仿真信号,然后用这个仿真文件来运行仿真器,并检查最后结果)。如下面将要描述的那样,也可以使用更好的方法,比如创建一个VHDL测试分支文件。
要综合该源文件,在工程导航器中的源文件管理窗口中,高亮选定源文件的名称,然后在Processes窗口中双击Synthesize菜单。如果综合完成后没有错误,一个绿色的选项标记(小勾)会在synthesize菜单中显示,还有一个“process completed successfully消息显示在状态窗口中,并将引导你执行后面的正确操作。注意,如果有错误显示,其错误会关联到源代码中出错的地方,在状态窗口中双击红色的“error条,就会自动跳到源文件中出错的那一行。
将VHDL模块加入到原理图中也是可以的(不过有时没必要)。为VHDL模块创建一个原理图符号,在Sources窗口中选择VHDL源文件名,并在Processes窗口的Design Utilities部分双击“Create Schematic Symbol菜单项。然后就创建了VHDL模块的原理图符号,并可以加到原理图中。

       目前,有很多很棒的在线VHDL参考资料。我们鼓励你去查寻它们,或者购买这些参考手册。在后面的环节中,我们将讨论更多的VHDL语言特征,并给出所有新电路的VHDL样例代码。


关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com