Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/24/10 16:31
Read: times


 
#178284 - per-design CPLD/FPGA symbols
Responding to: ???'s previous message
Richard Erlacher said:
Since the library management is so stupidly done, I have to create a new symbol for nearly every part newer than 1990 and many that are older than that, and, as you know, programmable parts can have lots of pins ... <sigh> ... Now, if I have the same package, I still have to attach it to the schematic symbol. Since my programmables are treated as a specific device, with signal names relevant to the application, it's often in a package that I've already ensured is suitable, but ... since it has different signals on different pins, a new symbol is needed, and, therefore, a new footprint is needed as well. Sometimes I can cut and paste, but that, IIRC, doesn't always work.


Oh, so you've fallen into the trap of creating an FPGA/CPLD symbol specific to each design? That can possibly work for 32-macrocell CPLDs but it's a major FAIL with even moderate-sized FPGAs. Why? The layout guy needs the freedom to swap pins (within specified constraints). If you've pre-assigned the pins and built a symbol around those assignments, you can't swap pins without editing the symbol first. And that's a non-starter.

Our FPGA library has one multi-part symbol for each FPGA, and each symbol of course depends on package. The symbols are generally organized into the configuration/power section, and one subsymbol for each I/O bank. The I/O bank subsymbols also include the power pins for that bank, so you can look at the schematic and go, "ah, Bank 5 is 2.5V and Bank 6 is 1.8V."

Now, understand that I normally don't involve myself in PCB production, and the guy who chooses the part based on price might be 5k miles away, and the guy doing the layout may be, as well. I like the approach that OrCAD uses, i.e. assigning the package when the device symbol is entered. Yes, you can make an error, but it's no different saying it's a 208PQFP20 on the schematic than saying it's an XC2S200PQFP when the schematic symbol is instantiated. If you call up the TQFP144, it's wrong. The procurement guy certainly doesn't like using differently packaged versions of the same part, but the layout guy certainly doesn't like using the 208PQFP where the 144TQFP would fit better. I prefer to let them work that out. The problem for me is that the layout editor demands that I modify the schematic symbol file for every identical programmable device just because I want to have the nets named so some human can understand who's who and what's what. The reason, of course, is that, sometimes, I'm that human.


