- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA实验室
PAGE 9
Electronic Design Automation Laboratory, Electrical Engineering Renewable Energy School, China Three Gorges University
CPLD与电子CAD报告
班 号:
序 号:
学 号:
姓 名:
同组同学姓名:
三峡大学电气与新能源学院
CPLD及电子CAD
第一章 VHDL中的进程、信号与变量
1.VHDL中的基本单元结构及基本内容:
1.Entity(实体):像一个黑盒子一样,用来说明模型外部的输入输出特征
2.Architecture(构造体):用来定义模型的内容和功能,每一个构造体必须有一个实体与它相对应,所以两者一般成对出现;
3.Generic(类属参量):规定端口的大小、实体中子元件的数目等;
4.Ports(端口):是实体的一部分,主要用于信号的传输;常见的端口类型有IN(数据只能进实体),OUT(数据只能流出实体),INOUT(即可流进又可流出),BUFFER(数据流进实体同时可被反馈);
5.数据类型:BIT(位类型,只取‘0’或‘1’);BIT_VECTOR(位矢量类型,包含一组位类型)
6.Std_Logic数据类型:电路中有三态逻辑必须用std_logic和std_logic_vector;
7.构造体:描述实体的内部结构和逻辑功能,和实体相联系,一个实体可以有多个构造体,构造体的运行时并发的;
2.进程:
进程语句是VHDL中最重要的语句,具有并行和顺序行为的双重性,其特点主要有:
1.进程和进程语句之间是并行的关系;
2.进程内部是一组连续执行的顺序语句;
3.进程语句与结构体中的其余部分进行信息交流是靠信号来完成的;
4.一个构造体可以有多个进程语句;
5.进程的基本格式:
【进程标号:】PROCESS[(信号敏感表)]IS
说明区
BEGIN
顺序语句
END PROCESS[进程标号];
6.进程举例
library ieee;
use ieee.std_logic_1164.all;
entity if_case_53_54 is port
(a,b,c,d: in std_logic;
sel : in std_logic_vector (1 downto 0);
y,z:out std_logic);
end if_case_53_54;
architecture logic if_case_53_54 is
begin
if_label:process(a,b,c,d,sel)
begin
if sel=00 then y=a;
elsif sel=01 then y=b;
elsif sel=10 then y=c;
else y=d;
end if;
end process if_label;
case_label:
process(a,b,c,d,sel)
begin
case sel is
when 00 =z=a;
when 01 =z=b;
when 10 =z=c;
when 11 =z=d;
when others =z=0;
end case;
end process case_label;
end logic;
7.其仿真波形为
3.信号 (一种重要的数据对象) :
※信号是描述硬件系统的基本数据对象,它的性质类似于连接线。它可以代表连线、内连元件、或端口。
※用“=”来给信号赋值。
※信号可以作为实体中进程模块之间的信息交流媒介,信号存在于进程外。
※信号定义的语句格式与变量相似,信号定义也可以设置初始值。
※在进程中只能将信号列入敏感表,而不能将变量列入敏感表。
※信号的定义格式:
SIGNAL 信号名: 数据类型:=初始值;
※信号的赋值语句表达式:
目标信号名 = 表达式;/*这里的表达式可以是一个运算表达式,也可以是数据对象(变量、信号或常量)*/
4.变量的定义及特点:
1.变量是一个局部量,只能在进程和子程序中使用。
2.必须在进程和子进程的说明性区域说明。
3.不能表达连线和存储元件。变量的主要作用是在进程中作为临时的数据存储单元。
4.定义变量的一般表述:
WARIABLE 变量名 :数据类型 := 初始值;
5.变量赋值的一般表述为:
目标变量名 := 表达式;
因此,变量赋值符号是“:=”,变量数值的改变是通过变量赋值来实现的。赋值语句右方的“表达式”必须是一个与“目标变量名”具有相同数据类型的数据,这个表达式可以是一个运算表达式,也可以是一个数值。
5.信号与变
文档评论(0)