I've really been having an interesting journey into the world of programmable logic. I've gotten a few projects built and used a few different tools. I've even used two different types of FPGA chips, and I'm starting to get a feel for how everything fits together. Mostly, though, I'm just blown away by how cool these things are.
Fortunately, everything's been relatively simple thus far. As I mentioned in my previous blog, I'm building circuits that I first built waaay back in my high school electronics class. The only difference is that, instead of hand wiring 7400 series logic chips, now I'm building the circuits in magically configurable silicon.
Back in the hand-wiring days, I would have gotten out the old oscilloscope or logic analyzer. With those 7400 series chips wired up on a solderless breadboard, I could simply stick the scope probe on pretty much any signal I wanted. In my FPGA-based implementation, however, all those test points are hidden inside the chip's package.
I considered sawing the top off the FPGA package, but then I decided I probably couldn't find any probes small enough. Rather than give up in despair, I decided to take the advice offered by Adam in his blog about ChipScope. I'm going to insert a virtual logic analyzer into my tiny FPGA chip. This will entail several steps:
- Open up last week's project in ISE.
- Create a new source of type "ChipScope Definition and Connection File" named "led_input_CS."
- Open ChipScope and set all the appropriate parameters.
- Insert the ChipScope core into our design.
- Load the design into the FPGA.
- Run it up the flagpole and see who salutes.
If you have a Spartan 6 XL9 Development Board (which we've discussed previously) and are following along with me, let's start by opening the "FND500count" project in ISE. Now we have to add a new source. In the New Source Wizard, pick "ChipScope Definition and Connection File," and name it "led_input_CS." There aren't any parameters to set. That will create the "led_input_CS.cdc" file as shown below:
Double-click on the "led_input_CS.cdc" file to bring up the ChipScope Pro Core Inserter tool. When you open ChipScope from within a project in this way, it automatically fills in the "Device Files" and "Device Settings" entries on the first screen for you, so you can click the "Next >" button to get to the screen labeled "Select Integrated Controller Options."
Next page >