赞
踩
请大佬帮我看一下这个代码有什么问题,仿真的时候结果是不对的
被乘数的每一位和A相与可以这样写吗?
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MUL4 IS
PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
B:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
C:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY MUL4 ;
ARCHITECTURE mul OF MUL4 IS
SIGNAL D1,D2,D3,D4:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
D1<=("000"&B(0)) AND A;
D2<=("000"&B(1)) AND A;
D3<=("000"&B(2)) AND A;
D4<=("000"&B(3)) AND A;
C<=("0000"&D1)+("000"&D2&'0')+("00"&D3&"00")+('0'&D4&"000");
END ARCHITECTURE mul;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。