Regardless of who does the layout or who buys the parts -- we choose package sizes based on I/O requirements. If I only need 100 I/O (meaning it'll work in the 144-pin QFP) then I won't specify the 208-pin package. No need to involve the layout or purchasing person in this! Similarly, if a design requires a lot of logic, you might be forced into a larger package simply because the device with more logic isn't available in the smaller package. (Think Spartan 3AN-50 in the QFP vs 3AN-200 in FBGA256. Unfortunately no package-compatible upsizing here.) Again, this is a design decision, and the layout and purchasing folks' input/desire is irrelevant.


Richard said:
Me said:
As for the CPLD (or FPGA) pinout, I absolutely DO care about this, as it's more than a simple back-annotation issue. You must make sure that your clocks are on the special clock input pins. With FPGAs that have multiple banks with different rails, you have to make sure that all of the 3.3V outputs are on a bank with a 3.3V rail, and all of the 2.5V outputs are on a 2.5V rail. And you have to make sure that LVDS outputs are NOT on pins called "LC" because they don't have LVDS outputs. And so on. I give the layout guy a list of layout rules for each design, indicating which signals can go in which banks, which cannot be swapped at all, and so forth. And before the board is released for fab, the FPGA tools are run on it to ensure that the chosen pins actually work.

-a

This last bit is something for which no provision was made in bEAGLE, or, for that matte rin most other schematic/layout software, but which is a simple housekeeping matter. Yes, it's drudgery, and yes, it's error prone, but it's part of the job.


Altium Designer does have some magic way of integrating FPGA designs into the layout as well as actually updating symbols with actual FPGA signal names. It's just that it's difficult to use and we don't see the point of tying up a PCB layout license to do FPGA stuff that's better done in its own environment.

Aside: Altium Designer was a product that kept creeping up in price, and the increases in price were "justified" (in Altium's mind) because they added features like a VHDL simulation tool (which bombs on basic language constructs) and synthesizer and an 8051 compiler and all sorts of stuff that a PCB layout person doesn't need and doesn't want. What's worse is that they didn't offer an a-la carte option, where you could buy just PCB layout and schematic and leave the microcontroller and FPGA stuff out. And at some point they must've looked at their numbers and realized that nobody was upgrading to newer versions and nobody was buying new licenses because they were charging $15k per seat for stuff nobody wanted. Then they dropped the price of layout and schematic to something like $3500, which is in the realm of reality for stuff not called Mentor Board Station.

=-a

List of 122 messages in thread
TopicAuthorDate
Free PCB design software...            01/01/70 00:00      
   re: Designspark            01/01/70 00:00      
      Yes, indeed.            01/01/70 00:00      
         RS vs Farnell            01/01/70 00:00      
            RE:            01/01/70 00:00      
               EEEEEK!!            01/01/70 00:00      
                  re: EEEEEK!!            01/01/70 00:00      
                     Well, now ...            01/01/70 00:00      
                        Wrong.            01/01/70 00:00      
                           It depends on where the data originated            01/01/70 00:00      
                           I'm not sure I get what you mean            01/01/70 00:00      
                              Sorry...            01/01/70 00:00      
                        Richard!!!            01/01/70 00:00      
                           did I say that?            01/01/70 00:00      
                              Yes            01/01/70 00:00      
                                 Hard to explain ...            01/01/70 00:00      
                                    Still no explanation to the "answer is wrong" vote            01/01/70 00:00      
                                       wasn't me, just curious            01/01/70 00:00      
                                          Richards            01/01/70 00:00      
                                       Ehh???            01/01/70 00:00      
                                       This site isn't equipped, and perhaps properly so ...            01/01/70 00:00      
                                          Linked in previous post by me            01/01/70 00:00      
                                             Yes, I got that ...            01/01/70 00:00      
                                          which is why            01/01/70 00:00      
                                             Re: Italics            01/01/70 00:00      
                           Yep! It must 'ave been the whiskey ...            01/01/70 00:00      
               But...            01/01/70 00:00      
                  Evaluation            01/01/70 00:00      
                     fortunately, many small projects can be "free"            01/01/70 00:00      
                     Oh.            01/01/70 00:00      
                        Maybe the rotate contents of upper-left box            01/01/70 00:00      
   took a peek and ...            01/01/70 00:00      
      Try...            01/01/70 00:00      
         looks good, what's the catch            01/01/70 00:00      
            Not Farnell!            01/01/70 00:00      
               can live with that and whats that            01/01/70 00:00      
                  Rebranded            01/01/70 00:00      
   One thing to keep in mind ...            01/01/70 00:00      
      This is *not* Eagle!            01/01/70 00:00      
         EasyPC            01/01/70 00:00      
            Is it true, then?            01/01/70 00:00      
         I'm merely pointing out ...            01/01/70 00:00      
            Errrm.            01/01/70 00:00      
               Maybe, but why would you switch then?            01/01/70 00:00      
                  Because...            01/01/70 00:00      
                     Yes, and that's really the only "good" version            01/01/70 00:00      
            Of course it is!            01/01/70 00:00      
               Well, my complaint is ...            01/01/70 00:00      
                  gentlemen, PLEASE            01/01/70 00:00      
                  EDA tools component libraries            01/01/70 00:00      
                     It's just not worth the bother ...            01/01/70 00:00      
                        per-design CPLD/FPGA symbols            01/01/70 00:00      
                           Ouch.            01/01/70 00:00      
                              Some companies likes few customers but large bills            01/01/70 00:00      
                              re: Ouch            01/01/70 00:00      
                           You're right on target            01/01/70 00:00      
                              FPGA pin swapping            01/01/70 00:00      
                                 What I've found ...            01/01/70 00:00      
                  Changing packages            01/01/70 00:00      
                     Depends on the number of pins, doesn't it?            01/01/70 00:00      
                        Because...            01/01/70 00:00      
                           In one of these posts ...            01/01/70 00:00      
                              Oh, Richard!            01/01/70 00:00      
   Thanks            01/01/70 00:00      
   demo??            01/01/70 00:00      
      Great...seems free..            01/01/70 00:00      
         Yes, it is Free            01/01/70 00:00      
            Free but..................            01/01/70 00:00      
               No, that's not true            01/01/70 00:00      
   Richard - is this where you're getting confused?            01/01/70 00:00      
      Isn't RS just another vendor?            01/01/70 00:00      
         Whatever happened to your principle...            01/01/70 00:00      
            Isn't this about free PCB software?            01/01/70 00:00      
               It was about a certain *specific* software            01/01/70 00:00      
                  Perhaps, but my point was ...            01/01/70 00:00      
      But subject line seems to indicate all free software            01/01/70 00:00      
         I'm just a little p*ssed off ... since it cost $1500 ...            01/01/70 00:00      
            Definitely penalty box            01/01/70 00:00      
               Had we not been "sucked in" by the "free" version ...            01/01/70 00:00      
                  How did you not notice??            01/01/70 00:00      
                  So you don't like Eagle-CAD - we have got the point            01/01/70 00:00      
                     Maybe Richard knows what he wants            01/01/70 00:00      
                        Dislike doesn't mean a product is worth zero            01/01/70 00:00      
                           Software is supposed to increase productivity            01/01/70 00:00      
                              So - you taping your boards?            01/01/70 00:00      
                                 Nope ... I don't do that either            01/01/70 00:00      
                                    Still bogus claim            01/01/70 00:00      
                                       Keep in mind what I do for a living            01/01/70 00:00      
                                          Now that *is* a good idea            01/01/70 00:00      
                                             Price of bandwidth - or simplicity of use            01/01/70 00:00      
                                                Viewing Schematics and Diagrams            01/01/70 00:00      
                           Software is not a car.            01/01/70 00:00      
                              Eagle            01/01/70 00:00      
                                 re: Eagle            01/01/70 00:00      
                                 Hobbyists like it because it's cheap, not because it's good            01/01/70 00:00      
                        The choice often isn't mine            01/01/70 00:00      
                           I gotta say, why haven't you told the makers?            01/01/70 00:00      
                              You think I was silent about that?            01/01/70 00:00      
   About DesignSpark PCB ...            01/01/70 00:00      
      EasyPC.            01/01/70 00:00      
         Autorouters            01/01/70 00:00      
            re: Autorouters            01/01/70 00:00      
         RE: Andy says            01/01/70 00:00      
            Andy Says ...            01/01/70 00:00      
               RE: Your "real" software            01/01/70 00:00      
                  "Real" Software            01/01/70 00:00      
      Has anyone worked with the schematic editor?            01/01/70 00:00      
   not related but.....            01/01/70 00:00      
      Placement            01/01/70 00:00      
         autorouter            01/01/70 00:00      
            autorouter - placing parts on both sides of the board            01/01/70 00:00      
               This looks like a classic example...            01/01/70 00:00      
                  And another thing...            01/01/70 00:00      
               Colour??            01/01/70 00:00      
                  It depends - RTFM            01/01/70 00:00      
                  Color of pads depends on surface mount or PTH components            01/01/70 00:00      
                  Layers            01/01/70 00:00      
                     got the point...            01/01/70 00:00      
   At Design Spark            01/01/70 00:00      
      There's a forum for that!            01/01/70 00:00      
      There's a Menu for that            01/01/70 00:00      
         OK..            01/01/70 00:00      

Back to Subject List