VHDL实现加法器的设计

版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/89303618

1位半加器

LIBRARY IEEE;
LIBRARY IEEE.STD_LOGIC_1164.ALL;
ENTITY half_add_1 IS
	PORT(a:IN STD_LOGIC;
		b:IN STD_LOGIC;
		co:OUT STD_LOGIC;
		s:OUT STD_LOGIC);
END half_add_1;
ARCHITECTURE half_add_1_behavior OF half_add_1 IS
BEGIN
	co<= a AND b;
	s<= a XOR b;
END half_add_1_behavior;

1位全加器(元件例化方法)

--1位全加器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY full_add_1 IS
	PORT(a,b,cin:IN STD_LOGIC;
		co,sum:OUT STD_LOGIC);
END full_add_1;
ARCHITECTURE full_add_1_behavior OF full_add_1 IS
	COMPONENT half_add_1
	PORT(a:IN STD_LOGIC;
		b:IN STD_LOGIC;
		co:OUT STD_LOGIC;
		s:OUT STD_LOGIC);
	END COMPONENT;
	SIGNAL temp1,temp2,temp3:STD_LOGIC;
	BEGIN
	u1:half_add_1 PORT MAP(a,b,temp1,temp2);
	u2:half_add_1 PORT MAP(temp1,cin,s,temp3);
	co<=temp3 OR temp2;
END full_add_1_behavior;

元件例化的方式需要依赖于1位半加器。1位半加器是1为全加器的底层元件,而1位全加器是1位半加器的上层元件。当然1位全加器也可以采用行为描述的方式实现。这里只是为了使用自顶向下设计的思路,以及元件例化语句的使用。

猜你喜欢

转载自blog.csdn.net/zy010101/article/details/89303618