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)?
Any idea is welcome.
Thank you.
Stéphane.
Didn't find your answer? Ask the community — no account required.
G
Göran Bilski
Hi,
It's too little information to point out the what is wrong.
- How do you detect that is doesn't start?
- Are you using external memory?
- Can the program fit totally in the internal BRAM?
- What download cable are you using?
Göran Bilski
S
sjulhes
Test program is a hello world print onto the UART, sometimes there is nothing on the hyperterminal
NO
YES, hello world is quite light when it's alone !!!
JTAG DLC7
"Göran Bilski" a écrit dans le message de news: edrjlu$ snipped-for-privacy@cliff.xsj.xil>> Hello all,
G
Göran Bilski
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.
S
sjulhes
Yes, but if the program doesn't fit the BRAM defined, the compiler exits with an error. This is not the case.
"Göran Bilski" a écrit dans le message de news: snipped-for-privacy@xil>>>- How do you detect that is doesn't start? :
A
Antti
sjulhes schrieb:
when it doesnt start use impact and read back the status word look if GHIGH=3D1 (and that all other relevant bits are set properly)
Antti
S
sjulhes
We have identified the problem.
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)
Antti
A
Antti
sjulhes schrieb:
Stephane,
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
Antti
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.