Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mirror of GHDL SVN with fixes and GCC 4.6.0 support

branch: master
Octocat-spinner-32 doc Improve doc. January 28, 2010
Octocat-spinner-32 libraries ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 ortho Compiles with gcc-4.6.0 on OS X 10.6.8, but not usable. January 10, 2012
Octocat-spinner-32 psl ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 translate Compiles with gcc-4.6.0 on OS X 10.6.8, but not usable. January 10, 2012
Octocat-spinner-32 xtools ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 .gdbinit ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 COPYING First import from sources September 24, 2005
Octocat-spinner-32 README Compiles with gcc-4.6.0 on OS X 10.6.8, but not usable. January 10, 2012
Octocat-spinner-32 back_end.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 back_end.ads Compiles with gcc-4.6.0 on OS X 10.6.8, but not usable. January 10, 2012
Octocat-spinner-32 bug.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 bug.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 canon.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 canon.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 canon_psl.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 canon_psl.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 configuration.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 configuration.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 disp_tree.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 disp_tree.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 disp_vhdl.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 disp_vhdl.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 errorout.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 errorout.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 evaluation.adb Handle overflow in physical expression. February 26, 2010
Octocat-spinner-32 evaluation.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 files_map.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 files_map.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 flags.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 flags.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 ieee-std_logic_1164.adb Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 ieee-std_logic_1164.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 ieee-vital_timing.adb Fix comment. August 13, 2009
Octocat-spinner-32 ieee-vital_timing.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 ieee.ads First import from sources September 24, 2005
Octocat-spinner-32 iir_chain_handling.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 iir_chain_handling.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 iir_chains.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 iir_chains.ads Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 iirs.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 iirs.adb.in ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 iirs.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 iirs_utils.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 iirs_utils.ads Compiles with gcc-4.6.0 on OS X 10.6.8, but not usable. January 10, 2012
Octocat-spinner-32 iirs_walk.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 iirs_walk.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 libraries.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 libraries.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 lists.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 lists.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 name_table.adb Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 name_table.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 nodes.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 nodes.ads Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 options.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 options.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 parse.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 parse.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 parse_psl.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 parse_psl.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 post_sems.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 post_sems.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 psl-errors.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 scan-scan_literal.adb Fix precision issue (#13818). August 13, 2009
Octocat-spinner-32 scan.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 scan.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_assocs.adb Improve doc. January 28, 2010
Octocat-spinner-32 sem_assocs.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_decls.adb Version 0.28. September 21, 2009
Octocat-spinner-32 sem_decls.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_expr.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_expr.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_names.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_names.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_psl.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_psl.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_scopes.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_scopes.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_specs.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_specs.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 sem_stmts.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_stmts.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 sem_types.adb Version 0.28. September 21, 2009
Octocat-spinner-32 sem_types.ads Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 std_names.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 std_names.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 std_package.adb Now handle vhdl 2008 arrays in the front end. August 13, 2009
Octocat-spinner-32 std_package.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 str_table.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 str_table.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 tokens.adb ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 tokens.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 types.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 version.ads ghdl 0.29 release. January 12, 2010
Octocat-spinner-32 xrefs.adb New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
Octocat-spinner-32 xrefs.ads New feature: all-sensitized processes (for vhdl 2008) September 06, 2008
README
This directory contains the sources of GHDL, the VHDL simulator.

GHDL is free software.  See the file COPYING for copying permission.
The manuals, and some of the runtime libraries, are under different
terms; see the individual source files for details.

### Creating a source tar. ###
##############################

GHDL requires GCC to be compiled.  The exact version of GCC is defined in
./translate/gcc/dist.sh, in the GCCVERSION= line.  Do not try to change the
version, this may not compile or create a buggy compiler.

The GHDL sources provided on http://ghdl.free.fr do not exactly match the
files hierarchy here.  The later are used to directly build a compiler and
follow what GCC expect, while the former are used to do development and
are more logically organized.

Use the ./translate/gcc/dist.sh script to create sources to be included in GCC:
$ cd translate/gcc
$ ./dist.sh sources
# This generates a ghdl-VERSION.tar.bz2 file.


### Compiling for development.  ###
###################################

These steps can make GHDL development hard.  You can avoid to compile GCC
every time.  To do this, edit ortho/gcc/Makefile and set two variables:
AGCC_GCCSRC_DIR is the GCC sources directory, while AGCC_GCCOBJ_DIR is where
you have compiled GCC+GHDL once.  Then, you can compile:
the GHDL back-end (ghdl1) in ./translate:
 $ make BE=gcc
the GHDL driver in ./translate/ghdldrv:
 $ make ghdl_gcc
the VHDL libraries (in ./translate/ghdldrv; you may need to slightly edit
 Makefile to change the compiler):
 $ ln -sf ghdl_gcc ghdl
 $ make install.all
and the GHDL run-time (GRT) in ./translate/grt:
 $ make
To use this GRT, you must create two links in translate/lib:
 $ ln -s ../grt/grt.lst .
 $ ln -s ../grt/libgrt.a .

Once this is done, you can use the ghdl_gcc from translate/ghdldrv.

### Compiling and using the debug back-end.  ###
################################################

Debugging GHDL outputs can be very difficulty with the GCC back-end, since you
don't see the high level code generated by GHDL.  To help debugging the
translator, I have written a debug back-end.  This back-end is used instead of
the GCC back-end and displays pseudo-code (as well as declarations).  This
pseudo-code can be then compiled with a reader.
To compile it, go to ./translate:
 $ make BE=debug
This creates a ghdl1-debug.  Then go to ./ortho/oread and compile the reader:
 $ make BE=gcc
You can now use this chain by adding the '--post' option to the ghdl driver:
 $ ghdl_gcc -a --post my_file.vhdl
This creates an intermediate file my_file.on, which is then compiled by
 oread-gcc.

Tristan.


Something went wrong with that request. Please try again.