Typo. Should have been 74574.
But it is irrelevant .
There are tons of chips that use a 20 pin package.
74244
74245
74540
74541
74573
74574
74688
The list is very long.
They are all wvailable in dil20, so20(wide body), tssop20, dfn, plcc , some are in so20 with an off width body.
So the question is : i have created once, the footprint for an so20, once for a plcc20 .
How do i link the symbols to the footprint. There is a permutation of combinations and some are not there.
Integrated linraries are the way to go. You have an integrated library in DEX : good.
We can store pdfs in there , order codes ? Order codes from multiple vendors ? I believe so.
But, the creation of the libray is a pain if we need to rebuild all the possible footprints for each and every symbol. If i have to create 192 times an 0805 package just so i can store a single decade of resistors , you know what is going to happen. Hint : you will get quite upset...
That is a problem.
How you solve that : up to you. But telling us : simply use the wizard to run 192 footprints ain't going to happen. That is unworkable. Besides, there is 7 decades in the E192 series.. And maybe we want that for vishay, yageo, stackpole, rohm, panasonic ....
Script it you say ? sorry, no programmers here. Won't touch python with a dead fish.
So : pcb programs have a library of footprints, a library of symbols and a big spreadsheet giving the relationship , and storing the other information.
I pick a part number, could be by order code, could be an internal partnumber, could be the real parts name : drop it on schematic and the pcb tool knows what to do. You have that in dex. Great
How you create the 'source material' needs a bit of work. Right now it is too rigid.
We also need excellent search capabilites in that library. The search is a bit broken right now. I have given the example. We need wildcards
74??244
Should return
74ls244
74hc244
74vc244
But not 74lvs244 or even a 555 like in the search you have now.
Searching needs te be capable of looking into all fields.
Another thing that often happens : placeholders. We know there will be a part with footprint xyz on the pcb. The layouters want to start placement , but the symbol for schematic is not ready yet and not wired up. Fine, just pull the footrpint and off we go. We'll fix that later.
You can't hold up one process for another.
Back annotation is also required.
Three connectors, when placed end up as j3 j1 j2 , nicely lined up on one edge. For documentation clarity we want to change their names on the board so they are sequential.
If we alter them on the pcb , the schematic should follow
Same goes for pinswaps. Take a 7400. Quad nand gate. I want to sprinkle each part of that symbol where i need it in the schematic. One quart of it may sit on sheet one, another part at sheet 26.
Once i am on pcb i realize : damn, the wiring is a mess. If only i could swap these two inputs, and replace part 2 with part 3. And 3 with 4 the routing becomes easier.
Now, don't get all angry with me because of what i am going to say next.
I have said this before. Your knowhow , when it comes to the actual process of designing a board, is A bit 'lacking' when it comes to modern boards. You make assumptions based on what you know about the process.
Change is good. Programs that break 'old cruft' and are refreshing and new are good. But, they should not take away capability. They may do things a different way, as long as they can be done.
Honestly, I was also a bit baffled you asked for the datasheet of the 74547.. Anyone here on the forum immediately knew that had to be a 74574 without blinking. The datasheet is irellevant. All the hardware guys know both the 244 and 574 share the same footprint.
Anyone who has ever tinkered with electronics knows a 74244 or 74574. Those chips are so often used, most of the 'hardware guys' can give you the pinout off the top of their head.
You treat the problem as a 'drawing' problem and try to make a 'drawing tool' that automates the aspects of 'drawing'.
You have some really cool and clever idea's and are clearly an excellent programmer. At the same time you are hampering the development of DEX because some decisions taken are based on a limited understanding board design..
Let me try to illustrate with an example. Do not take the example literally. It serves only as a demonstration of what can happen. Stuff like this happens very often.
Right now you have 1 symbol 1 footprint.
We make a schematic with a 74244 in DIL20 package. , wire that up .
We go to board design and start wiring, only to realize it won't fit. Drat ! We should have used the surface mounted version. Not DEX fault, our fault, we, the users, made a mistake.
So i go back to the schematic , delete the part ... Oops all wiring is gone.
All i wanted to do is delete that symbol and place a different symbol that linked to the right footprint... And now half my wiring is destroyed.
That sort of thing is problematic.
Pcb design is not a linear pocess where a comes before b, b before c. It is not, make footrpints, make symbols, place, wire, go to board, route and send out.
It is , begin routing this schematic. It's got three symbols missing, one wrong footprint and we dont know if the leds will be green or red. Start placement, see if the connectors fit, see of the board goes in the enclosure. Meanwhile we'll come up with missing parts, missing footprints ad decide on led color. Oh and that symbol there: that one we dont have a footprint for yet. The part is being prototyped right now. Once approved we'll give you the drawing for it. For now, it is arectangle this wide, that long. We'll fill in the pinout later.
Sometimes, for area planning reasons we simply throw a bunch of footprints on a bare board , fidlle with those until we get an idea of what area will be needed , without even having a schematic at all.
We place some connectors we know we need , some other parts like heatsinks , switches, get a 'feel' for what it will look like and send that to the guys that will do the enclosure.
In case of a one man company i may export this preliminary placement as a step file, or other 3d format, and load that up in my mechanical design cad , to see if it will work. I may tweak placement a bit there and send it back to the board.
I can now show a customer what it will look like. He may not approve. Can we swap this here ?
Can we change the green led to blue ? Can we have a larger display. Can we substitute the 8051 for an 8052 so we get double memory.
That is the design process. There are unknowns and changes all along the way. This should not be a blocking factor. If i don't have the pinout of connector x , but i know what signals go there is should be able to put the traces down to roughly where the connector will be.
Same goes on schematic. I should be able to put down a wire going 'nowhere' so i can attach it later. Like, once i made up my mind what connector i will use.
That is why cad programs have an electrical rule checker. They tell us ' you got a few floaters going nowhere'.
Solving that 'problem' by removing the ability to draw floaters, or automatically kill off wires going nowhere is the wrong approach. It blocks the design process.
That 8051 may very well already be routed on the board.
All we now need is a part swap. : do not alter any wiring in schematic, do not alter any routing on the board. Delete schemaric symbol , place schemaric symbol. That is all that is needed.
What will dex do ? Delete all the schematic wiring to that part ? I think it will also kill all the traces to that footprint ... I may be wrong.
Those are problems pcb designers deal with constantly. We live in a non ideal , non linear world.
Stuff to think about.
Note: typed with two fat fingers on an iPad...