|
From: Cary R. <cy...@ya...> - 2015-05-13 18:25:42
|
Is there a reason $dumpflush() does not work? If you wanted to maximize the likelihood of the file having all the data you could add a call to $dumpflush() whenever time advanced, but you are still left with the buffering that normally happens during writing data for a specific time step. I use GTKWave and reload data all the time without doing anything extra, but I am usually generating a fair amount of data at every time step.
Cary
On Wednesday, May 13, 2015 11:08 AM, Guy Hutchison <ghu...@gm...> wrote:
Periodic updates allow you to track the progress of the simulation while it is still running. To do this you need to leave the VCD file in a consistent state, the in the waveform viewer you can reload to see recent updates.
I believe other simulators do this based on wall clock time or the amount of buffered write data they have.
Guy
> On May 13, 2015, at 8:42 AM, Stephen Williams <st...@ic...> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> The VCD reading and writing is not done in the vvp program, but in
> the system.vpi that the vvp program loads at run time. That means
> you cannot access arbitrary functions in the system.vpi from within
> the schedule.cc file.
>
> Anyhow, it is not at all clear what problem you are trying to solve,
> and why you are trying to solve it by tapping into the scheduler.
>
>> On 05/12/2015 10:37 PM, Joshua Street wrote:
>> Dear Sirs:
>>
>> I am trying to add periodic updates to the vcd file output by
>> icarus during simulation using vvp.exe. I want to be able to
>> update the file so I can read it with another vcd program, but I
>> need to call fclose on the dumpfile in sys_vcd.c
>>
>> Sorry but I'm a noob at coding in c++, so any help would be deeply
>> appreciated.
>>
>> I am wondering what the best way to get access to this function is.
>>
>>
>> I tried to add a header called sys_vcd.h to the vpi folder. This
>> just contained an extern declaration of the function that I wanted
>> access to in sys_vcd.c. However, i also added a string so that I
>> could make sure it was working.
>>
>> extern void reopen_dumpfile(void); char cake[] = "WHAT IS UP";
>>
>>
>> I then included the file in vvp/schedule.cc. I found that I could
>> access the string from schedule.cc but not the function. I assume
>> this is because I initialized the string in the header, but the
>> actual definition of the function is contained in sys_vcd.c.
>>
>> How do I go about giving myself access to this function? As I
>> remember, I think to get the actual definition, I need access to
>> the object file sys_vcd.o.
>>
>> S I thought I could just change the makefile in the vvp folder like
>> so:
>>
>> V = vpi_modules.o vpi_callback.o vpi_const.o vpi_event.o
>> vpi_iter.o vpi_mcd.o \ vpi_priv.o vpi_scope.o vpi_real.o
>> vpi_signal.o vpi_tasks.o vpi_time.o \ vpi_vthr_vector.o vpip_bin.o
>> vpip_hex.o vpip_oct.o \ vpip_to_dec.o vpip_format.o vvp_vpi.o
>> ../vpi/sys_vcd.o
>>
>>
>> but this didn't work. the makefile gives some error message: mv:
>> cannot move ../vpi/sys_vcd.d to dep/../vpi/sys_vcd.d : no such
>> file or directory.
>>
>> I have no idea what this error means. I feel like the object file
>> should contain the definition of the function I added to the
>> header.
>>
>> Does anyone know what i'm doing wrong? i feel like it's really
>> obvious, but I'm stumped.
>>
>> Also I get the feeling that probably the original intent of the
>> icarus developers was for me not to access vpi headers from inside
>> the vvp folder. Should I add a function to the vpi library instead?
>> I know it already handles commands like $dumpflush, $dumpvars,
>> etc.
>>
>> Regardless, I just want the ability to regularly flush and close
>> the vcd file so that it updates with new data periodically or when
>> a pause command is sent. then I could update the graph with this
>> updated vcd file.
>
>
> - --
> Steve Williams "The woods are lovely, dark and deep.
> steve at icarus.com But I have promises to keep,
> http://www.icarus.com and lines to code before I sleep,
> http://www.picturel.com And lines to code before I sleep."
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iEYEARECAAYFAlVTcMwACgkQrPt1Sc2b3inGzQCcDeflidS2ofd/uFrJWQG4Tf2E
> qLYAnjQu3jA6Isvo5tsrRuJ44pVAEjL4
> =iuel
> -----END PGP SIGNATURE-----
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Iverilog-devel mailing list
> Ive...@li...
> https://lists.sourceforge.net/lists/listinfo/iverilog-devel
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Iverilog-devel mailing list
Ive...@li...
https://lists.sourceforge.net/lists/listinfo/iverilog-devel
|