Any Hardware/EDA engineers out there? 
Author Message
 Any Hardware/EDA engineers out there?

Just curious: are there  any other hardware engineers or EDA software
engineers out there in RubyLand?

I've been thinking about starting some sort of RubyEDA site where we could
post Ruby packages/applications which are related to EDA - like RHDL.

This would be a way of promoting the use of Ruby in the EDA/hardware
design community.

Anybody else got packages that would be appropriate to put on a RubyEDA
site?

Phil



Mon, 19 Sep 2005 08:54:17 GMT  
 Any Hardware/EDA engineers out there?
For the part of Maxim Integrated Products that I work for:

We use SWIG with Ruby to allow us to write ruby scripts that manipulate
Cadence design databases. We tied Cadences itkDB library (their
database access C library) to ruby.

We use Ruby for general purpose scripting (in preference to Perl and
Python).

We do not have anything we can share at this time.

Jeff.

Quote:

> Just curious: are there  any other hardware engineers or EDA software
> engineers out there in RubyLand?

> I've been thinking about starting some sort of RubyEDA site where we
> could
> post Ruby packages/applications which are related to EDA - like RHDL.

> This would be a way of promoting the use of Ruby in the EDA/hardware
> design community.

> Anybody else got packages that would be appropriate to put on a RubyEDA
> site?

> Phil



Tue, 20 Sep 2005 00:28:56 GMT  
 Any Hardware/EDA engineers out there?

Quote:
> Just curious: are there  any other hardware engineers or EDA software
> engineers out there in RubyLand?

> I've been thinking about starting some sort of RubyEDA site where we could
> post Ruby packages/applications which are related to EDA - like RHDL.

> This would be a way of promoting the use of Ruby in the EDA/hardware
> design community.

> Anybody else got packages that would be appropriate to put on a RubyEDA
> site?

Here we have some C++ libs wrapped into Ruby for manipulating
verilog, LEF, DEF, and some other in house EDA formats.  It's also used in
several other Ruby-only tools for ASIC design.

Ruby is quickly eating 'market share' of general scripting usage, as well.
Most of the more software savvy engineers here have switched to Ruby from Perl.

We also have a project that uses Ruby + shell code to strictly maintain
reentrant UNIX environments for various projects, with a focus on software
development help.

At this time, though, I don't think I'm at liberty to share any of it.  Hmmm...
we do have some simple utilities to parse and communicate with Tcl (so many CAD
tools use Tcl).  I think that could be shared, and we've found it quite useful
despite its simplicity.

--
---------------------------------------------- | ----------------------
Brett Williams                                 |

---------------------------------------------- | ----------------------



Tue, 20 Sep 2005 01:03:50 GMT  
 Any Hardware/EDA engineers out there?

Quote:

> At this time, though, I don't think I'm at liberty to share any of it.  Hmmm...
> we do have some simple utilities to parse and communicate with Tcl (so many CAD
> tools use Tcl).  I think that could be shared, and we've found it quite useful
> despite its simplicity.

Please share

--
Jim Freeze
----------
A lot of people I know believe in positive thinking, and so do I.  I
believe everything positively stinks.
                -- Lew Col



Tue, 20 Sep 2005 01:27:42 GMT  
 Any Hardware/EDA engineers out there?


Quote:

>> Just curious: are there  any other hardware engineers or EDA software
>> engineers out there in RubyLand?

>> I've been thinking about starting some sort of RubyEDA site where we could
>> post Ruby packages/applications which are related to EDA - like RHDL.

>> This would be a way of promoting the use of Ruby in the EDA/hardware
>> design community.

>> Anybody else got packages that would be appropriate to put on a RubyEDA
>> site?

>Here we have some C++ libs wrapped into Ruby for manipulating
>verilog, LEF, DEF, and some other in house EDA formats.  It's also used in
>several other Ruby-only tools for ASIC design.

Can you elaborate on 'for manipulating verilog'?

Quote:

