|
回复 3# 伯尼
还是不行啊……题目要求是利用循环语句和一位操作符实现移位相加方式的纯组合电路8位乘法器的设计。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY multipier8bit9_16 IS
PORT( a,b : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
sum : BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0) );
END ENTITY multipier8bit9_16;
ARCHITECTURE one OF multipier8bit9_16 IS
SIGNAL Q,p: STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL a_extend : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL b_extend : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
Q <= (OTHERS => '0');
sum <= (OTHERS => '0');
a_extend <= (OTHERS => '0');
b_extend <= (OTHERS => '0');
a_extend(7 DOWNTO 0) <= a(7 DOWNTO 0);
PROCESS(a,b)
BEGIN
FOR n IN 0 to 7 LOOP
b_extend(0) <= b(n);
Q <= a_extend * b_extend;
p <= Q SLL n; --shouwei shi '0',bu '0'; shi '1',bu '1'
sum <= sum + p;
END LOOP;
END PROCESS;
END ARCHITECTURE one;
这是完整的源程序,下面是出错信息:
Error (10327): VHDL error at multipier8bit9_16.vhd(23): can't determine definition of operator ""sll"" -- found 0 possible definitions |
|