VHDL入门基础——系统层次化设计

VHDL基础——系统层次化设计篇

元件例化
目的:是将已设计好的实体当作一个元件来使用,用VHDL语言描述各元件之间的关系。因此元件例化=元件定义(已有元件调用)+连接关系映射(各元件连接关系)。
Conponent 元件名 is
[generic(属类表)];
port(端口名表);
end conpenent; --元件定义
例化名1:元件名1 port map(元件端口名=>连接端口名);
例化名2:元件名2 port map(元件端口名=>连接端口名); --元件映射

tips:
1.在结构体Architecture中元件定义
2.元件例化的缺点是,如果多个上层实体都用到同一个下层实体,则需要在每个上层实体中都定义一次下层实体,降低程序的可读性,解决此问题的方法是利用Package

程序包(Package)
目的:是将已经定义好的数据类型,元件定义等能被多个设计实体共享。
package 程序包 is
程序包首说明部分;
end 程序包名;

package body 程序包 is
程序包体说明部分;
end 程序包名;

tips:
1.程序包首包括数据类型,元件定义,子程序说明等
2.程序包体包括包首所定义了的子程序的子程序体,若无子程序可省略
3.程序包必须被编译后才能被其他实体调用

类属映射
目的:设计参数化元件,改变参数,利用一个实体实现结构类似但功能不同的电路
元件定义时必须加入类属定义:
generic (N:integer)
在元件映射时必须加入generic map
例化名1:元件名1 generic map(N=>x)port map(元件端口名=>连接端口名);
例化名2:元件名2 generic map(N=>x)port map(元件端口名=>连接端口名);

tips:
1.在VHDL中“=>”可理解为‘是’;“<=”可理解为赋值
2.变量常量的赋值是":=";信号的赋值是“<=”;例外是类属中generic map
3.如果属类参数只有一个可直接写成:generic map(1);generic map(2)等

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值