10-24-2012 02:55 AM
Hello folks. Total newbie here.This is probably going to be the dumbest question of all times, but as I need the answer, I figured, it would be even dumber not to ask. :p The question is: What happens right after I finished my project? ¿How do I get the chip, say, the MaxII or MaxV, OUT of the dev board and keep doing stuff with some other chips? The question comes from someone used to program microcontrollers using the PICKit2 and PicKit3 from Michochip, totally new to the intriguing and fascinating world of CPLD's and FPGA's. I think I get the idea; program in VHDL using Verilog or something else, compile and "burn" the chip. Just like the others, in a way. Only, I don't see an obvious way to GET THE CHIP OUT, once done. So, how can you think about doing any project to sell, like you do with any microcontroller? Thanks in advance. :)
10-24-2012 07:26 AM
There are no dumb questions ;)The CPLDs and FPGAs that you have on the development kits are soldered and can't be removed. ZIF sockets as we used to see them on old microcontrollers or EPROM programmers are not common any more. Today's Altera components can all be programmed in circuit using a JTAG connector, so most projects just use unprogrammed chips and program them during the manufacturing process. Also remember that only the CPLDs can be "burned" and retain their configuration when the power is lost. The FPGAs use RAM cells to hold their configuration, and require an external flash device to be configured at power on.
10-24-2012 08:01 AM
Hello,Just to be sure: VHDL and Verilog are two different languages, I do not know if it is a typing error or a misunderstanding so I'd like to point out that you can not program in VHDL using Verilog. Then, if you are using a CPLD (Max II or Max V), you can think of programming the chip while if you are using an FPGA (Stratix, Cyclone, Arria) you should think of "programming the memory that will store the chip configuration"; there are quite a lot of options that depend on the FPGA you have chosen (have a look of the programming and remote configuration chapter of the datasheet of your device). This is true for Altera devices and I assume you are not interested in other vendors since you came to write here. The way to get the project out of a dev board is the same you use for a microcontroller: you (or you and some other guy from the design team) define a pin connection that suits your project (if you are lucky, you can copy the same pin-out of the project on the dev kit) then you assign the pins in the project (this is different from a microcontroller... look at Pinplanner and to Pin assignments... maybe the free on line course "Quartus II foundation" from Altera may give you the right advices). Of course, sometimes on microcontrollers it is easier: some dev kits permit to get the remove the chip and phisically transport it somewere else. I've met some designers switching from microcontrollers to FPGA and the are sometimes confused by the big amount of information on the manuals. Have a look at the Altera Partners... you may find someone near you that may "sell a training". Where are you from?
10-24-2012 05:40 PM
Hello, guys.Thank you for your fast response to the question. You're very kind. Yes, I was confused about Verilog and VHDL. Thanks for the clarification. But well, that's something that won't arise once I'm actually working in some project. I currently work with small audio and MIDI projects for the classroom, for which the microcontrollers are just fine. On the other hand, I've been thinking about the implementation of real-time FIR filters and other stuff, for which I think CPLD's could be far better. Nevertheless, I won't go as far as working with FPGA's for the moment. I was thinking about Max II or MaxV to begin. So, if I'm understanding well, I just get, say, the MAXII or MAXV starter kit and do my thing. Next, I just buy some chips and assemble the project with them, while they are still "empty". Once the thing is fully assembled, I just use a JTAG interface to program the CPLD's IN PLACE. If that's correct, then I'd like to know if there's a special thing that I should use for this last step. Also, and I know, off the subject, do you have any ideas on how to use this chips in projects without having to buy or rent expensive SMT equipment? Thanks a lot, folks. :)
10-24-2012 05:53 PM
--- Quote Start --- I currently work with small audio and MIDI projects for the classroom, for which the microcontrollers are just fine. On the other hand, I've been thinking about the implementation of real-time FIR filters and other stuff, for which I think CPLD's could be far better. --- Quote End --- If you are planning on performing DSP operations in FPGAs or CPLDs, then I would recommend you take a closer look at FPGAs. The MAX II and MAX V CPLDs are targeted for control applications, so they do not have DSP blocks, internal RAM, or PLL blocks (though I think the MAX V does have a PLL). Take a look at the handbook for the Cyclone IV and V devices and you will see descriptions of these features. --- Quote Start --- Nevertheless, I won't go as far as working with FPGA's for the moment. I was thinking about Max II or MaxV to begin. --- Quote End --- Buy a Terasic DE0-nano to get started. http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=139&no=593 --- Quote Start --- Once the thing is fully assembled, I just use a JTAG interface to program the CPLD's IN PLACE. --- Quote End --- The MAX II/V devices have internal memory, so all you need is the FPGA and a JTAG connector. The Cyclone devices need an additional external configuration memory device. Cheers, Dave