>Ruby is quickly eating 'market share' of general scripting usage, as well.
>Most of the more software savvy engineers here have switched to Ruby from Perl.

>We also have a project that uses Ruby + shell code to strictly maintain
>reentrant UNIX environments for various projects, with a focus on software
>development help.

>At this time, though, I don't think I'm at liberty to share any of it.  Hmmm...
>we do have some simple utilities to parse and communicate with Tcl (so many CAD
>tools use Tcl).  I think that could be shared, and we've found it quite useful
>despite its simplicity.

Anything you can share would be good.

Phil



Tue, 20 Sep 2005 01:28:17 GMT  
 Any Hardware/EDA engineers out there?
Where are you located?  I suspect, probably in the Bay Area, but I
ask this because there is a big Maxim plant here in Beaverton, Oregon
near where I live (probably just a fab, though).

Are your swig interface files for tying itkDB to Ruby sharable?  You
wouldn't need to provide any Cadence code.

Phil



Quote:
>For the part of Maxim Integrated Products that I work for:

>We use SWIG with Ruby to allow us to write ruby scripts that manipulate
>Cadence design databases. We tied Cadences itkDB library (their
>database access C library) to ruby.

>We use Ruby for general purpose scripting (in preference to Perl and
>Python).

>We do not have anything we can share at this time.

>Jeff.


>> Just curious: are there  any other hardware engineers or EDA software
>> engineers out there in RubyLand?

>> I've been thinking about starting some sort of RubyEDA site where we
>> could
>> post Ruby packages/applications which are related to EDA - like RHDL.

>> This would be a way of promoting the use of Ruby in the EDA/hardware
>> design community.

>> Anybody else got packages that would be appropriate to put on a RubyEDA
>> site?

>> Phil



Tue, 20 Sep 2005 01:37:59 GMT  
 Any Hardware/EDA engineers out there?

Quote:



> >> Just curious: are there  any other hardware engineers or EDA software
> >> engineers out there in RubyLand?

> >> I've been thinking about starting some sort of RubyEDA site where we could
> >> post Ruby packages/applications which are related to EDA - like RHDL.

> >> This would be a way of promoting the use of Ruby in the EDA/hardware
> >> design community.

> >> Anybody else got packages that would be appropriate to put on a RubyEDA
> >> site?

> >Here we have some C++ libs wrapped into Ruby for manipulating
> >verilog, LEF, DEF, and some other in house EDA formats.  It's also used in
> >several other Ruby-only tools for ASIC design.

> Can you elaborate on 'for manipulating verilog'?

Pretty much anything with (mostly) structural verilog netlists.  Tools built on
top of this include scan chain stitching, scan chain verification, netlist
quality check, test vector generation netlist preparation, etc.  Currently we
don't do anything with RTL, for example, just post-synthesis netlists.

Lots of quick scripts are also written by individual chip designers who have a
need to automate any kind of hooking things up, disconnecting things, etc.
Especially at the beginning of a chip design cycle (where netlist quality is
poor and needs to be propped up for early builds) and at the end (where full
automation breaks down and things are tweaked to take care of small changes and
remaining errors of various kinds), it gets pretty heavy use.

It's also used to convert between the above listed formats.

Something similar to this probably exists in all kinds of chip design shops all
over the country.  It'd be nice if there was a robust, full-featured open
source version of such a thing.

--
---------------------------------------------- | --------------------------
Brett Williams                                 | (970) 288-0475        

---------------------------------------------- | --------------------------



Tue, 20 Sep 2005 02:07:47 GMT  
 Any Hardware/EDA engineers out there?


Quote:

> > At this time, though, I don't think I'm at liberty to share any of it.  Hmmm...
> > we do have some simple utilities to parse and communicate with Tcl (so many CAD
> > tools use Tcl).  I think that could be shared, and we've found it quite useful
> > despite its simplicity.

> Please share

Why not? (attached) It just adds a few things to the Tk* modules, as it seems
some of the useful things in them are private.

This is primarily used to have tcl configuration files for our Ruby-based CAD
tools.  So it is not terribly complex.

