|
From: J F. <jfi...@sb...> - 2015-05-13 15:57:13
|
The error cannot move is pretty simple. Do an ls of that directory and you will see that the source file does not exist. Sent from Yahoo Mail on Android From:"Joshua Street" <kni...@gm...> Date:Wed, May 13, 2015 at 8:36 AM Subject:[Iverilog-devel] periodic updating of vcd file 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. Josh |