Adam Taylor 5/28/2012 6:59:31 AM User Rank Blogger
Bring Up
That looks like a pretty nice little board. Hopefully it should not take you to long to get your FPGA hello world program working. I would suggest perhaps attempting to one of the LEDs flashing, as that will prove you are using the clocks, resets correctly and you have the not only your simple code working but also the UCF file correct.
Webpack is good, and you can download it from the Xilinx website. Does it come with a good VHDL simulator like Modelsim? You really need to be able to simulate your code before you try to implement it.
As you get more into FPGA development you may wish to look at other synthesis tools like precision and synplify.
What may be of use for debugging your designs later on is an in chip logic analyser like chip scope it is really worth its weight in gold.
Adam Taylor 5/28/2012 7:29:43 AM User Rank Blogger
Re: Bring Up
I should also add be careful with the unused IO connected to perhiperals when you write your basic "hello world" code as it will probably not use all of the perihpehals (if any) connected to the FPGA. You will need to ensure that you have these IO correctly driven (static high or low at the top level of your code) to ensure you do not have floating inputs on perihperals which wil increase their power dissipation and possibly damage them.
Duane Benson 5/28/2012 7:53:43 PM User Rank Blogger
Re: Bring Up
Adam - I'm very impressed with this little board so far. But this is really a complete new world for me. It's a bit staggering. I have been blinking some LEDs since this post, but to date only as a modification of one of the sample configurations.
Thanks for the note about floating inputs. That makes sense, although, I'm not sure I have the context in my head yet.
Adam Taylor 5/29/2012 5:55:18 AM User Rank Blogger
Re: Bring Up
Glad your enjoying it, mine is hopefully in the post..
Hopefully you will have a top level entity for your code which corresponds with the UCF file. For your developments if you use this and assign the entity outputs to 1 or 0 as required then you should avoid floating inputs on the perhiperal devices. That way within your architecture you are free to experiment with your code without having to worry about stressing anything,
Has anyone explained the difference between signal and variables behaviour yet ?
Duane Benson 5/29/2012 1:26:18 PM User Rank Blogger
Re: Bring Up
Adam - I have been looking into the UCF file. The one in the sample code I'm experimenting with only has four pin definition entries.
When you say "...You will need to ensure that you have these IO correctly driven...", are you referring to just the pins that have a definition line in the UCF file or all of the pins on the FPGA that could be set to be I/O?
Max Maxfield 5/28/2012 12:57:23 PM User Rank Blogger
Re: Bring Up
@Adam: It really is a nice little board -- I have one myself.
Re using Precision Synthesis from Mentor and/or Synplify Synthesis from Synopsys ... let's get him up and running with the Xilinx tools first (grin).
Re using ChipScope (Duane, this allows you to use some of the FPGA's programmable logic resources to implement virtual logic analyzers inside the FPGA) ... this is a great idea ... but probably a few weeks down the road :-)
Duane Benson 5/28/2012 7:56:39 PM User Rank Blogger
Re: Bring Up
Re those other tools... My head is spinning enough already. :-)
I will be very interested at looking at more tools at some point though. The inside the chip logic analyzer is quite intriguing. It blows my mind and makes perfect sense at the same time. These FPGAs are pretty fun.
Max Maxfield 5/29/2012 8:42:09 AM User Rank Blogger
Re: Promotion for Duane
@Brian: "I say let's promote Duane from FPGA newbie to FPGA novice."
I agree -- we'll just have to wait for the official T-Shirt to come in to make it official -- in the meantime, Duane, feel free to write "FPGA Novice" on your forehead with an indelible pen (grin)
Duane Benson 5/29/2012 1:21:56 PM User Rank Blogger
Re: Promotion for Duane
Newbie or novice doesn't really matter to me. I'm just facinated by this new world. I'm still very much in the realm of not even being close to knowing how much I don't know. At least I know that I don't know how much I don't know.
There might be some interest in Open Cores. (Not having any knowledge or experience in logic design I do not know if the projects hosted there are especially good, but the site might be a useful resource [or not].)
Warren Miller 5/31/2012 12:53:29 PM User Rank Blogger
Easier to Use Micro/PicoBlaze MCU or Verilog?
It will be interesting to see if you find it easier to blink an LED using MicroBlaze/PicoBlaze or writing code in Verilog/VHDL. Do you have any experience with Verilog/VHDL? If not, that will be another big learning curve. Start slow and only dig into what you need to for your initial program. Using examples as a starting point (known good ones) is always a big help...
Duane Benson 5/31/2012 12:57:43 PM User Rank Blogger
Re: Easier to Use Micro/PicoBlaze MCU or Verilog?
Warren - I'm an absolute rookie with VHDL and Verilog - with FPGAs in general. Based on what I've learned so far, I'm thinking it will be easier to blink an LED in an MCU. What I'm looking forward to though, is verifying my assumption that the FPGA will be able to blink a lot of LEDs, or do other functions, at the same time.
Something I have not tried is compiling Verilog with the Model_Sim simulator to do a quick simulation. That should be useful if going thru the whole design process is too slow for future projects. Probably no problem with your board.
To blink an LED should be as simple as add an output pin to drive the LED then add a T flip-flop then connect its output to the output pin.
To control the blink rate use a counter and pick a bit that changes at the desired freguency as the toggle input to the flop.
Repeat as necessary to blink several at the same rate or mixed rates.
Duane Benson 6/6/2012 1:46:14 PM User Rank Blogger
Re: Easier to Use Micro/PicoBlaze MCU or Verilog?
Karl - I briefly looked over that "Verilog in one day" site. It looks pretty good at first glance. I'll spend some time on it at somepoint and report back on how it works for me.
Duane Benson has his SPI interface working. At some point, he'll want to rewrite the Verilog code, but first he wants to get the I2C interface up and running.
To save this item to your list of favorite All Programmable Planet content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.