On 10/05/12 03:14, Christopher Felton wrote:
>
> I reproduced your post and have encapsulated in a small example (can
> provide if needed). But what I don't know is if this is bad or not. Or
> if it is unintended conversion behavior. It the converted code with the
> mix of if-else and case should synthesize fine (functionally equivalent)
> but I don't know if it is optimal for synthesis or not.
Thanks Chris, all help much appreciated. I was not concerned as
this initially only seemed cosmetic, however, I have tried some
further permutations, using enum, and separating the result latch.
Attached is the source and resulting Verilog files for each
combination. The one that interests me most will not convert:
jan@T60:~/work/projects/MyHDL/igloo-tests/SnL_58_LshiftLoadInvertRshift$
./test_SnL_58.py
<class 'myhdl._SuspendSimulation'>: Simulated 15000 timesteps
Traceback (most recent call last):
File "./test_SnL_58.py", line 62, in <module>
toVerilog(SnL_58, LEDs,PB_SW,DIP_SW, clk_20MHz,10000)
File
"/usr/local/lib/python2.7/dist-packages/myhdl/conversion/_toVerilog.py",
line 142, in __call__
genlist = _analyzeGens(arglist, h.absnames)
File
"/usr/local/lib/python2.7/dist-packages/myhdl/conversion/_analyze.py",
line 165, in _analyzeGens
_isMem(obj) or _isTupleOfInts(obj)
AssertionError
jan@T60:~/work/projects/MyHDL/igloo-tests/SnL_58_LshiftLoadInvertRshift$
I also have this problem in my main project, so getting a small
example was a lucky catch.
Jan Coombs
|