RE: gEDA-user: simulation advice
That makes sense; thanks. > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of al davis > Sent: Wednesday, April 04, 2007 3:59 PM > To: geda-user@moria.seul.org > Subject: Re: gEDA-user: simulation advice > > On Wednesday 04 April 2007 10:54, David Kerber wrote: > > Do you mix your C and C++ projects' source code together > like that? I > > wouldn't. > > It is very common, mostly for using existing code. If you > are using C++, there is no advantage in having part of it in > C, but it does make sense as a way to use C libraries or legacy code. > > The gnucap spice model plugins are all C code with a C++ > wrapper. The C++ wrapper provides the correct interface, > both ways. The spice models are in C, because they were > written for spice which is C. > > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Wednesday 04 April 2007 10:54, David Kerber wrote: > Do you mix your C and C++ projects' source code together like > that? I wouldn't. It is very common, mostly for using existing code. If you are using C++, there is no advantage in having part of it in C, but it does make sense as a way to use C libraries or legacy code. The gnucap spice model plugins are all C code with a C++ wrapper. The C++ wrapper provides the correct interface, both ways. The spice models are in C, because they were written for spice which is C. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
Thanks; I'm beginning what you're getting at. > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of DJ Delorie > Sent: Wednesday, April 04, 2007 1:37 PM > To: geda-user@moria.seul.org > Subject: Re: gEDA-user: simulation advice > > > > Do you mix your C and C++ projects' source code together > like that? I > > wouldn't. > > Me, I use *.cc for C++. But, as the creator of DJGPP, I have > to deal with all the users who run GCC HELLO.C and can't > figure out why it doesn't work right. > > > > "cvs" is a program > > > "CVS" is a subdirectory for source control > > > > And that will still work unless they are both within the > same parent > > directory. If they are, then give the program a different > name or an > > extension. > > Yes, and the cvs source repository (used to build cvs itself) > needed a hack to get around this. > > > But if it's case insensitive, why shouldn't it preserve > whatever you > > type in? I use case to make names more readable, but like the > > convenience of not having to type it in camel-hump case for a > > quick-and-dirty script. > > Most of the problems we've seen revolve around wildcards and > findfirst/findnext type functionality. When you're case > insensitive, software and users get lazy about case, then > wildcards stop working right when you *do* care about case. > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
> Do you mix your C and C++ projects' source code together like that? I > wouldn't. Me, I use *.cc for C++. But, as the creator of DJGPP, I have to deal with all the users who run GCC HELLO.C and can't figure out why it doesn't work right. > > "cvs" is a program > > "CVS" is a subdirectory for source control > > And that will still work unless they are both within the same parent > directory. If they are, then give the program a different name or > an extension. Yes, and the cvs source repository (used to build cvs itself) needed a hack to get around this. > But if it's case insensitive, why shouldn't it preserve whatever you > type in? I use case to make names more readable, but like the > convenience of not having to type it in camel-hump case for a > quick-and-dirty script. Most of the problems we've seen revolve around wildcards and findfirst/findnext type functionality. When you're case insensitive, software and users get lazy about case, then wildcards stop working right when you *do* care about case. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
You can in XP, from both a command line and through explorer; I do it routinely. I don't think I've tried this in older versions, though. Dave > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Peter Clifton > Sent: Wednesday, April 04, 2007 12:04 PM > To: gEDA user mailing list > Subject: RE: gEDA-user: simulation advice > > > I agree here; it should keep whatever I type in for the case, and > > that's the way it has worked since at least windows 2000. > > What is extra-special annoying (and thank goodness I'm away > from Windows now), is you can't rename a file to different > case. Windows _refuses_ (because as far as its insensitive > test is concerned, the before and after names are the same). > > Peter > > > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
> I agree here; it should keep whatever I type in for the case, and that's the > way it has worked since at least windows 2000. What is extra-special annoying (and thank goodness I'm away from Windows now), is you can't rename a file to different case. Windows _refuses_ (because as far as its insensitive test is concerned, the before and after names are the same). Peter ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
> -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Samuel > A. Falvo II > Sent: Wednesday, April 04, 2007 11:21 AM > To: gEDA user mailing list > Subject: Re: gEDA-user: simulation advice > > On 4/4/07, David Kerber <[EMAIL PROTECTED]> wrote: > > I guess I should stop arguing this; I can live and work with either > > one as long as I know what's expected, even if it's not how I would > > have designed it... > > It's strongly preferred that .cc be used for C++ programs > instead of .C. I've also seen .cpp for this, though that might be more common on windows-based tools (I know it's not just M$). > Even so, case-sensitive filesystems have one thing that > case-insensitive filesystems lack: virtually automatic > support for UTF-8-encoded names with an absolute minimum of > code to do it. It can implement this with dumb byte-by-byte > comparisons. Either a chunk of memory matches, or it doesn't. That's a really good argument for case-sensitive file systems, and is the first one I've seen. That's not to say there aren't others, but that's the first one I've seen specifically described. Thanks for pointing this out. ... > I agree that case preservation is a good thing; however, a > full case-insensitive implementation is not worth the time > investment to "Get It Right For Everyone."(tm) I can imagine! Dave ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Apr 4, 2007, at 11:21 AM, Samuel A. Falvo II wrote: I guess I should stop arguing this; I can live and work with either one as long as I know what's expected, even if it's not how I would have designed it... It's strongly preferred that .cc be used for C++ programs instead of .C. I must not have gotten that memo. ;) -Dave -- Dave McGuire Port Charlotte, FL ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Apr 4, 2007, at 10:54 AM, David Kerber wrote: But I still don't understand why you would want your file system to see myapp.log as being a different file from myApp.log? foo.c is a C program foo.C is a C++ program Which does a Makefile choose first? And yes, gcc cares about case, so don't use wildcards. Do you mix your C and C++ projects' source code together like that? I wouldn't. Mixing languages in a single program is perfectly legitimate. I've done a ton of mixed C and FORTRAN development, for example, and I can certainly see situations in which mixed C and C++ development would be advantageous. -Dave -- Dave McGuire Port Charlotte, FL ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On 4/4/07, David Kerber <[EMAIL PROTECTED]> wrote: I guess I should stop arguing this; I can live and work with either one as long as I know what's expected, even if it's not how I would have designed it... It's strongly preferred that .cc be used for C++ programs instead of .C. Even so, case-sensitive filesystems have one thing that case-insensitive filesystems lack: virtually automatic support for UTF-8-encoded names with an absolute minimum of code to do it. It can implement this with dumb byte-by-byte comparisons. Either a chunk of memory matches, or it doesn't. Otherwise, you'll need to support crazy internationalization APIs when doing even the simplest of directory manipulations. For example, using toupper() to uppercase a filename for comparison purposes in OS/2 was _strongly_ discouraged because it failed to properly handle internationalization. Instead, they had a custom API just for this one, and only one, purpose: DosMapCase() if I recall correctly. I suspect Windows will have something similar. And I'm willing to bet you that the code behind DosMapCase() is more than a kilobyte in size, not counting all the internationalization tables. This leads to an interesting conundrum: if you need crazy internationalization functions to properly match filenames, but the internationalization database resides on disk, now you need a _default_ locale for the filesystem layer, thus now duplicating data and code further, something with which to bootstrap the desired locale with! Ouch. I agree that case preservation is a good thing; however, a full case-insensitive implementation is not worth the time investment to "Get It Right For Everyone."(tm) -- Samuel A. Falvo II ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
> -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of DJ Delorie > Sent: Wednesday, April 04, 2007 10:31 AM > To: geda-user@moria.seul.org > Subject: Re: gEDA-user: simulation advice > > > > But I still don't understand why you would want your file system to > > see myapp.log as being a different file from myApp.log? > > foo.c is a C program > foo.C is a C++ program > > Which does a Makefile choose first? And yes, gcc cares about > case, so don't use wildcards. Do you mix your C and C++ projects' source code together like that? I wouldn't. > > "cvs" is a program > "CVS" is a subdirectory for source control And that will still work unless they are both within the same parent directory. If they arey, then give the program a different name or an extension. > > I've been through all this with DJGPP. For years we dealt > with case insensitive filesystems. Really, the filesystem > shouldn't change on its own - I agree here; it should keep whatever I type in for the case, and that's the way it has worked since at least windows 2000. > it should be 100% case > sensitive (preferred), or at least 100% case insensitive, not > the mutant "case preserving" that MS chose. But if it's case insensitive, why shouldn't it preserve whatever you type in? I use case to make names more readable, but like the convenience of not having to type it in camel-hump case for a quick-and-dirty script. I guess I should stop arguing this; I can live and work with either one as long as I know what's expected, even if it's not how I would have designed it... ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
> But I still don't understand why you would want your file system to see > myapp.log as being a different file from myApp.log? foo.c is a C program foo.C is a C++ program Which does a Makefile choose first? And yes, gcc cares about case, so don't use wildcards. "cvs" is a program "CVS" is a subdirectory for source control I've been through all this with DJGPP. For years we dealt with case insensitive filesystems. Really, the filesystem shouldn't change on its own - it should be 100% case sensitive (preferred), or at least 100% case insensitive, not the mutant "case preserving" that MS chose. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
I can't believe I'm actually defending windows!! But here I go: windows doesn't (any more) change the case of file system items. I know that at one time, it wouldn't allow you to name folders with all caps, but not any more. But I still don't understand why you would want your file system to see myapp.log as being a different file from myApp.log? I find the possibility of having the same name with different cases being recognized as different, to be confusing as h***, whether we're talking about file system entries, or program variable names. Dave > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of DJ Delorie > Sent: Tuesday, April 03, 2007 4:00 PM > To: geda-user@moria.seul.org > Subject: Re: gEDA-user: simulation advice > > > I have enough problems with my word processor changing case > when I don't want it to, I certainly don't need my file > system doing it too. > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
[EMAIL PROTECTED] wrote: > It recently took me five minutes to sweet-talk openoffice into > letting me type "MHz" correctly. Yet another reason to use vi and troff instead of OO. > Good thing for me I rarely use word processors of any kind. > I'm a TeXhead from way back. So why were you using OO rather than TeX then? MS ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
al davis wrote: On Tuesday 03 April 2007 15:02, Patrick Doyle wrote: I'm a 20 year Unix veteran. I prefer case sensitivity :-) The issue here is not preference but conformance to a published standard (Verilog) or to an unwritten understanding in Spice. Actually, early versions of Spice (in Fortran) were case sensitive. A mix is annoying. The only reason I let it go in gnucap is "that part of the code is planned for major rework anyway". Specifically, there will be language plug-ins that will determine the syntax that is read, finally truly solving the spice compatibility problem. Actually ... I too prefer case sensitivity. I also prefer case sensitivity although this touches on something painful. Many tools, especially older ones, have more restrictive rules for things like net names and refdes names. So you have to be careful. As an example in gschem/gnetlist "R1" and "r1" are unique as are "Input" and "INPUT". There is a framework in gnetlist for mapping to a more restrictive format (for example by converting to uppercase and truncating to 8 characters if thats what a backend needs) while monitoring for collisions created by doing so. However I'm willing to bet that not all backends which need this functionality actually have this functionality. -Dan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tuesday 03 April 2007 17:05, Patrick Doyle wrote: > Speaking of patches, features, and recompiles... > I just typed "edit" at the Gnucap prompt for a somewhat > modified, but basically the same netlist as I gave you > previously, was rewarded with the netlist showing up in my > emacs, exited out, and got back a bunch of syntax errors > from Gnucap. > > I can give you more details if you would like. Known bug. Mostly in the snapshot. I know what it is. > I can take discussions of Gnucap misunderstandings and > irregularities to a different forum if you would like. There is a gnucap developer list (gnucap-devel@gnu.org) and a user help list (help-gnucap@gnu.org). ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
Since you mentioned it, and I didn't think of it before, it is easy to change it, so I did .. Here's the patch .. in the file "d_bjt.model" Find: public_keys { NPN polarity=pN; PNP polarity=pP; } Change it to: public_keys { NPN polarity=pN; PNP polarity=pP; NPN1 polarity=pN; PNP1 polarity=pP; } -- and recompile. Speaking of patches, features, and recompiles... I just typed "edit" at the Gnucap prompt for a somewhat modified, but basically the same netlist as I gave you previously, was rewarded with the netlist showing up in my emacs, exited out, and got back a bunch of syntax errors from Gnucap. I can give you more details if you would like. I can take discussions of Gnucap misunderstandings and irregularities to a different forum if you would like. --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
David - On Tue, Apr 03, 2007 at 04:52:52PM -0400, David Kerber wrote: > There's a much shallower option to add [MHz] to the dictionary, so it will > even correct it next time... Openoffice didn't just show it with a red squiggly underline, it actively changed it as soon as I typed it. How could I add it to the dictionary? Never mind. I don't really want to know. All I need to know is that vim never does that to me. - Larry ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
There's a much shallower option to add that to the dictionary, so it will even correct it next time... Dave > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > [EMAIL PROTECTED] > Sent: Tuesday, April 03, 2007 4:37 PM > To: gEDA user mailing list > Subject: Re: gEDA-user: simulation advice > > On Tue, Apr 03, 2007 at 04:00:24PM -0400, DJ Delorie wrote: > > > > I have enough problems with my word processor changing case when I > > don't want it to, I certainly don't need my file system > doing it too. > > It recently took me five minutes to sweet-talk openoffice > into letting me type "MHz" correctly. There is an option > deep in the menus to turn off auto-correction of this "mistake". > > Good thing for me I rarely use word processors of any kind. > I'm a TeXhead from way back. > >- Larry > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Apr 3, 2007, at 4:28 PM, Ryan Seal wrote: As a windows user who does java programming (which is case- sensitive), I can understand being used to it, but why would you actually prefer it? I can tell you why *I* prefer case-sensitivity. It makes sense. 'A' is simply not the same thing as 'a'. Even in something as imprecise as the English language, they are used differently. Making things insensitive to case involves expending effort to reduce accuracy...and that really seems dumb to me. I just had a "Windows flashback" thinking of case sensitivity. I was recently coerced into reviewing some VC++ code using VisualStudio - what a freaking nightmare. People speak of this IDE system as if it fell from the sky - it is actually the most unintuitive, complex piece of garbage I have ever laid eyes on. Case insensitivity is at the top of the PITA list for non-windows developers. Case sensitivity and code development (and general file/ directory organization for some) go hand in hand. Absolutely. Some VC++ "developers" actually hit puberty and become programmers. Some. -Dave -- Dave McGuire Port Charlotte, FL ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tue, Apr 03, 2007 at 04:00:24PM -0400, DJ Delorie wrote: > > I have enough problems with my word processor changing case when I > don't want it to, I certainly don't need my file system doing it too. It recently took me five minutes to sweet-talk openoffice into letting me type "MHz" correctly. There is an option deep in the menus to turn off auto-correction of this "mistake". Good thing for me I rarely use word processors of any kind. I'm a TeXhead from way back. - Larry ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
Dave McGuire wrote: On Apr 3, 2007, at 3:25 PM, David Kerber wrote: As a windows user who does java programming (which is case-sensitive), I can understand being used to it, but why would you actually prefer it? I can tell you why *I* prefer case-sensitivity. It makes sense. 'A' is simply not the same thing as 'a'. Even in something as imprecise as the English language, they are used differently. Making things insensitive to case involves expending effort to reduce accuracy...and that really seems dumb to me. I just had a "Windows flashback" thinking of case sensitivity. I was recently coerced into reviewing some VC++ code using VisualStudio - what a freaking nightmare. People speak of this IDE system as if it fell from the sky - it is actually the most unintuitive, complex piece of garbage I have ever laid eyes on. Case insensitivity is at the top of the PITA list for non-windows developers. Case sensitivity and code development (and general file/directory organization for some) go hand in hand. Ryan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
I have enough problems with my word processor changing case when I don't want it to, I certainly don't need my file system doing it too. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Apr 3, 2007, at 3:25 PM, David Kerber wrote: As a windows user who does java programming (which is case- sensitive), I can understand being used to it, but why would you actually prefer it? I can tell you why *I* prefer case-sensitivity. It makes sense. 'A' is simply not the same thing as 'a'. Even in something as imprecise as the English language, they are used differently. Making things insensitive to case involves expending effort to reduce accuracy...and that really seems dumb to me. -Dave -- Dave McGuire Port Charlotte, FL ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tuesday 03 April 2007 15:02, Patrick Doyle wrote: > I'm a 20 year Unix veteran. I prefer case sensitivity :-) The issue here is not preference but conformance to a published standard (Verilog) or to an unwritten understanding in Spice. Actually, early versions of Spice (in Fortran) were case sensitive. A mix is annoying. The only reason I let it go in gnucap is "that part of the code is planned for major rework anyway". Specifically, there will be language plug-ins that will determine the syntax that is read, finally truly solving the spice compatibility problem. Actually ... I too prefer case sensitivity. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On 4/3/07, David Kerber <[EMAIL PROTECTED]> wrote: As a windows user who does java programming (which is case-sensitive), I can understand being used to it, but why would you actually prefer it? habit, comfort, discipline, golly I've never really thought too much about it before. --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
RE: gEDA-user: simulation advice
As a windows user who does java programming (which is case-sensitive), I can understand being used to it, but why would you actually prefer it? Dave > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Doyle > Sent: Tuesday, April 03, 2007 3:03 PM > To: gEDA user mailing list > Subject: Re: gEDA-user: simulation advice > > On 4/3/07, al davis <[EMAIL PROTECTED]> wrote: > > One more point ... > > > > Node names are case sensitive. > > > > I suppose I should change it, but that part of the code is > planned for > > major rework anyway, and Verilog is supposed to be case sensitive. > > I'm a 20 year Unix veteran. I prefer case sensitivity :-) > > --wpd > > > ___ > geda-user mailing list > geda-user@moria.seul.org > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On 4/3/07, al davis <[EMAIL PROTECTED]> wrote: One more point ... Node names are case sensitive. I suppose I should change it, but that part of the code is planned for major rework anyway, and Verilog is supposed to be case sensitive. I'm a 20 year Unix veteran. I prefer case sensitivity :-) --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
One more point ... Node names are case sensitive. I suppose I should change it, but that part of the code is planned for major rework anyway, and Verilog is supposed to be case sensitive. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On 4/3/07, al davis <[EMAIL PROTECTED]> wrote: On Tuesday 03 April 2007 14:08, al davis wrote: > It still gets a warning on the "NK" > parameter, and ignores it. That is the same in gnucap or > ngspice, or in gnucap with spice3f5 of ngspice models. Actually, it is a one-liner to add the parameter. I don't know what it does. It is probably easy to add that too, but I don't know. Thanks... I just removed that line from my model file, which seems like an even simpler solution. BTW, I applied the patch you suggested and I'm now up and running in Gnucap. I still don't know why the simulation doesn't match my observations on the real HW, but I'm getting closer now. I expect that the ability to probe voltages at various nodes in my circuit and compare them to the actual observations will help a lot here. Thanks again. --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tuesday 03 April 2007 14:08, al davis wrote: > It still gets a warning on the "NK" > parameter, and ignores it. That is the same in gnucap or > ngspice, or in gnucap with spice3f5 of ngspice models. Actually, it is a one-liner to add the parameter. I don't know what it does. It is probably easy to add that too, but I don't know. To add the parameter so you don't get a warning, again in d_bjt.model Somewhere in model BJT { . independent { .. raw_parameters { // add the line: double nk "don't know what this is" name=NK; .. and you won't see that warning because now NK is a recognized parameter. I am not doing it in the official one but you can. There are a few rough spots in the .model files. I am not fixing them unless they are big problems because I want to change them all to Verilog-AMS. I want to minimize work on the detour so I can work on the real thing. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
The reason it works with ng-spice and not gnucap is that it was written for ng-spice not gnucap. Gnucap doesn't have levels for the BJT unless you use plugins. You uncovered a bug that came about with the plugins -- in how it handles that. The old version would just ignore the level keyword. The current one got an error because it only found a "PNP" with no level, as opposed to a PNP level 1. The bug is that the arrow points to the wrong place. Spice 3f5 would not accept the level either. It still gets a warning on the "NK" parameter, and ignores it. That is the same in gnucap or ngspice, or in gnucap with spice3f5 of ngspice models. Since you mentioned it, and I didn't think of it before, it is easy to change it, so I did .. Thanks... I'll go apply the patch, thus answering my question whether I should be running a development snapshot or a release snapshot -- 2 answers for the price of one question, very economical :-) Then you have the ".include Simulation.cmd" in the middle of the circuit description. That's an artifact of "gnetlist spice-sdb" -- I'm not sure how it decides where to put the .INCLUDE directives, but in the limited (3 or so) examples at which I've looked, they seem to show up somewhere in the middle. Inside it, you have the print after the tran command. That's an artifact of me trying to figure out how to use ngspice in batch mode. When I first started playing with my circuit, I loaded it into ngspice, executed the "OP" command, printed voltages out at various nodes, typed "quit", typed "yes" when I was asked if I really wanted to quit, and got tired of all of that typing. So I tried putting the OP command into the script, but when I read the documentation for the .PRINT command, it didn't seem like it supported a PRTYPE of OP (I guess I could have just tried it -- maybe I did). So I changed to a transient analysis with the thinking that I just wanted to print out the steady state value at the end. Putting the simulation commands in the middle of the circuit description gives you a simulation of the part of the circuit you have up to that point. It works, but gives a different result than the whole circuit would. This is another difference between gnucap and spice. The gnucap way allows you to build a circuit in steps and test after each step. Build part, test it, build another stage, test it. Or .. build it, test it, change it, test again, ... You can't do this in spice. That's cool. Thanks once again... --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tuesday 03 April 2007 11:17, Patrick Doyle wrote: > ok, attached (perhaps) is a tarball of my work-in-progress > directory, including my gschem schematic, my models > directory, my Makefile that runs gnetlist (and ngspice). I > just checked before I packaged it up, and my version of > Gnucap still doesn't like the netlist when I invoke it as: > > $ gnucap mictest.ckt The reason it works with ng-spice and not gnucap is that it was written for ng-spice not gnucap. Gnucap doesn't have levels for the BJT unless you use plugins. You uncovered a bug that came about with the plugins -- in how it handles that. The old version would just ignore the level keyword. The current one got an error because it only found a "PNP" with no level, as opposed to a PNP level 1. The bug is that the arrow points to the wrong place. Spice 3f5 would not accept the level either. It still gets a warning on the "NK" parameter, and ignores it. That is the same in gnucap or ngspice, or in gnucap with spice3f5 of ngspice models. Since you mentioned it, and I didn't think of it before, it is easy to change it, so I did .. Here's the patch .. in the file "d_bjt.model" Find: public_keys { NPN polarity=pN; PNP polarity=pP; } Change it to: public_keys { NPN polarity=pN; PNP polarity=pP; NPN1 polarity=pN; PNP1 polarity=pP; } -- and recompile. There is a way to make it as a plugin, so you don't need to recompile, but I will skip it for now. This model would have problems with the old version because of the extra blank lines embedded between extended lines. There is no spec on the spice format, so I made it to what seemed correct, it worked for everything I did. Later, I found out that spice allows blank lines and comments inside extended lines. That is fixed in the snapshot. The old one is an example of where, although it isn't really a bug, the compatibility isn't perfect. It underscores a big reason why moving away from the spice format is long overdue. Then you have the ".include Simulation.cmd" in the middle of the circuit description. Inside it, you have the print after the tran command. You need to put that before, because in gnucap that means "attach probes here". So you get a transient run with no instrumentation hooked up. That (the commands) are another place where the compatibility is not perfect. The way gnucap does it brings in big advantages with the ability to do multiple analyses that I don't want to give up. I really need to write up that class-B amplifier example to show why. Putting the simulation commands in the middle of the circuit description gives you a simulation of the part of the circuit you have up to that point. It works, but gives a different result than the whole circuit would. This is another difference between gnucap and spice. The gnucap way allows you to build a circuit in steps and test after each step. Build part, test it, build another stage, test it. Or .. build it, test it, change it, test again, ... You can't do this in spice. Usually I prefer not to put commands in with the circuit description anyway. For real work, either I run it interactively or make the command script a separate file from the circuit. I like being able to do it either way. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
> 3) I fetched the spice model for an MMBT3640 from > Fairchild, and saw that my simple circuit loaded up in > ngspice, but when I attempt to load it in Gnucap, I get: > > * gnetlist -g spice-sdb -s -o mictest.ckt mictest.sch > .MODEL MMBT3640 PNP LEVEL = 1 IS= 1.41E-15 ISE > ^ ? no match > > (Note that the "^ ? no match" points to the word PNP in the > line above. That's wierd. It should work. PNP should find the native BJT model. That kind of message could mean you need to "attach" a model, but it doesn't here. It should work. Send it to me and I will look at it. ok, attached (perhaps) is a tarball of my work-in-progress directory, including my gschem schematic, my models directory, my Makefile that runs gnetlist (and ngspice). I just checked before I packaged it up, and my version of Gnucap still doesn't like the netlist when I invoke it as: $ gnucap mictest.ckt --wpd mictest.tgz Description: GNU Zip compressed data ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Tuesday 03 April 2007 09:51, Patrick Doyle wrote: > > With gnucap you can use "fault", "modify", "param" to > 1) How would I model a switch? The switch device? Type "S". (Same as Spice) > 2) Did I forget a switch when I built Gnucap that would > enable an X windows plot, or does Gnucap only support ASCII > plots? Gnucap only directly supports ASCII plots. If you want a nice plot, use "gwave". I plan to make it hook up automatically, but for now you need to do: print ac ... ac 20 20k oct 10 >some_file !gwave some_file (notice ... the "print" command, not "plot") You should be able to do: ac 20 20k oct 10 | gwave but gwave doesn't work in a pipe. > 3) I fetched the spice model for an MMBT3640 from > Fairchild, and saw that my simple circuit loaded up in > ngspice, but when I attempt to load it in Gnucap, I get: > > * gnetlist -g spice-sdb -s -o mictest.ckt mictest.sch > .MODEL MMBT3640 PNP LEVEL = 1 IS= 1.41E-15 ISE > ^ ? no match > > (Note that the "^ ? no match" points to the word PNP in the > line above. That's wierd. It should work. PNP should find the native BJT model. > Does this mean I need to "attach" to an ngspice model > somehow? If so, how? That kind of message could mean you need to "attach" a model, but it doesn't here. It should work. Send it to me and I will look at it. How to attach a model is with the attach command. "attach my_model.so" This is in the manual. There is a tutorial supplied in the tarball, but it needs updating. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
With gnucap you can use "fault", "modify", "param" to interactively change component values. You can also sweep them with the "DC" command. Spice can sweep sources. Gnucap can sweep any single value. How about .. "R1 (2 4) foo" param foo=10k op param foo=47l That sounds _exactly_ like what I was looking for. Having played a little more with Gnucap, I have a few more beginner's questions... 1) How would I model a switch? 2) Did I forget a switch when I built Gnucap that would enable an X windows plot, or does Gnucap only support ASCII plots? 3) I fetched the spice model for an MMBT3640 from Fairchild, and saw that my simple circuit loaded up in ngspice, but when I attempt to load it in Gnucap, I get: * gnetlist -g spice-sdb -s -o mictest.ckt mictest.sch .MODEL MMBT3640 PNP LEVEL = 1 IS= 1.41E-15 ISE ^ ? no match (Note that the "^ ? no match" points to the word PNP in the line above. Does this mean I need to "attach" to an ngspice model somehow? If so, how? Once again, thank you for your patience and your help. --wpd ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: simulation advice
On Monday 02 April 2007 21:54, Patrick Doyle wrote: > OK, now that I have the slightest inkling of an idea of what > I'm doing, I thought I would ask for some direction... > > I want to model a fairly simple circuit consisting of a > handful of R's and C's, a transistor, a diode, a couple of > microphones (which I'm planning on modeling as current > sinks), and a couple of switches. I want to measure the > simulated voltages at a couple of points in the circuit as a > function of how the switches are set. If I could see the > range of voltages over temperature and tolerances of the > parts, that would be icing on the cake. With gnucap you can use "fault", "modify", "param" to interactively change component values. You can also sweep them with the "DC" command. Spice can sweep sources. Gnucap can sweep any single value. How about .. "R1 (2 4) foo" param foo=10k op param foo=47l op or ... "dc R1 100 1000k dec 5" > It's the "couple of switches" part that I'm not too sure > about (as well as the "over temperature and tolerances"). > From what I've learned, I think I might want to perform an OP > analysis, but I'm not sure. "op" in gnucap takes arguments .. it can sweep temperature. R's and C's (and most other components) can have temperature coefficients in gnucap, easily. There is a way to do it in ngspice, but it is harder. > I can figure out how to model > one of the switches as a PULSE current source or two > (switching between the current draw of one microphone, zero, > and the other microphone), but I'm not sure how to model an > on/off switch. I think if I go that route, I would want to > perform a TRAN analysis instead of an OP. Does that sound > right? I don't understand the question. Use tran when you want a time domain response. > Is this where I might want to use Gnucap over ngspice? Does > it offer scripting capabilities that I might want to use? Both offer some, but they are different. > How do folks use the simulation tools in real life? Do you > do things like this? Am I (as is somewhat typical of me) > trying to use a tool meant to be a power saw as if it were a > hammer? What you are doing is really simple compared to what advanced users do. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user