Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parts made of multiple units #312

Closed
LHSmicius opened this issue Mar 9, 2023 · 7 comments
Closed

Parts made of multiple units #312

LHSmicius opened this issue Mar 9, 2023 · 7 comments

Comments

@LHSmicius
Copy link
Contributor

Some people like to use parts made of single unit, some people like to split part into multiple units. Example in picture below, similar 64 pin MCU is splitted on left and as single unit on right.
image

It is not clear when part must be splitted or maybe pool should contain both versions of same part. If:

  1. Part must be splitted. Then what are indicators that part must be splitted? E.x. Pin count, logical blocks...
  2. Pool must contain both versions. Then how to mark them? Naming convention is needed (I think).
@carrotIndustries
Copy link
Member

From my gut feeling about 100pins is the threshold where splitting entities into multiple gates makes sense.

Having both versions just causes confusion.

@LHSmicius
Copy link
Contributor Author

Ok, with MCUs it's pretty much clear, 100 pin threshold is good choice. What about opamps, gates, logic AND, OR and etc. These often has low pin count, but are completely separate logic units, just sharing the same package. When we should split them in schematic?

I think it's a right topic to mention them either :)

@RX14
Copy link
Collaborator

RX14 commented Mar 12, 2023

Logic gates and multiple opamps have the property that at the schematic level you don't care that they happen to be in the same package (which is not the case for an MCU). Anything that meets that criteria or is over 100 pins should be split.

@fruchti
Copy link
Contributor

fruchti commented Mar 12, 2023

Logic gates and multiple opamps have the property that at the schematic level you don't care that they happen to be in the same package (which is not the case for an MCU). Anything that meets that criteria or is over 100 pins should be split.

I like this framing. There have been discussions about this previously, but I no longer think that handling that topic in this much detail is productive. A rule like this, which could be followed in spirit and not to the letter, would a good option.

I’d maybe add some sort of exception for electromechanical parts, e.g. relays, mechanically coupled switches, potentiometers. Maybe basing the decision on the typical use makes sense here—if the part ends up being unwieldy in a schematic as a single symbol, it has to be split.

@RX14
Copy link
Collaborator

RX14 commented Mar 13, 2023

I think rules which have a clear spirit instead of a lot of detail are easier to follow. Especially since there's no permanent consequences to getting anything "wrong" here. Things can always be changed later.

fruchti added a commit to horizon-eda/horizon-pool-convention that referenced this issue Mar 19, 2023
@fruchti
Copy link
Contributor

fruchti commented Mar 19, 2023

I added a rule like this to the convention in horizon-eda/horizon-pool-convention@083f924. Let me know if it isn’t clear enough or if I missed something here!

@LHSmicius
Copy link
Contributor Author

Looks good to me. Only one question. If pin count is 100 or higher, then to how many units it should be splitted. I think split to 6 or more units is not the good choice either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants