Error (10500): VHDL syntax error at mul16b.vhd(19) near text "="; expecting "(", or "'", or "."

程序源
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity mul16b is
port( a16,b16:in std_logic_vector(15 downto 0);
dout:out std_logic_vector(31 downto 0));
end mul16b;

architecture count of mul16b is
signal r32 : std_logic_vector(31 downto 0):=(others => '0');
signal s32 : std_logic_vector(31 downto 0):=(others => '0');
signal sign: std_logic_vector(2 downto 0);
begin
sign(2) <= a16(15) xor b16(15);
sign(1) <= a16(15);
sign(0) <= b16(15);
if sign(1) = '1' then
a16 <= not a16 + '1';
end if;
if sign(0) = '1' then
b16 <= not b16 + '1';
end if;
for i in 0 to 15 loop
for j in 0 to 15 loop
r32(i+j) <= a16(i) and b16(j);
end loop;
s32 <= s32 + r32;
r32 <= (others => '0');
end loop;
if sign(2) = '1' then
s32 <= not s32 + '1';
end if;
dout <= s32;
end count;

几处if语句都有错误 大家帮忙改一下 谢谢

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity mul16b is
port( a16,b16:buffer std_logic_vector(15 downto 0);
dout:out std_logic_vector(31 downto 0));
end mul16b;

architecture count of mul16b is
signal r32 : std_logic_vector(31 downto 0):=(others => '0');
signal s32 : std_logic_vector(31 downto 0):=(others => '0');
signal sign: std_logic_vector(2 downto 0);
begin
sign(2) <= a16(15) xor b16(15);
sign(1) <= a16(15);
sign(0) <= b16(15);

process(a16,b16)
begin
if sign(1) = '1' then
a16 <= not a16 + '1';
end if;
if sign(0) = '1' then
b16 <= not b16 + '1';
end if;
for i in 0 to 15 loop
for j in 0 to 15 loop
r32(i+j) <= a16(i) and b16(j);
end loop;
s32 <= s32 + r32;
r32 <= (others => '0');
end loop;
if sign(2) = '1' then
s32 <= not s32 + '1';
end if;
end process;

dout <= s32;
end count;
温馨提示:内容为网友见解,仅供参考
无其他回答

...syntax error at mul16b.vhd(19) near text "="; expecting "(", o...
use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity mul16b is port(a16,b16:buffer std_logic_vector(15 downto 0);dout:out std_logic_vector(31 downto 0));end mul16b;architecture count of mul16b is signal r32 : std_logic_vector(31 downto 0):=(others => ...

Error (10500): VHDL syntax error at ls138.vhd(19) near text...
else (g1 <='1';g2 <='0');就ok了;

Error (10500): VHDL syntax error at Vhdl1.vhd(18) near text "ELSE...
第17行最后缺少了语句结束符";"。

Error (10500): VHDL syntax error at test.vhd(18) near text "=...
信号赋值符号是“<=”,不是"="!改为:IF (R_IN="1010") THEN OUT_LOW<="0000";OUT_HIGH<="0000";

quartus II9.0 10500和10523错误解答
回答:大哥,VHDL语言的实体名不能用VHDL的敏感信号,SINGT是VHDL的敏感信号,建议你把实体名SINGT修改为其他的名字就正确了。问题的错误在这里,我现在没有安装这款软件,所以没有检验。你修改了试试,我想一定能够通过.你要表述的是10禁止的加法计数器,对不?另外结束结构体的时候要写上结构体的名称,即最后...

Error (10500): VHDL syntax error at
你的描述是Verilog HDL,但文件名后缀却是.vhd,所以出现编译错误。关闭文件后,将后缀改成.v就行。

vhdl Error (10500): VHDL syntax error at bibi.vhd(20) near text...
vhdl Error (10500): VHDL syntax error at bibi.vhd(20) near text "q"; expecting "(", or "'", or "."VHDL硬件描述语言VHDL的误差(10500):在笔笔的语法错误。VHD(20)附近的文本“Q”;希望“(”,或“”,或“。”library ieee;图书馆或文库IEEE标准;use ieee.std_logic_airth....

Error (10500): VHDL syntax error at biaojue.vhd(16) near text...
variable j: integer :=0 少了结束符“;”。应当为variable j: integer :=0;

Error(10500): VHDL syntax error at music.vhd(1) near text "WIDTH...
字面上看就是缺少实体或结构体,从你代码看,肯定不是VHDL了,VHDL没有width=9的写法,都是<=或者:=

...Error (10500): VHDL syntax error at Vhdl1.vhd(32) near text...
应该是vhdl1.vhd文件语法错误,第32行,else的使用,应该缺少判断条件,或者是使用错误

相似回答
大家正在搜