




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六讲 VHDL硬件描述语言_4 教学课时:2学时 教学内容: VHDL语句 (1)元件例化语句(1学时) (2)生成语句(1学时) 元件例化语句 元件例化就是将预先设计好的设计实体 定义为一个元件,然后利用映射语句将 此元件与另一个设计实体中的指定端口 相连,从而进行层次化设计。元件例化 是使VHDL设计实体构成“自上而下”或 “自下而上”层次化设计的一种重要途径 。 元件例化语句分为元件声明和元件例化 两部分。 用元件例化方式设计电路的方法是: (1)完成各种元件的设计。 (2)元件声明。 (3)通过元件例化语句调用这些元件 ,产生需要的设计电路。 元件声明语句的格式 COMPONENT 元件名 GENERIC ; PORT ; END COMPONENT; 元件例化语句的格式 元件例化就是将元件的引脚与调用该元 件的端口的引脚相关联。关联方法有位 置关联,名字关联,混合关联。 (1)位置关联方式 例化名:元件名 port map(信号1,信号2,.); (2)名字关联方式 例化名:元件名 port map(信号关联式1,信号关联式2,.); 信号关联式形如:a=a1,b=b1,意思是将元件的引脚a与调用该 元件的端口a1相关联。这种情况下,位置可以是任意的。 (3)混合关联方式 将上述两种相结合,即为混合关联方式。 元件例化举例 例1:利用2输入与非门元件,设计4输入的与非与 非电路。 方法一:在调用文件里声明元件,它放在结构体的 begin之前。 第一步:设计2输入与非门,其VHDL源程序为 nand_2.vhd; 第二步:元件声明及元件例化,其VHDL源程序为 nand_4.vhd; 生成的RTL视图: library ieee; use ieee.std_logic_1164.all; entity nand_2 is port(a,b:in std_logic; y:out std_logic); end nand_2; architecture one of nand_2 is begin process(a,b) begin y; END GENERATE 标号; 其中循环变量的值在每次的循环中都将发生变化;离散范 围用来指定循环变量的取值范围,循环变量的取值将从取值 范围最左边的值开始并且递增到取值范围最右边的值,实际 上也就限制了循环的次数;循环变量每取一个值就要执行一 次GENERATE语句体中的并行处理语句;最后FOR- GENERATE模式生成语句以保留字END GENERATE 标号 :;来结束GENERATE语句的循环。 生成语句的典型应用是存储器阵列和寄存器。下面以四位 移位寄存器为例,说明FOR- GENERATE模式生成语句的优 点和使用方法。 4位D触发器的VHDL程序文件: library ieee; use ieee.std_logic_1164.all; entity shift_reg4 is port(clk:in std_logic; D:in std_logic; Q:out std_logic); end shift_reg4; architecture two of shift_reg4 is component shift_reg1 port(clk:in std_logic; D:in std_logic; Q:out std_logic); end component;-元件声明 signal y:std_logic_vector(0 to 4); begin y(0); END GENERATE 标号; 思考题 设计一位二进制全加器,然后利用for- generate生成语句实现4位二进制全加 器,并仿真验证设计结果。 library ieee; use ieee.std_logic_1164.all; entity adder_1 is port(a,b:in std_logic; cin:in std_logic; cout:out std_logic; s:out std_logic); end adder_1; architecture one of adder_1 is signal temp:std_logic_vector(2 downto 0); begin process(a,b,cin) begin temp=a if temp=“011“ or temp=“101“ or temp=“110“ or temp=“111“ then cout=1; else cout=0; end if; s=a xor b xor cin; end process; end one; 一位二进制全加器的VHDL代码 library ieee; use ieee.std_logic_1164.all; entity adder_4 is port(a,b:in std_logic_vector(3 downto 0); cin:in std_logic; cout:out std_logic; sum:out std_logic_vector(3 downto 0); end entity; architecture one of adder_4 is component adder_1 port(a,b:in std_logic; cin:in std_logic; cout:out std_logic; s:out std_logic); end component; signal qout:std_logic_vector(3 downto 0); signal qin:std_logic_vector(4 downto 0); signal s:std_logic_vector(3 downto 0); begin qin(0)=cin; u0:for i in 0 to 3 generate ux:adder_1 port map(a(i),b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年反射疗法师大赛理论能力提升B卷题库【完整版】附答案详解
- 2025年医学研究方法学统计分析试题答案及解析
- 2025年自考专业(人力资源管理)经典例题及答案详解【必刷】
- 农发行宜宾市珙县2025秋招结构化面试15问及话术
- 2025年临床执业医师模拟题库附答案详解(培优)
- 全面监控方案制定
- 地产项目施工安全预案
- 小区环境维护与管理
- 学霸的学习方法大公开
- 妇女生殖健康保护规程
- 2025年度反洗钱阶段考试培训试考试题库(含答案)
- 收割芦苇施工方案
- 普通黄金现货购买合同8篇
- 三力测试考试题库及答案视频讲解
- 2025年河南省人民法院聘用书记员考试试题及答案
- 2025年中学教师资格考试《综合素质》核心考点与解析
- 口腔冠延长术
- 部编版七年级语文上册《闻王昌龄左迁龙标遥有此寄》课件
- 诊所经营管理课件
- 2024年江苏省连云港市辅警协警笔试笔试模拟考试(含答案)
- 铁路工务介入管理办法
评论
0/150
提交评论