Re: [Xcircuit-dev] XSPICE output possible?
Brought to you by:
rtedwards
From: Matthew J. <jac...@co...> - 2006-02-11 19:09:33
|
R. Timothy Edwards wrote: > Dear M., > >> First off, I LOVE this program. I use it for just about everything I >> can because of the seamless transition from design / simulation to >> publication quality figure insertion. > > I don't know how many published circuits I've seen containing drawing > errors. Everyone knows that you always use the same source circuit > file to simulate and do LVS, but there's no such consensus that you > should always use the same source circuit file to simulate, do LVS, > AND publish. It's like they treat it as clip art or something. This is precisely what brought me to this tool to begin with. I was absolutely shocked to discover that very high-dollar, high-profile EDA tools (e.g. Cadence, Synopsys, etc.) produced awful graphical output without some convoluted, ineffective process. Toss in the fact that you can directly insert LaTeX into the schematic and it's a no-brainer. I must admit that I didn't initially use XCircuit for schematic capture. It was the most viable alternative to Dia, Visio, and Kivio. That being said, once I discovered the capability to produce SPICE compatible output, I haven't looked back. Again, I offer GREAT THANKS to those that have put forth so much effort into this project. > >> I am currently trying to use XCircuit to do some mixed-signal >> modeling and am having a difficult time generating the proper XSPICE >> syntax from the 'spice' line. >> >> For XSPICE, I have to deal with behavioral nodes which are vectorized >> [nodes must be in brackets] as shown below: >> >> XSPICE netlist - >> ainv1 [logic_input] [logic_output] xspice_inverter >> .model xspice_inverter inv1(blah blah blah) >> >> I have tried every possible permutation imaginable on the %p pin >> designation to get the brackets included in the output. If this is >> possible, I would be very thankful if someone would show me how. > > I take exception to your use of the phrase "every possible permutation", > since you missed the one that works. Dually noted .... > Anyway, it is helpful to understand > that the "usual" syntax, e.g., %pin %pout, is really just a shorthand > notation that relies on there being expected whitespace after the pin > name in the output file. In all other cases, the pin name should be > enclosed in quotes so that xcircuit knows, for example in your case, > that the pin name is "in" and not "in]". So, the correct xcircuit line > is: > > spice:ainv%i [%p"in"] [%p"out"] xspice_inverter > > I admit that's a bit subtle. > > Regards, > Tim That works like a charm. And it's much more intuitive than my 'work around' .... I did the following: spice: xinv%i %plogic_input %plogic_output my_inverter spice:.INCLUDE /some/directory/here/work_around.mod *//////////////////////////////////////////// * work_around.mod contents: *//////////////////////////////////////////// .subckt my_inverter input output ainv [input] [output] xspice_inverter .model xspice_inverter inv(blah blah blah) .ends Thanks again for the response. The 'correct' procedure is far more intuitive than my convoluted work around. Consequently, the capability to provide direct XSPICE compatible output allows for XCircuit to function as an effective schematic capture front end to a true mixed-mode simulation environment (I use ng-spice currently). That is nothing short of amazing! I don't fancy myself as a 'coder', but if ever I could offer a contribution of time to this project, please let me know. Thanks again for providing such a great tool! Matthew Jackson Hardware Design Engineer JT3 LLC |