logo资料库

VHDL实现阵列乘法器.doc

第1页 / 共1页
资料共1页,全文预览结束
library ieee; use ieee.std_logic_1164.all; entity mul is port(a,b:in std_logic_vector(0 to 4); p:out std_logic_vector(0 to 9)); end mul; architecture s_mul of mul is component fa is port(a,b,ci:in std_logic; s,co:out std_logic); end component; signal s1:std_logic_vector(1 to 12); signal c1:std_logic_vector(1 to 19); begin p(0)<=a(0) and b(0); f11:fa port map((a(1) and b(0)),(a(0) and b(1)),'0',p(1),c1(1)); f12:fa port map((a(2) and b(0)),(a(1) and b(1)),'0',s1(1),c1(2)); f13:fa port map((a(3) and b(0)),(a(2) and b(1)),'0',s1(2),c1(3)); f14:fa port map((a(4) and b(0)),(a(3) and b(1)),'0',s1(3),c1(4)); f21:fa port map(s1(1),(a(0) and b(2)),c1(1),p(2),c1(5)); f22:fa port map(s1(2),(a(1) and b(2)),c1(2),s1(4),c1(6)); f23:fa port map(s1(3),(a(2) and b(2)),c1(3),s1(5),c1(7)); f24:fa port map((a(4) and b(1)),(a(3) and b(2)),c1(4),s1(6),c1(8)); f31:fa port map(s1(4),(a(0) and b(3)),c1(5),p(3),c1(9)); f32:fa port map(s1(5),(a(1) and b(3)),c1(6),s1(7),c1(10)); f33:fa port map(s1(6),(a(2) and b(3)),c1(7),s1(8),c1(11)); f34:fa port map((a(4) and b(2)),(a(3) and b(3)),c1(8),s1(9),c1(12)); f41:fa port map(s1(7),(a(0) and b(4)),c1(9),p(4),c1(13)); f42:fa port map(s1(8),(a(1) and b(4)),c1(10),s1(10),c1(14)); f43:fa port map(s1(9),(a(2) and b(4)),c1(11),s1(11),c1(15)); f44:fa port map((a(4) and b(3)),(a(3) and b(4)),c1(12),s1(12),c1(16)); f51:fa port map(s1(10), c1(13),p(5),c1(17)); f52:fa port map(s1(11),c1(17),c1(14),p(6),c1(18)); f53:fa port map(s1(12),c1(18),c1(15),p(7),c1(19)); f54:fa port map((a(4) and b(4)),c1(19),c1(16),p(8),p(9)); end s_mul;
分享到:
收藏