Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Merge C program and VHDL bitstream via "make" (i.e. using a Makefile)

I am trying to test the VHDL AVR8 soft processor found on Gadget Factory on a Digilent Nexys II (Spartan 3E) Development board. The project includes a Makefile for compiling a C (or other) software program and merging it with the FPGA bitstream so there is no need to resynthesize the HDL with every iteration of the software.

When I execute 'make' I get the following error associated with data2mem:

Merging Verilog Mem file with Xilinx bitstream: main.bit
data2mem -bm bin/top_avr_core_v8_bd.bmm -bt bin/top_avr_core_v8.bit -bd main.mem -o b main.bit
process_begin: CreateProcess(NULL, data2mem -bm bin/top_avr_core_v8_bd.bmm -bt bin/top_avr_core_v8.bit -bd main.mem -o b main.bit, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [main.bit] Error 2

I am executing 'make' in the same directory containing the VHDL project files, and I even have a blank 'main.bit' file in the directory.

Does anyone have any ideas about what's going on here? Does my blank 'main.bit' file need to be formatted a certain way or placed in a different location?

The following is a link to my Makefile:

Makefile

Other information to note: I'm new to using Makefiles in general, let alone for the specific purpose of merging software with an FPGA bitstream file. Also, I am attempting this on a Windows 7 machine in command prompt.

Thanks in advance.

Edit: Here's a link to the AVR8 soft processor on Gadget Factory, and here's the AVR8 source.

like image 692
user_007 Avatar asked Oct 01 '22 15:10

user_007


1 Answers

Offhand I'd say make cannot invoke the data2mem program. Do you have such a program on your system? Is the directory containing it in your PATH variable? Does it run properly? For example, can you type in that command line yourself at the command prompt and have it work properly?

like image 102
MadScientist Avatar answered Oct 13 '22 10:10

MadScientist