System:

I have installed OpenSuse 11.4. 64bit on my PC.
The ghdl is downloaded from your hompage.

The ghdl present me an output.

ghdl -m --ieee=synopsys -fexplicit --workdir=work -Pwork tb_lm_cpu
../rtl/memory/iram.vhd:17:27:warning: universal integer bound must be numeric literal or attribute
analyze ../rtl/tb_lm_cpu.vhd
work/tb_lm_cpu.s: Assembler messages:
work/tb_lm_cpu.s:64: Error: invalid instruction suffix for `push'
work/tb_lm_cpu.s:466: Error: invalid instruction suffix for `push'
work/tb_lm_cpu.s:504: Error: invalid instruction suffix for `push'
work/tb_lm_cpu.s:506: Error: invalid instruction suffix for `push'
work/tb_lm_cpu.s:607: Error: invalid instruction suffix for `pop'

In a former discussion we solved the Error with some restriction for the linker.
The GCC is 64bit and ghdl is 32bit.

|An older makefile

||all:   huffman jpeg_tb
||         ghdl -e -Wa,--32 -Wl,-m32 jpeg_tb
||         ghdl -r jpeg_tb --stop-time=18000ns --wave=jpeg.ghw
||clean:
||         ghdl --clean
||||||||huffman: huffman_decoder.vhd
||         ghdl -a -Wa,--32 huffman_decoder.vhd
||         ghdl -a -Wa,--32 jpeg_tb.vhd
||
||jpeg_tb: jpeg_tb.vhd huffman_decoder.vhd
||         ghdl -a -Wa,--32 jpeg_tb.vhd|


Now the different is, I us the option -i.

       ghdl -i --work=work --workdir=work ../rtl/memory/iram.vhd
ghdl -i --work=work --workdir=work ../rtl/device/uart/UART_device.vhd ghdl -i --work=work --workdir=work ../rtl/device/uart/UART_TX_8N1.vhd

        ghdl -m --ieee=synopsys -fexplicit --workdir=work -Pwork tb_lm_cpu
        ghdl -e --ieee=synopsys -fexplicit --workdir=work -Pwork tb_lm_cpu
ghdl -r tb_lm_cpu --disp-tree=inst --wave=tbench.ghw --stop-time=500us
#      ghdl -r tbench --disp-tree=inst --wave=tbench.ghw

What are the correct options for this case?
Thank you.

René Doß
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to