locifer 发表于 2004-6-7 11:45:31

VHDL的"hello word".

因为跟C语言的hello word一样都是最简单的代码..所以这样称呼..呵呵

VHDL语法的基本结构是这样的:
user 定义区
entity 定义区
architecture 定义区

user定义区是定义一些标准库,entity 定义区是定义实体的外观,I/O接口的规格,architecture 定义区就是描述电路的内部的功能了,说明这个电路做什么用的.


好了,现在就开始讲一个最最简单的例子,类似软件语言上的hello,world,呵呵
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_lOGIC_UNSIGNED.ALL;
--------------------------------
ENTITY AA is
port(
pin48:IN Std_Logic;
pin20:OUT Std_Logic
);
END AA;
--------------------------------
ARCHITECTURE BB OF AA IS
BEGIN
Pin20<=Pin48;
END BB;


--是类似C++的//,用于注释的,这种写法格式清晰而已,没别的,首先 LIBRARY IEEE;定义使用标准IEEE库.

然后看USEIEEE.STD_LOGIC_1164.ALL;是使用IEEE库里面的USEIEEE.STD_LOGIC_1164的全部定义
同样的,USE IEEE.STD_lOGIC_UNSIGNED.ALL;是使用USE IEEE.STD_lOGIC_UNSIGNED库中的所有定义

现在我们来看实体,ENTITY就是实体的意思,entity的格式是这样的:

ENTITY 实体名字 is
port(
管脚名字:输入输出状态 类型;
管脚名字:输入输出状态 类型
);

END 实体名字,所以上面的AA是这个实体的名字,而pin48和pin20是管脚的名字,IN代表是输入状态,OUT代表是输出状态,Std_Logic代表是标准

逻辑类型,还有其他的类型,这个以后再介绍.

然后我们看结构体:
ARCHITECTURE BB OF AA IS
BEGIN
Pin20<=Pin48;
END BB;

ARCHITECTURE是结构体的关键字,BB是结构体的名字,ARCHITECTURE BB 是指BB是结构体的名字,ARCHITECTURE BB OF AA 是指AA实体的结构体BB,IS代表具体阐述..

BEGIN
Pin20<=Pin48;
END BB;

这里是结构体具体功能,类似pascal语法,Pin20<=Pin48,管脚pin48的内容传送到pin20输出.将输入管脚pin48引至输出管脚pin20,类似于C语言的赋值.


提问: port(
pin48:IN Std_Logic;
pin20:OUT Std_Logic
);
这里的pin20:OUT Std_Logic语句后面怎么没分号?

答: 格式是如此的,最后一条语句是不用';'的
页: [1]
查看完整版本: VHDL的"hello word".