首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]vhdl的一个问题

[求助]vhdl的一个问题

请教各位高手


在用cadence综合一个rom程序时,出现下面错误:unsupported complex generic 'c_init_file' encountered  和 no such primary unit mc8051_rom in library WORK.


程序如下


library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_textio.all;
library STD;
use STD.textio.all;


------------------------ ENTITY DECLARATION -------------------------
entity mc8051_rom is


  generic (c_init_file : string := "mc8051_rom.dua");


  port (clk        : in  std_logic;       -- clock signal
        reset      : in  std_logic;       -- reset signal
        rom_data_o : out std_logic_vector(7 downto 0);    -- data output
        rom_adr_i  : in  std_logic_vector(15 downto 0));  -- adresses


end mc8051_rom;
architecture sim of mc8051_rom is


   type   rom_type is array (65535 downto 0) of bit_vector(7 downto 0);
   signal s_init : boolean := false;


begin


------------------------------------------------------------------------------
-- rom_read
------------------------------------------------------------------------------
 
  p_read : process (clk, reset, rom_adr_i)
      variable v_loop : integer;   
      variable v_line : line;
      variable v_rom_data : rom_type;
      file f_initfile : text is in c_init_file;
  begin
    if (not s_init) then
      v_loop := 0;
      while ((not endfile(f_initfile) and (v_loop < 65535))) loop
        readline(f_initfile,v_line);
        read(v_line,v_rom_data(v_loop));
        v_loop := v_loop + 1;       
      end loop;
      s_init <= true;
    end if;
    if (clk'event and (clk = '1')) then  -- rising clock edge
      rom_data_o <= to_stdlogicvector(v_rom_data(conv_integer(unsigned(rom_adr_i))));
    end if;
  end process p_read;


end sim;
好像是 generic (c_init_file : string := "mc8051_rom.dua");的问题


这句是什么意思 请高手指点 谢谢啦

我对vhdl只是一知半解,请vhdl高手来指导一下!
美梦成真-->噩梦降临!
我编译了一下显示design library "IEEE" does not contain primary unit "std_logic_textio"  ,把use IEEE.std_logic_textio.all;去掉试试
在其他工具里ieee里有那个库 就没有这个问题了 但是有那个好像generic的问题
去掉后又出现别的问题,好像是声明在93版本 但文件是87版的
返回列表