• Content count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About RichardE

  • Rank

Profile Information

  • Gender
  1. RichardE

    Crosstalk between digital inputs

    OK. Thanks for that. I shall take care to use pulldowns (or ups) from now on.
  2. I wonder if anyone would care to comment on this: I'm just starting out on VHDL and following the IntroToSpartanFPGABook. One of the early examples configures C0 to C7 as digital intputs which are connected to switches and configures C8 to C15 as digital outputs which are used to drive LEDs. The states of the 8 switch inputs are written to the 8 digital outputs. However, not having a LogicStart MegaWing I only have the one switch and I move that around the digital inputs. What I was finding was that when only a single digital input was pulled high 2 of the LEDs would turn on - the one I expected and also an adjacent one. I was convinced I must have a short somewhere in the wiring to the LEDs or a solder bridge between pins on the header but I could not find it. Then it struck me that since I only had the one switch, all the remaining inputs were left floating so I changed the constraints so that all the digital inputs had pulldowns and now it works fine - only one LED turns on if only a single input is taken high. I realise it is not really a good idea to leave inputs floating but I have to admit that when working with PIC micros and the like I have on occasions left inputs floating with no ill effects. I have seen many designs where unused IO pins have been left configured as inputs. So my questions are: 1. Is the behaviour I describe above something others have experienced and would this be expected? 2. Are the Spartan 3E FPGAs particularly susceptible to this because of the construction of the inputs? 3. Aren't all unused IO pins configured as inputs? Does this mean I should really connect all unused inputs to 0V (or with a pullup or pulldown resistor)?
  3. Thanks for that. I'll look out for the LogicStart.
  4. Sorry folks. My fault. I forgot the generate "Generate programming file" step so the old bit file was being used over and over again. Oops.
  5. Took out the resistor and now the input swings between 0V and 3.3V when the switch is operated. However, the output pins (which are connected to LEDs) don't seem to change state. I even tried writing a '1' to them and they still stay at 0V except for a brief period when the Papilio is plugged in to the USB socket when it shows 3.3V. Why is this? All I have is this: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Switches_LEDs is Port ( switch_0 : in STD_LOGIC; switch_1 : in STD_LOGIC; LED_0 : out STD_LOGIC; LED_1 : out STD_LOGIC); end Switches_LEDs; architecture Behavioral of Switches_LEDs is begin LED_0 <= '1'; LED_1 <= '1'; end Behavioral; and constraints of: # Constraints for Papilio One NET switch_1 LOC = "P3" | IOSTANDARD=LVTTL; NET switch_0 LOC = "P4" | IOSTANDARD=LVTTL; NET LED_1 LOC = "P16" | IOSTANDARD=LVTTL; NET LED_0 LOC = "P17" | IOSTANDARD=LVTTL; So why do both P16 and P17 stay low? (Papilio pins C14 and C15). Confused.
  6. Next slight problem. I don't have a LogicStart MegaWing because they don't seem to be available at the moment in the UK and I hesitate to order from the US because of possible problems with customs (I normally get stuff delivered to work and they rather object to paying customs duties for personal parcels) so I'm knocking together a few LEDs and switches based on the design of the LogicStart. Is there a complete circuit diagram of the LogicStart MegaWing anywhere? I based my switch on the partial circuit diagrams here: This shows a 4K7 resistor between the common terminal of the slider switch and the Papilio input and the other two terminals are connected to the 3V3 rail and 0V. When I try this I find that I get either 0V or 1.22V at the input depending on the position of the switch (I'm using a toggle switch). 1.22V isn't high enough to register as a 1. I reckon there must be a pull down resistor inside the Spartan 3 forming a resistor divider which is why I don't get 3.3V. So ... Is there a mistake on the partial circuit diagram? Is there really a 4K7 resistor in series with the input or have I done something wrong? I will try without the resistor and see if that works.
  7. OK. Got it now. Managed to get the first example working and programmed into the Papilio. Thanks very much.
  8. Hi everyone, I just got a Papilio 1 500K. I work as a software engineer and have been programming for ages but this is my first foray into programmable logic. I am more interested in learning VHDL than using a ready made micro at the moment so I thought I would start simple by following Mike Field's online book "Introducing the Spartan 3E FPGA and VHDL". I've downloaded the tools from the Xilinx web site and got a free license which seems to have been recognised. So far so good. But then it all starts to go wrong. The main problem is that I seem to be using a more recent version of the software. Where the book says to click on the "Xilinx ISE Design Suite 13.3 Studio" icon I can find no such icon. After a bit of hunting I ran "Xilinx Platform Studio". This displays a message "A license was not found for the XPS feature" and when you click on "OK" it starts up the licence configuration manager which I already ran to get the licence in the first place. I close down the configuration manager. Then the book says to select "File" then "New Project". No luck there. I went for the "Create New Blank Project" option. This looks promising (although different from the book). I give the project the name "Switches_LEDs.xmp", select a spartan3e, xc3s500e, vq100 abd speed grade -5 and leave everything else unmodified. Then I click "OK". Xilinx Platform Studio starts up (release version 14.3). Now I'm really stuck. The book, in the section entitled "Step 2 - Create a new VHDL Module" says to right click on the design window, "on the FPGA device" and then choose "New Source". Where's the design window? I have a "Project" tab, an "IP Catalog" tab, a "Design summary" tab, a "Graphical design view" tab and a "System assembly view" tab. No idea what to right click here. Nothing looks right. Working on guesswork I tried the "Hardware" menu, "Create or Import Peripheral" option which initially looks promising but then I get bogged down in selecting which kind of bus to attach to. All I want to do is connect two switch inputs to 2 outputs that drive LEDs. I suspect this is not the way to go. So, my questions are: 1. Did I do right to run "Xilinx Platform Studio"? 2. Why am I getting warnings about a missing license? 3. How do I create a new VHDL module? The book says "Right-click on the design window, on the FPGA device, and choose "New Source". I can't find the design window, an FPGA device to click on or anything that when right clicked gives me the option to choose "New Source". You will gather that I'm a bit out of my depth at the moment. Should I abandon the "Introducing the Spartan 3E FPGA and VHDL" book and try something else? That would be a shame because it looks like exactly what I am looking for, starting off with the absolute basics.