We are trying to design a small microblaze design in a spartan 3 and the problem we have is that the microblaze does not always start when the bitsream is downloaded with JTAG.
But when we implement the debug module it always works.
Does anyone has a clue ? Is it timing problems ? Is there specific timing constraints to add for microblaze ? Software problem ( linker script is automatically generated by edk)?
Not if you use printf, that takes around 40kb of code. Just check the size of the program with the command "mb-size" and be sure that it fits within the define LMB area.
In fact it is due to the xx.bmm file use by data2mem. EDK generates this file initialized with the software.
When ISE uses this file, we don't know why, but due to timing constraints ISE changes the block ram for the timing constraint implementation so ISE generates another xxx_bd.bmm file which is different from the one generated by EDK. So all the relevant software addresses are changed ( reset, jump to main, exception ... ) and the first intruction executed by the MB is bad and it crashes.
Does someone experienced such problems ? Is there something to add in the constraints or some option to click in the ISE flow to avois this ? Is it a Xilinx flow bug ??
Any feedback is welcome.
Thank you.
Stephane.
"Antti" a écrit dans le message de news: snipped-for-privacy@h48g2000cwc.googlegroups.com... sjulhes schrieb:
when it doesnt start use impact and read back the status word look if GHIGH=1 (and that all other relevant bits are set properly)
you did not specify that you are using ISE flow - the BMM file integration into ISE is the least working feature, it is working better than it used too, but in all cases where the XPS GUI is not used and XPS project is not the main toplelevel the BMM file should be checked that that properly initialiyed file is used for data2mem
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.