I must make an obligatory disclaimer:  I didn't write any of this, coworkers
Craig Files and John Bratt did (hence the mix of styles).  Perhaps if this is
useful to others it could be extended, cleaned up, and made even more useful.

A little example of one way we'd use this, rather neutered:

def ScanPlan.readCommandsFile(filename, scanplan)
  # create a class object so it can be reached outside the scope of an
  # individual object (how it has to be done with Tcl)

  # Next, set up tcl configuration commands
  tcl_code = <<-EOC
    proc set_constraint {scantype param_name param_value} {
      ruby "ScanPlan.sp_set_param('$scantype','$param_name','$param_value')"
      return "$scantype"
    }
    # put in any other tcl code you want here... if long could certainly
    # be read in from a file instead
  EOC
  TclUtils.eval(tcl_code)
  TclUtils.load_file(filename)
  error = TclUtils.fetchValue("errorInfo")
  # If load_file had errors, it will print to stderr the error, but nothing
  # will actually stop our current process.
  raise "Reading tcl file #{filename} generated errors." unless error.empty?

end

# This is the ruby method that is called by the tcl procedure set_constraint
# In such methods we may need to access the class variable which gives
# us some context (this tools does things recursively, including reading
# multiple tcl configuration file for a given level of hierarchy)
def ScanPlan.sp_set_param(scantype, param_name, param_value)
  ScanPlan.checkNewParam(scantype,param_name,param_value)
  ScanPlan[scantype,param_name] = param_value
  return param_value
end

Note that the same restrictions in communication to and from Tcl apply as when
using the Tk modules--make sure each tcl proc and each Ruby method that cross
the Tcl/Ruby boundary returns a string and nothing but a string.

--
---------------------------------------------- | --------------------------
Brett Williams                                 | (970) 288-0475        

---------------------------------------------- | --------------------------

  TclUtils.rb
3K Download


Tue, 20 Sep 2005 01:59:13 GMT  
 Any Hardware/EDA engineers out there?
I hate coming to the list for silly stuff such as this, but has
anyone been able to get MP3Tag.rb to work on Windows?

Reading tags works fine.  I have the following code:

====
#!c:/ruby/bin/ruby.exe

require 'mp3tag.rb'

print "before commit: "
tag = Mp3Tag.new("tmp.mp3")
puts tag.comment

tag.comment = "XXX"
print "set: "
puts tag.comment
tag.commit

print "after commit: "
tag = Mp3Tag.new("tmp.mp3")
puts tag.comment
===

When run on a file containing a tag with a comment of "Existing
comment" yields:

before commit: Existing comment
set: XXX
after commit: Existing comment

Ruby -v says:
ruby 1.7.3 (2002-11-17) [i386-mswin32]

The file is not changed (according to its timestamp), and several mp3
utilities do show that the tag isn't changed.  

Mp3Tag.rb is v 1.0.  Anything I can do to check this?  The f.write()
code in there IS getting executed, and the packed string it's trying
to write looks correct to me; it has the right value.  It just seems
the write isn't ... actually writing.

Thoughts?

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com



Tue, 20 Sep 2005 03:00:54 GMT  
 Any Hardware/EDA engineers out there?


Quote:




>> >> Just curious: are there  any other hardware engineers or EDA software
>> >> engineers out there in RubyLand?

>> >> I've been thinking about starting some sort of RubyEDA site where we could
>> >> post Ruby packages/applications which are related to EDA - like RHDL.

>> >> This would be a way of promoting the use of Ruby in the EDA/hardware
>> >> design community.

>> >> Anybody else got packages that would be appropriate to put on a RubyEDA
>> >> site?

>> >Here we have some C++ libs wrapped into Ruby for manipulating
>> >verilog, LEF, DEF, and some other in house EDA formats.  It's also used in
>> >several other Ruby-only tools for ASIC design.

>> Can you elaborate on 'for manipulating verilog'?

