Jump to content

ytakatsukasa

Members
  • Posts

    5
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by ytakatsukasa

  1. Hi Mohit

     

    1.What is QEMU and what is its use ...??

    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

    1. System Emulator
    2. 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.

     

     

    2.Can QEMU be used for VP modeling ..if Yes then how ???

     

    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.

    1. Building QEMU is sometimes troublesome because of its dependencies on many libraries.
    2. 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.
    3. 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. 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.

     

     

    $scope module SystemC $end
    $scope module signal_0 $end
    $var wire    1  aac  dest0       $end
    $var wire    1  aad  dest1       $end
    $var wire    1  aae  dest2       $end
    $var wire    1  aaf  dest3       $end
    $upscope $end
    $scope module signal_1 $end
    $var wire    1  aai  dest0       $end
    $var wire    1  aaj  dest1       $end
    $var wire    1  aak  dest2       $end
    $var wire    1  aal  dest3       $end
    $upscope $end
    $scope module signal_2 $end
    $var wire    1  aao  dest0       $end
    $var wire    1  aap  dest1       $end
    $var wire    1  aaq  dest2       $end
    $var wire    1  aar  dest3       $end
    $upscope $end
    $scope module signal_3 $end
    $var wire    1  aau  dest0       $end
    $var wire    1  aav  dest1       $end
    $var wire    1  aaw  dest2       $end
    $var wire    1  aax  dest3       $end
    $upscope $end
    $scope module signal_4 $end
    $var wire    1  aba  dest0       $end
    $var wire    1  abb  dest1       $end
    $var wire    1  abc  dest2       $end
    $var wire    1  abd  dest3       $end
    $upscope $end
    $scope module signal_5 $end
    $var wire    1  abg  dest0       $end
    $var wire    1  abh  dest1       $end
    $var wire    1  abi  dest2       $end
    $var wire    1  abj  dest3       $end
    $upscope $end
    $scope module signal_6 $end
    $var wire    1  abm  dest0       $end
    $var wire    1  abn  dest1       $end
    $var wire    1  abo  dest2       $end
    $var wire    1  abp  dest3       $end
    $upscope $end
    $scope module signal_7 $end
    $var wire    1  abs  dest0       $end
    $var wire    1  abt  dest1       $end
    $var wire    1  abu  dest2       $end
    $var wire    1  abv  dest3       $end
    $upscope $end
    $upscope $end
    $enddefinitions  $end

     

    Regards,

    Yutetsu.

  3. 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.

×
×
  • Create New...