ytakatsukasa

Members
  • Content count

    5
  • Joined

  • Last visited

About ytakatsukasa

  • Rank
    Member

Profile Information

  • Gender
    Male
  • Location
    Yokohama, Japan

Recent Profile Visitors

178 profile views
  1. Hi Mohit QEMU is an open source software mostly written in C. It emulates different architectures (ARM,MIPS, PPC, and more) from host and can run binaries on it. So you can boot android for arm on x86 PC. As far as I know the typical use cases of QEMU are System Emulator Frontend for Virtualization As a system emulator, android sdk uses QEMU to boot android to let developer check the application on x86 pc not on arm development board. Xilinx Xynq development kit also uses QEMU to run the software for the FPGA on x86 pc. For virtualization, QEMU is used to virtualize x86 pc on x86 pc (or arm on arm) with KVM or XEN. Shorter answer: Yes, Green Socs and TLMu are famous project for it. Iguess there may be similar projects more. Longer answer: QEMU consists of many kinds of processor models and peripheral models, so many tried to use it with SystemC. I also succeeded to boot arm linux on my customized TLMu( QEMU processor model + SystemC peripheral models). IMHO QEMU has 3 difficulties for integrating with SystemC. Building QEMU is sometimes troublesome because of its dependencies on many libraries. QEMU is written in C with gtk-like object system and with so many global/static variables. It is tough to understand and modify the source code. Global variables prevent you from multi-instantiation. QEMU source code is always changing and its speed is fast. It will be a painful work to catch up with the mainline release after you fork QEMU. QEMU is a really really useful software, actually I use it for virtualization and appreciate it. But honestly its source code is not something that I would love to recommend for learning material. I hope you will find a cool way to integrate it with SystemC. Regards, Yutetsu.
  2. VCD Hierarchy Manipulator

    Version 618f460e28420d94543e471e

    29 downloads

    1) About this program. This small utility manipulates hierarchy information of VCD. This is useful for VCDs generated by the ASI(OSCI) SystemC PoC simulator, in which all signals are recorded in the same hierarchy named 'SystemC'. This program modifies a header of VCD so that the all signals are located in its hierarchy. It can be realized with simple script written in lightweight languages like Ruby or Perl, but slower for bigger VCDs. Such scripts have to read and write whole VCD file. This is why such scripts are slow. This program modifies header of VCD in-place. Only 1KB-100KB is read and written even with VCD > 1GB. Please also see http://forums.accellera.org/topic/1481-scopes-in-systemc-vcd-files/ 2) How to build All you need to do is just type make. % make You will find vcd_hier_manip which is executable. I tested on Linux. 3) How to use % ./vcd_hier_manip dump.vcd This program modifies dump.vcd. Please backup the original VCD if the file is important. In rare case, this program cannot modify a header in-place if the modifed header is bigger than the original header size. In that case, use --output option to specify the output file. This option makes this tool much slower because it reads and writes whole VCD. % ./vcd_hier_manip input.vcd --output output.vcd Option --flatten provides reverse modification. 4) License This program is written by Yutestu TAKATSUKASA. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. This program is released under GPL2 in general. If you download this program from Accellera Uploads area, the license is Apache license. 5) Bugs This program does not support the complete specification of VCD. I tested only with SystemC 2.2 and 2.3. If you find any problem, please feel free to send comments or patches. It will be helpful if you send me a header of VCD to fix bugs. (Only header part is sufficient) If you kindly give some feedback, please post to https://github.com/yTakatsukasa/vcd_hierarchy_manipulator/issues. The latest version is always available at https://github.com/yTakatsukasa/vcd_hierarchy_manipulator
  3. Sumit, I appreciate your feedback. I found a big problem in the previous patch, only 1 bit wire is dumped. Fixed version is uploaded to github. The latest vesion checks environmental variable SC_VCD_NO_HIERARCHY and if it is set, behave as the original one. Regards, Yutetsu.
  4. I wrote a patch to achieve this topic. I only tested with examples/sysc/pkt_switch, but it emits like followings after add some sc_trace()'s in sc_main(). The patch is available at github. Regards, Yutetsu.
  5. Philipp, Thanks for the license information. I will face-lift the source code and upload it under Apache License. thomas, Sorry for wandering from the original topic. I hope the PoC simulator emit VCD with the hierarchical structure, and it seems technically possible with some patches to the PoC simulator. I will think about it. Regards, Yutetsu.