are there FILE I/O in VHDL?

Discussion in 'VHDL' started by walala, Aug 11, 2003.

  1. walala

    walala Guest

    Dear all,

    I want to ask a question about FILE I/O using VHDL during
    simulation. My project requires a close collaboration between matlab
    and VHDL simulation. I need to import data generated from matlab
    into VHDL program and then execute and get results exported into
    matlab for further analysis.

    Is there a way to open/save file for exchanging data in VHDL?

    Thanks a lot,

    -Walala
     
    walala, Aug 11, 2003
    #1
    1. Advertising

  2. Yes,
    It is possible to read and write files within VHDL.
    See for more informatie the FAQ:
    http://www.vhdl.org/vi/comp.lang.vhdl/FAQ1.html#files

    Depending on your simulator it is probably possible to
    start the VHDL simulation from the MatLab environment.
    We use this apporach in combination with ModelSim.
    Here an example how we used it for a fft implementaion.

    A part of the matlab script is:
    %--> Start ModelSim and start simulation
    dos('M:\win32\vsim -do V:/testbench/fft1024/fft1024.do');

    where de script file "fft1024.do" contains the ModelSim commands.
    e.g.:
    cd W:/
    vcom V:/testbench/fft1024/fft1024_tester.vhd
    vcom V:/testbench/tp_testbench.vhd
    vsim tp_testbench
    run -all
    quit -f

    Using this approach we automatically can compare the VHDL simulation
    results (results are written in a file in ModelSim) with the MatLab results.

    Egbert Molenkamp

    "walala" <> wrote in message
    news:...
    > Dear all,
    >
    > I want to ask a question about FILE I/O using VHDL during
    > simulation. My project requires a close collaboration between matlab
    > and VHDL simulation. I need to import data generated from matlab
    > into VHDL program and then execute and get results exported into
    > matlab for further analysis.
    >
    > Is there a way to open/save file for exchanging data in VHDL?
    >
    > Thanks a lot,
    >
    > -Walala
     
    Egbert Molenkamp, Aug 11, 2003
    #2
    1. Advertising

  3. "walala" <> wrote in message
    news:...
    > Dear all,
    >
    > I want to ask a question about FILE I/O using VHDL during
    > simulation. My project requires a close collaboration between matlab
    > and VHDL simulation. I need to import data generated from matlab
    > into VHDL program and then execute and get results exported into
    > matlab for further analysis.
    >
    > Is there a way to open/save file for exchanging data in VHDL?


    VHDL has reasonable file I/O facilities, described in any
    good textbook (try Peter Ashenden, Designer's Guide to VHDL).

    Standard file I/O will work fine if you can run your MATLAB
    program, generate a file of data and then read that file into
    your VHDL simulation; similarly you can get VHDL to dump some
    output to a file and then post-process with MATLAB.

    If you need on-the-fly interaction between MATLAB and VHDL,
    things are more difficult. There is no easy way to open
    a pipe from VHDL. However, we've had quite good success
    by using Tcl to glue a VHDL simulation to another running
    program. Use VHDL's console I/O (INPUT and OUTPUT channels),
    and then use Tcl to open the simulator as a bidirectional
    command pipeline. Similarly Tcl can then open a MATLAB
    program as a bidi command pipe. You can then manage the
    interaction between simulation and MATLAB, using Tcl.
    --
    Jonathan Bromley, Consultant

    DOULOS - Developing Design Know-how
    VHDL * Verilog * SystemC * Perl * Tcl/Tk * Verification * Project Services

    Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK
    Tel: +44 (0)1425 471223 mail:
    Fax: +44 (0)1425 471573 Web: http://www.doulos.com

    The contents of this message may contain personal views which
    are not the views of Doulos Ltd., unless specifically stated.
     
    Jonathan Bromley, Aug 11, 2003
    #3
  4. walala

    Hans Guest

    Hi Walala,

    Instead of files you might also want to have a look at using sockets.
    Sockets are surprisingly easy to use especially under Linux :)

    If you have access to Modelsim PE you can use TCL to support sockets. If you
    have Modelsim SE you can also use the excellent FLI (C/C++) interface.


    Hans

    www.ht-lab.com

    "walala" <> wrote in message
    news:...
    > Dear all,
    >
    > I want to ask a question about FILE I/O using VHDL during
    > simulation. My project requires a close collaboration between matlab
    > and VHDL simulation. I need to import data generated from matlab
    > into VHDL program and then execute and get results exported into
    > matlab for further analysis.
    >
    > Is there a way to open/save file for exchanging data in VHDL?
    >
    > Thanks a lot,
    >
    > -Walala
     
    Hans, Aug 18, 2003
    #4
  5. walala

    Arvind Kumar Guest

    Hi,
    Any pointer to how the socket which you mentioned and what can it do???
    Regards,
    Arvind Kumar



    > Instead of files you might also want to have a look at using sockets.
    > Sockets are surprisingly easy to use especially under Linux :)
    >
    > If you have access to Modelsim PE you can use TCL to support sockets. If you
    > have Modelsim SE you can also use the excellent FLI (C/C++) interface.
    >
    >
     
    Arvind Kumar, Aug 24, 2003
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. walala
    Replies:
    3
    Views:
    4,874
    walala
    Sep 18, 2003
  2. Replies:
    2
    Views:
    8,824
    Jim Lewis
    Mar 21, 2006
  3. dude

    VHDL 2002 vs VHDL 1993

    dude, Mar 23, 2006, in forum: VHDL
    Replies:
    1
    Views:
    1,341
    Nicolas Matringe
    Mar 23, 2006
  4. afd
    Replies:
    1
    Views:
    8,547
    Colin Paul Gloster
    Mar 23, 2007
  5. Replies:
    2
    Views:
    1,505
Loading...

Share This Page