>Pretty much anything with (mostly) structural verilog netlists.  Tools built on
>top of this include scan chain stitching, scan chain verification, netlist
>quality check, test vector generation netlist preparation, etc.  Currently we
>don't do anything with RTL, for example, just post-synthesis netlists.

>Lots of quick scripts are also written by individual chip designers who have a
>need to automate any kind of hooking things up, disconnecting things, etc.
>Especially at the beginning of a chip design cycle (where netlist quality is
>poor and needs to be propped up for early builds) and at the end (where full
>automation breaks down and things are tweaked to take care of small changes and
>remaining errors of various kinds), it gets pretty heavy use.

>It's also used to convert between the above listed formats.

>Something similar to this probably exists in all kinds of chip design shops all
>over the country.  It'd be nice if there was a robust, full-featured open
>source version of such a thing.

So you essentially have a Verilog parser written in Ruby?

Is this something that you could release?

Phil



Tue, 20 Sep 2005 04:41:31 GMT  
 Any Hardware/EDA engineers out there?

Quote:
> So you essentially have a Verilog parser written in Ruby?

> Is this something that you could release?

> Phil

No, although that would be kind of neat and useful to share.  I wish that I
did.

It's a SWIG/Ruby wrapper around a C++ project.  One of the C++ project's
abilities is to parse verilog (via a C lex/yacc parser linked in).  Really it's
a logical connectivity database, with optional extensions for VLSI artwork.
Kind of a poor man's OpenAccess database (http://openeda.org).

Now there would be a useful addition for Ruby EDA.... Ruby bindings to
OpenAccess.  Not a trivial project though.

There are a few open source lex and yacc files for parsing verilog.  I wonder
if anyone has used racc or some other Ruby tool to make a Ruby verilog parser?
That would be a very handy addition to a rubyEDA website.

--
---------------------------------------------- | --------------------------
Brett Williams                                 | (970) 288-0475        

---------------------------------------------- | --------------------------



Tue, 20 Sep 2005 07:17:11 GMT  
 Any Hardware/EDA engineers out there?


Quote:

>> So you essentially have a Verilog parser written in Ruby?

>> Is this something that you could release?

>> Phil

>No, although that would be kind of neat and useful to share.  I wish that I
>did.

>It's a SWIG/Ruby wrapper around a C++ project.  One of the C++ project's
>abilities is to parse verilog (via a C lex/yacc parser linked in).  Really it's
>a logical connectivity database, with optional extensions for VLSI artwork.
>Kind of a poor man's OpenAccess database (http://openeda.org).

>Now there would be a useful addition for Ruby EDA.... Ruby bindings to
>OpenAccess.  Not a trivial project though.

>There are a few open source lex and yacc files for parsing verilog.  I wonder
>if anyone has used racc or some other Ruby tool to make a Ruby verilog parser?
>That would be a very handy addition to a rubyEDA website.

Or, I wonder how hard it might be to wrap the Icarus Verilog parser so
that it was accessable from Ruby.  I'm not sure how seperate the Icarus
parser is from the rest of the simulation engine.

Phil



Tue, 20 Sep 2005 07:30:12 GMT  
 
 [ 14 post ] 

 Relevant Pages 

1. Software Engineer - Verilog/Perl - EDA tool development - Cambridge, UK - to c£30,000

2. EDA R&D Engineer (full time, permanent)

3. Advice requested: EE crash course for EDA engineer

4. JOB : Boston area EDA company seeks entry level Software Engineer

5. JOB: USA-CA-San Jose: EDA Applications Engineer

6. CA-SF EDA Software Startup - Applications Engineer

7. SW Engineer: San Jose, C/C++, EDA, Flex/Bison, Verilog/VHDL

8. Advice requested: EE crash course for EDA engineer

9. JOB : Boston area EDA company seeks entry level Software Engineer

10. JOB: USA-CA-San Jose: EDA Applications Engineer

11. CA-SF EDA Software Startup - Applications Engineer

12. EDA Engineer Position Wanted

 

 
Powered by phpBB® Forum Software