VHDL的元件例化语句.ppt
《VHDL的元件例化语句.ppt》由会员分享,可在线阅读,更多相关《VHDL的元件例化语句.ppt(23页珍藏版)》请在三一办公上搜索。
1、第六讲 VHDL硬件描述语言_4,教学课时:2学时教学内容:VHDL语句(1)元件例化语句(1学时)(2)生成语句(1学时),元件例化语句,元件例化就是将预先设计好的设计实体定义为一个元件,然后利用映射语句将此元件与另一个设计实体中的指定端口相连,从而进行层次化设计。元件例化是使VHDL设计实体构成“自上而下”或“自下而上”层次化设计的一种重要途径。,元件例化语句分为元件声明和元件例化两部分。用元件例化方式设计电路的方法是:(1)完成各种元件的设计。(2)元件声明。(3)通过元件例化语句调用这些元件,产生需要的设计电路。,元件声明语句的格式,COMPONENT 元件名 GENERIC;PORT
2、;END COMPONENT;,元件例化语句的格式,元件例化就是将元件的引脚与调用该元件的端口的引脚相关联。关联方法有位置关联,名字关联,混合关联。(1)位置关联方式例化名:元件名 port map(信号1,信号2,.);(2)名字关联方式例化名:元件名 port map(信号关联式1,信号关联式2,.);信号关联式形如:a=a1,b=b1,意思是将元件的引脚a与调用该元件的端口a1相关联。这种情况下,位置可以是任意的。(3)混合关联方式将上述两种相结合,即为混合关联方式。,元件例化举例,例1:利用2输入与非门元件,设计4输入的与非与非电路。方法一:在调用文件里声明元件,它放在结构体的begi
3、n之前。第一步:设计2输入与非门,其VHDL源程序为nand_2.vhd;第二步:元件声明及元件例化,其VHDL源程序为nand_4.vhd;,生成的RTL视图:,library ieee;use ieee.std_logic_1164.all;entity nand_2 isport(a,b:in std_logic;y:out std_logic);end nand_2;architecture one of nand_2 isbeginprocess(a,b)beginy=a nand b;end process;end one;,library ieee;use ieee.std_lo
4、gic_1164.all;entity nand_4 isport(a,b,c,d:in std_logic;y:out std_logic);end nand_4;architecture one of nand_4 is-元件声明component nand_2 port(a,b:in std_logic;y:out std_logic);end component;-元件声明signal y1,y2:std_logic;beginu1:nand_2 port map(a,b,y1);-元件例化u2:nand_2 port map(c,d,y2);u3:nand_2 port map(y1
5、,y2,y);end one;,例1:利用2输入与非门元件,设计4输入的与非与非电路。方法2:将元件声明放在程序包里进行说明 第一步:设计2输入与非门,其VHDL源程序为nand_2.vhd;第二步:元件声明,放在程序包里,其VHDL源程序为mypkg.vhd;第三步:元件例化,其VHDL源程序为mynand_4.vhd;,程序包(p228),在设计实体中声明的数据类型、数据对象只能用于本实体和结构体内部,不能被其他实体和结构体使用,就像高级语言中的局部变量一样。为了使数据类型、元件等能被多个设计实体调用或共享,VHDL提供了程序包的机制。程序包就像是公用的工具箱,各个设计实体都可使用其中定义
6、的工具。,程序包的格式,package 程序包名 is程序包头说明部分end 程序包名;package body 程序包名 is程序包体说明部分及包体内容end 程序包名;,如何打开程序包?用语句use work.程序包名.all;打开程序包。其中,work库是用户设计的现行工作库,用于存放自己设计的工程项目。在QuartusII 的根目录下为设计建立一个工程目录(即文件夹),VHDL综合器将此目录默认为work库。但work不是设计项目的目录名,而是一个逻辑名。VHDL标准规定work库总是可见的,因此,在程序设计时不需要明确指定。,用将元件声明放在程序包里的设计方法设计4输入的与非与非门,
7、详见演示实例mynand_4.qpf。(1)在QuartusII 的根目录下新建工程mynand_4.(2)编辑VHDL源程序文件nand_2.vhd,mypkg.vhd,mynand_4.vhd.nand_2.vhd用来描述2输入与非门。mypkg.vhd用来进行元件声明。mynand_4.vhd实现元件例化。,library ieee;use ieee.std_logic_1164.all;entity nand_2 isport(a,b:in std_logic;y:out std_logic);end nand_2;architecture one of nand_2 isbeginp
8、rocess(a,b)beginy=a nand b;end process;end one;,library ieee;use ieee.std_logic_1164.all;package mypkg iscomponent nand_2port(a,b:in std_logic;y:out std_logic);-元件声明end component;end mypkg;,library ieee;use ieee.std_logic_1164.all;use;-打开程序包entity mynand_4 isport(a,b,c,d:in std_logic;y:out std_logic
9、);end mynand_4;architecture one of mynand_4 issignal y1,y2:std_logic;begin-元件例化u1:nand_2 port map(a,b,y1);u2:nand_2 port map(c,d,y2);u3:nand_2 port map(y1,y2,y);end one;,思考题,用一位D触发器,利用元件例化语句实现4位移位寄存器。思路:(1)设计一位D触发器的源程序文件shift_reg1.vhd。(2)用元件例化实现4位移位寄存器文件shift_reg4.vhd。,4位D触发器的VHDL程序文件:library ieee;u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 元件 语句
链接地址:https://www.31ppt.com/p-5452190.html