bluespec.com Forum Index bluespec.com
Bluespec Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Waveform Viewing of bluesim-generated VCD Dumps
Goto page 1, 2  Next
 
Post new topic   Reply to topic    bluespec.com Forum Index -> Tools: Bluesim
View previous topic :: View next topic  
Author Message
benelson



Joined: 20 Nov 2009
Posts: 3

PostPosted: Wed Nov 25, 2009 12:35 am    Post subject: Waveform Viewing of bluesim-generated VCD Dumps Reply with quote

nWave seems to be the viewer of choice but looks to be a 3rd party add-on. Is this correct?

I am curious about what features I am missing using gtkwave instead. For example: when using gtkwave to view bluesim-generated vcd dumps, it works great but enumerated type names are lost - I get integer equivalents of the encodings. I am trying to understand whether I should spend time/$$ finding a better viewer before start my graduate class using the tools.

Also, any suggestions on a viewer that is more tightly integrated with the tools than gtkwave?

Thanks,

Brent
Back to top
View user's profile Send private message
ShepSiegel



Joined: 14 Aug 2007
Posts: 41

PostPosted: Wed Nov 25, 2009 7:51 am    Post subject: Reply with quote

gtkWave integration has gotten much better. I'm not sure what bits have been rolled out - but we have been using gtkWave with both Bluesim and ISim. (We do a lot of import BVI of Verilog RTL and use Xilinx ISim as our functional simulator). I'm sure team BSV will chime in. Our approach is to help make gtkWave/BSV integration as great as any other viewer.
-Shep Siegel / Atomic Rules
Back to top
View user's profile Send private message
jnewbern



Joined: 18 Jul 2007
Posts: 71

PostPosted: Wed Nov 25, 2009 11:03 am    Post subject: Reply with quote

Brent,

To get the enhanced debug experience with GTKWave, you will need to download the experimental version from the GTKWave SourceForge homepage (gtkwave.sourceforge.net). The latest stable release doesn't contain all of the required features.

Once you have downloaded and compiled the experimental version (version 3.3.x or later), you should have a gtkx command available. In the Bluespec workstation, use gtkx as the waveform viewer command, and include -W as a waveform viewer option.

With those settings, you should be able to start GTKWave from the workstation, send signals from the workstation to the waveform viewer, and display mnemonics for enumerated types, structured buses, etc.

Regards,
Jeff Newbern
Back to top
View user's profile Send private message
mmurphy



Joined: 29 Nov 2009
Posts: 4

PostPosted: Sun Nov 29, 2009 11:33 pm    Post subject: Reply with quote

I grabbed the latest version of gtkwave off of their cvs (3.3.0). There doesn't seem to be gtkx in the bin. Is this in a later release not available yet?

Any help would be greatly appreciated!
Back to top
View user's profile Send private message
benelson



Joined: 20 Nov 2009
Posts: 3

PostPosted: Mon Nov 30, 2009 11:34 am    Post subject: Viewing Bluespec-Generate VCD Files with gtkwave Reply with quote

Jeff, thanks for the reply. But I had the same experience as mmurphy - the latest I can get via cvs is 3.3.0 and I don't find a gtkx after I compile. The command I am using to get it is:

cvs -z3 -d:pserver:[email protected]:/cvsroot/gtkwave co -P gtkwave3

Thanks for any help you can offer.
Back to top
View user's profile Send private message
jnewbern



Joined: 18 Jul 2007
Posts: 71

PostPosted: Mon Nov 30, 2009 12:06 pm    Post subject: Reply with quote

I apologize for the misdirection. The name "gtkx" is a name we use to distinguish the experimental version from the released version of GtkWave. If you build the 3.3.0 version from source you will get a binary called "gtkwave", not "gtkx".

So you should be able to use this gtkwave 3.3.x executable with the Bluespec workstation by using "gtkwave" as the waveform viewer command and including "-W" in the waveform viewer options.

If you want to have both versions installed, I suggest renaming the experimental version to "gtkx". If you have both versions installed but want to keep the name "gtkwave", then you must make sure that the new version is found in your path before the old version.

If you don't feel the need to have both versions installed, then you can remove the original gtkwave package and just install the experimental version, keeping the "gtkwave" name. Of course, once the 3.3.x series becomes a stable release and is packaged by your distribution you can go back to using the distribution packages and no longer need to build from source.

Again, I apologize for the confusion.

Regards,
Jeff
Back to top
View user's profile Send private message
mmurphy



Joined: 29 Nov 2009
Posts: 4

PostPosted: Wed Dec 02, 2009 9:10 pm    Post subject: Reply with quote

I know that integration with gtkwave isn't complete yet, but I am still having trouble with what you describe.

I put gtkwave 3.3.0 as the wave viewer with option -W. When I go to start the wave viewer from the module browser it starts up, but the Bluespec Workstation doesn't seem to realize it's open.

I recieve the error:
Could not start waveform viewer.
Please check your command options and path.
Command: gtkwave -W

Gtkwave was opened by Bluespec when this error pops up.
Back to top
View user's profile Send private message
baltus



