LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Samuel Goto<samuelgoto@g...>
    Date: Wed Oct 24 14:15:31 CEST 2007
    Subject: [oc] Re: [Fwd: GSC problems]
    Top
    Hi Philipp !!

    On 10/18/07, Philipp Klaus Krause <attachment.htm
    >
    > I noticed the GSC SystemC to Verilog translator and want to try it. The
    > documentation claims it's far superiour to previously existing free
    > SystemC to Verilog translators.


    well, i didn't mean to claim that it is far superiour to previous attemps,
    but it is definitely far more scalable than others. By scalability I mean
    that I am using a well stabilished c++ parser (keystone.sf.net) while others
    are using a hand written c++ lex/yacc parser. This means that gsc has the
    ability to support all systemc constructs, while other translators are
    binded to their poor c++ subset parser.

    by not being far superior than previous attempts I mean that it is a work in
    progress, and systemc constructs are being added while users send me
    feedback ( like you ! thanks for your help ! hehe ! ).

    however, AFAIK, I could say that gsc is superior than opencore's s2v and
    tabajara ( the only open soucre translators I am aware of ) and quite
    comparable to synopsys dc_shell ( the only comercial translator I have acess
    to ).

    However I have some troubles making it work. These are mostly related to
    > GSC's use of Keystone.


    ok.

    I, as you may be, am a programmer ... and programmers aren't really good at
    making user interfaces ( like command lines options, etc ). Therefore, gsc
    is definitely not as user friendly as one may expect. However, in time, with
    users feedback, more and more usability features will be added.

    Keystone assumes sizeof(unsigned int) == sizeof(void *), which isn't
    > true on 64 bit systems. It assumes yacc's output files are named y_tab.h
    > and y_tab.c, which was true a long time ago, but these days they're
    > named y.tab.h and y.tab.c.
    > I had to install 32 bit development libraries on my system and compile
    > using gcc-3.4 -m32, g++-3.4 -m32 using linux32 (a tool to make programs
    > think they're running on a 32 bit system).
    >
    > I've managed to compile Keystone, but it still doesn't work:


    great ! send me the patch and I'll will patch it against the next release (
    and send you the kudos, of course =) ).

    key -I ~/systemc/objdir/include half_adder.cpp
    > Token Buffer:
    > 0. /usr/local/include/keystone/stubs/fstream:39: traits
    > 1. /usr/local/include/keystone/stubs/fstream:39: >
    > 2. /usr/local/include/keystone/stubs/fstream:40: {
    > 3. /usr/local/include/keystone/stubs/fstream:41: public
    > 4. /usr/local/include/keystone/stubs/fstream:41: :
    >
    > current: 2
    > last: 4
    >
    > Failed assertion: base class scope was not of type ClassScope.
    > file: ContextManager.cpp
    > line: 290


    which systemc.h are you using ? gsc uses a special systemc.h which overrides
    most of the #defines such as SC_MODULE, SC_METHOD, etc ...

    Thus I have some suggestions to improve usability of GSC:
    > * Provide Keystone binaries on the download page. This would make using
    > GSC a lot easier and probably remove the dependencies on btyacc and
    > maybe treecc.


    OK. I'll do this for my architecture (x86 32 bit) and if you build one for
    yours send it to me.


    > * Make GSC give an error message if Keystone is not found (currently it
    > just hangs on the select() call in line 65 of parse.c).

    OK. Do it as you think it should be done and send me the patch. * I don't think it is necessary to provide graphviz on the download > page. graphviz is included in many Linux distributions, so users won't > have problems finding it. Make the configure script look for graphviz in > default loations, not only in /usr/local. I included graphviz in the download page because I didn't tested gsc against other versions of graphviz. Besides, I need all the development headers of graphviz, not only binaries. Philipp > > Great =) I hope this helps. Send me patches and feedback. This is how I want gsc to grow : with users open source contributions. -- f u cn rd ths u cn b a gd prgmr ! -------------- next part -------------- An HTML attachment was scrubbed... URL: attachment.htm

    Follow upAuthor
    [oc] Re: [Fwd: GSC problems]Philipp Klaus Krause

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.