Electronics-Related.com
Forums

PSoC or FPGA?

Started by fasf March 20, 2011
Hi,
i've worked wit 8bit/32bit microcontrollers for 5 years and now i want
to explore new fields, so i'm interested in these two solutions: PSoC
and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and
i don't understand the differences between these programmable devices.
For hobby, what do you think is more useful to study? Can you suggest
a low cost DevKit?
Any getting started suggestion will be very appreciated
fasf wrote:

> i've worked wit 8bit/32bit microcontrollers for 5 years and now i want > to explore new fields, so i'm interested in these two solutions: PSoC > and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and > i don't understand the differences between these programmable devices. > For hobby, what do you think is more useful to study? Can you suggest > a low cost DevKit? > Any getting started suggestion will be very appreciated
Depends on what you want to do with it. Maybe a FPGA would be easier for you, if you have mostly digital knowlege with microcontrollers. I already have some old FPGA kits, like the Spartan starterkit from Xilinx, but Terasic has a nice new one, with the new Cyclone IV and some useful other hardware and integrated USB blaster for programming it, for $79: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=593 I've ordered some of these boards, they'll start shipping it next week. You can use NIOS for it, Altera has changed their price policy and the economy version of NIOS II is free now: http://www.altera.com/products/ip/processors/nios2/cores/economy/ni2-economy-core.html Maybe you should start with some simple LED blinking project in VHDL to learn the basics, first, but then NIOS would be a good starting point for more complex projects, because you start with a microcontroller and then you can add your own VHDL or Verilog entities, which can be controlled by the microcontroller. Quartus Web Pack, including the NIOS IDE and Modelsim is free, too, so this is a very inexpensive start with a powerful system. 22,000 LEs is so many, that you can instantiate multiple NIOS II cores inside the FPGA without problems. Xilinx has ISE Web Pack is another good free IDE and they have some low cost CPLDs, like the XC9572. The Cypress PSoC is useful, if you want to do mixed signal processing. The latest PSoC 5 family has many useful components, like 20 bit ADC, DAC, integrated OpAmp, muxer, SPI, I2C, UART, USB etc., all routable to any pins, with a schematic entry in the IDE, and a fast ARM CPU core. I'm one of the winner of the first round of the Cypress challenge: http://www.cypress.com/?id=3271 and they gave away their latest kit for all winners for free. But you can't buy it at the moment. Maybe they are using the contest as a cheap beta test :-) but it is a really great kit and a powerful IDE: http://gwdevprojects.blogspot.com/2011/03/cypress-psoc-5-cy8ckit-050-with.html -- Frank Buss, http://www.frank-buss.de piano and more: http://www.youtube.com/user/frankbuss
On Sun, 20 Mar 2011 02:10:35 -0700 (PDT), fasf <silusilusilu@gmail.com> wrote:

>Hi, >i've worked wit 8bit/32bit microcontrollers for 5 years and now i want >to explore new fields, so i'm interested in these two solutions: PSoC >and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and >i don't understand the differences between these programmable devices. >For hobby, what do you think is more useful to study?
FPGA, without a doubt. PSoCs are interesting but have a very limited market.
>Can you suggest a low cost DevKit?
There are hundreds of them around. I would suggest one of the Altera kits, only because their software is better than Xilinx and Altera is more "mainstream" than third place. Some put a lot of weight on experience with a particular vendor.
>Any getting started suggestion will be very appreciated
For FPGAs, I'd suggest VHDL. Verilog seems to be more popular in the ASIC world and VHDL in the FPGA world. Both would be helpful, but not at once. Do a typical "stoplight" design, then concentrate on simulation. VHDL for design is easy. Simulation is where it's at. Don't think you can skip simulation for anything more complex than a blinking light.
On a sunny day (Sun, 20 Mar 2011 12:19:43 -0500) it happened
"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote in
<oddco697c3t6e9aj6ochlgl7jo1prkdsr6@4ax.com>:

