MartyMacGyver Posted February 17, 2013 Report Share Posted February 17, 2013 (This includes observations and details that may be of use to other new users and those new to the Pro, as well as my own questions to follow.) What I'm using:Papilio Pro v1.3LogicStart MegaWing v1.2Windows 7Xilinx ISE Webpack 14.4 (Xilinx_ISE_DS_Win_14.4_P.49d.3.0 from the Vivado and ISE Design Suites download sub-section)Xilinx Device Pack 2012.4.1 (includes important updates for the WebPack)Papilio Loader-2.4-Setup-noJava (I already have Java)Notes:To the admin: There's a beta 2.0 Loader I stumbled across elsewhere on this site. It appears to be out-of-date.The loader may show an older version on its title bar. I've opened an issue with regard to this but it didn't cause problems for this example.Install the Papilio Loader, the Xilinx WebPack software, and the Xilinx Device Pack. Create the license for the free features of the ISE Design Suite and import that license (which you'll receive via email) to the ISE Design Suite. Open the ISE Design Suite and create a new HDL project with Spartan-6 settings appropriate to the Papilio Pro (Note that "Enable Message Filtering" is optional but useful): (At this point I'm mostly following the Intro to Spartan FPGA book with some important changes.)Add a new source VHDL module. Rather than using the wizard, I pasted in the source for this entity directly from the book (be sure to edit out any cruft if your copy spanned a page-break). Note that the entity name doesn't need to match the module name. Add an Implementation Constraints file (I called mine constraints.ucf). This was a little more tricky, since the pins in the book are for the Papilio One 500K, not the Pro. Retrieve the BPM7003-Papilio-Pro-LogicStart-MegaWing-general.ucf file and use it to find the appropriate pin mappings for the Pro (if you cut-and-paste these from the UCF, be sure to rename them accordingly!) This is what I used:NET SWITCH_0 LOC="P114" | IOSTANDARD=LVTTL; # C0NET SWITCH_1 LOC="P115" | IOSTANDARD=LVTTL; # C1NET LED_0 LOC="P123" | IOSTANDARD=LVTTL; # C8NET LED_1 LOC="P124" | IOSTANDARD=LVTTL; # C9Select the VHD file and you'll see the option in the pane below to "Generate Programming File". Run it. You shouldn't get any warnings or errors for this example. Plug in the Papilio Pro (with the LogicStart wing attached). Ensure the drivers load (it may take a short bit the first time you use it). Start the Loader and select the .bit file you just created in your project area (leave the .bmm and .hex file entries blank). Be sure "SPI Flash" is selected below "Write to". Select "Do Selected Operations" and wait for the programming process to complete successfully (there's troubleshooting info in the book and on the forums here). Try it out! The switches enabled by this module happen to control the LEDs above them. Change things! Swap switch_0 and switch_1 in the architecture section of the design, rebuild and upload again - now the switches control the opposite LEDs. Hopefully you find this quick-start useful! I have some questions which I'll add in the first comment below. Link to comment Share on other sites More sharing options...
MartyMacGyver Posted February 17, 2013 Author Report Share Posted February 17, 2013 The one big question I have is, does one ever use the entire constraints file? If I do so I get several errors, particularly about PULLUP ("Constraint <PULLUP;> ... not found"), CLK ("NET "CLK" not found") and others. For the missing NETS, is it simply because those extra constraints are unused? I thought perhaps they'd simply be ignored but evidently not.Isn't PULLUP a standard keyword of some sort? If not, where would you normally define it?Edit: It appears the PULLUP complaint is part of the error cascade, and it seems to be accepted in the focused example above)Given BPM7003-Papilio-Pro-LogicStart-MegaWing-general.ucf, can one use it correctly as-is, or is it always chopped up in use? Edit: Another question: When creating/configuring a Papilio Pro project, is a speed of -3 or -2 more appropriate? I just noticed -2 mentioned on the pinout guide page though I've used the default of -3 until now. Link to comment Share on other sites More sharing options...
alvieboy Posted February 17, 2013 Report Share Posted February 17, 2013 Hi, You need to remove all unused "references" in the UCF file. Each design should have it's own UCF and tailored for the specific design.If you leave unused references there, it's just like having an electronic schematic with extra components which are not connected to anything. Regarding PPro speed, it's indeed "-2". Link to comment Share on other sites More sharing options...
MartyMacGyver Posted February 17, 2013 Author Report Share Posted February 17, 2013 Thank you - I'll keep that in mind going forward! Now that I know the proper term "speed grade" a search turned up the answer to my next question... for the uninitiated, the speed grade is marked right on the FPGA itself ("2C" = speed grade -2). Link to comment Share on other sites More sharing options...
MartyMacGyver Posted February 23, 2013 Author Report Share Posted February 23, 2013 You need to remove all unused "references" in the UCF file. Each design should have it's own UCF and tailored for the specific design.If you leave unused references there, it's just like having an electronic schematic with extra components which are not connected to anything. FYI, in the process of investigating something else I stumbled upon this informative thread... evidently you can also use a setting to ignore unused constraints (which would save fiddling with the UCF for a component like the LogicStart). Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.