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: 
Observer ajroth
Observer
7,126 Views
Registered: ‎04-14-2015

vivado non-proj mode write_bmm vs. write_sysdef?

SETUP: Vivado 2014.2 - V7 design around a BD system integrator design that has a MicroBlaze processor:

 

I run the below at the end of my non-proj mode build script since "export_hardware" is depricated, even though I use it successfully in my project_mode script -

 

Why is my write_bmm give a huge output .bmm file that is similar to my projectmode output but write_sysdef gives a tiny .bmm file that is almost empty??

 

***********************************************************************************************************

write_bmm ${build_dir}/${rev_name}/${projname}.bmm
#exports the system.xml, system_top_bd.bmm and system_top.bit into the .sdk directory
#deprecated use write_sysdef...
#export_hardware [get_files $nonproject_system_dir/system.bd] [get_runs impl_1] -bitstream
#maybe move this post open/gen .bd or synth??
#errors out here - try to open bd design right before..
puts "********LAST FOR hwdef BD_A: READ EXISTING BD BLOCKS AND WRAPPER, NO NEED TO SRC BD TCL FILES AND REGENERATE CODE- (<1sec) *****"
read_bd $bd_file
puts "********LAST FOR hwdef BD-B: OPEN BD DESIGN - (this takes ~20 sec)*****"
open_bd_design $bd_file
puts "********write_hwdef -file ${build_dir}/${rev_name}/${projname}_sdk.hwdef*******"
write_hwdef -file "${build_dir}/${rev_name}/${projname}_sdk.hwdef"

puts "********write_sysdef************"
write_sysdef \
-hwdef "${build_dir}/${rev_name}/${projname}_sysdef.hwdef" \
-bitfile "${build_dir}/${rev_name}/${projname}_sysdef.bit" \
-meminfo "$nonproject_system_dir/${projname}_sysdef.bmm" \
-file "${build_dir}/${rev_name}/${projname}_sysdef.sysdef"

 

***********************************************************************************************************

 

This is a follow on for still trying to narrow down the issue posted at: http://forums.xilinx.com/t5/Embedded-Development-Tools/Same-Src-Code-Project-Mode-bit-build-embedded-uB-elf-works-but/m-p/631048#M36791   --- the main issue is why is my .bit file generated by my project mode script give a working .bit file for my .elf - but non-project mode build script generates a .bit file that my .elf file doesn't seem to load up on correctly??

0 Kudos
1 Reply
Highlighted
Scholar stephenm
Scholar
7,098 Views
Registered: ‎05-06-2012

Re: vivado non-proj mode write_bmm vs. write_sysdef?

I'm not sure exactly what you are doing in your script. This flow is covering in ug1138.

So here you will use write _sysdef ( the replacement for export_hardware).
This will create a hdf will with your hwdef files +MMI and bit. The MMI and bit are used in updatemem to init the BRAM with your elf.

Note: you can also associate the elf and and generate the bitstream and this will work too. This way you don't need to run updatemem.

Once you create the hdf, you can use the SDK batch mode commands (see SDK help, batch mode) for the command here.

You can also use the xsdb command to download your bitstream from command line, and download the executable. (Again, see SDK help for the xsdb commands)
0 Kudos