VHDL语言中编译出现:Error (10500): VHDL syntax error at FPGA.vhd(7) near text "?;....具体见下:

编译时出现以上或类似错误,请教下,,怎么改??
源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
entity clk_cnt is
port(
bclk:in std_logic; --标准频率时钟信号
xclk:in std_logic; --待测频率信号
gate:in std_logic; --预置门控制信号
clr:in std_logic; --清零和初始化信号
sel:in std_logic_vector(2 downto 0); --data select
databus:out std_logic_vector(7 downto 0) --计数器值输出
);
end clk_cnt;
architecture counter of clk_cnt is
signal bz_count, dc_count: std_logic_vector(31 downto 0); --基准计数器和待测频率计数器
signal bz_ena, dc_ena: std_logic; --允许计数使能
begin
process (sel) --读计数值进程
begin
case sel(2 downto 0) is
when "000"=>databus<=bz_count(7 downto 0); --标准频率信号计数值
when "001"=>databus<=bz_count(15 downto 8);
when "010"=>databus<=bz_count(23 downto 16);
when "011"=>databus<=bz_count(31 downto 24);
when "100"=>databus<=dc_count(7 downto 0); --待测频率信号计数值
when "101"=>databus<=dc_count(15 downto 8);
when "110"=>databus<=dc_count(23 downto 16);
when "111"=>databus<=dc_count(31 downto 24);
when others=>null;
end case;
end process;
bzcounter:process(bclk,clr,gate) --标准频率计数器进程
begin
if clr=′1′then bz_count<=(others=>′0′);
elsif rising_edge(bclk)then
if bz_ena=′1′then bz_count<=bz_count+1;
end if;
end if;
end process;
dccounter:process(xclk,clr,gate) --待测频率计数器进程
begin
if clr=′1′then dc_count<=(others=>′0′);
elsif rising_edge(xclk) then
if dc_ena=′1′then dc_count<=dc_count+1;
end if;
end if;
end process;
DQ: process(xclk,clr) --控制进程,D触发器
begin
if clr=′1′then dc_ena<=′0′;
elsif rising_edge(xclk) then
dc_ena<=gate;
end if;
end process;
bz_ena<=dc_ena;
end arch itecture;

错误显示:
Error (10500): VHDL syntax error at FPGA.vhd(7) near text ?
Error (10500): VHDL syntax error at FPGA.vhd(7) near text "?; expecting an identifier, or "constant", or "file", or "signal", or "variable"
很急,,在线等。。。。
其他错误提示与上述错误基本相同。。

第1个回答  2009-04-24
端口声明语法错误,
bclk : in std_logic; -- :左右要有空格本回答被提问者采纳
第2个回答  2009-04-26
端口声明语法错误

...VHDL syntax error at FPGA.vhd(7) near text "?;...具体见下:_百...
bclk : in std_logic; -- :左右要有空格

Error (10500): VHDL syntax error at DFF2.vhd(7) near text "END...
保存为decoder_3_to_8.vhd

Error (10500): VHDL syntax error at digital.vhd(174) near text...
第四句 elsif(a='1') then 改成 if(a='1') then,不然最后的end if;就成了多余的了。

VHDL语言出错Error (10500): VHDL syntax error at CTRL.vhd(47) nea...
第41行的N'EVENT中,单引号必须是半角符号,但你键入了全角符号。第54行也出现同样的问题。

VHDL编译错误
我在QuartusII 里编译了你的程序,报错:Error (10500): VHDL syntax error at p2r_CordicPipe.vhd.vhd(58) near text "compatibility"; expecting "begin", or a declaration statement “compatibility with Xilinx WebPack ”这一行,你用的Xilinx器件,是不是应该用 ModleSim (参考http:\/\/www...

VHDLError (10500): VHDL syntax error at max.vhd(20) near text...
在VHDL中,信号(SIGNAL)表示硬件中的“连线”,而端口(PORT)是设计实体对外的连线。只有在声明端口时,才需要声明信息的流向,而声明实体内部的连线时,不要声明信息流向,因为这根连线上的信息应当既不流出实体也不流入实体。所以声明信号tmp1和tmp2时,只需声明信号的类型,而不要声明信息的流向,...

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

...10500): VHDL syntax error at bibi.vhd(20) near text "q...
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....

VHDLError (10500): VHDL syntax error at max.vhd(20) near text...
在VHDL中,信号(SIGNAL)表示硬件中的“连线”,而端口(PORT)是设计实体对外的连线。只有在声明端口时,才需要声明信息的流向,而声明实体内部的连线时,不要声明信息流向,因为这根连线上的信息应当既不流出实体也不流入实体。所以声明信号tmp1和tmp2时,只需声明信号的类型,而不要声明信息的流向,...

Error (10500): VHDL syntax error at FSKdemod.vhd(131) near text...
删掉第9行类属声明中11后面的";"将第130行和131行if语句中的条件根据运算的顺序加上括号,有and和or同时出现的逻辑运算,必须用括号来指定运算顺序 好像229行的end if是多余的(看不到前面的描述,只能猜了)

相似回答