kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #01589
Introduction and general discussion.
--0-1307259942-1216044472=:80114 Content-Type: text/plain; charset=us-ascii
Hi all,
I am new here. Kicad is great. I am a software Engineer by trade, but can read and write schematics/design PCB's based on skills I have picked up over the years as an embedded softwre engineer. So while I am not a hardware engineer per se, I know my way around. I am working on my first design with Kicad, and have a few questions, the answers to which may result in me making various changes/enhancements if they are acceptable. None of this is meant as a criticism, cause I understand this is the work (largely) of one person and it is highly impressive.
They mainly revolve around the schematic library editor. In some ways, I think it would be beneficial for the library editor to be a separate program. What is the feeling? I understand that would be a lot of work, but I can see befeits in having it seperate, mainly from a reliability standpoint, cause I had it crash on me the other day (haven't been able to replicate it and I am not sure what I did to make it crash) but it took down my schematic with it, if it was a seperate program, it crashing wouldn't effect other tasks. That said, this isn't something I am pushing, just asking the question.
I do have some queries/ideas for improvement regarding editing library components:
Rotating and mirroring library components and the graphical elements that make them is conspicuous by its absence. Is there a reason for this? All you can do is horizontally flip a block, but rotating it or vertically flipping a block would be useful. So is the lack of this feature purposeful, or just not done yet? Does anyone else think its worthwhile? Any gotchas i should be aware of?
Multi part components. I understand these are typically used for 74LS type logic (and similar) where one has one component and a bunch of discreet parts (say AND gates) that can be used by un-associated logic. And what is there now for multi-part components would work fine for that. I however have gotten into the habit of breaking large monolithic entities like CPU's into multi-part components. It can make the design a lot easier to work with from a programmers point of view, because a single sheet can contain most of the information they need. For example, I have just laid out an ethernet circuit, and I have a part of my CPU (defined as a multi-part component) that only has the resources used by ethernet on that page, and all the interconnects are there, so If I am programming up the Ethernet stuff I don't have to hunt for labels on other pages, because I can clearly see the pins being used for Ethernet. Now this is just a style, and I could just
as easilly make a big monolithic CPU and use net labels, but I don't like that style as much. The problem is however that a multi-part component seems to share all its graphical elemnts (text, fields, lines, rectangles, etc). Whereas I would like to make different looking blocks for each part depending on what they contain. For example, my Ethernet part of my CPU is 6 pins, but my power/gnd part will have about 13 pins and a bigger "body" I would also like to put labels on the component parts, such as "Ethernet" or "Power" so that when browsing the parts and for documentation purposes, what is shown is clear. Is there a reason why all the graphical elements of a part are shared between all parts, can this be changed in a compatible way so current libraries continue to work and what I want to do will also work? Whats the feeling for what I suggest with this?
Project Library. A feature to automatically make a library for the project based on all the components used would be great for saving a completed project. Because then you could back the project up and it doesn't matter if the underlying libraries are changed, the project is still whole. You would normally do this at the end when you have finished before you make a final backup. It would probably be a "Compile project library" option which would scan the schematics, and compile a library from all the compenets in the project and then remove all the individual libraries from the project and add the new built library as the only library. What is the thoughts about this?
I have also wondered about a web based library, similar to a wiki, so the library editor can connect to the web and browse available components. Further if you make a new one you can select a "publish" box that lets the component be published to the public repository for everyone to share. Similar to a wiki, but data driven and specific to components (it could also contain footprints and 3d representations). Obviously with this method you could end up with 100 different components for a basic resistor, but that isn't necessarily a bad thing, plus you could also have a rating system and components could be listed in most popular or highest rated order. I think this sort of thing would be very useful and would certainly let kicad stand apart from other tools. Like a wiki, components would have versions, so if someone edits your component, you could still get at and see the older version, or you could use the improved version. Your project wouldn't
use the web version directly, but would copy it to your "project" library. And unless you modified it, it wouldn't be able to be published back to the repository.
Sorry for the long first post.
Thoughts?
Stevo.
--0-1307259942-1216044472=:80114 Content-Type: text/html; charset=us-ascii
<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hi all,<br><br>I am new here. Kicad is great. I am a software Engineer by trade, but can read and write schematics/design PCB's based on skills I have picked up over the years as an embedded softwre engineer. So while I am not a hardware engineer per se, I know my way around. I am working on my first design with Kicad, and have a few questions, the answers to which may result in me making various changes/enhancements if they are acceptable. None of this is meant as a criticism, cause I understand this is the work (largely) of one person and it is highly impressive.<br><br>They mainly revolve around the schematic library editor. In some ways, I think it would be beneficial for the library editor to be a separate program. What is the feeling? I
understand that would be a lot of work, but I can see befeits in having it seperate, mainly from a reliability standpoint, cause I had it crash on me the other day (haven't been able to replicate it and I am not sure what I did to make it crash) but it took down my schematic with it, if it was a seperate program, it crashing wouldn't effect other tasks. That said, this isn't something I am pushing, just asking the question.<br><br>I do have some queries/ideas for improvement regarding editing library components:<br><br>Rotating and mirroring library components and the graphical elements that make them is conspicuous by its absence. Is there a reason for this? All you can do is horizontally flip a block, but rotating it or vertically flipping a block would be useful. So is the lack of this feature purposeful, or just not done yet? Does anyone else think its worthwhile? Any gotchas i should be aware of?<br><br>Multi
part components. I understand these are typically used for 74LS type logic (and similar) where one has one component and a bunch of discreet parts (say AND gates) that can be used by un-associated logic. And what is there now for multi-part components would work fine for that. I however have gotten into the habit of breaking large monolithic entities like CPU's into multi-part components. It can make the design a lot easier to work with from a programmers point of view, because a single sheet can contain most of the information they need. For example, I have just laid out an ethernet circuit, and I have a part of my CPU (defined as a multi-part component) that only has the resources used by ethernet on that page, and all the interconnects are there, so If I am programming up the Ethernet stuff I don't have to hunt for labels on other pages, because I can clearly see the pins being used for Ethernet. Now this is just a
style, and I could just as easilly make a big monolithic CPU and use net labels, but I don't like that style as much. The problem is however that a multi-part component seems to share all its graphical elemnts (text, fields, lines, rectangles, etc). Whereas I would like to make different looking blocks for each part depending on what they contain. For example, my Ethernet part of my CPU is 6 pins, but my power/gnd part will have about 13 pins and a bigger "body" I would also like to put labels on the component parts, such as "Ethernet" or "Power" so that when browsing the parts and for documentation purposes, what is shown is clear. Is there a reason why all the graphical elements of a part are shared between all parts, can this be changed in a compatible way so current libraries continue to work and what I want to do will also work? Whats the feeling for what I suggest with this?<br><br>Project Library. A
feature to automatically make a library for the project based on all the components used would be great for saving a completed project. Because then you could back the project up and it doesn't matter if the underlying libraries are changed, the project is still whole. You would normally do this at the end when you have finished before you make a final backup. It would probably be a "Compile project library" option which would scan the schematics, and compile a library from all the compenets in the project and then remove all the individual libraries from the project and add the new built library as the only library. What is the thoughts about this?<br><br>I have also wondered about a web based library, similar to a wiki, so the library editor can connect to the web and browse available components. Further if you make a new one you can select a "publish" box that lets the component be published to the public repository for
everyone to share. Similar to a wiki, but data driven and specific to components (it could also contain footprints and 3d representations). Obviously with this method you could end up with 100 different components for a basic resistor, but that isn't necessarily a bad thing, plus you could also have a rating system and components could be listed in most popular or highest rated order. I think this sort of thing would be very useful and would certainly let kicad stand apart from other tools. Like a wiki, components would have versions, so if someone edits your component, you could still get at and see the older version, or you could use the improved version. Your project wouldn't use the web version directly, but would copy it to your "project" library. And unless you modified it, it wouldn't be able to be published back to the repository.<br><br>Sorry for the long first
post.<br><br>Thoughts?<br><br>Stevo.<br><br> <br><br><br></div></div><br>
</body></html> --0-1307259942-1216044472=:80114--
Follow ups