Hi all,
sorry if this is a dumb question, but can you change the color of
wires individually?
eg can i have some brown ones, some red and some green, in the same
drawing?
and thickness also.
cheers,
derek
vk5zre
Matt,
may I congratulate you on 'TinyCAD' - I have used a few
schematic editors in the past, and TinyCAD is a joy to use.
A couple of comments & suggestions - I hope I have filtered out
the 'personal preferences' -
Minor 'features' -
a) when you copy & paste certain symbols (eg, RESISTOR from the
switches lib) the symbol shape is altered - side of the resistor is
pushed in towards the centre - is it just me?
b) when you copy a label, the reference point seems to shift, so that
the copy doesn't seem to line up to the grid anymore - is this a
Windoze-related thing?
c) when editing a component placed on a diagram, the L,R,U,D,M
buttons don't seem to work from the keyboard - unless one of them is
already the current focus...
Comments - Wishlist -
Its a shame that you can't edit the placement of the symbol name and
part number <<on the library symbol>>, so that they appear in the
same relative placement every time you place that component!
It would be nice if we could change the colour of the background - I
find white a bit of a strain after a while - I know this would also
require the ability to alter the colour of component outlines, etc,
too, so there is perhaps more to this than 'meets the eye'...
I noticed a discussion about hierarchical diagrams - I think this
would only be useful if the diagram could have 'pins', and
essentially become a component - then something like a repeated input
stage could be drawn once, and copied as a 'hierarchical component' -
also has the advantage that there is only one place to edit if you
use the circuit block a lot... is this what you have in mind?
Symbol bodies - it seems that the body of each part of a symbol must
be the same - eg, an inverter pack has all inverters with the same
triangular body, etc - it would be good to have the ability to define
different parts of the same component with different body shapes -
eg, a 4053 CMOS switch, with 2 switch parts, a control part, and a
power supply part - or a modem chip, with separate Tx, Rx and control
parts - what do you think? I guess one approach from the 'database'
point of view would be to define each of the component parts like a
separate component, and link together, using a new 'same\diff'
database field to indicate to the software if all parts in the
component were identical or not...
Ability to highlight all wires on a net, or list them would be
useful...
Thanks again - I only wish my C++ programming was up to scratch, so I
could contribute more to the project!
Can you send me a private email address
that doesn’t get published openly? I would like to discuss a potential
business opportunity with you with information that I don’t want to
release publicly at this time.
Thanks,
Don
From:Matt Pyne [mailto:matt.pyne@...] Sent: Wednesday, January 26, 2005
3:46 PM To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice
Don,
I have
actually done quite a bit of work on the conditional SPICE file generation,
however, it will take me about another week to finish off. I have been
very busy recently, so although I managed to start the work I got
interrupted. However, next week I will have a lot more time on my hands
in the evenings.
TinyCAD is
licensed under the LGPL, which means that if you link against it you
don’t have to release the source code. So if you can put all of
your code into a separate DLL and then link that against the main executable
you don’t need to release your bits – but you do have to make any
changes to the main executable (including those to load the DLL) available on
request.
If you wish to
licence TinyCAD then I have already licensed it to another 3rd party
before. So I am willing to consider an offer – however from what
you are saying I suggest you try and put your bits into a separate DLL as it
would make more sense for you.
Also, I
don’t know how popular you web-site is but I make around $8 a day from
Google adverts on my site – OK it’s not going to pay the rent, but
it does cover things like internet access and new computer equipment.
Hope this
helps, and I will try and contact you later next week with a new version of
TinyCAD for you to try…
Matt.
From:Don Lucas [mailto:Don.Lucas@...]
Sent: 26 January 2005 14:17 To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice Importance: High
Hi Matt –
Have you had any further
thoughts on implementing the conditional evaluation features in the Spice
netlister module? If you are interested in doing this, when might it be
possible to test it?
How does the OpenSource
license work? Can I include it without restriction in a product that will
be sold to others, or is that something that you and would have to work out a
private license for? I am interested either way.
My block diagram
translator will be ready soon to put on the market. It will be of
interest primarily to DSP programmers and designers. This is not a big
money effort, but a small effort not unlike TinyCAD. Only problem is that
I have to charge for the program in order to justify the time that I am
spending on it. This is why I am interested in licensing a sellable
version direct from you. No exclusivity or anything like that, just a
license to include your unmodified executable and libraries (although our own
libraries will most likely be the only ones usable by our customers).
I have mentioned this to
some of my potential users who have been alpha and beta site testing my code
and they are very interested in a TinyCAD implementation.
Best regards,
Don Lucas
Orikon Solutions, LLC
From:Matt Pyne [mailto:matt.pyne@...] Sent: Sunday, January 09, 2005
9:24 AM To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice
Don,
I don’t think what you are suggesting would take terribly
long to implement. I also don’t think it is that
unreasonable. I will have a look at it for you.
I am working on hierarchical drawings at the moment. I have a
plan for implementing them, and hopefully they will be in the next release
(whenever that is…).
Thanks for the support,
Matt.
From:Don Lucas [mailto:Don.Lucas@...]
Sent: 09 January 2005 00:16 To:Matt
Pyne Cc:Matt
Pyne Subject: [tinycad] Conditional
parameter evaluation in Spice
Hi Matt –
I recently found out about TinyCAD
and am trying to convert some software that I have written to be compatible
with it. In order to do this, I need to be able to use conditional
evaluation primitives for Spice. My application is not really a Spice
application, but I found that I could hijack the Spice netlister in most
schematic capture packages to extract the information that I need. My
actual application is a graphical block diagram editor that in conjunction with
a compiler that I wrote, generates TI DSP code for fixed point DSP’s.
The capabilities that I need that I
haven’t found in TinyCAD’s implementation of the Spice netlister
are:
1.Category: Basic if-then-else
capability.
Purpose: the ability to determine if a schematic symbol primitive exists
or not (presumably the user added an optional parameter to a library symbol in his
schematic) and if it does exist, add some primitives to the Spice
template. I also need the “else” clause in order to add
primitives if it is does not exist. This capability needs to be able to
nest in order to implement more complex logic decisions roughly corresponding
to the capabilities the C language “switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter
“Value” has not been defined)
2.Category: Basic if-then-else capability:
Purpose: the ability to determine if a schematic symbol primitive has a
defined value, or if it is empty. This basically corresponds to 1) above
except that it presumes that the parameter *does*
exist and it is only checking to see if the user entered a value into the
parameter or not. Again, this needs full nesting capability as in 1)
above.
Possible Implementation: ?$(Value, model text if parameter
“Value” has a value defined (even the default value), model text if
parameter “Value” does not have a value defined)
3.Category: Basic if-then-else
capability:
Purpose: The ability to determine if a pin was connected to a net, or if
it was left floating. The result of this test is to either include some
primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a net,
model text if pin #1 was left floating)
4.Category: Extremely nice to
have, but not absolutely required.
Purpose: Makes Spice models of large libraries easier to maintain and
easier to understand. The ability to use a pin’s name rather than
its number in the Spice template. For example, if pin 1 of a schematic
symbol had the name “CLK”, then instead of using %(1) to get the
net name attached to pin 1, you would also be able to use %(CLK). This
makes the Spice netlist for large pin count devices much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have the
same results as ?%(1,%(1), Default_CLK_Net).
5.Category: Grammar
compatibility.
Purpose: After implementing 1-4 above, you may need to implement some
basic escape sequences such as “\,”, “\?”, and
“\$” in order to support embedding these special characters into
Spice models without being interpreted as one of the above evaluation
primitives. An escaped character would never be interpreted as one of the
sequences above.
6.Category: Very nice to have,
but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very useful
for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to another
TinyCAD schematic. Match pin names on the upper level schematic symbol
with identical net names on the referenced schematic to create a flattened net
list during Spice netlist creation. Retain the top level net name to name
the flattened net after creating the flattened net list.
These capabilities exist and are
used in other schematic capture packages for use with Spice such as the old
Microsim PSpice that now belongs to Mentor/OrCAD.
If you have any interest in
implementing these features, please let me know. The software package
that I wrote that I would like to use with TinyCAD has not been sold
commercially, but was developed for in-house use. I am presently
considering what to do with it, as it has become a very useful and mature
tool. My options are somewhat limited because it depends on very
expensive schematic capture packages presently.
I have actually done quite a bit of work
on the conditional SPICE file generation, however, it will take me about
another week to finish off. I have been very busy recently, so although I
managed to start the work I got interrupted. However, next week I will have a
lot more time on my hands in the evenings.
TinyCAD is licensed under the LGPL, which
means that if you link against it you don’t have to release the source
code. So if you can put all of your code into a separate DLL and then link
that against the main executable you don’t need to release your bits –
but you do have to make any changes to the main executable (including those to
load the DLL) available on request.
If you wish to licence TinyCAD then I have
already licensed it to another 3rd party before. So I am willing to
consider an offer – however from what you are saying I suggest you try
and put your bits into a separate DLL as it would make more sense for you.
Also, I don’t know how popular you
web-site is but I make around $8 a day from Google adverts on my site –
OK it’s not going to pay the rent, but it does cover things like internet
access and new computer equipment.
Hope this helps, and I will try and
contact you later next week with a new version of TinyCAD for you to try…
Matt.
From:
Don Lucas [mailto:Don.Lucas@...] Sent: 26 January 2005 14:17 To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice Importance: High
Hi Matt –
Have you had any further
thoughts on implementing the conditional evaluation features in the Spice
netlister module? If you are interested in doing this, when might it be
possible to test it?
How does the OpenSource
license work? Can I include it without restriction in a product that will
be sold to others, or is that something that you and would have to work out a
private license for? I am interested either way.
My block diagram
translator will be ready soon to put on the market. It will be of
interest primarily to DSP programmers and designers. This is not a big
money effort, but a small effort not unlike TinyCAD. Only problem is that
I have to charge for the program in order to justify the time that I am spending
on it. This is why I am interested in licensing a sellable version direct
from you. No exclusivity or anything like that, just a license to include
your unmodified executable and libraries (although our own libraries will most
likely be the only ones usable by our customers).
I have mentioned this to
some of my potential users who have been alpha and beta site testing my code
and they are very interested in a TinyCAD implementation.
Best regards,
Don Lucas
Orikon Solutions, LLC
From:Matt Pyne [mailto:matt.pyne@...]
Sent: Sunday, January 09, 2005
9:24 AM To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice
Don,
I
don’t think what you are suggesting would take terribly long to
implement. I also don’t think it is that unreasonable. I will
have a look at it for you.
I am
working on hierarchical drawings at the moment. I have a plan for
implementing them, and hopefully they will be in the next release (whenever
that is…).
Thanks
for the support,
Matt.
From:Don Lucas [mailto:Don.Lucas@...] Sent: 09 January 2005 00:16 To:Matt
Pyne Cc:Matt
Pyne Subject: [tinycad] Conditional
parameter evaluation in Spice
Hi Matt –
I recently found out
about TinyCAD and am trying to convert some software that I have written to be
compatible with it. In order to do this, I need to be able to use
conditional evaluation primitives for Spice. My application is not really
a Spice application, but I found that I could hijack the Spice netlister in
most schematic capture packages to extract the information that I need.
My actual application is a graphical block diagram editor that in conjunction
with a compiler that I wrote, generates TI DSP code for fixed point DSP’s.
The capabilities that I
need that I haven’t found in TinyCAD’s implementation of the Spice
netlister are:
1.Category: Basic
if-then-else capability.
Purpose: the ability to determine if a schematic symbol primitive exists
or not (presumably the user added an optional parameter to a library symbol in
his schematic) and if it does exist, add some primitives to the Spice
template. I also need the “else” clause in order to add
primitives if it is does not exist. This capability needs to be able to
nest in order to implement more complex logic decisions roughly corresponding
to the capabilities the C language “switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter
“Value” has not been defined)
2.Category: Basic
if-then-else capability:
Purpose: the ability to determine if a schematic symbol primitive has a
defined value, or if it is empty. This basically corresponds to 1) above
except that it presumes that the parameter *does*
exist and it is only checking to see if the user entered a value into the
parameter or not. Again, this needs full nesting capability as in 1)
above.
Possible Implementation: ?$(Value, model text if parameter
“Value” has a value defined (even the default value), model text if
parameter “Value” does not have a value defined)
3.Category: Basic
if-then-else capability:
Purpose: The ability to determine if a pin was connected to a net, or if
it was left floating. The result of this test is to either include some
primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a net,
model text if pin #1 was left floating)
4.Category: Extremely
nice to have, but not absolutely required.
Purpose: Makes Spice models of large libraries easier to maintain and
easier to understand. The ability to use a pin’s name rather than
its number in the Spice template. For example, if pin 1 of a schematic
symbol had the name “CLK”, then instead of using %(1) to get the
net name attached to pin 1, you would also be able to use %(CLK). This
makes the Spice netlist for large pin count devices much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have the
same results as ?%(1,%(1), Default_CLK_Net).
5.Category: Grammar
compatibility.
Purpose: After implementing 1-4 above, you may need to implement some
basic escape sequences such as “\,”, “\?”, and
“\$” in order to support embedding these special characters into
Spice models without being interpreted as one of the above evaluation
primitives. An escaped character would never be interpreted as one of the
sequences above.
6.Category: Very nice
to have, but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very useful
for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to another
TinyCAD schematic. Match pin names on the upper level schematic symbol
with identical net names on the referenced schematic to create a flattened net
list during Spice netlist creation. Retain the top level net name to name
the flattened net after creating the flattened net list.
These capabilities exist
and are used in other schematic capture packages for use with Spice such as the
old Microsim PSpice that now belongs to Mentor/OrCAD.
If you have any interest
in implementing these features, please let me know. The software package
that I wrote that I would like to use with TinyCAD has not been sold
commercially, but was developed for in-house use. I am presently
considering what to do with it, as it has become a very useful and mature
tool. My options are somewhat limited because it depends on very
expensive schematic capture packages presently.
OK - That's good news!
Matt.
-----Original Message-----
From: Mike Goldberg [mailto:gdimike@...]
Sent: 26 January 2005 15:40
To: tinycad@...
Subject: [tinycad] Re: Symbols
Sorry, please ignore the "nothing happens" message. Pure operator
error. I can both edit and create parts.
--- In tinycad@..., "Mike Goldberg" <gdimike@y...> wrote:
>
> Hi,
>
> When I right click on the thumbnail view nothing happens. No popup
> menu appears, there is nothing. Am I doing something wrong?
>
> Mike
>
Yahoo! Groups Links
Sorry, please ignore the "nothing happens" message. Pure operator
error. I can both edit and create parts.
--- In tinycad@..., "Mike Goldberg" <gdimike@y...> wrote:
>
> Hi,
>
> When I right click on the thumbnail view nothing happens. No popup
> menu appears, there is nothing. Am I doing something wrong?
>
> Mike
>
Have you had any further thoughts on
implementing the conditional evaluation features in the Spice netlister
module? If you are interested in doing this, when might it be possible to
test it?
How does the OpenSource license
work? Can I include it without restriction in a product that will be sold
to others, or is that something that you and would have to work out a private
license for? I am interested either way.
My block diagram translator will be ready
soon to put on the market. It will be of interest primarily to DSP
programmers and designers. This is not a big money effort, but a small
effort not unlike TinyCAD. Only problem is that I have to charge for the
program in order to justify the time that I am spending on it. This is
why I am interested in licensing a sellable version direct from you. No
exclusivity or anything like that, just a license to include your unmodified
executable and libraries (although our own libraries will most likely be the
only ones usable by our customers).
I have mentioned this to some of my
potential users who have been alpha and beta site testing my code and they are
very interested in a TinyCAD implementation.
Best regards,
Don
Lucas
Orikon Solutions, LLC
From:Matt Pyne [mailto:matt.pyne@...] Sent: Sunday, January 09, 2005
9:24 AM To:tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice
Don,
I don’t
think what you are suggesting would take terribly long to implement. I
also don’t think it is that unreasonable. I will have a look at it
for you.
I am working
on hierarchical drawings at the moment. I have a plan for implementing
them, and hopefully they will be in the next release (whenever that is…).
Thanks for the
support,
Matt.
From:Don Lucas [mailto:Don.Lucas@...]
Sent: 09 January 2005 00:16 To:Matt
Pyne Cc:Matt
Pyne Subject: [tinycad] Conditional
parameter evaluation in Spice
Hi Matt –
I recently found out about TinyCAD
and am trying to convert some software that I have written to be compatible
with it. In order to do this, I need to be able to use conditional
evaluation primitives for Spice. My application is not really a Spice
application, but I found that I could hijack the Spice netlister in most
schematic capture packages to extract the information that I need. My
actual application is a graphical block diagram editor that in conjunction with
a compiler that I wrote, generates TI DSP code for fixed point DSP’s.
The capabilities that I need that I
haven’t found in TinyCAD’s implementation of the Spice netlister
are:
1.Category: Basic if-then-else
capability.
Purpose: the ability to determine if a schematic symbol primitive exists
or not (presumably the user added an optional parameter to a library symbol in
his schematic) and if it does exist, add some primitives to the Spice
template. I also need the “else” clause in order to add
primitives if it is does not exist. This capability needs to be able to
nest in order to implement more complex logic decisions roughly corresponding
to the capabilities the C language “switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter
“Value” has not been defined)
2.Category: Basic if-then-else
capability:
Purpose: the ability to determine if a schematic symbol primitive has a
defined value, or if it is empty. This basically corresponds to 1) above
except that it presumes that the parameter *does*
exist and it is only checking to see if the user entered a value into the
parameter or not. Again, this needs full nesting capability as in 1)
above.
Possible Implementation: ?$(Value, model text if parameter “Value”
has a value defined (even the default value), model text if parameter
“Value” does not have a value defined)
3.Category: Basic if-then-else
capability:
Purpose: The ability to determine if a pin was connected to a net, or if
it was left floating. The result of this test is to either include some
primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a net,
model text if pin #1 was left floating)
4.Category: Extremely nice to
have, but not absolutely required.
Purpose: Makes Spice models of large libraries easier to maintain and
easier to understand. The ability to use a pin’s name rather than
its number in the Spice template. For example, if pin 1 of a schematic
symbol had the name “CLK”, then instead of using %(1) to get the
net name attached to pin 1, you would also be able to use %(CLK). This
makes the Spice netlist for large pin count devices much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have the
same results as ?%(1,%(1), Default_CLK_Net).
5.Category: Grammar
compatibility.
Purpose: After implementing 1-4 above, you may need to implement some
basic escape sequences such as “\,”, “\?”, and
“\$” in order to support embedding these special characters into
Spice models without being interpreted as one of the above evaluation
primitives. An escaped character would never be interpreted as one of the
sequences above.
6.Category: Very nice to have,
but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very useful
for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to another
TinyCAD schematic. Match pin names on the upper level schematic symbol
with identical net names on the referenced schematic to create a flattened net
list during Spice netlist creation. Retain the top level net name to name
the flattened net after creating the flattened net list.
These capabilities exist and are
used in other schematic capture packages for use with Spice such as the old
Microsim PSpice that now belongs to Mentor/OrCAD.
If you have any interest in
implementing these features, please let me know. The software package
that I wrote that I would like to use with TinyCAD has not been sold
commercially, but was developed for in-house use. I am presently
considering what to do with it, as it has become a very useful and mature
tool. My options are somewhat limited because it depends on very
expensive schematic capture packages presently.
Hi,
When I right click on the thumbnail view nothing happens. No popup
menu appears, there is nothing. Am I doing something wrong?
Mike
--- In tinycad@..., "Matt Pyne" <matt.pyne@c...> wrote:
> Hi,
>
> It's fairly easy - go to Libraries (click on the the button on the
> toolbar on the left hand side). This should bring up a list of the
> installed libraries. Double click on the library you wish to edit and
> this should bring up the thumbnail view of the library.
>
> Now right click on the thumbnail view and select "new symbol". This
> will bring up a window that you can draw your symbol into. Remember to
> use "Pins" for connection points on your symbol.
>
> You can then save the symbol by closing the window.
>
> Good Luck!
>
> Matt.
>
>
>
> -----Original Message-----
> From: cterleckis [mailto:cterleckis@y...]
> Sent: 25 January 2005 14:50
> To: tinycad@...
> Subject: [tinycad] Symbols
>
>
>
> How do you generate a new symbol in tinycad ?
>
>
>
>
>
>
> Yahoo! Groups Links
Hi,
It's fairly easy - go to Libraries (click on the the button on the
toolbar on the left hand side). This should bring up a list of the
installed libraries. Double click on the library you wish to edit and
this should bring up the thumbnail view of the library.
Now right click on the thumbnail view and select "new symbol". This
will bring up a window that you can draw your symbol into. Remember to
use "Pins" for connection points on your symbol.
You can then save the symbol by closing the window.
Good Luck!
Matt.
-----Original Message-----
From: cterleckis [mailto:cterleckis@...]
Sent: 25 January 2005 14:50
To: tinycad@...
Subject: [tinycad] Symbols
How do you generate a new symbol in tinycad ?
Yahoo! Groups Links
Hi to all, after drawing my schemtics with Tinycad I export the
netlist file and try to import it on freePCB software, but I'm nbot
able to do it, the programs says that there are no parts aviable, can
someon please help me?
Riccardo
Please keep me informed of your
progress. I am very interested in adapting TinyCAD to Gandalf (my block
diagram compiler), but I can’t even get started without the conditional
evaluation primitives. You will find that the Spice community will also
be quite interested in the conditional primitives as they are a standard part
of all popular Spice simulators.
By the way, I have considerable expertise
in writing compilers using LALR(k) compiler compiler technology. The
parsers that are generated can very easily be embedded in other programs to allow
very complex syntax commands to be implemented very easily. The Spice
netlister could easily be implemented with a full featured set of preprocessor
capabilities such as the ones that I have already mentioned without too much
effort. Let me know if you ever have any interest in this approach.
The Spice netlister is pretty easy to implement without this technology, of
course, so it is mostly just something fun to do.
Best regards,
Don
From:Matt Pyne [mailto:matt.pyne@...] Sent: Sunday, January 09, 2005
9:24 AM To: tinycad@... Subject: RE: [tinycad] Conditional
parameter evaluation in Spice
Don,
I don’t
think what you are suggesting would take terribly long to implement. I
also don’t think it is that unreasonable. I will have a look at it
for you.
I am working
on hierarchical drawings at the moment. I have a plan for implementing
them, and hopefully they will be in the next release (whenever that is…).
Thanks for the
support,
Matt.
From:Don Lucas [mailto:Don.Lucas@...]
Sent: 09 January 2005 00:16 To:Matt
Pyne Cc:Matt
Pyne Subject: [tinycad] Conditional
parameter evaluation in Spice
Hi Matt –
I recently found out about TinyCAD
and am trying to convert some software that I have written to be compatible
with it. In order to do this, I need to be able to use conditional
evaluation primitives for Spice. My application is not really a Spice
application, but I found that I could hijack the Spice netlister in most
schematic capture packages to extract the information that I need. My
actual application is a graphical block diagram editor that in conjunction with
a compiler that I wrote, generates TI DSP code for fixed point DSP’s.
The capabilities that I need that I
haven’t found in TinyCAD’s implementation of the Spice netlister
are:
1.Category: Basic if-then-else
capability.
Purpose: the ability to determine if a schematic symbol primitive exists
or not (presumably the user added an optional parameter to a library symbol in
his schematic) and if it does exist, add some primitives to the Spice
template. I also need the “else” clause in order to add primitives
if it is does not exist. This capability needs to be able to nest in
order to implement more complex logic decisions roughly corresponding to the
capabilities the C language “switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter
“Value” has not been defined)
2.Category: Basic if-then-else
capability:
Purpose: the ability to determine if a schematic symbol primitive has a
defined value, or if it is empty. This basically corresponds to 1) above
except that it presumes that the parameter *does*
exist and it is only checking to see if the user entered a value into the
parameter or not. Again, this needs full nesting capability as in 1)
above.
Possible Implementation: ?$(Value, model text if parameter
“Value” has a value defined (even the default value), model text if
parameter “Value” does not have a value defined)
3.Category: Basic if-then-else
capability:
Purpose: The ability to determine if a pin was connected to a net, or if
it was left floating. The result of this test is to either include some
primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a net,
model text if pin #1 was left floating)
4.Category: Extremely nice to
have, but not absolutely required.
Purpose: Makes Spice models of large libraries easier to maintain and
easier to understand. The ability to use a pin’s name rather than
its number in the Spice template. For example, if pin 1 of a schematic symbol
had the name “CLK”, then instead of using %(1) to get the net name
attached to pin 1, you would also be able to use %(CLK). This makes the
Spice netlist for large pin count devices much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have the
same results as ?%(1,%(1), Default_CLK_Net).
5.Category: Grammar
compatibility.
Purpose: After implementing 1-4 above, you may need to implement some
basic escape sequences such as “\,”, “\?”, and
“\$” in order to support embedding these special characters into
Spice models without being interpreted as one of the above evaluation
primitives. An escaped character would never be interpreted as one of the
sequences above.
6.Category: Very nice to have,
but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very useful
for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to another
TinyCAD schematic. Match pin names on the upper level schematic symbol
with identical net names on the referenced schematic to create a flattened net
list during Spice netlist creation. Retain the top level net name to name
the flattened net after creating the flattened net list.
These capabilities exist and are
used in other schematic capture packages for use with Spice such as the old
Microsim PSpice that now belongs to Mentor/OrCAD.
If you have any interest in
implementing these features, please let me know. The software package
that I wrote that I would like to use with TinyCAD has not been sold
commercially, but was developed for in-house use. I am presently considering
what to do with it, as it has become a very useful and mature tool. My
options are somewhat limited because it depends on very expensive schematic
capture packages presently.
Hi Matt,
Thanks for the response. Not very fair of me to not have been more
specific - sorry. Just open a new drawing, place a US style resistor
and allow resizing. Resize is to about half size and try to connect a
wire to the ends. In my case, the red connectivity circle wants to
jump (even with snap off) to somewhere in the resistor body. I can
work around this, so it might be in the 'nit' category.
Along these lines, some small mark or something to indicate
connectivity after the wire has been placed would help check a
schematic. It wouldn't print, of course.
Thanks for all of your work,
Jerry
--- In tinycad@..., "Matt Pyne" <matt.pyne@c...> wrote:
> Jerry,
>
> Can you send me a drawing you have done that has the problem on it?
> Send it to mattpyne "at" sourceforge.net.
>
> I will have a look at it. I just had a try and I couldn't re-
create the
> issue.
>
> Thanks,
> Matt.
>
>
> -----Original Message-----
> From: jerryc0000 [mailto:ami@q...]
> Sent: 07 January 2005 19:07
> To: tinycad@...
> Subject: [tinycad] Re: Connectivity after resizing
>
>
>
> Sorry - I'm using 2.10.00
>
> Jerry
>
>
>
> --- In tinycad@..., "Matt Pyne" <matt.pyne@c...>
wrote:
> > Jerry,
> >
> > What version are you using? This bug should be fixed in 2.10.00.
> >
> > Matt.
> >
> > -----Original Message-----
> > From: jerryc0000 [mailto:ami@q...]
> > Sent: 07 January 2005 18:23
> > To: tinycad@...
> > Subject: [tinycad] Connectivity after resizing
> >
> >
> >
> > After resizing a component placed on a page, I loose the ability
to
> > connect to the end of the wire. Is this a know issue? My
workaround
> > is to create a new library component, but there must be something
> I'm
> > missing. I use snap and standard grids.
> >
> > TinyCad is one nicest schematic capture programs out there, BTW.
> >
> >
> >
> >
> >
> >
> >
> > Yahoo! Groups Links
>
>
>
>
>
>
> Yahoo! Groups Links
I don’t think what you are
suggesting would take terribly long to implement. I also don’t think it
is that unreasonable. I will have a look at it for you.
I am working on hierarchical drawings at
the moment. I have a plan for implementing them, and hopefully they will be in
the next release (whenever that is…).
Thanks for the support,
Matt.
From:
Don Lucas [mailto:Don.Lucas@...] Sent: 09 January 2005 00:16 To: Matt Pyne Cc: Matt Pyne Subject: [tinycad] Conditional
parameter evaluation in Spice
Hi Matt –
I recently found out about TinyCAD and am trying to
convert some software that I have written to be compatible with it. In
order to do this, I need to be able to use conditional evaluation primitives
for Spice. My application is not really a Spice application, but I found
that I could hijack the Spice netlister in most schematic capture packages to
extract the information that I need. My actual application is a graphical
block diagram editor that in conjunction with a compiler that I wrote,
generates TI DSP code for fixed point DSP’s.
The capabilities that I need that I haven’t
found in TinyCAD’s implementation of the Spice netlister are:
Category: Basic if-then-else capability.
Purpose: the ability to determine if a schematic symbol primitive
exists or not (presumably the user added an optional parameter to a
library symbol in his schematic) and if it does exist, add some primitives
to the Spice template. I also need the “else” clause in
order to add primitives if it is does not exist. This capability
needs to be able to nest in order to implement more complex logic
decisions roughly corresponding to the capabilities the C language
“switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter
“Value” has not been defined)
Category: Basic if-then-else capability:
Purpose: the ability to determine if a schematic symbol primitive
has a defined value, or if it is empty. This basically corresponds
to 1) above except that it presumes that the parameter *does* exist and it is only checking to
see if the user entered a value into the parameter or not. Again,
this needs full nesting capability as in 1) above.
Possible Implementation: ?$(Value, model text if parameter
“Value” has a value defined (even the default value), model
text if parameter “Value” does not have a value defined)
Category: Basic if-then-else capability:
Purpose: The ability to determine if a pin was connected to a net,
or if it was left floating. The result of this test is to either
include some primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a
net, model text if pin #1 was left floating)
Category: Extremely nice to have, but not absolutely
required.
Purpose: Makes Spice models of large libraries easier to maintain
and easier to understand. The ability to use a pin’s name
rather than its number in the Spice template. For example, if pin 1
of a schematic symbol had the name “CLK”, then instead of
using %(1) to get the net name attached to pin 1, you would also be able
to use %(CLK). This makes the Spice netlist for large pin count
devices much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have
the same results as ?%(1,%(1), Default_CLK_Net).
Category: Grammar compatibility.
Purpose: After implementing 1-4 above, you may need to implement
some basic escape sequences such as “\,”, “\?”,
and “\$” in order to support embedding these special
characters into Spice models without being interpreted as one of the above
evaluation primitives. An escaped character would never be interpreted
as one of the sequences above.
Category: Very
nice to have, but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very
useful for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to
another TinyCAD schematic. Match pin names on the upper level
schematic symbol with identical net names on the referenced schematic to
create a flattened net list during Spice netlist creation. Retain
the top level net name to name the flattened net after creating the
flattened net list.
These capabilities exist and are used in other
schematic capture packages for use with Spice such as the old Microsim PSpice
that now belongs to Mentor/OrCAD.
If you have any interest in implementing these
features, please let me know. The software package that I wrote that I
would like to use with TinyCAD has not been sold commercially, but was
developed for in-house use. I am presently considering what to do with
it, as it has become a very useful and mature tool. My options are
somewhat limited because it depends on very expensive schematic capture
packages presently.
It is pretty easy:
1. Click on the "Libraries" button on the symbol dialogue.
2. Select "New" and type in the name of your new library
3. Select your library in the Library dialogue and click on "Edit"
4. To Add symbols go to the symbols menu and select "Add Symbol".
This should get you going. The rest is in the help file!
Hope this helps,
Matt.
-----Original Message-----
From: petit0000prince [mailto:ikke01@...]
Sent: 09 January 2005 14:06
To: tinycad@...
Subject: [tinycad] libraries
Hi I would like to know how you make libraries
(sorry for my crappy english but i'm a dutch student) ;)
Yahoo! Groups Links
I recently found out about TinyCAD and am trying to convert
some software that I have written to be compatible with it. In order to
do this, I need to be able to use conditional evaluation primitives for
Spice. My application is not really a Spice application, but I found that
I could hijack the Spice netlister in most schematic capture packages to
extract the information that I need. My actual application is a graphical
block diagram editor that in conjunction with a compiler that I wrote,
generates TI DSP code for fixed point DSP’s.
The capabilities that I need that I haven’t found in
TinyCAD’s implementation of the Spice netlister are:
Category: Basic
if-then-else capability.
Purpose: the ability to determine if a schematic symbol primitive
exists or not (presumably the user added an optional parameter to a
library symbol in his schematic) and if it does exist, add some primitives
to the Spice template. I also need the “else” clause in
order to add primitives if it is does not exist. This capability
needs to be able to nest in order to implement more complex logic
decisions roughly corresponding to the capabilities the C language
“switch” statement provides.
Possible implementation: ?(Value, model text if parameter
“Value” has been defined, model text if parameter “Value”
has not been defined)
Category: Basic
if-then-else capability:
Purpose: the ability to determine if a schematic symbol primitive
has a defined value, or if it is empty. This basically corresponds
to 1) above except that it presumes that the parameter *does* exist and it is only checking to
see if the user entered a value into the parameter or not. Again,
this needs full nesting capability as in 1) above.
Possible Implementation: ?$(Value, model text if parameter
“Value” has a value defined (even the default value), model
text if parameter “Value” does not have a value defined)
Category: Basic
if-then-else capability:
Purpose: The ability to determine if a pin was connected to a net,
or if it was left floating. The result of this test is to either
include some primitives or to skip them.
Possible Implementation: ?%(1, model text if pin #1 is attached to a
net, model text if pin #1 was left floating)
Category: Extremely nice
to have, but not absolutely required.
Purpose: Makes Spice models of large libraries easier to maintain and
easier to understand. The ability to use a pin’s name rather
than its number in the Spice template. For example, if pin 1 of a schematic
symbol had the name “CLK”, then instead of using %(1) to get
the net name attached to pin 1, you would also be able to use
%(CLK). This makes the Spice netlist for large pin count devices
much easier to handle.
Possible Implementation: %(CLK) would have the same results as
%(1).
Possible Implementation: ?%(CLK,%(CLK), Default_CLK_Net) would have
the same results as ?%(1,%(1), Default_CLK_Net).
Category: Grammar
compatibility.
Purpose: After implementing 1-4 above, you may need to implement
some basic escape sequences such as “\,”, “\?”,
and “\$” in order to support embedding these special
characters into Spice models without being interpreted as one of the above
evaluation primitives. An escaped character would never be
interpreted as one of the sequences above.
Category: Very nice to
have, but not absolutely required.
Purpose: Hierarchical schematic capture capabilities. Very
useful for Spice simulations and for structuring your work.
Possible Implementation: Add a special parameter to every schematic
symbol that could contain a file path name (relative or absolute) to
another TinyCAD schematic. Match pin names on the upper level
schematic symbol with identical net names on the referenced schematic to create
a flattened net list during Spice netlist creation. Retain the top
level net name to name the flattened net after creating the flattened net
list.
These capabilities exist and are used in other schematic
capture packages for use with Spice such as the old Microsim PSpice that now
belongs to Mentor/OrCAD.
If you have any interest in implementing these features, please
let me know. The software package that I wrote that I would like to use
with TinyCAD has not been sold commercially, but was developed for in-house use.
I am presently considering what to do with it, as it has become a very useful
and mature tool. My options are somewhat limited because it depends on
very expensive schematic capture packages presently.
Has anyone created Spice libraries for TinyCAD that they would be
willing to share? I'm mostly looking for the basic R,L,C & Q
circuit elements.
Thanks,
Dave Culley
Jerry,
Can you send me a drawing you have done that has the problem on it?
Send it to mattpyne "at" sourceforge.net.
I will have a look at it. I just had a try and I couldn't re-create the
issue.
Thanks,
Matt.
-----Original Message-----
From: jerryc0000 [mailto:ami@...]
Sent: 07 January 2005 19:07
To: tinycad@...
Subject: [tinycad] Re: Connectivity after resizing
Sorry - I'm using 2.10.00
Jerry
--- In tinycad@..., "Matt Pyne" <matt.pyne@c...> wrote:
> Jerry,
>
> What version are you using? This bug should be fixed in 2.10.00.
>
> Matt.
>
> -----Original Message-----
> From: jerryc0000 [mailto:ami@q...]
> Sent: 07 January 2005 18:23
> To: tinycad@...
> Subject: [tinycad] Connectivity after resizing
>
>
>
> After resizing a component placed on a page, I loose the ability to
> connect to the end of the wire. Is this a know issue? My workaround
> is to create a new library component, but there must be something
I'm
> missing. I use snap and standard grids.
>
> TinyCad is one nicest schematic capture programs out there, BTW.
>
>
>
>
>
>
>
> Yahoo! Groups Links
Yahoo! Groups Links
Sorry - I'm using 2.10.00
Jerry
--- In tinycad@..., "Matt Pyne" <matt.pyne@c...> wrote:
> Jerry,
>
> What version are you using? This bug should be fixed in 2.10.00.
>
> Matt.
>
> -----Original Message-----
> From: jerryc0000 [mailto:ami@q...]
> Sent: 07 January 2005 18:23
> To: tinycad@...
> Subject: [tinycad] Connectivity after resizing
>
>
>
> After resizing a component placed on a page, I loose the ability to
> connect to the end of the wire. Is this a know issue? My workaround
> is to create a new library component, but there must be something
I'm
> missing. I use snap and standard grids.
>
> TinyCad is one nicest schematic capture programs out there, BTW.
>
>
>
>
>
>
>
> Yahoo! Groups Links
Jerry,
What version are you using? This bug should be fixed in 2.10.00.
Matt.
-----Original Message-----
From: jerryc0000 [mailto:ami@...]
Sent: 07 January 2005 18:23
To: tinycad@...
Subject: [tinycad] Connectivity after resizing
After resizing a component placed on a page, I loose the ability to
connect to the end of the wire. Is this a know issue? My workaround
is to create a new library component, but there must be something I'm
missing. I use snap and standard grids.
TinyCad is one nicest schematic capture programs out there, BTW.
Yahoo! Groups Links
After resizing a component placed on a page, I loose the ability to
connect to the end of the wire. Is this a know issue? My workaround
is to create a new library component, but there must be something I'm
missing. I use snap and standard grids.
TinyCad is one nicest schematic capture programs out there, BTW.
I just joined the group recently, so you
may know more than I do, but I will help if I can.
Don
Lucas
Orikon Solutions, LLC
11118 Grader St
Dallas, TX75238
From: Valentin
Kolesnikov [mailto:valentinkolesnikov@...] Sent: Wednesday, January 05, 2005
10:46 AM To: tinycad@... Subject: [tinycad] Re: New file
uploaded to tinycad
Hello! Is any body here ? Can I ask some questions ;-)
Yep, I'm here....
Matt.
-----Original Message-----
From: Valentin Kolesnikov [mailto:valentinkolesnikov@...]
Sent: 05 January 2005 15:46
To: tinycad@...
Subject: [tinycad] Re: New file uploaded to tinycad
Hello!
Is any body here ?
Can I ask some questions ;-)
Bye.
Valya.
Yahoo! Groups Links