UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor nicklabianco
Visitor
11,393 Views
Registered: ‎12-04-2014

SDK fpga programming methods

Jump to solution

All,

 

I am working with vivado 2013.4 to program the AC701 dev board with an microblaze and VHDL based design.  The last time I used a microblaze processor was for ISE 11.5 and whichever associated version of SDK came with that ISE version.  From what I recall, when I programmed the FPGA using the xilinx tools --> progmram FPGA, the FPGA was actually loaded with the code and began executing it.  With my current setup it seems that when I do this, the VHDL begins working (noticed this by blinking LEDs), but the processor is not operating.  To get the processor to start I have to execute a run.  Is there a way that I can program the entire FPGA all in one step?

 

Also. I don't think I understand the relationships between the bit file and bmm file generated by vivado and the elf file? Is the elf file generate by SDK?

 

How can I program the prom of the device from SDK? What about using impact?

 

Any other information about programming FPGAs and the functionality of the different files would be appreciated!

 

Thanks,

Nick

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
18,144 Views
Registered: ‎08-02-2007

Re: SDK fpga programming methods

Jump to solution

Hi,

 

Refer to the figure 4.9 of this document http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_4/pg116-microblaze-mcs.pdf

 

In this diagram you can create a software application which will effectively write into the memory.

 

--Hem

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

View solution in original post

8 Replies
Xilinx Employee
Xilinx Employee
11,375 Views
Registered: ‎07-01-2010

Re: SDK fpga programming methods

Jump to solution
Hi Nick,

Refer to the Vivado Emebdded design tutorial for your queries.
http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_3/ug940-vivado-tutorial-embedded-design.pdf


Regards,
Achutha
---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------
0 Kudos
Visitor nicklabianco
Visitor
11,370 Views
Registered: ‎12-04-2014

Re: SDK fpga programming methods

Jump to solution

I appreciate your quick reply.  It is a guide for dummies and I am looking for a more in depth explanation of the coordination between SDK and vivado, the files generated, and how the .elf and .bit files are related.  How can I write to memory using SDK, what about vivado?  How do I generate the download.bit file?

Scholar sampatd
Scholar
11,348 Views
Registered: ‎09-05-2011

Re: SDK fpga programming methods

Jump to solution

You generate the bit file in vivado. 

 

When you export the vivado hardware project to SDK, you essential export what we call Hardware Platform Specification. Hardware Platform specification is a bunch of files. It comprises of :

 

1. A Hardware Description in an XML format

2. An FPGA Bitstream corresponding to the Hardware Description

3. A Block RAM Memory Map (BMM) file corresponding to the Bitstream

 

SDK uses the Hardware Description file to detect the processor(s) and memory-mapped peripherals present in the hardware. The BMM file is a description of the internal memories used in the hardware description. It fills in the internal block RAM as necessary with a program or data.

 

The ELF or an application file is built using user source code in SDK. Refer to the following link to understand the compilation process:

 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_4/SDK_Doc/concepts/sdk_c_build.htm 

 

You can use the program FPGA feature in SDK to both generate the download.bit file and download it on the board:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_4/SDK_Doc/reference/sdk_u_program_fpga.htm

 

As part of SDK install and standalone BSP, Xilinx provides provides APIs that allows the user to do I/O functions. These APIs will allow you to read/write memory locations. Please refer to page 60 of the following document:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_4/oslib_rm.pdf

 

You can also use the Memory Dump/Restore feature in SDK:

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_4/SDK_Doc/tasks/sdk_t_memory_dump_restore.htm

0 Kudos
Xilinx Employee
Xilinx Employee
18,145 Views
Registered: ‎08-02-2007

Re: SDK fpga programming methods

Jump to solution

Hi,

 

Refer to the figure 4.9 of this document http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_4/pg116-microblaze-mcs.pdf

 

In this diagram you can create a software application which will effectively write into the memory.

 

--Hem

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

View solution in original post

Visitor nicklabianco
Visitor
11,330 Views
Registered: ‎12-04-2014

Re: SDK fpga programming methods

Jump to solution
Before when I programmed an FPGA in an older version of SDK, a download.bit file was generated. I could then access this file with impact and write to flash. Now, using 2013.4 I cannot seem to locate that download.bit or it isn't generated. Any help on this would be appreciated.
0 Kudos
Adventurer
Adventurer
10,990 Views
Registered: ‎12-10-2014

Re: SDK fpga programming methods

Jump to solution

I have the same issue; SDK is complaining that it can't find the download.bit file; the bit file from Vivado is there, but for

some reason SDK doesn't want to use it; it insists on downloading the download.bit file; The strange thing is that for

some projects SDK will use the bit file from Vivado and not ask for download.bit file; 

 

My question is why does SDK want a download.bit file for some projects and not for others? what determines this?

0 Kudos
Anonymous
Not applicable
10,982 Views

Re: SDK fpga programming methods

Jump to solution
In 2014.4 you can change the hardware platform in the fpga GUI to none, and this will allow you to use another bit file. This is not possible in 2014.3. In 2014.3, the sdk will use the bit file in the HDF file that is exported from vivado
0 Kudos
Adventurer
Adventurer
10,919 Views
Registered: ‎12-10-2014

Re: SDK fpga programming methods

Jump to solution

I am using vivado 2014.3.1 and SDK does not always use the bit file exported from Vivado;  for some projects it does and for some projects it insists on using only download.bit and I can't find any way to change it; I always have to copy the

exported bit file to download.bit file and then it works ok;

 

I can't use 2014.4 due to the SDK __ERROR__ bug: AR# 63036

 

0 Kudos