while looking into some models of my design kit I stumbled upon this "bsource" component.
I then tried to instantiate one in a schematic, without success : I could not find any primitive with this name.
I reverted to the help to find out what a behavioural source is toghether with its many benefits when it comes to modeling.
My question : how can I create a component to be used in the schematic views, whose circuit is a bsource?
On a more general note, how can I "attach" a spectre netlist to a component, with symbol and properties?
Thanks for your help,
...hmm....Question too silly?
Any RTFM reply would also be appreciated...If you point me to the right one!
In reply to MicheleA:
In reply to Andrew Beckett:
thanks! I have found this in the mean time:
this will hopefully get me started :)
...and here I'm back again :)
So I was able to follow the FAQ item and now I have a nice new component with an underlying netlist.
I will then use such an approach wherever I need to use bsouces for my purposes...I still find it strange that the analogLib does not offer such components already for the GUI?
The challenge with having a bsource component in analogLib is that we need to prevent ADE trying to interpret the expression and finding (incorrect) design variables in the expression. This isn't impossible, but it just hasn't been done yet...
I think I understand what your point is...Actually, after the initial excitement for my success, I thought I would then like to create a component - basically a wrapper for the bsource - where I can input the nonlinear relationship between charge,flux,voltage...
But then I couldn't even in theory figure out how to handle this information without ADE getting in the way...
So I resorted to a much lower level but also sure way : for each component I intend to model with a bsource, I will create a new symbol with an underlying subcircut with a proper Spectre-level description.
I've got a potential solution to the issue you're describing here.
I created a component in my library called 'BSource' with a symbol and spectre view only (just copy a vsource symbol).
Then, I edited the CDF to have the following:
Component Parameter:Name: vPrompt: vType: StringParse as CEL: YesParse as Number: No
Simulation Information: spectreinstParameters: vtermOrder: PLUS MINUScomponentName: bsource
With this, I was able to instantiate a BSource subcircuit with the following parameter: v=sin(2*3.14159*(Fstart*$time+Fgain*$time*$time))
I then could start up ADE, have it pull the parameters Fstart and Fgain from the BSource instance and simulate a transient chip simulation.
In reply to markbeck:
thanks for the tip!
I am not a CAD engineer so in the mean time I shifted my focus on some other stuff, given that the subckt approach was doing what intended.
I will surely try your suggestion as soon as I have some space left, it looks interesting and I shall definitely deepen my understanding of the Cadence/Virtuoso framework.