|
From: Guy H. <ghu...@gm...> - 2015-05-13 18:08:11
|
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 |