- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
元件例化语句元件例化就是将预先设计好的设计实体定义为一个元件,然后利用映射语句将此元件与另一个设计实体中的指定端口相连,从而进行层次化设计。元件例化是使VHDL设计实体构成“自上而下”或“自下而上”层次化设计的一种重要途径。
?元件例化语句分为元件声明和元件例化两部分。?用元件例化方式设计电路的方法是:?(1)完成各种元件的设计。?(2)元件声明。?(3)通过元件例化语句调用这些元件,产生需要的设计电路。
1.元件声明定义:对所调用的较低层次的实体模块(元件)的名称、类属参数、端口类型、数据类型的声明语法:COMPONENT元件名----类属声明----端口声明GENERIC说明;PORT说明;ENDCOMPONENT;元件声明类似实体声明(entity)
2.元件的例化定义:把低层元件安装(调用)到当前层次设计实体内部的过程。包括:类属参数传递、元件端口映射。COMPONENT_INSTANT语句的书写格式为:标号名:元件名PORTMAP(信号,···);例如:u2:and2PORTMAP(nsel,d1,ab);
标号名加在元件名的前面,在该构造体的说明中该标号名一定是唯一的。下一层元件的端口信号与实际连接的信号用PORTMAP的映射关系联系起来。映射方法有两种:一种是位置映射;一种是名称映射。
位置映射方法所谓位置映射就是在下一层中元件声明的信号书写顺序位置和PORTMAP()中指定的实际信号书写顺序位置一一对应。例如,在二输入与门中端口的输入输出定义为:PORT(a,b:INBIT;c:OUTBIT);在设计的引用中与门u2的信号对应关系描述为:u2:and2PORTMAP(nsel,d1,ab);
名称映射方法所谓名称映射就是将已经存于库中的现成模块的各端口名称,赋予设计中模块的信号名。例如:u2:and2PORTMAP(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;
libraryieee;useieee.std_logic_1164.all;entitynand_2isport(a,b:instd_logic;y:outstd_logic);endnand_2;architectureoneofnand_2isbeginprocess(a,b)beginy=anandb;endprocess;endone;
例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寄存器原理图
libraryieee;useieee.std_logic_1164.all;entityshift_reg1isport(clk:instd_logic;D:instd_logic;Q:outstd_logic);endentity;architectureoneofshift_reg1isbeginprocess(clk,D)beginifclkeventandclk=1thenQ=D;endif;endprocess;endone;
文档评论(0)