Difference between revisions of "How to add a Microblaze to a WILDSTAR4 VHDL project"

From steamWiki
Jump to: navigation, search
(Created page with 'The procedure to insert a Microblaze softcore processor into a VHDL design for Annapolis Micro Systems Inc. (AMS) WILDSTAR4 board is outlined below. <br \><br \> This guide assum…')
 
Line 14: Line 14:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i.) Right click your software application and select "Build Project"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i.) Right click your software application and select "Build Project"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ii.) This generates your executable.elf file.<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ii.) This generates your executable.elf file.<br \>
 +
<br />
 
2.) Instantiate the Microblaze in the appropriate PE's VHDL<br \>
 
2.) Instantiate the Microblaze in the appropriate PE's VHDL<br \>
 +
<br />
 
3.) Modify "makefile" in the synthesis/<pe>/xst folder<br \>
 
3.) Modify "makefile" in the synthesis/<pe>/xst folder<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Modify line 37 to point to a local copy of the "wildstar4_xst.mk" instead of the original (yes, modify below the do not modify below this line line)<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Modify line 37 to point to a local copy of the "wildstar4_xst.mk" instead of the original (yes, modify below the do not modify below this line line)<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Add a variable pointing to the BMM file, something like "MICROBLAZE_BMM = ../../../../edk/implementation/system.bmm" right below line 11<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Add a variable pointing to the BMM file, something like "MICROBLAZE_BMM = ../../../../edk/implementation/system.bmm" right below line 11<br \>
 +
<br />
 
4.) Modify line 38 of the new "wildstar4_xst.mk"<br \>
 
4.) Modify line 38 of the new "wildstar4_xst.mk"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Append "-sd ../../../../edk/implementation" (or whatever path points to your microblaze NGC files) to the ngdbuild call<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Append "-sd ../../../../edk/implementation" (or whatever path points to your microblaze NGC files) to the ngdbuild call<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Append  "-bm ${MICROBLAZE_BMM}" to the ngdbuild call<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.) Append  "-bm ${MICROBLAZE_BMM}" to the ngdbuild call<br \>
 +
<br />
 
5.) Build the WS4 project<br \>
 
5.) Build the WS4 project<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the appropriate PE build folder (in cygwin)<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the appropriate PE build folder (in cygwin)<br \>
Line 26: Line 30:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "make xst"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "make xst"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.) Run "make"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.) Run "make"<br \>
 +
<br />
 
6.) Update the .bit file with the processor data<br \>
 
6.) Update the .bit file with the processor data<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the PE build folder<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.) Navigate to the PE build folder<br \>
Line 31: Line 36:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "promgen -p hex -w -o ace2_cpe0.dum -u 0 ace2_cpe0_download.bit"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.) Run "promgen -p hex -w -o ace2_cpe0.dum -u 0 ace2_cpe0_download.bit"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.) Run "/cygdrive/c/annapolis/wildstar4/bin/peutils.exe ace2_cpe0.hex ace2_cpe0.x86 -s"<br \>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.) Run "/cygdrive/c/annapolis/wildstar4/bin/peutils.exe ace2_cpe0.hex ace2_cpe0.x86 -s"<br \>
 +
<br />
 
7.) Move the .x86 to the host/<fpga type> folder and run the software like normal<br \>
 
7.) Move the .x86 to the host/<fpga type> folder and run the software like normal<br \>

Revision as of 14:13, 21 May 2010

The procedure to insert a Microblaze softcore processor into a VHDL design for Annapolis Micro Systems Inc. (AMS) WILDSTAR4 board is outlined below.

This guide assumes you are using the Xilinx 10.1 build tools along with the, Cygwin, command line build procedure created by AMS.



1.) Create Microblaze Project in EDK
     a.) Ensure you append ", BUFFER_TYPE=NONE" to all ports in the .mhs file
     b.) Run Hardware -> Generate Netlist to create .NGC files in the implementation folder
     c.) Modify the system.bmm file located in the implementation folder
          i.) Find out what you called/will call your microblaze instantiation in the PE VHDL (say "microblaze_inst")
          ii.) Prepend "microblaze_inst/" to all ramb16 paths in system.bmm
     d.) Build your microblaze application
          i.) Right click your software application and select "Build Project"
          ii.) This generates your executable.elf file.

2.) Instantiate the Microblaze in the appropriate PE's VHDL

3.) Modify "makefile" in the synthesis/<pe>/xst folder
     a.) Modify line 37 to point to a local copy of the "wildstar4_xst.mk" instead of the original (yes, modify below the do not modify below this line line)
     b.) Add a variable pointing to the BMM file, something like "MICROBLAZE_BMM = ../../../../edk/implementation/system.bmm" right below line 11

4.) Modify line 38 of the new "wildstar4_xst.mk"
     a.) Append "-sd ../../../../edk/implementation" (or whatever path points to your microblaze NGC files) to the ngdbuild call
     b.) Append "-bm ${MICROBLAZE_BMM}" to the ngdbuild call

5.) Build the WS4 project
     a.) Navigate to the appropriate PE build folder (in cygwin)
     b.) Run "make new"
     c.) Run "make xst"
     e.) Run "make"

6.) Update the .bit file with the processor data
     a.) Navigate to the PE build folder
     b.) Run "data2mem -bm ../../../../edk/implementation/system_bd.bmm -bd ../../../../edk/main_app/executable.elf -bt ace2_cpe0.bit -o b ace2_cpe0_download.bit"
     c.) Run "promgen -p hex -w -o ace2_cpe0.dum -u 0 ace2_cpe0_download.bit"
     d.) Run "/cygdrive/c/annapolis/wildstar4/bin/peutils.exe ace2_cpe0.hex ace2_cpe0.x86 -s"

7.) Move the .x86 to the host/<fpga type> folder and run the software like normal