mcode is the JIT version built for Windows. It also builds and runs on Linux.
Brian Davis has been debugging the Windows build and found by increasing the minimum stack frame size by 8 bytes he can build a ghdl-0.29.1 mcode version that doesn't generate a segmentation violation while running. I'm of the opinion it's the same 'bug' affecting the Mac OS X version, and could probably be fixed by increasing the minimum stack frame size by 16 bytes (I can name that tune in ...). I've been marching up the ghdl revisions as a method of localizing the 'bug'. The idea being to understand and fix it correctly. Directly generated machine code includes stack operation instructions. There's likely something with a misconception about the required stack space (hopefully). This mcode build: Built with MacAda 4.3 /usr/local/ada-4.3/bin in Path before any other gcc (darwin10 is x86_64 only, this gnat makes i386 (32 bit) objects). Should be able to set environmental variable instead, CC /usr/local/ada-4.3/bin/gcc . svn -r127 co svn://svn.gna.org/svn/ghdl/trunk ghdl (revision 127 is ghdl0.28) cd ghdl/translate/ghdldrv either edit Makefile to include a darwin target: target=i686-darwin or pass the target declaration on all Make commands here. make (target=i686-darwin) (paren enclosed target not needed if you edited Makefile) This builds ghdl_mcode ln -s ghdl_mcode ghdl (so you can find it easier) Make sure you can execute it from where ever your VHDL model is. Either search path, or an alias. make (target=i686-darwin) install.mcode generates VHDL libraries, sets up various links. If subsequently you get a segmentation violation simulating a VHDL model under ghdl check translate/ghdldrv ortho_code-x86-flags.ads with Ortho_Code.X86.Flags_Macosx; package Ortho_Code.X86.Flags renames Ortho_Code.X86.Flags_Macosx; The Flags_Macosx sets up Frame boundaries for Mac OS X. I simulated a small DES encryption chip that probably generates more than 2 million events across 30,000 clocks. It does assertion based verification via a testbench and I also checked the results with gtkwave. I'll continue marching upward to the current release (revision 143, ghdl-0.29+). The intent is to eventually build a gcc front end version of ghdl on the Mac. I also want to verify a fix for Wesley Landaker's rol/ror bug and submit it. _______________________________________________ Ghdl-discuss mailing list [email protected] https://mail.gna.org/listinfo/ghdl-discuss