>On Sun, 20 Mar 2011 02:10:35 -0700 (PDT), fasf <silusilusilu@gmail.com> wrote: > >>Hi, >>i've worked wit 8bit/32bit microcontrollers for 5 years and now i want >>to explore new fields, so i'm interested in these two solutions: PSoC >>and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and >>i don't understand the differences between these programmable devices. >>For hobby, what do you think is more useful to study? > >FPGA, without a doubt. PSoCs are interesting but have a very limited market. >>Can you suggest a low cost DevKit? > >There are hundreds of them around. I would suggest one of the Altera kits, >only because their software is better than Xilinx and Altera is more >"mainstream" than third place. Some put a lot of weight on experience with a >particular vendor. > >>Any getting started suggestion will be very appreciated > >For FPGAs, I'd suggest VHDL. Verilog seems to be more popular in the ASIC >world and VHDL in the FPGA world. Both would be helpful, but not at once. Do >a typical "stoplight" design, then concentrate on simulation. VHDL for design >is easy. Simulation is where it's at. Don't think you can skip simulation >for anything more complex than a blinking light.
Just for fun I did a frequency counter, a LCD display driver, and a smart card reader all without simulation on a Spartan 2. No problem. I used iverilog to test some crypto, and then used simulation to test it further. I did the TV up converter (15625 to VGA) without simulation, and the sync separator / slicer too. and the video filter. But I do not use MPlab for PICs either... just write the asm directly. Faster and better that way. There is too much simulations in this world. NASA has changed from a manned space agency to one that sells simulations to the public of astronuts mars landing Zillions are spend on sup[p]er computers that do simulations of problems that any sane person can work out with eyes closed in a blink. Beware of simulations. Reality always rules, use a scope. But simulations can sometimes be cheaper and avoid lead poisening from soldering. I mean I am sure they ran simultions for those nuke plants too.
"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote:

>On Sun, 20 Mar 2011 02:10:35 -0700 (PDT), fasf <silusilusilu@gmail.com> wrote: > >>Hi, >>i've worked wit 8bit/32bit microcontrollers for 5 years and now i want >>to explore new fields, so i'm interested in these two solutions: PSoC >>and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and >>i don't understand the differences between these programmable devices. >>For hobby, what do you think is more useful to study? > >FPGA, without a doubt. PSoCs are interesting but have a very limited market. >>Can you suggest a low cost DevKit? > >There are hundreds of them around. I would suggest one of the Altera kits, >only because their software is better than Xilinx and Altera is more >"mainstream" than third place. Some put a lot of weight on experience with a >particular vendor. > >>Any getting started suggestion will be very appreciated > >For FPGAs, I'd suggest VHDL. Verilog seems to be more popular in the ASIC >world and VHDL in the FPGA world. Both would be helpful, but not at once. Do >a typical "stoplight" design, then concentrate on simulation. VHDL for design >is easy. Simulation is where it's at. Don't think you can skip simulation >for anything more complex than a blinking light.
I never used a simulator for FPGA design and I did quite a few designs over the pas 10 years. I've always used a logic analyzer and a debug bus which can output internal FPGA signals. The use of a simulator is limited because you also have to model the outside world accurately. In my experience most of the problems are in interfacing with the (asynchronous) outside world. Having typed that I must say that I'm interested in learning how to use a simulator for FPGA design to see if it really can shorten development time. I just didn't had the time yet. Simulating electronic circuits is an art in itself. I guess simulating FPGA designs is no different given the number of forum postings saying 'it works in the simulator but not on my board'. -- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... nico@nctdevpuntnl (punt=.) --------------------------------------------------------------
On Sun, 20 Mar 2011 18:14:25 GMT, Jan Panteltje <pNaonStpealmtje@yahoo.com>
wrote:


> >There is too much simulations in this world.
You needn't say anything else. At least you're consistent; clueless.
On Sun, 20 Mar 2011 20:15:56 GMT, nico@puntnl.niks (Nico Coesel) wrote:

