![]() |
|
|
|
#1 |
|
Hi folks,
Does anybody have any experience with GHDL? For those who don't know, it's a VHDL compiler based on the gcc (GNU Compiler Collection) framework. http://ghdl.free.fr It's free, unlike modelsim et al. It can export the VCD file format for viewing in various wave viewers and so on. Not sure how its performance compares with other commercial simulators. I've downloaded it and compiled trivial examples (adders etc), and it seems to work OK. Just wondering if any body has any deeper experience or comments on it? Thanks, John John Williams |
|
|
|
|
#2 |
|
Posts: n/a
|
> Does anybody have any experience with GHDL?
> http://ghdl.free.fr GHDL is in good shape. I have successfully simulated some 'real-world' FPGA projects of about 100k gates. I was easily able to compile and simulate all my testbenches and rtl code. I had a few problems compiling the Xilinx Unisim, though. Tristan is very responsive and working hard on fixing any issue that is reported to him, so I am sure that these woes are sorted out soon. > It can export the VCD file format > for viewing in various wave viewers and so on. GHDL is creating VCDs with a resoultion of fs, which may create problems with some tools. Currently only the following signal types are dumped to the VCD: bit, std_ulogic, std_logic, bit_vector, std_logic_vector, std_ ulogic_vector. I working on integrating GHDL into IVI. IVI is a graphical frontend, which will allow for interactive simulation and Tcl scripting. IVI is currently making rapid progress with new features nearly every week. More info on IVI can be found here: http://ivi.sourceforge.net/ IVI was originally created to support the Icarus Verilog simulator. Icarus Verilog is without doubt a very good simulator with very good performance. More info here: http://www.icarus.com/eda/verilog/ Once GHDL is integrated with IVI, the result will be a nice GPL'ed and language-neutral simulator. > Not sure how its > performance compares with other commercial simulators. currently GHDL is a little slow, so there is definitely a need to work on optimization. But I am very confident that we can achieve this with the help of a few volunteers. Any comments welcome, best regards Felix Felix Bertram |
|
|
|
#3 |
|
Posts: n/a
|
In article <bhb31h$q17$>, m a ellis wrote:
>> Does anybody have any experience with GHDL? For those who don't know, > Yeah, I made some debian packages for an old version (0.3, I think). An URL would be nice. Also, if you make updated packages, could you please post notice (with URL) here? (I'm running Debian stable so I hope your packages don't need testing or newer). Tuukka Toivonen |
|
|
|
#4 |
|
Posts: n/a
|
Tuukka Toivonen wrote:
> In article <bhb31h$q17$>, m a ellis wrote: >>> Does anybody have any experience with GHDL? For those who don't know, >> Yeah, I made some debian packages for an old version (0.3, I think). > > An URL would be nice. Also, if you make updated packages, could you > please post notice (with URL) here? Sure. I'll have a go at building a new version. > (I'm running Debian stable so I hope your packages don't need > testing or newer). I found an old version in a directory called 'woody', which I would give you the apt source line for, but it doesn't seem to work with woody. Hrm. Screwed that one up somewhere along the line. I'll let you know how I get on. Martin m a ellis |
|
|
|
#5 |
|
Posts: n/a
|
> The problem seems to be that GHDL (0.7, at least )can't be compiled with the
> gnat packages distributed with gcc (3.3) - it seems to be necessary to use > the one from ftp://cs.nyu.edu/pub/gnat (which is based on gcc 2.8.1). I am using the following build system here: gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.1/specs Thread model: posix Apple Computer, Inc. GCC version 1252, based on gcc version 3.1 20021003 (prerelease) gnatmake -v GNATMAKE 5.00w (20010924) Copyright 1995-2001 Free Software Foundation, Inc. Usage: gnatmake opts name {[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]} Of course, I am building GHDL with gcc3.3 sources. Best regards, Felix Felix Bertram |
|
|
|
#6 |
|
Posts: n/a
|
Felix Bertram <> wrote in message news:<fbertram->...
> > The problem seems to be that GHDL (0.7, at least )can't be compiled with the > > gnat packages distributed with gcc (3.3) - it seems to be necessary to use > > the one from ftp://cs.nyu.edu/pub/gnat (which is based on gcc 2.8.1). > > > I am using the following build system here: > > > gcc -v > Reading specs from /usr/libexec/gcc/darwin/ppc/3.1/specs > Thread model: posix > Apple Computer, Inc. GCC version 1252, based on gcc version 3.1 20021003 > (prerelease) > > gnatmake -v > GNATMAKE 5.00w (20010924) Copyright 1995-2001 Free Software Foundation, > Inc. > Usage: gnatmake opts name {[-cargs opts] [-bargs opts] [-largs opts] > [-margs opts]} > > > Of course, I am building GHDL with gcc3.3 sources. > > > > Best regards, Felix Would it be possible to get a more detailed description of how you built ghdl for OS X? I've been having some difficulties, and the ghdl installation instructions aren't very complete yet. I'm using the same version of gcc,GNAT,& ghdl as you described. thanks, Jerahmie Jerahmie |
|
|
|
#7 |
|
Posts: n/a
|
> Would it be possible to get a more detailed description of how you
> built ghdl for OS X? I've been having some difficulties, and the ghdl > installation instructions aren't very complete yet. I'm using the > same version of gcc,GNAT,& ghdl as you described. sure, this is quite easy. I attached the script I am using to build GHDL below. Please note the following: * use the v0.7 version (which is currently the latest) * configure currently does not work properly. You will need to manually adjust the vhdl/Makefile.in in order to replace the Linux/x86 code by a pthread-based implementation for MacOSX: GRT_LINUX_OBJS=i386.o linux.o GRT_PTHREAD_OBJS=pthread.o GRT_ADD_OBJS= $(GRT_PTHREAD_OBJS) grt-cbinding.o grt-cvpi.o * I am building a patched version of GHDL, that includes a VPI interface to integrate with IVI. To do so, I need dlcompat (from Fink) linked into the GHDL runtime. I am patching grt.lst to do this. These changes will not show up in GHDL before version 0.8 I assume that you are mainly interested in testing GHDL a little bit before putting further effort into this. I have put a binary distribution on my website: http://homepage.mac.com/f.bertram Go to the Files section, browse to the IVIonOSX folder and get the most recent dmg-image. This includes an installer that installs IVI complete with GHDL and Icarus into /Simulator (so that you may easily remove the tools later). The tools may be installed individually, if you need to save disk space. Please note that you will also need Tcl/Tk for Aqua found here, when planning to use IVI: http://www.maths.mq.edu.au/~steffen/tcltk/TclTkAqua/ Please be advised that this binary distribution is not finished yet, as we are still working on the GHDL/IVI integration. I hope that you are nontheless able to get a feeling for it. I am planning to have all this polished in the next few weeks. If you have any further questions, please do not hesitate to contact me directly. Best regards Felix email: f-dot-bertram-at-mac-dot-com #!/bin/sh #------------------------------------------------------------------------ # Project: GHDL - VHDL simulator # File: build.command # Description: Script to build GHDL on Mac OS X #------------------------------------------------------------------------ root=`dirname $0` cd ${root} gcc=gcc-3.3 srcdir=${root}/${gcc} ghdldir=${root}/ghdl-0.7 objdir=${root}/build pfx=/Simulator/GHDL fink=/sw echo "----------------------------------------" echo "merge GHDL into GCC" echo "----------------------------------------" cp -rf ${ghdldir}/vhdl ${srcdir}/gcc echo "----------------------------------------" echo "setup" echo "----------------------------------------" CC="cc -no-cpp-precomp" export CC mkdir ${objdir} cd ${objdir} mkdir ${pfx}/include mkdir ${pfx}/lib cp ${fink}/include/dlfcn.h ${pfx}/include/dlfcn.h cp ${fink}/lib/libdl.0.dylib ${pfx}/lib/libdl.dylib echo "----------------------------------------" echo "configure" echo "----------------------------------------" ${srcdir}/configure \ --enable-languages=vhdl \ --prefix=${pfx} || exit 1 echo "----------------------------------------" echo "make" echo "----------------------------------------" make || exit 1 echo "----------------------------------------" echo "install" echo "----------------------------------------" make install || exit 1 # -------------------------------------------- # fix GHDL build problems # -------------------------------------------- echo "@/libgrt.a" > ${pfx}/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/vhdl/lib/grt.lst echo "@/system.o" >> ${pfx}/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/vhdl/lib/grt.lst echo "${pfx}/lib/libdl.dylib" >> ${pfx}/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/vhdl/lib/grt.lst cp /usr/lib/ada/system.o ${pfx}/lib/gcc-lib/powerpc-apple-darwin6.6/3.3/vhdl/lib # -------------------------------------------- # copy additional files # -------------------------------------------- echo `${pfx}/bin/ghdl --version` | \ sed -e 's/GHDL //' | \ sed -e 's/ \[.*//' > ${pfx}/VERSION.txt cp -f ${srcdir}/COPYING ${pfx} cp -f ${srcdir}/COPYING.lib ${pfx} cp -f ${srcdir}/MAINTAINERS ${pfx} cp -f ${srcdir}/README ${pfx} cp -f ${srcdir}/FAQ ${pfx} cp -f ${srcdir}/BUGS ${pfx} cp -f ${srcdir}/GNATS ${pfx} #------------------------------------------------------------------------ # end of file Felix Bertram |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to Query MSI | lasida | Software | 1 | 08-17-2009 04:40 PM |
| Passing value with out using variable in query string in PHP! | Ali_ggl | General Help Related Topics | 0 | 11-29-2008 12:22 PM |
| Error in query (Using JDeveloper9) | jeganathan | Software | 0 | 06-10-2008 07:31 AM |
| Problem accessing query in the design mode MS access | shieldguy | Software | 0 | 11-07-2006 02:45 PM |
| ASP.net 2.0 C# dynamic query | paulnf | Software | 0 | 10-03-2006 04:46 AM |