Skip to content
KIMURA Masaru edited this page Jan 30, 2014 · 19 revisions

improve case sensitivity
LRM stated about case sensitivity of basic_identifier:

Basic identifiers differing only in the use of corresponding uppercase and lowercase letters are considered the same.

but it is not more and not less.
old version of ModelSim printed case alternated identifiers on wave viewer.
and recent version of ModelSim still prints alternated identifier of top entity.
IIRC, GHDL does the same in old version of ModelSim. this is really annoying and eyesore for CamelCase.
simulator has no right to alternate case of basic_identifier, just considered the same if difference is only case.
so purge toupper()/tolower(), then use strcasecmp()/strncasecmp()?

purge temp buffers w/ hard-coded length
https://github.com/nickg/nvc/issues/28
consider WRT PATH_MAX too?
http://www.gnu.org/software/hurd/community/gsoc/project_ideas/maxpath.html

purge duplicated code between src/type.c and src/tree.c
https://github.com/nickg/nvc/pull/26

clean up some integer usage like unsigned and int
https://github.com/nickg/nvc/pull/26
consider unwanted integer limits triggered by big VHDL model like post-synthesize/PAR netlist.

support Verilog
t3h FLOSS mixed VHDL/Verilog simulator emerges!!1

support stack trace on cygwin
this is VERY HARD!!1
http://github.com/hiyuh/cygwin-stackdump-example
https://github.com/hiyuh/cygwin-signal-example
http://github.com/nickg/nvc/pull/21
http://github.com/nickg/nvc/pull/25
http://github.com/nickg/nvc/pull/27

llvm.cygport
following post should be merged into official.
http://sourceforge.net/mailarchive/message.php?msg_id=31716911
version bump 3.3?
use cmake instead autotools?

chek.cygport
check-0.9.10-1 is broken.
http://github.com/hiyuh/cygwin-ports-check

judy.cygport, gtkwave.cygport
submit?
http://github.com/hiyuh/cygwin-ports-judy
http://github.com/hiyuh/cygwin-ports-gtkwave

fix *** glibc detected *** path/to/nvc : double free or corruption (out): 0xXXXXXXXX ***
This "double free or corruption" occurs on Gentoo/PowerPC.
Investigating w/ LLVM-3.0 and svn trunk and great helping by NAKAMURA Takumi AKA chapuni, I finally realized that this problem can be reproduced when using altivec on ppc32-linux. The point is, LLVM has incomplete support for altivec on ppc32-linux, even w/ svn trunk. And the workaround is, don't enable altivec when compiling LLVM.
So appending -mno-altivec -mabi=no-altivec to CFLAGS and CXXFLAGS can avoid this issue. Note, -mcpu and -mtune does enable / disable altivec related flags too, so just replacing only -maltivec -mabi=altivec to -mno-altivec -mabi=no-altivec may not work as expected if you used -mcpu and -mtune. Thus, append them at last.
For real fix, I should fix LLVM's lib/Target/PowerPC/PPCJITInfo.cpp or so.

fix various assertion failures at cgen.c
make check doesn't pass on Gentoo/PowerPC ATM.

Clone this wiki locally