thomas.haber Posted July 9, 2013 Author Report Share Posted July 9, 2013 Hi Torsten, on my OSX everthing is ok ??!?! Nevertheless i added a fix to the paint listeners to ensure recursion can not happen. you find it under http://update.toem.de/pre Please reply if it helps, so it will be part of next release. regards, thomas maehne 1 Quote Link to comment Share on other sites More sharing options...
maehne Posted July 9, 2013 Report Share Posted July 9, 2013 Hello Thomas, Hi Torsten, on my OSX everthing is ok ??!?! Nevertheless i added a fix to the paint listeners to ensure recursion can not happen. you find it under http://update.toem.de/pre Please reply if it helps, so it will be part of next release. I just installed Impulse 0.5.7 from the indicated URL and your fix seems to work: I did not observe any immediate crashes due to maximizing/minimizing tabs. Thanks a lot for this quick fix! I did not have time for in-depth testing, but anyway, I will report any new issues, which may arise. regards, thomas Regards, Torsten Quote Link to comment Share on other sites More sharing options...
maehne Posted July 9, 2013 Report Share Posted July 9, 2013 Hello Thomas, Thanks for the log. In fact its something cocoa specific. The update of another composite, forces the composite itself to be redrawn. - Very strange -- I will take care for a fix this week. Great that you were able to analyse the problem. >>No, just for selected key points indicated by the user: He could e.g. right click on a trace at a certain point. Select something like "Add label..." and then, he can add optionally some explicative text, which would be displayed along with the x and y values. This gets in the direction of markers. Not started in impusle but already in the framework. A possibility to add bookmarks, texts, a relation to other signals, or here a value attatched. Exactly, your description much more precisely describes the feature. For analog signals, besides the x,y coordinates of a sample, also other information is relevant, e.g.: slope at the point time distance between two markers and equivalent frequency Having markes to automatically snap to the minimum maximum sample in a selected time/frequency range (or over the whole sampled interval in absence of a selection) might be interesting as week. Having vertical markers to mark a value difference might be also interesting. Do you see this as part of the configuration or the wave file? - do you want to see his markers again after new simulation at the same position but maybe with different value ? - or do you see it as part of this specific wave file (a kind of analysis). I see this feature as a documentation capability to highlight measures taken on the simulation results. It may be sensible to save a carefully set up set of markers in the configuration. However, it is difficult to ensure that the markers will be still at the right place after a new simulation run. E.g., just small parameter variations will result in an enough big phase difference for the marker not being anymore at the right time. To achieve this, we would need some "intelligent" markers, which would position themselves at the right place in a given range. regards, thomas Best regards, Torsten Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted July 10, 2013 Report Share Posted July 10, 2013 Hi Thomas, Thanks for the work. The plugin looks very promising. One of our team member will look into your plug-in. He will soon come back with his report and I will share it with you. Keep up the good work. Regards, Sumit Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted July 11, 2013 Author Report Share Posted July 11, 2013 Your welcome. Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted September 21, 2013 Author Report Share Posted September 21, 2013 Hi all, after the sommer break here the new 05.11: * log10 line diagrams * multiple axes * lot of fixes regards, thomas maehne 1 Quote Link to comment Share on other sites More sharing options...
dakupoto Posted September 23, 2013 Report Share Posted September 23, 2013 Hallo Thorsten, your are right. Not only for analog signals, but also for transactions it will be usefull to simple resize the item height. To do so i had to exchange the tree: http://toem.de/index.php/blog/152-impulse-new-and-noteworthy For the axis problem i'am current thinking about a general non-linear axis, that also support time warps . regards, thomas Hello Sir. You might want to check out: http://gnuplot.sourceforge.net/demo/multiplt.html Gnuplot does a very satisfactory job of plotting frequency domain plots, with log - log scale. It uses a script driven framework, but works very well. Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted September 23, 2013 Report Share Posted September 23, 2013 A feature suggestion for future version: When you read vcd, you know tc (toggle count). Why don't you provide an information about them in your tracer. Example: On the left hand pane if somebody places cursor over some module and if it shows how many toggles have had happened like (1056 toggles, 7% of total), that would be great. Regards, Sumit Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted September 23, 2013 Author Report Share Posted September 23, 2013 Hi Summit, thanks for the suggestion. You can get the information already with the hover. Select a signal, hover over it. In the window you find : change counter ,time , value regards, thomas Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted September 23, 2013 Author Report Share Posted September 23, 2013 Hello Sir. You might want to check out: http://gnuplot.sourceforge.net/demo/multiplt.html Gnuplot does a very satisfactory job of plotting frequency domain plots, with log - log scale. It uses a script driven framework, but works very well. hi dapupoto, thanks for the suggestion. # thomas Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted September 23, 2013 Report Share Posted September 23, 2013 Welcome Thomas. Currently I am struggling to open and use your plugin. Never opened it on my own. I see it is installed - but thats all .... nothing else Regards, Sumit Quote Link to comment Share on other sites More sharing options...
maehne Posted September 23, 2013 Report Share Posted September 23, 2013 Hello Sumit, Once Impulse is installed in Eclipse, you should be able to open any VCD file from the Project Explorer. If not, maybe some other editor is already associated with the file type. Then, right click on the file and Open With -> Impulse Viewer should do the trick. For DAT files, you have to explicitly specify the Impulse Viewer as Editor in the Eclipse Preferences under General -> Editors -> File Associations. Regards, Torsten Quote Link to comment Share on other sites More sharing options...
maehne Posted September 23, 2013 Report Share Posted September 23, 2013 Hello Thomas, Hi all, after the sommer break here the new 05.11: * log10 line diagrams * multiple axes * lot of fixes regards, thomas Thanks for implementing these very useful new features into Impulse. With each new revision you plug in gets more useful! Other people in my group have also started to work with it and find it already very handy. Regards, Torsten Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted September 23, 2013 Report Share Posted September 23, 2013 Thanks Torsten. But I cannot find this impulse option!. Is 3.8 version eclipse a problem ? By the way, somebody did a great job with your profile pic. I loved the work. Fantastic cartoon Regards, Sumit Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted October 19, 2013 Author Report Share Posted October 19, 2013 Just a question. Is there a need for real data with precision > double ? I was just working with Java type BigDecimal for axes (to avoid rounding errors). regards, thomas Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted October 20, 2013 Report Share Posted October 20, 2013 Hi Thomas, I do not see that there is any need for any real data which is more precise that double. I do not see analog data formats in SystemC/SystemC-AMS/Verilog/Verilog-AMS uses them. Having said that, I must say that : If somebody for a signal width greater than 64 bits tries to convert it into double/analog type in impulse (some DSP debugging) then big data formats will be useful. If somebody uses GNU mpfr, then possibly it will be useful, but I do not know how he will get a dump for that. Regards, Sumit Quote Link to comment Share on other sites More sharing options...
maehne Posted October 20, 2013 Report Share Posted October 20, 2013 Just a question. Is there a need for real data with precision > double ? I was just working with Java type BigDecimal for axes (to avoid rounding errors). regards, thomas Well, as Sumit said, currently, analog simulators use primarily double for their calculations. However, SystemC is compatible with all plain old data types of C++, which also includes long double that has potentially a higher precision than double. Therefore, I would appreciate if Impulse would also support this data type. sumit_tuwien 1 Quote Link to comment Share on other sites More sharing options...
dccafe Posted November 29, 2013 Report Share Posted November 29, 2013 Hello! I've been using your tool for quite a while now and I'm really pleased with the overall eclipse integration. I have found a small bug though : Apparently, the tool does not interpret float values of -inf or +inf. It fails to print the waveform whenever it finds those symbols. As a solution, I suggest the gtkwave workaround ... It replaces those symbols by a virtual zero and prints the corresponding portion of the wave with a different color. Hope it helps, Cheers, Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted November 29, 2013 Author Report Share Posted November 29, 2013 Hi Daniel, I guess you are talking about tabular files ?! Could you send me an example ? This could be done via the conflict flag (each sample has that flag - and get painted red usually ). regards, thomas Quote Link to comment Share on other sites More sharing options...
dccafe Posted December 9, 2013 Report Share Posted December 9, 2013 Here you go : +inf and -inf values are usually generated by an unwanted division by zero. If you run the following dummy TDF module, you'll obtain a +inf at the beginning. You can then use the vcd file as an input to your tool in order to reproduce the bug #include <systemc-ams>SCA_TDF_MODULE(genInf) { sca_tdf::sca_out<double> output; int counter; double cte; SCA_CTOR(genInf) {counter=0;cte=5;} void processing() {output = cte / counter++;}};int sc_main(int argc, char * argv[]) { sca_tdf::sca_signal<double> sig; genInf generator("genInf"); generator.output(sig); generator.set_timestep(1,sc_core::SC_SEC); // Tracing tools sca_util::sca_trace_file * tf = sca_util::sca_create_vcd_trace_file("wave"); sca_util::sca_trace(tf,sig,"test_signal"); // Simulation sc_core::sc_start(10,sc_core::SC_SEC); // After Simulation sca_util::sca_close_vcd_trace_file(tf); return 0;} VCD output should be as follows $date Mon Dec 9 15:57:40 2013$end$version 2.0.alpha_1$end$timescale 1 ps$end$scope module SystemC_AMS $end$var real 1 ! test_signal $end$upscope $end$enddefinitions $end #0rinf ! <------ Impulse can't handle this#1000000000000r5.000000000000000 !#2000000000000r2.500000000000000 !#3000000000000r1.666666666666667 !#4000000000000r1.250000000000000 !#5000000000000r1.000000000000000 !#6000000000000r0.8333333333333334 !#7000000000000r0.7142857142857143 !#8000000000000r0.6250000000000000 !#9000000000000r0.5555555555555556 !#10000000000000 Hope it helps, Daniel. Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted January 16, 2014 Author Report Share Posted January 16, 2014 Hi Daneil, took some time as i was preparing 0.6.0. This is now ready, the fix is inside (but does not paint it red- this will come later. regards, thomas maehne 1 Quote Link to comment Share on other sites More sharing options...
thomas.haber Posted April 8, 2014 Author Report Share Posted April 8, 2014 Hi Torsten, Markers are now available. So you can add to any signal an annotation, a task or bookmark. If you use an annotation, the text will contain the actual value. cheers, thomas maehne and sumit_tuwien 2 Quote Link to comment Share on other sites More sharing options...
maehne Posted April 8, 2014 Report Share Posted April 8, 2014 Hello Thomas, Nice to hear about this evolution of features in Impulse! We are using this plugin more and more at LIP6, e.g., in SystemC trainings, where the attendees do their exercises in an Eclipse IDE. I will give the new features a try in the coming days and will provide feedback if necessary. Cheers, Torsten sumit_tuwien 1 Quote Link to comment Share on other sites More sharing options...
maehne Posted July 3, 2014 Report Share Posted July 3, 2014 Hello Thomas, I gathered more experience with your Impulse plug-in over the past months: When grouping analog signals using "Combine" in the Edit dialog, different axes are used and I have to specify manually a common range. Would it be possible to automatically propose a valid range covering the full extend of all signals. E.g., I have a signal s1 with values from -0.2 to 1.3 and another signal s2 with values from -4.3 to 0.9, the proposed range would be -4.3 to 1.3. I think this would make the feature much more user-friendly. You could suppress drawing of multiple axes in that case. Regarding cursor handling: - Would it be possible not to change the cursor position if you click accidentally into the Impulse drawing pane, when you have been working in another application and you want to bring Eclipse back to the foreground? Maybe it would be more user-friendly to have to drag the cursors explicitly to the new position instead of just clicking to avoid accidental movements of the cursor. - When I use cursors to do measurements, I would like to easily zoom-in around the cursor. Currently, Impulse doesn't seem to use the selected cursor as the center for a zoom. What would be also useful is an automatic zoom to the region, which contains all created cursors with some margin left and right. A range zoom tool could be also very handy, where you select the range with a click, drag+hold and release click to the selected x-range. - When you add a new cursor, it is always added at x position zero and at least on my Eclipse version not visible. Instead, I have to open the "Show Cursor Details" pane to select the newly added cursor to move it there, where I want to have the new cursor. Maybe adding the new cursor to the middle of the current zoom range would be more convenient. I think it would be also convenient to open the "Show Cursor Details" pane automatically when you add the second cursor. The signal grouping functionality seems to have a bug: If I have 4 signals s1, s2, s3, and s4 and I want s1 and s2 be plotter in one pane and s3 and s4 in a separate pane by selecting first s1 and s2 and selecting "Combine" in the Edit dialog and then *separately* selecting first s3 and s4 and selecting "Combine" in the Edit dialog, all four signals s1 to s4 are plotted in one single pane. It is nice that Impulse can plot also small signal analyses of amplitude and angle against the frequency. However, the usefulness of this feature is still limited, as the x-axis can still not be set to log10 scale (which I judge more frequently used than a logarithmic plot with octaves). One small annoying thing is that Impulse is not registered as a possible editor for .dat files. I understand your concerns that too many programs use the .dat extensions, but currently I have to register "Impulse" together with "Text Editor" manually for *.dat files in each Eclipse workspace (I use separate workspaces to group source projects specific to "real" projects such a project with some industrial partner or a project for a specific training). Would it be possible to register Impulse at least as a secondary editor for .dat files? The "*.tab" file extension is non-standard and won't be adopted by SystemC-AMS users, who have to use also other tools. Even better would be some global configuration dialog for Impulse, where these and other preferences could be configured system-wide. Thanks again for all the work you have already invested into Impulse! It has more and more replaced our former favorite tools gtkwave and gaw. Regards, Torsten Quote Link to comment Share on other sites More sharing options...
maehne Posted July 3, 2014 Report Share Posted July 3, 2014 Hello Thomas, In our daily work with Impulse, we have also identified some need to to basic processing on the signals shown in Impulse. I'm aware that this could become arbitrarily complex, but what would be already helpful is to be able to add, subtract, multiply, divide two selected signals and create a result signal from it (which ideally could be used in another +, -, *, / operation). I see two frequent use cases: - subtract: to display the information of differential signals, which information is not encoded in the absolute value (as the absolute values are often subject to offset errors), but in the difference of the two signals. - multiply: to calculate power by multiplying current and voltage. It would be even more general, if you could add such a "post-processing signal" to your signal list and then specify the formula in a dialog using common mathematical notation with the signal names as parameters to the operands. Then, you could also add more evolved mathematical functions (trigonometric, integration over time, differentiation). I can understand if such a feature may go beyond the scope you intent for Impulse. There are also workarounds like post-processing the tabular trace files and generating a new one, with the new "post-processing" signals, which could then be displayed by Impulse. Regards, Torsten Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.