On Thu, 26 Nov 2015 21:23:41 +0100
Attila Kinali <att...@kinali.ch> wrote:


> BTW: that bug is kind of puzzling me, i cannot see the error in my code.

Ok. I think this is a bug in ghdl.

Attached is a file that demonstrates it. I run it with:

ghdl -i --std=08 ctrl_algo.vhd && 
ghdl -m --std=08 ctrl_algo && 
ghdl -r --std=08 ctrl_algo --wave=blah.ghw

# ghdl --version
GHDL 0.33dev (20141104) [Dunoon edition]
 Compiled with GNAT Version: 4.9.3
 llvm code generator


The signal tdc_signals_buf(3,0) does not get initialized, while
tdc_signals_buf(2,0) does. (sPulsePosSLV is correctly initialized).

The tdc_signals_buf(2,0) initialization is in the process TDC_BUF
while tdc_signals_buf(3,0) is initialized in the TDCSIGNAL generate
statement.

Now, if the TDC_BUF process is removed and the two for loops inside
are converted into for generate loops, then it works as expected.

It seems like there is some strange interaction between the TDC_BUF process
and its for loops and the TDCSIGNAL generate statement at the bottom.

                                Attila Kinali

-- 
Reading can seriously damage your ignorance.
                -- unknown

Attachment: ctrl_algo.vhd
Description: Binary data

_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to