Uploaded program doesn't seem to work


Recommended Posts

Hey there. I hope this is the right tab for this type of question. 
I just got my Papilio Pro V1.3 along with LogicStart wing V1.2. This is the very first time I play with a FPGA. I follow a tutorial in which I'm told to upload this program:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity Swiches_LEDs is    Port ( switch_0 : in  STD_LOGIC;           switch_1 : in  STD_LOGIC;           LED_0 : out  STD_LOGIC;           LED_1 : out  STD_LOGIC);end Swiches_LEDs;architecture Behavioral of Swiches_LEDs isbegin	LED_0 <= switch_0;	LED_1 <= switch_1;end Behavioral; 

Pretty basic. Then I created a constraint file, that I modified a little so that the pin numbers are correct for Papilio Pro (tutorial is written for One):

# Constraints for Papilio Pro NET switch_1 LOC = "P120" | IOSTANDARD=LVTTL; NET switch_0 LOC = "P121" | IOSTANDARD=LVTTL; NET LED_1 LOC = "P133" | IOSTANDARD=LVTTL; NET LED_0 LOC = "P134" | IOSTANDARD=LVTTL;

Then I find the bin file and launch it(yes I have papilio loader installed with all the drivers). I see that the RX and TX diodes are blinking(for about a minute or 2). But then the program doesn't work. The switches don't affect the LEDs at all, and there are some random LEDs that are blinking, and sometimes 2 segments from the built in 7seg blink along with the diodes. I have no idea what I've done wrong.

Link to comment
Share on other sites

Is it possible that my papilio is broken? Because it really behaves completely random with the diodes and segments blinking.



I just modified my program to turn all the leds on like this:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity Swiches_LEDs is    Port (LED_0 : out  STD_LOGIC;	 LED_1 : out STD_LOGIC;	 LED_2 : out STD_LOGIC;	 LED_3 : out STD_LOGIC;	 LED_4 : out STD_LOGIC;	 LED_5 : out STD_LOGIC;	 LED_6 : out STD_LOGIC;	 LED_7 : out STD_LOGIC);end Swiches_LEDs;architecture Behavioral of Swiches_LEDs isbegin	LED_0 <= '1';	LED_1 <= '1';	LED_2 <= '1';	LED_3 <= '1';	LED_4 <= '1';	LED_5 <= '1';	LED_6 <= '1';	LED_7 <= '1';end Behavioral;

The constraints are correct for all the LEDs, I tripple chcecked. But it only turned on diode LED_0 to LED_4, the other ones are off. I think this proves that its broken. Its fresh out of the box and I have only run those 2 programs on it. Do you think I can return it?

Link to comment
Share on other sites

Hello jammasterz,


I'm sorry for the trouble here, before we replace the board can you help do a couple tests to try and determine where the problem lies? Whether it is the Papilio Pro, LogicStart, or both boards that are problematic. 


First off, can you verify that the process of loading the bit file is absolutely working? Do you see any error messages or anything from the Papilio Loader?


Can you load the Quckstart bit file without any problem? Do you see LED0, LED2, LED4, LED6 blinking? Is there output from the second serial port with a speed of 9600 and 8N1 port setting? If the Quickstart bit file works then the Papilio Pro is probably fine.


Can you verify that there is a solid connection between the LogicStart board and the Papilio Pro? Try to wiggle the board a little bit, if that makes a difference then the header connections may be loose...


Any more information you can give us is greatly appreciated, either way, we will get this fixed up for you.




Link to comment
Share on other sites

Actually, I just spoke to my friend that also has bough papilio and he mentioned to me that the LogicStart wing has to be forced in into the papilio board. What I did wrong is that I put the wing on the board and pushed it in until it sat nicely. However with the papilio, the wing has to be pushed really hard until no metal pins are visible. This wasn't clear to me, especially since I've been using arduino that does not require for the shields to be pushed in this deep. Here are two photos about what I'm talking about:


Arduino shields, the pins from the shield do no go all the way into the sockets:



Papilio wing, the pins go all the way into the sockets:



When i pushed in the wing into the board completely it started working correctly. I think it would really help noobs like me if that was mentioned in "Get Started" tab on papilio.cc. Also, another thing that is not mentioned anywhere is the fact that when you want to program your papilio when you first received it, you should switch from Jack to USB on the board. As a complete noob i didn't even know that that is something i can change.


I haven't played with it much yet but i assume its going to be a lot of fun! Thank you for your time.

Link to comment
Share on other sites

I'm glad you got that worked out and sorry for the confusion. I feel bad about the jumper being populated on the Jack instead of USB setting. The test plan that is run at the factory calls for the boards to be tested and shipped out to end users in the USB position. Somehow, this last batch of boards has the jumper popluated in the Jack setting, which is completely confusing to beginners. I shipped out 20 or so boards this way before I caught the problem and fixed it, I'm sorry you were in that group of boards, it completely caught me by surprise! I've addressed it with the manufacturer and let them know that its a problem to ship it out set to Jack. So hopefully it will not be a problem going forward.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.