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
ctrl_algo.vhd
Description: Binary data
_______________________________________________ Ghdl-discuss mailing list Ghdl-discuss@gna.org https://mail.gna.org/listinfo/ghdl-discuss