Erro bizarro no GHDL

Erro bizarro no GHDL

por Eduardo Menezes de Morais -
Número de respostas: 4
Alguém pode me dizer porque está dando esse erro bizarro no GHDL?

entity verificador is
port (
i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10 : in bit;
c0, c1, c2, c3, c4, c5, c6, c7, c8 : in bit;
d0, d5, d10, d20 : out bit);
end verificador;

architecture rtl of verificador is
signal r0,r1,r2,r3,r4,r5,r6,r7,r8 : bit;
begin

.
.
.

d0 <= (r0 /= c0) or (r1 /= c1) or (r2 /= c2) or
(r3 /= c3) or (r4 /= c4) or (r5 /= c5) or
(r6 /= c6) or (r7 /= c7) or (r8 /= c8); -- Essa é a linha 206

.
.
.

end rtl;

Ao rodar ghdl -a verificador.vhdl o resultado é:

$ ghdl -a verificador.vhdl
verificador.vhdl:206:34: no function declarations for operator "or"
verificador.vhdl:0: internal compiler error: Falha de segmentação
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gna.org/projects/ghdl>; for instructions.
ghdl: compilation error

******************** GHDL Bug occured ****************************
Please report this bug on http://gna.org/projects/ghdl
GHDL release: GHDL 0.26 (20070408) [Sokcho edition]
Compiled with GNAT Version: 4.2.2
In directory: /home/eduardo/facu/mac0412/mac412_ep3/src/
Command line:
ghdl -a verificador.vhdl
Exception STORAGE_ERROR raised
Exception information:
Exception name: STORAGE_ERROR
Message: stack overflow (or erroneous memory access)
Call stack traceback locations:
0x8111df6 0x8136f0b
******************************************************************

Alguém pode ajudar?
Em resposta à Eduardo Menezes de Morais

Re: Erro bizarro no GHDL

por Eduardo Menezes de Morais -
Não precisa mais. Já descobri o problema.
se alguem estiver com um problema parecido: é porque não se converte automaticamente um valor boolean para bit...
Em resposta à Eduardo Menezes de Morais

Re: Erro bizarro no GHDL

por Napoleão Nobuyuki Tateoka -
como faço pra converter um valor boolean pra bit? e vice-versa
Em resposta à Napoleão Nobuyuki Tateoka

Re: Erro bizarro no GHDL

por Hugo Corbucci -
Não sei. Mas porque vocês querem usar booleans? Bits in, bits out.
Operadores lógicos se aplicam a bits tb.
Em resposta à Hugo Corbucci

Re: Erro bizarro no GHDL

por Eduardo Menezes de Morais -
Sim, ao invés de usar uma comparação do tipo (a /= b) que retorna um boolean, use (a xor b), que dá no mesmo.
Sei que é um pouco tarde, mas...