From: Silvio B. <SBR...@al...> - 2005-11-04 21:47:53
|
Judging from the traces, it seems that JOVE is scheduling callbacks in absolute simulation time, but Modelsim believes that these times are relative to the current sim time. I've been looking for knobs in JOVE to make it use relative times instead, but so far I couldn't find any. Where would be the fastest place to modify the code in order to use relative times? Assuming that this hasn't yet been implemented. Cheers, Silvio -----Original Message----- From: Jon Nall [mailto:jon...@gm...]=20 Sent: Friday, November 04, 2005 7:25 AM To: Silvio Brugada Cc: jov...@li... Subject: Re: [Jove-devs] Using JOVE with Modelsim Hi Silvio. Thanks for helping to port Jove to Modelsim! Posting your trace logs is probably the best way for us to figure out what's going on. To trace the C++ side of the world, you'll need to uncomment PLI_DEBUG in native/comp/pli4j/src/Configuration.h. To trace the Java side of the world, you should change the enabled member in com.newisys.dv.Debug to true. You also want to run "ant clean; ant" in the jove directory after this change (since enabled is final, it gets inlined into some classes so you need to recompile them to get the change). nall. On 11/4/05, Silvio Brugada <SBR...@al...> wrote: > > > > Hey there, > > I just came across JOVE a couple of days ago and since then became=20 > quite interested in it. This past few days, I've been working on=20 > porting it to Modelsim with some degree of success. So far, I'm able=20 > to drive signals but they don't properly synchronize with the clock.=20 > For instance, the following > code: > > while(true) > { > bind.write.drive(bit); > bind.clk.syncEdge(EdgeSet.POSEDGE); > count++; > System.out.println("Counted " + count + " clocks" ); > System.out.println("write should be " + bit); > bit =3D !bit; > } > > Should drive the signal write hi and low, alternating every clock=20 > cycle, yet it ends up alternating every other cycle. I tried running=20 > this code on cver and then it works correctly. I've also traced both=20 > runs (the one using cver and the one using Modelsim) and it seems as=20 > if there are some missing callbacks (as one might expect). Is there=20 > anyone who could give me a hand deciphering the differences between=20 > these two traces? I can definitely use some help =3D). > > Thanks in advance, > > Silvio |
From: Silvio B. <SBR...@al...> - 2005-11-04 23:37:49
|
Great, that seems to do the trick. I'll keep testing and see how this behaves. My experience so far has been pretty good, especially since I started my porting efforts yesterday and by today I'm seeing a lot of progress. Cheers, Silvio=20 -----Original Message----- From: Jon Nall [mailto:jon...@gm...]=20 Sent: Friday, November 04, 2005 2:22 PM To: Silvio Brugada Cc: jov...@li... Subject: Re: [Jove-devs] Using JOVE with Modelsim Silvio, We currently don't have any knobs for this as it was thought all simulators would behave the same. That's obviously not the case and it looks like we might need to look at making this configurable. Until we come up with a more elegant solution, try the patch below. nall. --- jove/src/com/newisys/dv/DVEventManager.java.orig 2005-11-04 16:09:33.000000000 -0600 +++ jove/src/com/newisys/dv/DVEventManager.java 2005-11-04 16:13:44.000000000 -0600 @@ -257,6 +257,13 @@ assert (time.getSimTime() >=3D 0); handler =3D new SimTimeCallbackHandler(time); simTimeCallbackMap.put(time, handler); + + boolean needRelativeTime =3D true; + if(needRelativeTime) + { + time =3D new VerilogSimTime(time.getSimTime() - verilogSim.getSimTime()); + } + verilogSim.addStartOfSimTimeCallback(time, handler); } return handler; On 11/4/05, Silvio Brugada <SBR...@al...> wrote: > > Judging from the traces, it seems that JOVE is scheduling callbacks in > absolute simulation time, but Modelsim believes that these times are=20 > relative to the current sim time. I've been looking for knobs in JOVE=20 > to make it use relative times instead, but so far I couldn't find any. > Where would be the fastest place to modify the code in order to use=20 > relative times? Assuming that this hasn't yet been implemented. > > Cheers, > > Silvio > > -----Original Message----- > From: Jon Nall [mailto:jon...@gm...] > Sent: Friday, November 04, 2005 7:25 AM > To: Silvio Brugada > Cc: jov...@li... > Subject: Re: [Jove-devs] Using JOVE with Modelsim > > Hi Silvio. > > Thanks for helping to port Jove to Modelsim! Posting your trace logs=20 > is probably the best way for us to figure out what's going on. > > To trace the C++ side of the world, you'll need to uncomment PLI_DEBUG > in native/comp/pli4j/src/Configuration.h. > > To trace the Java side of the world, you should change the enabled=20 > member in com.newisys.dv.Debug to true. You also want to run "ant=20 > clean; ant" in the jove directory after this change (since enabled is=20 > final, it gets inlined into some classes so you need to recompile them > to get the change). > > > nall. > > On 11/4/05, Silvio Brugada <SBR...@al...> wrote: > > > > > > > > Hey there, > > > > I just came across JOVE a couple of days ago and since then became=20 > > quite interested in it. This past few days, I've been working on=20 > > porting it to Modelsim with some degree of success. So far, I'm able > > to drive signals but they don't properly synchronize with the clock. > > For instance, the following > > code: > > > > while(true) > > { > > bind.write.drive(bit); > > bind.clk.syncEdge(EdgeSet.POSEDGE); > > count++; > > System.out.println("Counted " + count + " clocks" ); > > System.out.println("write should be " + bit); > > bit =3D !bit; > > } > > > > Should drive the signal write hi and low, alternating every clock=20 > > cycle, yet it ends up alternating every other cycle. I tried running > > this code on cver and then it works correctly. I've also traced both > > runs (the one using cver and the one using Modelsim) and it seems as > > if there are some missing callbacks (as one might expect). Is there=20 > > anyone who could give me a hand deciphering the differences between=20 > > these two traces? I can definitely use some help =3D). > > > > Thanks in advance, > > > > Silvio > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server.=20 > Download it for free - -and be entered to win a 42" plasma tv or your=20 > very own Sony(tm)PSP. Click here to play:=20 > http://sourceforge.net/geronimo.php > _______________________________________________ > Jove-devs mailing list > Jov...@li... > https://lists.sourceforge.net/lists/listinfo/jove-devs > |
From: Jon N. <jon...@gm...> - 2005-11-04 22:22:26
|
Silvio, We currently don't have any knobs for this as it was thought all simulators would behave the same. That's obviously not the case and it looks like we might need to look at making this configurable. Until we come up with a more elegant solution, try the patch below. nall. --- jove/src/com/newisys/dv/DVEventManager.java.orig 2005-11-04 16:09:33.000000000 -0600 +++ jove/src/com/newisys/dv/DVEventManager.java 2005-11-04 16:13:44.000000000 -0600 @@ -257,6 +257,13 @@ assert (time.getSimTime() >=3D 0); handler =3D new SimTimeCallbackHandler(time); simTimeCallbackMap.put(time, handler); + + boolean needRelativeTime =3D true; + if(needRelativeTime) + { + time =3D new VerilogSimTime(time.getSimTime() - verilogSim.getSimTime()); + } + verilogSim.addStartOfSimTimeCallback(time, handler); } return handler; On 11/4/05, Silvio Brugada <SBR...@al...> wrote: > > Judging from the traces, it seems that JOVE is scheduling callbacks in > absolute simulation time, but Modelsim believes that these times are > relative to the current sim time. I've been looking for knobs in JOVE to > make it use relative times instead, but so far I couldn't find any. > Where would be the fastest place to modify the code in order to use > relative times? Assuming that this hasn't yet been implemented. > > Cheers, > > Silvio > > -----Original Message----- > From: Jon Nall [mailto:jon...@gm...] > Sent: Friday, November 04, 2005 7:25 AM > To: Silvio Brugada > Cc: jov...@li... > Subject: Re: [Jove-devs] Using JOVE with Modelsim > > Hi Silvio. > > Thanks for helping to port Jove to Modelsim! Posting your trace logs is > probably the best way for us to figure out what's going on. > > To trace the C++ side of the world, you'll need to uncomment PLI_DEBUG > in native/comp/pli4j/src/Configuration.h. > > To trace the Java side of the world, you should change the enabled > member in com.newisys.dv.Debug to true. You also want to run "ant clean; > ant" in the jove directory after this change (since enabled is final, it > gets inlined into some classes so you need to recompile them to get the > change). > > > nall. > > On 11/4/05, Silvio Brugada <SBR...@al...> wrote: > > > > > > > > Hey there, > > > > I just came across JOVE a couple of days ago and since then became > > quite interested in it. This past few days, I've been working on > > porting it to Modelsim with some degree of success. So far, I'm able > > to drive signals but they don't properly synchronize with the clock. > > For instance, the following > > code: > > > > while(true) > > { > > bind.write.drive(bit); > > bind.clk.syncEdge(EdgeSet.POSEDGE); > > count++; > > System.out.println("Counted " + count + " clocks" ); > > System.out.println("write should be " + bit); > > bit =3D !bit; > > } > > > > Should drive the signal write hi and low, alternating every clock > > cycle, yet it ends up alternating every other cycle. I tried running > > this code on cver and then it works correctly. I've also traced both > > runs (the one using cver and the one using Modelsim) and it seems as > > if there are some missing callbacks (as one might expect). Is there > > anyone who could give me a hand deciphering the differences between > > these two traces? I can definitely use some help =3D). > > > > Thanks in advance, > > > > Silvio > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. Downl= oad > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > Jove-devs mailing list > Jov...@li... > https://lists.sourceforge.net/lists/listinfo/jove-devs > |