• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. Reading an input file using std.textio

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 65
  • Views 15613
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Reading an input file using std.textio

rafaelkl
rafaelkl over 6 years ago

Hi,

I 'm having a problem trying to read an input file on a testbench on Incisive.

I believe the problem is due to a wrong file path, but I tried to copy the file to several folder and none worked.

The line I'm using, which worked in other simulator is:

    file input_file: text is in "test_in.txt";

On Irun command, I obtain the error:

    file input_file: text is in "test_in.txt";

    ncvhdl_p: *E,ILLPRI (../tb/tb_top.vhd, 112|35): expecting an expression or operand [7.1] [7.3].

Any idea what could be the problem?

Thank you!

  • Cancel
  • StephenH
    StephenH over 6 years ago

    The problem isn't anything to do with where your stimulus file is on disk, the error is coming from the parser, indicating something is wrong with your source code. I can't see anything obviously wrong with your code, so it might be dependent on something from a line above this one. Can you reproduce this in some trivial example, or at least show us what's on the preceding lines?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TAM1
    TAM1 over 6 years ago

    The syntax for declaring an input file changed between the '87 and '93 versions of VHDL. If you are using -v93 or -v200x you can declare your file like:

        file input_file: text is "test_in.txt";

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rafaelkl
    rafaelkl over 6 years ago

    Sorry, I should have posted more of the code.

    I'm using basically this:

    process
        FILE vector_file_in: text IS "test_in.txt";
        VARIABLE input_line : line;
        VARIABLE str_stimulus_in: string(8 DOWNTO 1);

    begin
    WHILE NOT endfile(vector_file_in) LOOP
         readline(vector_file_in, input_line);
        read(input_line, str_stimulus_in);
    -- tests
    end loop;
    end process;

    I am using -v93, so may be this the problem. But Modelsim is also configured to use it and works fine.
    Unfortunately I can only test next week.

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TAM1
    TAM1 over 6 years ago in reply to rafaelkl

    This compiles without complaint with the -v93 option. It is the extra keyword "in" that is required by the '87 standard and appears in your original example that leads to the ILLPRI error.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • rafaelkl
    rafaelkl over 6 years ago in reply to TAM1

    That worked. Just had to remove the "in" keyword. Thank you!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information