1 / 130
文档名称:

第三章 硬件描述语言(VHDL)(3.4-3.8).ppt

格式:ppt   页数:130页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第三章 硬件描述语言(VHDL)(3.4-3.8).ppt

上传人:中国课件站 2011/8/31 文件大小:0 KB

下载得到文件列表

第三章 硬件描述语言(VHDL)(3.4-3.8).ppt

文档介绍

文档介绍:硬件执行:并发执行(VHDL本质)
仿真执行:顺序执行、并发执行
分为两大类:顺序(Sequential)描述语句
并发(Concurrent)描述语句
ARCHITECTURE
Process Process
ENTITY
Sequential
Process
CombinationalProcess
ports
ports
component
§ VHDL顺序语句(Sequential)
1
顺序描述语句:
执行顺序与书写顺序一致,与传统软件设计
语言的特点相似。顺序语句只能用在进程与子程
序中。
可描述组合逻辑、时序逻辑。
常用的顺序描述语句:
赋值语句; if语句;case语句;loop语句;
next语句;exit语句;子程序;return语句;
wait语句;null语句。
2
一对象与赋值语句
1、VHDL中常用的 5 种对象:
1)简单名称,如 my_var;
2)索引名称,如 my_array_var(3);
3)片断名称,如 my_array_var(3 to 6);
4)记录域名,如 ;
5)集合,如(my_var1, my_var2)。
所有对象均分为:变量和信号
对象:= 表达式; -- 变量赋值
对象< = 表达式; -- 信号赋值
要求:表达式的值必须与对象的类型、宽度一
致。
3
2、变量赋值与信号赋值

变量与信号的差异:
1)赋值方式的不同:
变量:= 表达式;
信号< = 表达式;
2)硬件实现的功能不同:
信号代表电路单元、功能模块间的互联,
代表实际的硬件连线;
变量代表电路单元内部的操作,代表暂
存的临时数据。
4
3)有效范围的不同:
信号:程序包、实体、结构体;全局量。
变量:进程、子程序;局部量。
ARCHITECTURE
{SIGNAL Declarations}
label1: PROCESS
{VARIABLE Declarations}
label2: PROCESS
{VARIABLE Declarations}

5
4)赋值行为的不同:
信号赋值延迟更新数值、时序电路;
变量赋值立即更新数值、组合电路。
5)信号的多次赋值
a. 一个进程:最后一次赋值有效
b. 多个进程:多源驱动
线与、线或、三态
6
例:信号的多次赋值
architecture rtl of ex is
signal a : std_logic;
begin
process(…)
begin
a <= b;

a <= c;
end process;
end rtl;
architecture rtl of ex is
signal a : std_logic;
begin
process(…)
begin
a <= b;

end process;
process(…)
begin
a <= c;
...
end process;
end ex;
7
例:信号赋值与变量赋值的比较
信号赋值:
architecture rtl of sig is
signal a,b : std_logic; -- 定义信号
begin
process(a, b)
begin
a <= b ;
b <= a ;
end process ;
end rtl ; -- 结果是 a 和 b 的值互换
8
变量赋值:
architecture rtl of var is
begin
process
variable a,b:std_logic; -- 定义变量
begin
a := b ;
b := a ;
end process ;
end rtl;
-- 结果是a和b的值都等于b的初值
9
例:变量赋值实现循环语句功能
process(indicator, sig)
variable temp : std_logic;
begin
temp := ‘0’;
for i in 0 to 3 loop
temp:=temp xor (sig(i) and indicator(i));
end loop ;
output <= temp;
end process;
10