Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎05-23-2017

Picoblaze programming looping due to UART instructions

So I am running a fairly complex program on Sprtan 6 E, which involves a lot of Picoblaze assembly files.  I found that if if I insert a higher number of UART instructions, the program starts looping.  That is, it executes till a certain point, and then jumps back to a point near the start (but not the start).  If I remove the UART instructions, it is fine.  Any ideas on catching the culprit?

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎09-05-2007

Not sure if you are using a Spartan-3E or a Spartan-6 and therefore it you are using KCPSM3 or KCPSM6. If just making your code a bit bigger caused weird things to happen then it sounds like you code may have exceeded the size of the program ROM that you have available. For example, KCPSM6 supports programs up to 4K instructions but you may have implemented a ROM of only 1K instructions. Check the assembler log file to see just how large your assembled program is. The KCPSM6 Assembler can be run with the '-c' option to check automatically for program size and help being caught by this issue when developing a program (see 'kcpsm6_assembler_readme.txt' for more details).

Ken Chapman
Principal Engineer, Xilinx UK