So i am designing this analog circuit, basically which can delay a singal (ac signal) by about 1ms. I am looking into the bucket brigade concept as invented by F.L.J.Sansgter back in the 1960s and 70s.
The circuit and basic topology can be found on these web pages:
(2.1 from here)
Basically, you have a row of Nmos or Pmos transistors turning on and off with two out of phase clock pulses at their gate. The source/drain is connected to a capacitor which stores the charges. So after a number of such stages, the signal gets delayed.
However, i am having trouble with Cadence simulating it. I have tried LTspice and Multisim, which show the simulation as a delay, but Cadence does not. This is important as for my custom IC i have to simulate and get it working in Cadence first and then do the LVS as well.
I am attaching the images from my design and simulation run.
I am using VPulse to generate the clocks.
I am using Vsin to generate a sine wave. The signal can be arbitrary as right now the aim is to get some sort of delay.
Transistors are the standard NMOS from the XH035 PRIMLIB family, as we are going to run for 350nm process.
The capacitors, resistors and ground are from the analogLib.
I have put in a filter at the end and on the simulation you can see the signal out with and without the filter.
Please help me analyze this. The weird thing is that it seems to be working in LTspice but not in Cadence. I have tried adding a source-follower at the signal out, but it still doesn't help.
Is there anything special i need to do?
Oh yes, i am using Cadence Virtuoso IC18.104.22.1680.13
In reply to Donatello:
First of all, there is no such tool "Cadence" (that's the Company name, not the name of any tool) - so which simulator are you trying to use?
Secondly, you can update pictures (one per post) by using the Options tab that you'll see at the top when you Reply to an Existing message (it's just under the words "Reply to an Existing message").
Almost impossible to help you without more details.
Did you really mean to have a 12.5 milliFarad capacitor on the output? That's enormous!
I didn't check the rest of the circuit, but that looks clearly wrong to me...
In reply to Andrew Beckett:
That's just for the filter, but i have also shown the signal before going into the filter.
When Spectre runs the simulation, does it assume the capacitance values in real time?
I don't understand your question about capacitance values in real time. What does that mean?
BTW, your buckets are also very small - 1 femtoFarad.
Thank you for your prompt replies, Andrew.
What i meant about real time capacitance was that do i need to do something with RCx to let Virtuoso know that it is simulation for real time?
What size of buckets do you recommend? I have tried picofarads but to no avail.
Also, the signal can be all in +ve region using DC offset, so that's not an issue. All i want is to see some sort of delay
I am not that familiar with doing BBD on chip (I quickly threw something together, but don't really have the time to debug a design issue) - I'd probably need to do more research and experiments than I have time to do (plus it is midnight where I am). I did think that you probably need to ensure that the clocks are non-overlapping, and maybe complementary switches would be a good idea. With the first stage, it seemed to work OK - you have to be a bit careful about charge sharing between the capacitance in the transistor and the actual storage capacitors - but after that I got a lot of deterioration (I tried connecting all the capacitors to ground too).
But I'm really just messing about - thinking about this properly would make more sense. Maybe you could ask in a more design-oriented forum such as on http://www.designers-guide.org ?
I still don't know what you mean by "real time capacitance" or letting "Virtuoso know that it is simulation for real time". The circuit simulator will simulate what will happen with the actual component values you've chosen - I've no idea what you're asking here.
Thanks for your response. I obviously don't want to put you in under any demand, any help on this forum is much appreciated.
Can you tell me what parameters you used for your design? I mean, this BBD has been done before and that too on CMOS, so i don't see why i shouldn't be able to do it. There were chips like Panasonic MN3xxx series and Reticon TDA1022, they work very well and their schematics show the same concept which i have tried.
I understand the transistor capacitance thing, but at the moment i am looking for some delay. As you can see my output signals are just clock glitches, no delay. My clocks are out of phase, i have shown the clock setting in the image. One clock is DC voltage 1 while other one has dc voltage 2.
Also, what do you mean by complementary switches?