Skip to content

Conversation

@giselher
Copy link

SystemC Blockdiagram (without wiring)
Wiring will come separately, because I still have my hard time figuring out how to get the right informations for displaying ports and signals.

  • Contains only svg stuff that is needed for displaying the SystemC Blockdiagram.
  • Contains the STL implementation I pulled from Kevin

I think it is for the better to send this pull request now, because you can test while the others are still trying to fix their STL implementation.

@giselher
Copy link
Author

I forgot to tell that it takes some time for diagrams of bigger designs to show up.

@rainerf
Copy link
Owner

rainerf commented Jan 30, 2013

Some early feedback:

  • I'm getting lots of QPixmap: It is not safe to use pixmaps outside the GUI thread errors on the command line as soon as I start a SystemC simulation, even before a simulation context is even found.
  • I'm also getting some QSortFilterProxyModel: invalid inserted rows reported by source model errors (again before a simulation context is found). This might be unrelated, but I never noticed those with the current master.
  • I got the following traceback (once gain before a simulation context is found):
Traceback (most recent call last):
  File "/home/rainer/svn/ricodebug/src/plugins/SysCDiagram/SysCDiagramPlugin.py", line 126, in run
    object_vec = self.ctx["m_child_objects"]
TypeError: 'NoneType' object has no attribute '__getitem__'
  • Please don't use upper case in file names (SVGImage.py)
  • svgview.py and htmlvariableview.py are nearly identical. This is unacceptable.
  • The same goes for svgview.mako and htmlvariableview.mako.
  • The simulation context plugin is still broken (probably due to the problems introduced by the pretty printer?).

Saving the best for last, though: The good news is that, for all designs I tried the plugin on, it did not crash and the output produced looked very good!

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something's wrong here, line 108 also has a function update(self).

@giselher
Copy link
Author

giselher commented Feb 4, 2013

Could you please test this new set of commits again? I simplified everything I could.

@giselher
Copy link
Author

giselher commented Feb 4, 2013

Rebased ontop of vermaks newest branch.

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

7f390fc crashes for me upon loading the module:

  ...
  File "/home/rainer/svn/ricodebug/src/helpers/pluginloader.py", line 66, in __togglePlugin
    if not self.pluginldr.loadPlugin(self):
  File "/home/rainer/svn/ricodebug/src/helpers/pluginloader.py", line 119, in loadPlugin
    pluginmodule = __import__("plugins.%s.%s" % (plugin.modulename, plugin.classname))
  File "/home/rainer/svn/ricodebug/src/plugins/SysCDiagram/SysCDiagramPlugin.py", line 25, in <module>
    from datagraph.svgview import SVGDataGraphVW
ImportError: No module named svgview

@giselher
Copy link
Author

giselher commented Feb 4, 2013

Oh, sorry missed a file to add.

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Just got this crash while sc_get_curr_simcontext() was not (yet) available in any scope:

Traceback (most recent call last):
  File "/home/rainer/svn/ricodebug/src/plugins/SysCDiagram/SysCDiagramPlugin.py", line 113, in update
    object_vec = self.ctx["m_child_objects"]
TypeError: 'NoneType' object has no attribute '__getitem__'

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Other than the traceback above, drawing the diagram still works nicely!

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

It's reproducible on my machine: just debug some program that does not
use SystemC (or stop a SystemC simulation on main() where
sc_get_curr_simcontext() does not yet exist) with the plugin enabled.

Python version is also 2.7.3 here.

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Fixed in 9862372, thanks.

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Another thing I just noticed: self.block_diagram.write_raw("bd.gv") will leave a temporary file in the working directory. Also, it will most probably crash if the working directory is not writable. Could you maybe use something like http://docs.python.org/2/library/tempfile.html?

@giselher
Copy link
Author

giselher commented Feb 4, 2013

Oh, that file was just for debug purposes. This line is not needed any more.

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Ok. is this ready to merge then? Will the further fixes for the pretty printer be rebased on this?

@giselher
Copy link
Author

giselher commented Feb 4, 2013

This is ready for merging.

I have WriteAccess to every repo and rebased it ontop of rainerf/master.
See the following comment on daniels pull request.
#48 (comment)

@rainerf
Copy link
Owner

rainerf commented Feb 4, 2013

Merged into integration branch (3c16ab2), closing.

@rainerf rainerf closed this Feb 4, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants