diff options
author | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2005-10-26 04:01:32 +0000 |
---|---|---|
committer | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2005-10-26 04:01:32 +0000 |
commit | 89024703a19d25c51f9c10d00a7f6cad15e6c952 (patch) | |
tree | 2c086ab30f8288c10d5f24ad0dca3ac463620d28 /README | |
parent | 3837df869927b515563a33e6732d1da35c262c68 (diff) | |
download | ghdl-89024703a19d25c51f9c10d00a7f6cad15e6c952.tar.gz ghdl-89024703a19d25c51f9c10d00a7f6cad15e6c952.tar.bz2 ghdl-89024703a19d25c51f9c10d00a7f6cad15e6c952.zip |
ortho/debug and ortho/oread added
Diffstat (limited to 'README')
-rw-r--r-- | README | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -4,6 +4,9 @@ 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. @@ -19,6 +22,9 @@ $ ./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 everytime. 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 @@ -27,17 +33,34 @@ the GHDL back-end (ghdl1) in ./translate: $ make BE=gcc the GHDL driver in ./translate/ghdldrv: $ make ghdl_gcc -the GHDL run-time (GRT) in ./translate/grt: +the VHDL libraries: + $ cd translate/ghdldrv + $ 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 . -You should also compile the VHDL libraries: - $ cd translate/ghdldrv - $ make install.all 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 difficuly 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. |