VHDL基本结构和逻辑示例
1.VHDL的基本结构
VHDL的基本结构包含了三段:
-- library and package
-- entity
-- architecture
library and package:相关库和软件包(相当与c语言的头文件)
entity:实体(描述输入输出的结构)
architecture:结构体(又称构造体,描述结构的构造和功能)
2.基本结构的使用
直接复制这4行,这4行已经满足了新手入门的基本功能
-- library and package
LiBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
实体需要名称且与文件名一致
-- entity
-- 实体的开头需要赋予名字,名字需首位呼应且与文件名相同
ENTITY e_name is
PORT(
in1,in2,in3: IN STD_LOGIC;
out1,out2: OUT STD_LOGIC;
);
-- 实体尾
END ENTITY e_name;
构造体需要对应实体的名字,描述输入输出之间的关系
-- architecture
ARCHITECTURE arch_name OF e_name IS
BEGIN
--
--
END ARCHITECTURE arch_name;
VHDL中关键字和变量都不区分大小写!!!
3.VHDL简单例子
实体类和结构体都需要end,可以在刚开始写的时候就书写end。
-- library and package
LiBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
-- entity
ENTITY test IS
PORT(
-- 定义4个输入和2个输出
a,b,c,d:IN STD_LOGIC;
and_OUT,or_OUT:OUT STD_LOGIC
);
END test;
-- architecture
-- of可译为属于
ARCHITECTURE bhv OF test IS
BEgin
-- 使用<=赋值(非大于等于)
and_out <= a AND b;
or_out <= c OR d;
END ARCHITECTURE bhv;
4.RTL图的查看
RTL可以通过:tool——>netlist Viewers——>rive viewer来打开
上方例子的RTL图如下: