资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
元件例化就是元件例化就是将预先设计好的设计实体将预先设计好的设计实体定义为一个元件定义为一个元件,然后利用映射语句将此元然后利用映射语句将此元件与另一个设计实体中的指定端口相连件与另一个设计实体中的指定端口相连,从从而进行层次化设计而进行层次化设计。元件例化是使。元件例化是使VHDL设设计实体构成计实体构成“自上而下自上而下”或或“自下而上自下而上”层层次化设计的一种重要途径。次化设计的一种重要途径。元件例化语句元件例化语句元件例化语句分为元件声明和元件例化两部分。用元件例化方式设计电路的方法是:(1)完成各种元件的设计。(2)元件声明。(3)通过元件例化语句调用这些元件,产生需要的设计电路。定义:对所调用的较低层次的实体模块(元件)的 名称、类属参数、端口类型、数据类型的声明语法:元件声明类似实体声明(entity)1. 元件声明元件声明COMPONENT 元件名元件名 GENERIC 说明;说明; PORT 说明;说明; END COMPONENT;-类属声明-端口声明定义:把低层元件安装(调用)到当前层次 设计实体内部的过程。 包括:类属参数传递、元件端口映射。例如:例如: u2: and2 PORT MAP (nsel,d1,ab);2. 元件的例化元件的例化COMPONENT_INSTANT语句的书写格式为: 标号名:元件名标号名:元件名 PORT MAP (信号,(信号,););标号名加在元件名的前面,在该构造体的说明中该标号名一定是唯一的。下一层元件的端口信号与实际连接的信号用PORT MAP的映射关系联系起来。映射方法有两种:一一种种是是位位置置映映射射;一一种种是是名名称称映映射射。位置映射方法位置映射方法 所谓位置映射就是在下一层中元件声明的信号书写顺序位置和PORT MAP()中指定的实际信号书写顺序位置一一对应。例如,在二输入与门中端口的输入输出定义为: PORT (a,b: IN BIT; c: OUT BIT);在设计的引用中与门u2的信号对应关系描述为: u2: and2 PORT MAP (nsel,d1,ab);名称映射方法名称映射方法 所谓名称映射就是将已经存于库中的现成模块的各端口名称,赋予设计中模块的信号名。例如: u2: and2 PORT MAP (a=nsel,b=d1,c=ab);在输出信号没有连接的情况下,对应端口的描述可以省略。 可在以下部分声明元件: 构造体(Architecture) 程序包(Package) 块(Block)被声明元件的来源: VHDL设计实体; 其它HDL设计实体; 另外一种标准格式的文件,如EDIF或XNF; 厂商提供的工艺库中的元件、IP核。元件声明举例例例1:利用:利用2输入与非门元件,设计输入与非门元件,设计4输入的与非与非电路。输入的与非与非电路。元件声明举例元件声明举例方法一方法一:在调用文件里声明元件,在调用文件里声明元件,它放在结构它放在结构体的体的begin之前之前。第一步:设计第一步:设计2输入与非门,其输入与非门,其VHDL源程源程序为序为nand_2.vhd;第二步:元件声明及元件例化,其第二步:元件声明及元件例化,其VHDL源程序为源程序为nand_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 isbeginprocess(a,b)beginy=a nand b;end process;end one;例例1:利用:利用2输入与非门元件,设计输入与非门元件,设计4输入的与非与输入的与非与非电路。非电路。方法方法2:将元件声明放在程序包里进行说明:将元件声明放在程序包里进行说明第一步:设计第一步:设计2输入与非门,其输入与非门,其VHDL源程序为源程序为nand_2.vhd;第二步:元件声明,放在程序包里,其第二步:元件声明,放在程序包里,其VHDL源程源程序为序为mypkg.vhd;第三步:元件例化,其第三步:元件例化,其VHDL源程序为源程序为mynand_4.vhd;作业题作业题用一位用一位D触发器,利用元件例化语句实现触发器,利用元件例化语句实现4位移位寄存器。位移位寄存器。思路:思路:(1)设计一位)设计一位D触发器的源程序文件触发器的源程序文件shift_reg1.vhd。(2)用元件例化实现)用元件例化实现4位移位寄存器文位移位寄存器文件件shift_reg4.vhd。RTL寄存器原理图library ieee;use ieee.std_logic_1164.all;entity shift_reg1 isport(clk:in std_logic;D:in std_logic;Q:out std_logic);end entity;architecture one of shift_reg1 isbeginprocess(clk,D)beginif clkevent and clk=1 thenQ=D;end if;end process;end one;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号