- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全加器设计
顶层实体:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_adder IS
PORT(a,b,cin:IN STD_LOGIC;
sum,cout:OUT STD_LOGIC);
END ENTITY;
ARCHITECTURE struct OF f_adder IS
COMPONENT h_adder
PORT(a,b:IN STD_LOGIC;
s,c:OUT STD_LOGIC);
END COMPONENT;
COMPONENT or_2
PORT(a,b:IN STD_LOGIC;
c:OUT STD_LOGIC); Si=Ai⊕Bi⊕Ci-1
END COMPONENT;
SIGNAL s1,c1,c2:STD_LOGIC;
BEGIN
u1:h_adder PORT MAP(a,b,s1,c1); --位置映射
u2:h_adder PORT MAP(s1,cin,sum,c2);
u3:or_2 PORT MAP(c2,c1,cout);
--u1:h_adder PORT MAP(a=>a,b=>b,s=>s1,c=>c1); 名称映射
--u2:h_adder PORT MAP(a=>s1,b=>cin,s=>sum,c=>c2);
--u3:h_adder PORT MAP(a=>c2,b=>c1,c=>cout);
END ARCHITECTURE;
半加器:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY h_adder IS
PORT(a,b:IN STD_LOGIC;
s,c:OUT STD_LOGIC);
END ENTITY;
ARCHITECTURE behav OF h_adder IS
BEGIN
s<=a XOR b;
c<=a AND b;
END behav;
或门电路:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY or_2 IS
PORT(a,b:IN STD_LOGIC;
c:OUT STD_LOGIC);
ENd ENTITY;
ARCHITECTURE behav OF or_2 IS
BEGIN
c<=a or b;
END behav;
元件例化即元件调用,将预先设计好的设计实体定义为一个元件,利用元件例化语句将此元件与当前设计实体中的指定端口相连接,从而为当前设计实体引入一个新的低一级的设计层次。
元件例化可以是多层次的,一个调用了较低层次元件的顶层设计实体本身也可以被更高层次设计实体调用,成为该设计实体中的一个元件。
元件例化语句包括元件说明语句COMPONENT 和端口映射语句PORT MAP。元件说明语句将一个现成的设计实体定义为一个元件,即对待调用的元件做出调用声明,或对一个现成的设计实体进行封装,只留出对外的接口界面。端口说明可以使用与待调用元件相同的端口名,也可以不一样,但是端口信号的数据类型必须与原设计实体文件一致。
端口映射语句是待调用元件与当前设计实体(顶层文件)中元件间及端口的连接说明。端口映射有三种方式:位置映射、名称映射、混合映射。位置映射是指PORT MAP语句中的实际信号的书写顺序及位置与被调用元件的端口的书写顺序与位置保持一致;名称映射是指将被调用元件的各信号名称赋值给结构体中需要使用的信号名;混合映射指在多个端口中,某些端口采用位置映射,某些端口采用名称映射。,表示调用元件端口信号与系统的外部端口名相连,=>是连接符号,左面放置内部元件的端口名,右面放置内部元件以外需要连接的端口名或信号名。
混合编辑(自底向上)实例:十六进制计数器
Cnt4.vhd文件
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt4 is
port(clk:in std_logic;
rst:in std_logic;
en:in std_logic;
q:out std_logic_vector(3 downto 0));
end;
architecture one of cnt4 is
signal q1:std_logic_vector(3 downto 0);
begin
process(clk,en,rst)
begin
if en='1' then
if rst='1' then q
您可能关注的文档
- 全国电子设计大赛会议范文.doc
- 全国定向锦标赛申办公告范文.doc
- 光电传感器的应用举例概览.ppt
- 光电传感与检测第八章概览.ppt
- 光电传感与检测第二章2概览.ppt
- 光电传感与检测第七章概览.ppt
- 全国高考物理范文.doc
- 全国高中化学竞赛初赛模拟3范文.doc
- 全国各地2011届高三上学期期中分类:科技类文本阅读——自然科学)范文.doc
- 全国各地2011届高三上学期期中分类:科技类文本阅读——自然科学范文.doc
- 2024年河南中医药大学第一附属医院“重症医学科医师”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年沈阳君弘医药科技有限公司“制剂实验员”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年泰州市高港中医院“医学检验”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年涪陵郭昌毕骨伤科医院“临床医生”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年珠海市人民医院“医务部”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年河北省沧州中西医结合医院“口腔”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年甘肃省人民医院“内科学”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年珠海市慢性病防治中心“影像科技师”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年河南中医药大学第一附属医院“泌尿外科医师”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
- 2024年滨州医学院烟台附属医院“中心实验室”岗位招聘考试2018-2023年真题荟萃含答案解析.docx
文档评论(0)