Joined: 30 May 2007
Posts: 13

PostPosted: Wed Dec 02, 2009 10:00 pm    Post subject: gtkwave Reply with quote

Hi,

Sorry this has been a problem for you. I have a few questions which should help us debug what's going on.

1) When you bring up gtkwave via the bluesepec workstation, how long does it take for the gtkwave window to come up? (i.e instantly, 5 seconds, 30 seconds?)

2) After you bring up gtkwave via the workstation, hit the gtkwave Help->"Wave Version" menu buttons. What does it say?

3) After you bring up gtkwave via the workstation, if you hit the workstation "Module Browser" window "Wave Viewer"->Attach button what does it say (or is it grayed out)?

4) With the gtkwave window (started from the bluespec workstation) still up, go to another window and start wish (the tk interpreter). At the wish command line, type:

winfo interps

what does it say?

With this info I should be able to tell you waht to do next.
Thanks,
Don Baltus
Back to top
View user's profile Send private message
baltus



Joined: 30 May 2007
Posts: 13

PostPosted: Wed Dec 02, 2009 10:24 pm    Post subject: Reply with quote

A few more general clarifying comments about using waveform viewers with the bluespec workstation.

Currently the only two waveform viewers that integrate with the bluespec workstation are novas and gtkwave (and gtkwave is not yet "officially" supported).

To be able to use novas/gtkwave to view BSV structs etc., the viewer has to be started via the bluespec workstation and the signals need to be added to the waveform viewer from the bluespec workstation "Module Browser" window.

There's no extra type info in the vcd file (either from bluesim or from your favorite Verilog simulator). When you send a signal from the workstation, the workstation queries the bluespec database, figures out what type the signal is, and then generates its own set of signals to send to the wave viewer (based on the bits-only signal in the vcd file).

Integration with gtkwave is not officially supported yet so if you use that viewer, there's one more thing you'll need to do to get so that viewing of enum types etc works. You'll have to have an executable called "enum" and put it in your search PATH.

I've attached a linux 32-bit version of enum. If you need one for 64-bits let me know.

Don Baltus



enum.gz
 Description:
gzipped 32-bit enum executable

Download
 Filename:  enum.gz
 Filesize:  3.45 KB
 Downloaded:  1721 Time(s)

Back to top
View user's profile Send private message
mmurphy



Joined: 29 Nov 2009
Posts: 4

PostPosted: Wed Dec 02, 2009 10:58 pm    Post subject: Reply with quote

I added the enum executable to my PATH.

1) When you bring up gtkwave via the bluesepec workstation, how long does it take for the gtkwave window to come up? (i.e instantly, 5 seconds, 30 seconds?)

Gtkwave comes up instantly, but the module browser hangs and then spits the could not start waveform viewer error.

2) After you bring up gtkwave via the workstation, hit the gtkwave Help->"Wave Version" menu buttons. What does it say?

GTKWave Analyzer v3.3.0(w) 1999-2009 BSI

3) After you bring up gtkwave via the workstation, if you hit the workstation "Module Browser" window "Wave Viewer"->Attach button what does it say (or is it grayed out)?

Greyed Out

4) With the gtkwave window (started from the bluespec workstation) still up, go to another window and start wish (the tk interpreter). At the wish command line, type:

winfo interps

what does it say?

wish bluespec

Something else interesting...After I get the error that the waveform viewer could not be started. GtkWave is running, and if I try to do Wave Viewer->Start again then the Bluespec Terminal spits out "A Waveform Viewer is Already Running: GtkWave"

I hope this will help.

Thanks,
Matt
Back to top
View user's profile Send private message
baltus



Joined: 30 May 2007
Posts: 13

PostPosted: Wed Dec 02, 2009 11:35 pm    Post subject: Reply with quote

Hi Matt,

Another question ...

If you type gtkwave -W at the command line, you should get a wish command prompt (on the terminal). What does it say? It should be something like:

baltus-laptop:~/src/vprocess> gtkwave -W

GTKWave Analyzer v3.3.0 (w)1999-2009 BSI

Interpreter id is gtkwave_13411
%
Back to top
View user's profile Send private message
baltus



Joined: 30 May 2007
Posts: 13

PostPosted: Wed Dec 02, 2009 11:41 pm    Post subject: Reply with quote

Hi Matt,

I think I may know whats going on. Could you post your .bspec file (with the workstation option settings) so I can take a look?

Don
Back to top
View user's profile Send private message
baltus



Joined: 30 May 2007
Posts: 13

PostPosted: Thu Dec 03, 2009 10:47 am    Post subject: Reply with quote

Hi Matt,

I think you're seeing the behavior you are because in the waveform viewer options settings, you've set the gtkwave command field as "gtkwave -W" and the gtkwave options field as empty.

If so, try it with the command field as "gtkwave" and the options field as "-W".

I'm still tracking down why doing it the first way causes a problem.

Don
Back to top
View user's profile Send private message
mmurphy



Joined: 29 Nov 2009
Posts: 4

PostPosted: Thu Dec 03, 2009 9:14 pm    Post subject: Reply with quote