>"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote: > >>On Sun, 20 Mar 2011 02:10:35 -0700 (PDT), fasf <silusilusilu@gmail.com> wrote: >> >>>Hi, >>>i've worked wit 8bit/32bit microcontrollers for 5 years and now i want >>>to explore new fields, so i'm interested in these two solutions: PSoC >>>and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and >>>i don't understand the differences between these programmable devices. >>>For hobby, what do you think is more useful to study? >> >>FPGA, without a doubt. PSoCs are interesting but have a very limited market. >>>Can you suggest a low cost DevKit? >> >>There are hundreds of them around. I would suggest one of the Altera kits, >>only because their software is better than Xilinx and Altera is more >>"mainstream" than third place. Some put a lot of weight on experience with a >>particular vendor. >> >>>Any getting started suggestion will be very appreciated >> >>For FPGAs, I'd suggest VHDL. Verilog seems to be more popular in the ASIC >>world and VHDL in the FPGA world. Both would be helpful, but not at once. Do >>a typical "stoplight" design, then concentrate on simulation. VHDL for design >>is easy. Simulation is where it's at. Don't think you can skip simulation >>for anything more complex than a blinking light. > >I never used a simulator for FPGA design and I did quite a few designs >over the pas 10 years. I've always used a logic analyzer and a debug >bus which can output internal FPGA signals. The use of a simulator is >limited because you also have to model the outside world accurately. >In my experience most of the problems are in interfacing with the >(asynchronous) outside world.
It's a *lot* easier simulating, even simple designs. There is no way you're going to get anything of any complexity working with just internal debug ports. A simulator can also test scenarios that are very difficult to force in the real world. Most of my problems with the outside world is because whatever I'm interfacing to is not well documented. Asynchronous interfaces shouldn't be a major problem if the design is right. Modern FPGAs are quite fast.
>Having typed that I must say that I'm interested in learning how to >use a simulator for FPGA design to see if it really can shorten >development time. I just didn't had the time yet.
That's what they all say. ;-) It's common to rush into the design phase. FPGAs are no different, here, except that you really can't tie a scope on nodes to see what's happening.
>Simulating >electronic circuits is an art in itself. I guess simulating FPGA >designs is no different given the number of forum postings saying 'it >works in the simulator but not on my board'.
Simulation is an art. I did a *lot* of it, six years in design verification on PPC processors (Nintendo and Apple processors). I certainly don't go into that detail with my FPGA simulation, but I do a fair bit. VHDL for simulation is *much* different than that used for synthesis. In some ways it's easier, but the subset of the language used is far greater. Making a useful testbench is a lot of work but it does pay off in anything but the most trivial designs.
"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote:

