1

Description:

I am currently running emacs on unix (mac osx) and I write vhdl code in emacs vhdl mode. However when I compile I get the error code:

vcom -93 -work work /path
/bin/bash: vcom: command not found

Compilation exited abnormally with code 127 at DATE TIME

I want to be able to compile vhdl code in vhdl mode. What am I doing wrong? Please provide detailed answer. If you know how to fix this problem please give me step by step instructions on how to do the same as I don't know what is wrong.

2
  • And since when is Modelsim available on OS X? Commented Feb 28, 2014 at 5:16
  • To be a little less obtuse compiling a vhdl design file entails analyzing that design with an external tool. There's vhdl-mode.el that specifies which tools and the default is in general Modelsim, whose compiler is vcom. Modelsim hasn't been ported to OS X and a quick google doesn't show anyone doing remote execution to a host operating system to which it has been been ported. There are versions of vhdl-mode.el using different VHDL tools. The only VHDL tools I'm aware of that run natively on OS X are ghdl and nvc. Commented Feb 28, 2014 at 5:54

1 Answer 1

2

There's a Mac OS X Emacs app found at GNU Emacs For Mac OS X, a universal binary that will run from OS X 10.6.8 to 10.9.2. It's vhdl-mode configuration includes ghdl should you have it installed. I'm afraid I haven't used emacs since the great schism between Gnu and a commercial concern in the '80s. I'm a joe or TextMate user myself these days (both of which can handle VHDL syntax, can be user configured (with a bit of googling and reading). The vhdl-mode appears to expect you to set up a Makefile (through menu items and the external VHDL tool). You can generally analyze the current buffer directly. Creating a Makefile isn't exactly simplistic and is outside the scope of my experience (I went and read several vhdl-mode.el versions before answering, I said I'm not an emacs user).

enter image description here

Notice it found out which VHDL tools were available and used ghdl. This is a function found in the vhdl-mode.el file.

If you're running 10.9 Mavericks there's ghdl-0.31 from ghdl-updates. An mcode version of ghdl-0.29 that can run on OS X 10.6 - 10.9 can be found at Tristan's old ghdl site - GHDL for Mac OS X.

A gtkwave app for OS X can be found on Tony Bybell's GTKWave SourceForge page.

I understand vhdl-mode.el and (.elc, etc. files) are sensitive to which version of Emacs you're using. They may not be particularly portable between the Emacs.app (24.3) and /usr/bin/emacs (22.1.1). If that's not the case I'm sure someone will chime in.

Sign up to request clarification or add additional context in comments.

4 Comments

And from looking at the -ieee=synopsys flag passed to ghdl, I'd be tempted to edit vhdl-mode to remove it.
@DavidKoontz, you don't need to edit VHDL mode for that, you only need to change the compiler configuration for GHDL (VHDL -> Compile -> Compiler -> Customize Compiler...)
@youR.Fate - out of curiosity, where are those changes stored if not the vhdl-mode.el file?
@DavidKoontz those changes are stored in your emacs init file, or your emacs-custom file, if you have configured emacs to use one. How to do that is described here: gnu.org/software/emacs/manual/html_node/emacs/…. I personally use .emacs.d/emacs-custom.el.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.