Can't get simplest example to work on LogicStart Shield


Recommended Posts

Hi Jack,


I can't get the simple inverter  circuit to work with my LogicStart and Duo.  As in your video, I just connect a switch to an inverter symbol, which I connect to the LED.  I labeled the input to the inverter Arduino_0, and the output from the inverter Arduino_48.  When I click on generate programming file, it completes successfully, but after successfully downloading the circuit, nothing happens.  I also notice that ISE does not create a .vhd file.  Should it? 


I am trying this example because I couldn't get your debounce input to work either.  I noticed in that case that it at least created a .vhd file.


Maybe the quickest way would be for you to create an example FPGA circuit sketch (no AVR or Zuino) that you verified works, and see if I can replicate it on my Duo + LogicStart Shield setup.


I know the LogicStart  shield works because when I load the LogicStart_Shield_Verification circuit and code, the LEDs, switches, buttons, VGA, and sound all work.  However, this example controls everything through the CPU, whereas I want to do it without the CPU.




Link to comment
Share on other sites

Ok, so after looking at that tutorial I think what is giving you trouble is that it is not obvious how to find what pins you should be connecting the inverter to. With DesignLab you do not need to worry about what FPGA pin a button or LED is connected to. You just need to know where it connects to at a board level instead of at the FPGA level. For the DUO you would want to use Arduino pin numbers and for the Papilio One you would use Wing numbers. The way you would find this information is to look at the hardware guide for the Shield or the MegaWing.


In the case of a Papilio DUO with the LogicStart Shield connected to it. If you look at the Papilio DUO board you will see that each pin is numbered as 0-53. Instead of adding another level of headache where you have to figure out what FPGA pin each of these pins connect to you just need to look at a pin chart or table to see what Arduino pin they are connected to. If we want to connect the right button on the LogicStart Shield through an inverter to LED0 then we can find this out in two ways:

  • We can look at the text printed on the LogicStart Shield and see that it says get started at "". That URL is meant as a quickstart but also the first place to look if you have a reference question. On that page you should see there is a Pinout Diagram, look at this diagram and look for the Arduino Numbering. The right button is on D10 and LED0 is on D48. So in the schematic you are going to want the input of the inverter to be connected to "Arduino_10" and the output connected to "Arduino_48". You can see what naming schemes are available by either looking at utility.sch or papilio_duo.ucf. This is what it should look like:
    • post-29509-0-79033200-1454364318.png
  • The other option is to go to the same quickstart page but instead of looking at the pin diagram look for the hardware guide. In the hardware guide there are tables for each hardware section that lets you see that LED0 is connected to Arduino pin 48 and the right button is connected to Arduino pin 10.

Finally, here is a project for the Papilio DUO that works for me.

Link to comment
Share on other sites

Hi Jack,


Thank you very much for the .zip file.  I was able to get it to work as expected.  Now that I see one mapping work, maybe I can debug my other issues by myself.


I do notice that the first line in papilio_duo_ucf is:

        # UCF file for the Papilio Pro board

which doesn't inspire confidence.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.