vhdl编译出错

Error (275062): Logic function of type pn and instance "inst" is already defined as a signal name or another logic function

就是说你在你的DESIGN中已经将pn定义为一个信号或者一个逻辑IO口了,这个检查下有没重复命名的变量就行

至于"inst"检测出重复,这是你画一个.bdf文件经常会出现的问题,只需要你把.bdf文件中的所有使用元件重新命名就行,特别是名字为inst,inst0,inst1这几个元件,后面多加几个数,就能解决问题追问

这个问题已经解决过了,我发现了他名字inst重复了。那么,我现在是用JTAG下载的程序,我要怎么才能把程序下载进去,掉电不丢失?

追答

额 如果你用的免费版QUARTUS,那是不能永久性的把.sof文件下载到FPGA上的。。。
你的文件后面是不是有个TIME LIMITED。。那就是免费版,要收费版才能掉电不丢失。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-10
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity process_com is
port(p1: in bit;
p2: out bit);
end entity;

architecture catch of process_com is
signal p21, p12: bit:='0';
begin
coma:process(p1,p21)
begin
if (p1'event and p1='1') then --不能同时判断两个时钟
p12<='1' after 20ns;
p12<='0' after 30ns;--'c'是一个字符,而你p12定义的是一个bit数据类型不一样

end if;
end process coma;
comb:process(p12)
begin
if (p21'event and p21='1')
then
p21<='1' after 10ns;
p21<='0' after 20ns;
p2<='1' after 30ns;
end if;
end process comb;
end catch;

我按照编译的错误给你改了下,仿真出来没有错误但是有12个警告,你看下
还有你的延时赋值只会被综合进仿真,在实际硬件中没有用的

求懂的朋友帮个忙,VHDL程序出错,不知道怎么解决
3. 修改代码:根据错误类型和来源,对相应的代码进行修改。例如,如果是类型不匹配错误,需要确保所有信号和变量的类型相同;如果是语法错误,需要检查代码是否符合VHDL语法规则;如果是实体或架构错误,需要检查实体或架构的声明是否正确。4. 编译运行:修改完代码后,重新编译并运行程序。如果仍然出现错误,...

崩溃了!VHDL程序老是编译通不过!
你的原始程序做了少许的修改,其实你的程序没有错误。应该是在编写代码的时候改变了输入法,导致编译错误的,以后要注意了。把那个coi1_out统统删除在敲一遍就好了。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE IS PORT ( RESET : IN STD_LOGIC;CP :...

vhdl编译出错
就是说你在你的DESIGN中已经将pn定义为一个信号或者一个逻辑IO口了,这个检查下有没重复命名的变量就行 至于"inst"检测出重复,这是你画一个.bdf文件经常会出现的问题,只需要你把.bdf文件中的所有使用元件重新命名就行,特别是名字为inst,inst0,inst1这几个元件,后面多加几个数,就能解决问题 ...

VHDL程序编译出错,报错can't determine definition of operator ""+...
1:将你程序中的bit_vector改为 std_logic_vector,USE IEEE.STD_LOGIC_UNSIGNED.ALL以及USE IEEE.STD_LOGIC_SIGNED.ALL可以使得“+”两方具有不同的数据类型,但不支持bit_vector。2:USE IEEE.STD_LOGIC_UNSIGNED.ALL以及USE IEEE.STD_LOGIC_SIGNED.ALL用一个就可以了,删除了USE IEEE.STD_LOGIC...

VHDL编译出现如下的问题怎么解决
这个的意思是您的这几个输出管脚直接接地了(意思是它们的值一直都是0)。当然如果这符合您的设计要求这种警告可以不管。Warning: Following 3 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results Info: Pin sound has GND driving its ...

Error (10482): VHDL error at music.vhd(29): object "clk" is...
在上面的代码中,第29行引用了一个名为 clk 的对象,但是并没有声明这个对象。VHDL 编译器无法确定 clk 是一个信号还是一个变量,所以报出了错误。为了修复这个问题,应该在实体部分中声明 clk 对象,例如:这样,clk 对象就声明了,VHDL 编译器就可以识别这个对象了。

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

vhdl语言编译出错(time.vhd prevet further processing)
可能的错误如下:实体名称time是保留字,应当换个名字;ELSE CNT:=0 TIMECLK<='0';一句中,少了个";",应为ELSE CNT:=0; TIMECLK<='0';END PROCESS和END TWO都少";",应为END PROCESS;和END TWO;TI<=TIMECLK; 中的TI没有被声明,端口中未被声明,结构体中也未被声明。

我的一数字频率计VHDL,顶层文件编译时有错误,但各模块都正确,没问题...
我没看你的顶层文件,估计是你自己写的。其实顶层文件可以不必写,办法如下:将各个模块在bdf文件中用线连接起来(其实就实现了你的顶层文件所要实现的功能),用bdf文件进行仿真。如果你需要顶层文件代码用来做DC之类的话,可以把bdf转换为顶层文件(vhdl代码)。就是用那个convert current file。。。

在用maxplus2对VHDL语言程序进行编译时,出现了ERROR :Can't open VHDL...
因为你将VHDL文件存在了你的电脑里盘的根目录下面了,你应该在你存程序的盘里建个文件夹,然后在打开,

相似回答