- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上篇基础元素
目录: 数据类型 数据对象 运算符 语句
基本程序结构 电路描述方式
数据类型
预定义类型
bit
bit_victor
integer
std」o gic
std_logic_victor
自定义类型
枚举类型 type新数据类型is (元素1,元素2,...)
例 定义 type state_type is (s1, s2, s3. s4); -- 定
义一个新类型 state_type
弓丨用 signal state : state_type; -- 定义一个信
号 state,类型为 state_type
数组类型 type数组is array (范围)of数据类型;
例 定义 type byte is array (7 downto 0) of bit;
--定义一个8bit的数组
type word is array (31 downto 0) of bit;
--定义一个32bit的数组
数据对象
端口 | 声明 端口 : in | out 数据类型; --端口在特性
VHDL 语法格式 1
VHDL
VHDL 语法格式 PAGE #
VHDL
VHDL 语法格式 PAGE #
上等同于信号,但赋值在 entity的port中
赋值端口
信号 声明
赋值信号
变量| 声明
赋值变量 常数I 声明
= 表达式;
signal信号:数据类型;
= 表达式;
varable 变量:数据类型;
:=表达式;
常数:数据类型:=数值;
算术运算 并置运算 关系运算 逻辑运算
运算符
+ - *
=,/=, , =, , =
and, or, not, nand, nor, xor, xnor
并行语句
⑴信号赋值语句
简单信号赋值语句
选择信号赋值语句
值1,
值2,
语句
信号 =表达式;
with 选择表达式 select
信号 = 表达式1 when 选择
表达式2 when 选择
表达式 n when
others;
条件信号赋值语句
系式1 else
系式2 else
else
⑵过程调用语句
⑶函数调用语句
⑷元件例化语句
元件声明
--将一个实体声明为元件
元件引用
按位置引用
端口 1,连接端口 2,…);
按名称引用
信号 =表达式1 when 条件关
表达式2 when条件关
表达式n when 条件n
表达式;
过程(实参);
信号 =函数(实参);
component 元 件实体
port (端口声明);
end component;
标号:元件实体 port map (连接
标号:元件实体 port map (元件
端口 1 =连接端口 1,元件端口 2 =连接端口 2,...);
⑸生成语句 格式1 [标号:]for循环变量in取值范
围 generate
声明语句,
begin
并行语句,
end generate [ 标号];
取值范围:表达式to表达式;
--递增方式,如1 to 5
表达式 downto 表 达式; --递减方式,如 5 downto 1
格式2 [标号:]if条件关系式generate
声明语句;
begin
并行语句,
end generate [ 标号],
⑹ 块语句 块标号:block [(保护条件)]
接口声明;
类属声明;
begin
并行语句; --被保护
的变量前需加上保留字 guarded
带保护的块语句举例:
end block 块标号; entity latch is port( d, clk : in bit;
q, qb : out bit );
丿;
end latch;
achetectire latch_guard of
latch is
begin
b1 : block(clk =
1 )
7 ns;
⑺进程语句
变量,信号
begin
q = guarded d after 5 ns; qb = guarded not(d) after
end block b1;
end latch_guard
[标号:]process (敏感信号)
[声明语句;]
--常量,
begin
顺序语句;
end process [ 标号:];
if条件关系式
if条件关系式then
顺序语句;
end if;
if条件关系式then
顺序语句;
格式2:
顺序语句
⑴赋值语句--在进程中 信号 =表达式; 变量:=表达式;
⑵流程控制语句
if语句
格式1:
else
顺序语句;
end if;
格式3:if条件关系式1
格式3:
顺序语句;
elsif条件关系式2 then
顺序语句;
else
else
顺序语句;
end if;
--case语句中,条件值有3种形
值n,值TO值
--最后一行的顺序语句若为 nul
原创力文档


文档评论(0)