Messages - wnitzan [ switch to compact view ]

Pages: [1] 2 3 4 5 6next
Version 2.7 is now available.

Bug fixes:
- Time axis conversion to black-and-white.
- Web links open in default browser.

Waveme version 2.6 is now available.

New features:
1. Adjustable waveform region height in Signal row.
Useful in a mixed-signal diagram, where rows with Analog waveforms can be drawn taller than rows with digital waveforms.
2. Precise arrow positioning within a waveform region, in addition to Top/Center/Bottom positions.
3. Time Axis (new row type).
4. Option to apply a default font, excluding its color, to all existing labels, segment labels and arrow labels, thus preserving their color.
5. Additional dash line styles for grid, arrow, and value-line. DOT_DASH style is deprecated.

Bug fix:
- SVG image drawing limitations were resolved with an updated GUI library.

DC Member Programs and Projects / SOC hardware modeling with SystemC
« on: February 23, 2020, 05:45 PM »
I designed a template for System-on-a-Chip (SOC) hardware modeling, using the SystemC library.
I also wrote a utility library, that provides extra functionality for such simulations.


This is an example of an untimed simulation of 3 modules: Master, Producer and Consumer.
The Master programs the Producer to send a given number of packets to the Consumer, and the Consumer to expect that many packets from the Producer. Once the Consumer received the said packets, it sends a Done signal to the Master, which then either repeats the cycle or ends the simulation.

Small as it is, this example demonstrates:
1. The use of blocking events and blocking interfaces to control "hardware" modules.
2. The definition of memory addressable registers with the use of generic base classes for Register and Field, and
3. The control of debugging print-out messages via command line options and/or a simple text file.

I built this on Linux, using non-recursive Makefiles, but any other building method and OS should work too.
I posted a description of this work, and a downloadable ZIP file with all the code on:

I hope you find this useful!

Embarking on this journey, I had several objectives in mind:
1. I wanted to develop C++ programs on Linux.
2. I wanted a systematic method for building those programs using Makefiles.
3. The method should work for non-trivially sized programs, i.e. programs whose code spans multiple directories and files.
4. I intended those programs to make use of libraries, that I will write myself and also obtain from other sources.
5. I wished for a simple modular approach:
 - Adding another component to a library or a program will follow a well defined procedure, with short and simple Makefiles.
 - Likewise when one component wishes to include (make use of) another component.
6. I wished that header file dependencies are automatically discovered, instead of manually entered.
7. I wished that the method supported multiple independent build types for a given program, specifically, building both debug and release versions.
8. I wanted to call make from the source directory, and have the build performed in the appropriate directory, based on the build type.

Fortunately for me, others before me had one or more of these objectives in mind, too.
Thus, I combined ideas and code from multiple sources, and produced an example code to satisfy the above objectives.
I published the method and code on .

In the downloadable example, I demonstrate the building of a library (tinylib), and a project (tinyproj) that uses it.
The "heavy lifting" code, that builds these items, is encapsulated in a set of common helper Makefiles, thus leaving the top-level Makefiles small and simple to understand and edit.

I hope you find it useful!

Version 2.5 is here, just in time for Waveme's 3rd anniversary.

New features:
- Analog waveform drawing:
Signal row now supports 3 new analog segment types: Sine, Linear and Ramp/RC time constant.
A mix of both digital (L, H, Z, X, D) and analog segment types can be drawn in the same row.
- Quickly change Signal and Bus segment width without opening a dialog box, by mouse dragging, keyboard shortcuts, toolbar buttons or menu commands.
- Project and image file dialogs now show an initial suggestion based on the diagram's name, and remember last directory location for each type.
- Default font is now OS and local system dependent.

Bug fix:
- Gaps: Handled occasional incorrect drawing of an edge's middle pixel.

Pages: [1] 2 3 4 5 6next
Go to full version