Board logo

标题: [求助]vhdl的一个问题 [打印本页]

作者: smallfisher    时间: 2006-5-25 23:30     标题: [求助]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");的问题


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


作者: stone133    时间: 2006-5-26 10:11

我对vhdl只是一知半解,请vhdl高手来指导一下!
作者: waterlily    时间: 2006-5-26 11:58

我编译了一下显示design library "IEEE" does not contain primary unit "std_logic_textio"  ,把use IEEE.std_logic_textio.all;去掉试试
作者: smallfisher    时间: 2006-5-26 13:15

在其他工具里ieee里有那个库 就没有这个问题了 但是有那个好像generic的问题
去掉后又出现别的问题,好像是声明在93版本 但文件是87版的





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0