>On Sun, 20 Mar 2011 20:15:56 GMT, nico@puntnl.niks (Nico Coesel) wrote: > >>"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote: >> >>>On Sun, 20 Mar 2011 02:10:35 -0700 (PDT), fasf <silusilusilu@gmail.com> wrote: >>> >>>>Hi, >>>>i've worked wit 8bit/32bit microcontrollers for 5 years and now i want >>>>to explore new fields, so i'm interested in these two solutions: PSoC >>>>and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and >>>>i don't understand the differences between these programmable devices. >>>>For hobby, what do you think is more useful to study? >>> >>>FPGA, without a doubt. PSoCs are interesting but have a very limited market. >>>>Can you suggest a low cost DevKit? >>> >>>There are hundreds of them around. I would suggest one of the Altera kits, >>>only because their software is better than Xilinx and Altera is more >>>"mainstream" than third place. Some put a lot of weight on experience with a >>>particular vendor. >>> >>>>Any getting started suggestion will be very appreciated >>> >>>For FPGAs, I'd suggest VHDL. Verilog seems to be more popular in the ASIC >>>world and VHDL in the FPGA world. Both would be helpful, but not at once. Do >>>a typical "stoplight" design, then concentrate on simulation. VHDL for design >>>is easy. Simulation is where it's at. Don't think you can skip simulation >>>for anything more complex than a blinking light. >> >>I never used a simulator for FPGA design and I did quite a few designs >>over the pas 10 years. I've always used a logic analyzer and a debug >>bus which can output internal FPGA signals. The use of a simulator is >>limited because you also have to model the outside world accurately. >>In my experience most of the problems are in interfacing with the >>(asynchronous) outside world. > >It's a *lot* easier simulating, even simple designs. There is no way you're >going to get anything of any complexity working with just internal debug >ports. A simulator can also test scenarios that are very difficult to force >in the real world.
For more complicated signal processing I prototype in C first. That's much faster than simulating. Verifying the logic afterwards is a piece of cake if you implement some resources for self tests.
>Most of my problems with the outside world is because whatever I'm interfacing >to is not well documented. Asynchronous interfaces shouldn't be a major >problem if the design is right. Modern FPGAs are quite fast. > >>Having typed that I must say that I'm interested in learning how to >>use a simulator for FPGA design to see if it really can shorten >>development time. I just didn't had the time yet. > >That's what they all say. ;-) It's common to rush into the design phase. >FPGAs are no different, here, except that you really can't tie a scope on >nodes to see what's happening.
If you create a debug unit, you can output the most important signals. Software can also be used to read the status of the FPGA logic. This will also allow for debugging later on. A few years ago I had to debug a PCI based design which sometimes got stuck when a computer of a specific type/brand rebooted. It turned out a statemachine didn't reset properly. This problem was triggered because the computer didn't unload the drivers before rebooting. The internal debug facilities of the design where very useful for tracking the problem using a logic analyzer. You can simulate a lot but creating a set of tests which covers all the possible mayhem coming from the outside world is next to impossible. -- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... nico@nctdevpuntnl (punt=.) --------------------------------------------------------------
On Mar 20, 4:10=A0am, fasf <silusilus...@gmail.com> wrote:
> Hi, > i've worked wit 8bit/32bit microcontrollers for 5 years and now i want > to explore new fields, so i'm interested in these two solutions: PSoC > and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and > i don't understand the differences between these programmable devices. > For hobby, what do you think is more useful to study? Can you suggest > a low cost DevKit? > Any getting started suggestion will be very appreciated
You don't need to make a choice between PSOC and FPGA. Actel sells Smartfusion. SmartFusion intelligent mixed signal FPGAs are the only devices that integrate an FPGA, ARM=AE Cortex=99-M3, and programmable analog, offering full customization, For an overview see: http://www.actel.com/products/SmartFusion/default.aspx An evaluation kit is available for $99.00. See: http://www.actel.com/products/hardware/devkits_boards/smartfusion_eval.aspx Howard
On 3/20/2011 4:10 AM, fasf wrote:
> Hi, > i've worked wit 8bit/32bit microcontrollers for 5 years and now i want > to explore new fields, so i'm interested in these two solutions: PSoC > and FPGA. I'm totally new (i don't know neither VHDL nor Verilog) and > i don't understand the differences between these programmable devices. > For hobby, what do you think is more useful to study? Can you suggest > a low cost DevKit? > Any getting started suggestion will be very appreciated
Well, I will put in a plug for Cypress' PSoC. I've been using them for years. However, if you need blazing speed, you will need to go the FPGA route as the PSoC is nothing more than a microcontroller that has some analog goodies. I like the PSoC because it is extremely configurable/reconfigurable to almost anything you need. An example that Cypress came out with was a soft drink machine that did the usual coin counting/dispensing during the day and at night reconfigured into a DTMF to dial the home office then reconfigured into a 300 BPS modem to upload data then downloaded instructions. At one company where I worked, the PSoC replaced three other micro controllers because of its flexibility. The scheme uses registers to set up counters, timers, amplifiers, input/output pins, filters, and lots of other stuff. It is done by setting registers. Most of the setup is done in the GUI provided for free by Cypress. So, to get the chip to reconfigure itself, all you need to do is change the register settings. Even that can be handled by the GUI. Or, you can do it yourself. The learning curve is steep with Cypress' PSoC 1. It is possibly shorter with the PSoC 3 and 5 due to the schematic-type setup. I have no financial connection with Cypress. I've just been using their PSoC chips since about 2002. Cheers, John