I have gtkwave in the command bar, and -W in the options bar. The problem most likely stems from the other part you asked about.

When I start gtkwave -W in a terminal I do not get the wish terminal. It says:

GTKWave Analyzer v3.3.0 (w) 1999-2009 BSI and there is nothing after that.
Back to top
View user's profile Send private message
benelson



Joined: 20 Nov 2009
Posts: 3

PostPosted: Mon Dec 07, 2009 3:23 pm    Post subject: Reply with quote

Hi Don,

Thanks for your help so far. My setup seems to match mmurphy's exactly in terms of errors and behavior.

When I start up gtkwave from the bluespec gui, it opens instantly but the icon in the gui indicating it is still waiting for something continues to spin. After 10-15 seconds I get "Could not start waveform viewer. Please check your options and path. Command: gtkwave -W"

At this point gtkwave is running but it would seem bluespec cannot connect to it (the attach is grayed out). Trying to start a second one gives a console error that Gtkwave is already running.

I tried to attach my .bspec file for reference but it said that .bspec was an illegal attachment (don't know if that is my browser complaining or the website), so here it is in-line.

Thanks,

Brent

-------------------------

### Bluespec project file.
### Generated by Bluespec Workstation on Mon Dec 7 12:13:10 MST 2009

global PROJECT

set PROJECT(COMP_BDIR) "."
set PROJECT(COMP_BSC_OPTIONS) "-keep-fires -u"
set PROJECT(COMP_BSC_TYPE) "bluesim"
set PROJECT(COMP_INFO_DIR) "."
set PROJECT(COMP_SIMDIR) "."
set PROJECT(COMP_TYPE) "bsc"
set PROJECT(TB_COMP_TYPE) "ccd"
set PROJECT(COMP_VDIR) "."
set PROJECT(EDITOR_NAME) "emacs"
set PROJECT(INCLUDED_FILES) "*.bsv"
set PROJECT(LINK_BSC_OPTIONS) "-keep-fires"
set PROJECT(LINK_MAKEFILE) "Makefile"
set PROJECT(LINK_OUTDIR) "."
set PROJECT(LINK_OUTNAME) "out"
set PROJECT(LINK_TYPE) "bsc"
set PROJECT(MAIN_PLACEMENT) "700x350+0+0"
set PROJECT(MAKE_CLEAN) "clean"
set PROJECT(MAKE_FILE) "Makefile"
set PROJECT(MAKE_FULLCLEAN) "clean"
set PROJECT(MODULE_PLACEMENT) "500x350+50+500"
set PROJECT(PATHS) ". %/Prelude %/Libraries"
set PROJECT(PACKAGE_PLACEMENT) "770x420+475+150"
set PROJECT(PROJECT_PLACEMENT) "250x460+0+385"
set PROJECT(RUN_OPTIONS) "-V"
set PROJECT(SCHEDULE_PLACEMENT) "650x650+500+225"
set PROJECT(SCEMI_ENABLE) "0"
set PROJECT(SCEMI_LINK_OPTIONS) "--sim"
set PROJECT(SCEMI_BSVTB) "0"
set PROJECT(SCEMI_COMPBSC) "0"
set PROJECT(SCEMI_TB_CC_CC) "g++ -c TESTBENCH.cpp -I%B/SceMi -I\${SYSTEMC}/include"
set PROJECT(SCEMI_TB_CC_LINK) "g++ -o scemirun TESTBENCH.o -L\$SYSTEMC/lib-linux -L%B/SceMi/%F -lsystemc -lscemi -ldl"
set PROJECT(SCEMI_TB_CC_RUN) "./scemirun"
set PROJECT(SIM_NAME) "modelsim"
set PROJECT(TOP_FILE) "test2tb.bsv"
set PROJECT(TOP_MODULE) "mktest2tb"
set PROJECT(TYPE_PLACEMENT) "770x420+475+540"
set PROJECT(VIEWER_CLOSE) "close"
set PROJECT(WIZARD_PLACEMENT) "1024x700+50+50"
set PROJECT(EDITOR_GVIM_EXEC) "gvim %f %l %c"
set PROJECT(EDITOR_EMACS_EXEC) "emacs %f %l %c"
set PROJECT(EDITOR_/USR/BIN/EMACS_EXEC) "/usr/bin/emacs %f"
::Waves::set_options {GtkWave,Command} {gtkwave}
::Waves::set_options {Mentor,Command} {Not supported}
::Waves::set_options {nonbsv_hierarchy} {/main/top}
::Waves::set_options {StartTimeout} {20}
::Waves::set_options {GtkWave,Options} {-W}
::Waves::set_options {Mentor,Options} {Not supported}
::Waves::set_options {ExtendNameMode} {noextend}
::Waves::set_options {DumpExtensions} {vcd fsdb wlf}
::Waves::set_options {Novas,Command} {nWave}
::Waves::set_options {viewer} {GtkWave}
::Waves::set_options {Novas,Options} {-nologo}
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    bluespec.com Forum Index -> Tools: Bluesim All times are GMT - 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
bluespec.com topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP