|
程序源码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY muljux4 IS
PORT(a:IN STD_LOGIC_VECTOR(4 DOWNTO 1);
b:IN STD_LOGIC_VECTOR(4 DOWNTO 1);
product:OUT STD_LOGIC_VECTOR(8 DOWNTO 1));
END muljux4;
ARCHITECTURE arc OF muljux4 IS
SIGNAL acc,sal:BIT_VECTOR(8 DOWNTO 1);
SIGNAL a1,b1:BIT_VECTOR(4 DOWNTO 1);
SIGNAL in_sal:STD_LOGIC_VECTOR(8 DOWNTO 1);
SIGNAL y:STD_LOGIC_VECTOR(8 DOWNTO 1);
BEGIN
PROCESS(a,b)
BEGIN
a1<=TO_BITVECTOR(a);
b1<=TO_BITVECTOR(b);
--- product<="00000000";
--- acc<="00000000";
----y<="00000000";
----sal<="00000000";
FOR i IN 1 TO 4 LOOP
FOR j IN 1 TO 4 LOOP
acc(j)<=(a1(j)) AND (b1(i));
END LOOP ;
sal<=acc SLL (i-1);
in_sal<=TO_STDLOGICVECTOR(sal);
y<=y + in_sal;
END LOOP;
product<=y;
END PROCESS;
END arc;
程序不报错,但输出为0,不知何故,希望高手解答,不胜感激! |
|