The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> System Simulators >> use which tool to build the model for pll?
https://designers-guide.org/forum/YaBB.pl?num=1175823636

Message started by calven on Apr 5th, 2007, 6:40pm

Title: use which tool to build the model for pll?
Post by calven on Apr 5th, 2007, 6:40pm

 hi!i am a freshman in pll.i wonder which tool i should use to build the model for pll.my teacher told me to use spw,so i am learning it.is it a good tool for pll?i find it is designed for complex systems,is it?what can we benefit from spw compared with matlab?
 can anyone give me some advice,thanks!

Title: Re: use which tool to build the model for pll?
Post by mg777 on Apr 6th, 2007, 12:19am


AFAIK, SPW is an expert level tool for large designs, requiring an in-depth knowledge of writing and compiling C code. You'd use SPW when you have significant amounts of embedded target code that needs to be simulated in a system context.

Matlab is a simpler tool (from a price standpoint) that takes the pain out of matrix manipulation. It's got serious capability augmented by a number of toolboxes, and is routinely used by IC designers for system simulation. As a beginner I'd say go with Matlab. The choice of SPW needs to be made in the context of a design team tackling, for example, a large SoC.

M.G.Rajan
www.eecalc.com











Title: Re: use which tool to build the model for pll?
Post by calven on Apr 6th, 2007, 6:42am

 thanks a lot!
 in fact,i want to know the first step of designing a pll.must the behavior model be built?today, i tried to build a macromodel(maybe not right) just using cells offered by cadence .for example,i used the vco in functional lab,filter in the rfLib and so on.i want to replace these cells using the real cells.how about this process,what is the correct process?give me some help and advice!
  thanks!

Title: Re: use which tool to build the model for pll?
Post by Jess Chen on Apr 6th, 2007, 7:32am

I agree with mg777 regarding SPW. Unless you are in a digital signal processing class and perhaps already know how to use SPW, I think you'll find yourself spending most of your time learning SPW and very little of it learning about PLLs.

In my opinion, Matlab (or Mathematica) would be a good tool for studying the linear behavior of PLLs (loop gain, phase noise, settling time). You would use a linear phase domain model of your PLL. This model is extremely useful for analyzing or deriving PLL specifications but it masks some of the details. If you are taking a class in control theory, I'd use Matlab or Mathematica.

However, if want to learn about how a PLL works in more detail, I'd use a circuit simulator like SPICE or Spectre, preferably one that supports a behavioral modeling language, like VerilogA, VerilogAMS, or VHDL-AMS. If you are just starting out, you could construct behavioral models of the phase-frequency detector, charge pump, VCO, and divider and really see how everything works together. If you eventually want to swap your behavioral models with real circuits, you don't have much choice but to use a circuit simulator.

If you are taking a digital design course, you could even use Verilog or VHDL to model the PLL in a fair amount of detail. In fact, we often use a digital simulator because today's PLLs are mostly digital.

I would use a mixed signal behavioral language like VerilogAMS or VHDL-AMS because they gives you the best of both simulators (analog and digital).

Of course, a practical decision may have more to do with what tools you have at hand or time to learn.

-Jess

Title: Re: use which tool to build the model for pll?
Post by louiev on May 7th, 2007, 1:25am

Some questions to *maybe* help you decide which would be the "better" tool.

1. What do you need to model in the PLL? How much detail do you need?
2. Will the PLL be part of a larger system? How fast, how soon do you need the simulation to finish?
3. Is the PLL targeted for implementation? As pure analog? Pure digital? Mixed?

SPW is now called CoWare Signal Processing Designer (SPD). Essentially, it's a C-based dataflow simulator used to develop signal processing algorithms.

1. Since it's C-based, it runs in compiled mode compared to MATLAB's interpreted mode.
2. Since it's a dataflow simulator, it frees the designer from having to worry about scheduling how the different parts (e.g. phase detector, loop filter, VCO/NCO in this case) would be "executed" in the simulation. If you were to create a MATLAB (or C/C++ for that matter) program from scratch, you'd have to worry about implementing loops  (or counters), functions and their arguments, etc., etc.

"SPW is an expert level tool for large designs, requiring an in-depth knowledge of writing and compiling C code"
=> Well, that depends. If you were to use the blocks that SPD already provides (around 4,000) then you don't need to have in-depth knowledge. It's when you need to create your own blocks or re-use existing C/C++ code and take advantage of SPD's "polymodeling" technology that C/C++ knowhow would be required. (Polymodeling uses C++ polymorphism such that only one model would be required to handle different datatypes: floating-point, fixed point, integer, vector, matrix, etc.)


The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.