⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multbcd.vhd.bak

📁 Multiplier BCD - vhdl
💻 BAK
字号:
LIBRARY IEEE;
use IEEE.STD_LOGIC_1164.All;

entity MultBCD is
		port( A, B : in std_logic_vector(3 downto 0);
				R : out std_logic_vector(7 downto 0));
	end MultBCD;
		
architecture Arq of MultBCD is
			
			component Halfadder is
					port( A,B : in std_logic;
						S, Cout : out std_logic);
			end component Halfadder;
			
			
			component Fulladder is
					port(A, B, Cin : in std_logic;
						S, Cout : out std_logic);
			end component Fulladder;
			
	
	
			signal AB00,AB10,AB20,AB30, AB01,AB11,AB21,AB31, AB02,AB12,AB22,AB32, AB03,AB13,AB23,AB33 : std_logic;
			signal Link1st : std_logic_vector (6 downto 0);
			signal Link2nd : std_logic_vector (6 downto 0);
			signal Link3rd : std_logic_vector (2 downto 0);
			
			
		begin
		
			AB00<= A(0) and B(0);
			AB10<= A(1) and B(0);
			AB20<= A(2) and B(0);
			AB30<= A(3) and B(0);
			
			AB01<= A(0) and B(1);
			AB11<= A(1) and B(1);
			AB21<= A(2) and B(1);
			AB31<= A(3) and B(1);
			
			AB02<= A(0) and B(2);
			AB12<= A(1) and B(2);
			AB22<= A(2) and B(2);
			AB32<= A(3) and B(2);
			
			AB03<= A(0) and B(3);
			AB13<= A(1) and B(3);
			AB23<= A(2) and B(3);
			AB33<= A(3) and B(3);
			
			R(0) <= AB00;
			
			I0:Halfadder port map (AB10, AB01, R(1), Link1st(0));
			I1:Fulladder port map (AB20, AB11, Link1st(0), Link1st(2), Link1st(1));
			I2:Fulladder port map (AB30, AB21, Link1st(1), Link1st(4), Link1st(3));
			I3:Halfadder port map (Link1st(3), AB31, Link1st(6), Link1st(5));
			
			I4:Halfadder port map (Link1st(2), AB02, R(2), Link2nd(0));
			I5:Fulladder port map (Link1st(4), AB12, Link2nd(0), Link2nd(2), Link2nd(1));
			I6:Fulladder port map (Link1st(6), AB22, Link2nd(1), Link2nd(4), Link2nd(3));
			I7:Fulladder port map (Link1st(5), AB32, Link2nd(3), Link2nd(6), Link2nd(5));
			
			I8:Halfadder port map (Link2nd(2), AB03, R(3), Link3rd(0));
			I9:Fulladder port map (Link2nd(4), AB13, Link3rd(0), R(4), Link3rd(1));
			I10:Fulladder port map (Link2nd(6), AB23, Link3rd(1), R(5), Link3rd(2));
			I11:Fulladder port map (Link2nd(5), AB33, Link3rd(2), R(7), R(8));
			
end Arq;
			
			
			
			
	
					

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -