Re: does a reverse-engineering EDA tool exist?
> On Oct 25, 2018, at 10:05 AM, Al Kossow via cctalk > wrote: > > > > On 10/25/18 9:48 AM, Al Kossow via cctalk wrote: >> >> >> On 10/25/18 9:18 AM, Guy Sotomayor Jr via cctalk wrote: >>> Now that I think about it, a flying probe may be easier for us hobbyists to >>> construct. The trick will be getting sufficient x/y resolution and not >>> having the two probes interfere when the two probes are close to each other. >>> >> >> I hadn't thought about that. >> Two probes, one on the front and one on the back of the board... >> No interference. > > you could use two of these > > https://shop.evilmadscientist.com/productsmenu/846 > > Very cool! TTFN - Guy
Re: does a reverse-engineering EDA tool exist?
On 10/25/18 9:48 AM, Al Kossow via cctalk wrote: > > > On 10/25/18 9:18 AM, Guy Sotomayor Jr via cctalk wrote: >> Now that I think about it, a flying probe may be easier for us hobbyists to >> construct. The trick will be getting sufficient x/y resolution and not >> having the two probes interfere when the two probes are close to each other. >> > > I hadn't thought about that. > Two probes, one on the front and one on the back of the board... > No interference. you could use two of these https://shop.evilmadscientist.com/productsmenu/846
Re: does a reverse-engineering EDA tool exist?
On 10/25/18 9:18 AM, Guy Sotomayor Jr via cctalk wrote: > Now that I think about it, a flying probe may be easier for us hobbyists to > construct. The trick will be getting sufficient x/y resolution and not > having the two probes interfere when the two probes are close to each other. > I hadn't thought about that. Two probes, one on the front and one on the back of the board... No interference.
Re: does a reverse-engineering EDA tool exist?
On 10/25/18 9:18 AM, Guy Sotomayor Jr via cctalk wrote: > I’m wondering if a “bed of nails” could be built that would allow for > automated scanning of the traces to at least get the netlist. yup that's the latest iteration of what I'm working on 16 bit open drain drivers, low voltage comparators, to a shift register output configured as two long scan chains. You turn one of the open drain drivers on, then sense if any of the pins are low through pogo pins I had started with DIP clips, but they are too expensive, and they can't be used on the IBM boards because the DIPS are only .1" apart.
Re: does a reverse-engineering EDA tool exist?
> On Oct 25, 2018, at 9:02 AM, Jon Elson via cctalk > wrote: > > On 10/25/2018 12:44 AM, Chuck Guzis via cctalk wrote: >> On 10/24/18 8:06 PM, Jon Elson via cctalk wrote: >> >>> Hmmm, you COULD actually use a schematic tool to do this! Maybe create >>> the components to look like DIPs. I know I could do this in Protel 99 >>> without a great deal of trouble. Then, just draw in all the wires. >>> I suspect a few other good schematic entry tools could also do this. >> I know that I've asked about this on one of the EDA boards and got >> nowhere. It seems that it would be possible to construct a schematic >> from a netlist, but I've never seen such a tool. >> >> I wonder if such a beast exists. >> >> > Well, not totally automatic, but many EDA systems have "back annotation", > where changes to the PCB are taken back to the schematic. This is generally > used to allow easy reassignment of the identical sections in multi-gate > packages, but at least some of them can do MUCH more. I know Protel 99 > essentially turns the whole board into a spreadsheet, where everything is > available for reassignment. I suspect that if you laid out all the chips and > then provided the interconnect info, it would create a VERY messy schematic, > which you could then reorganize by hand. You could also make a PCB design, > draw in the wiring, and it would then be able to make a netlist and take that > back to the schematic. > I’m wondering if a “bed of nails” could be built that would allow for automated scanning of the traces to at least get the netlist. I do know that PCB fab houses use either a “bed of nails” or a flying probe to validate the construction of the boards. Now that I think about it, a flying probe may be easier for us hobbyists to construct. The trick will be getting sufficient x/y resolution and not having the two probes interfere when the two probes are close to each other. TTFN - Guy
Re: does a reverse-engineering EDA tool exist?
On 10/25/2018 12:44 AM, Chuck Guzis via cctalk wrote: On 10/24/18 8:06 PM, Jon Elson via cctalk wrote: Hmmm, you COULD actually use a schematic tool to do this! Maybe create the components to look like DIPs. I know I could do this in Protel 99 without a great deal of trouble. Then, just draw in all the wires. I suspect a few other good schematic entry tools could also do this. I know that I've asked about this on one of the EDA boards and got nowhere. It seems that it would be possible to construct a schematic from a netlist, but I've never seen such a tool. I wonder if such a beast exists. Well, not totally automatic, but many EDA systems have "back annotation", where changes to the PCB are taken back to the schematic. This is generally used to allow easy reassignment of the identical sections in multi-gate packages, but at least some of them can do MUCH more. I know Protel 99 essentially turns the whole board into a spreadsheet, where everything is available for reassignment. I suspect that if you laid out all the chips and then provided the interconnect info, it would create a VERY messy schematic, which you could then reorganize by hand. You could also make a PCB design, draw in the wiring, and it would then be able to make a netlist and take that back to the schematic. Jon
Re: does a reverse-engineering EDA tool exist?
On 10/24/18 11:51 PM, Guy Dunphy via cctalk wrote: > - ICs containing multiple functional blocks (eg 6 x inverters.) These may be > used all over >the place in a schematic. You don't want to be forced into drawing them > together at any >stage of schematic derivation. Actually you do, when creating nets from random logic and you don't want to miss the use of any small logic in a package. I need to look at the spreadsheet methodology used on the Amiga board trace. This is the tedious part. Tracing buffers, muxes, decoders is fairly straightforward, it is figuring out the glue logic that is tedious. It is really easy to lose your place doing it. You end up probing an output and then sweeping nearby ICs hoping to find something connected. It's much easier on a bus, where you know the source and there is a high probability it will connect to a 20 pin buffer or latch somewhere. There is also a pretty high probability these devices will either be near a microprocessor, or a board connector.
Re: does a reverse-engineering EDA tool exist?
On Thu, 25 Oct 2018, Guy Dunphy wrote: Keep the objective in mind. What you want to end up with is a schematic, that is laid out in a way that aids comprehension of how the circuit works. Typically this means overall left to right functional or power flow, with separate functional blocks visually separate, visual emphasis where appropriate, and so on. Something like the original designers drew, if they were any good. When you have only a PCB and want to reverse engineer the schematic, the tasks are: [...] This is actually the way how I reverse-engineered the MINCAL 523. Identify the address and data busses, registers, latches, functional sections (e.g. ALU, interrupt related, I/O, ...) and put that all together. And yes, it involves a lot of paper and pencil work, and that is faster and much more intuitive than doing it with the computer. To create the schematics I use gschem from the gEDA suite. Currently, I have started to reverse-engineer the Digico computer. I have only looked at the CPU board so far, but that leads to a dead-end as I am not able to unambiguously identify the address and data busses. So I have to continue with the front panel, start with the display/keypad where you can select the individual registers for entry/display and go back to the front panel connector back to the CPU board. There, I hope to find the instruction register and continue with the instruction decoder section. Christian
Re: does a reverse-engineering EDA tool exist?
At 10:06 PM 24/10/2018 -0500, you wrote: >On 10/24/2018 04:25 PM, Al Kossow via cctalk wrote: >> To draw out the schematics for the Displaywriter I have a bunch of boards to >> trace out, >> and I don't want to do the usual "scribble on yellow pad" >> to do it. Has someone written a graphical tool for doing this? >> >> What I would like to find is a tool that puts up a bunch of footprints with >> internal IC functions >> shown, then a way to rapidly enter the buzzed out interconnections, >> generating a netlist. >> >> This is exactly backwards workflow from normal schematic entry and pcb >> layout. >> >> I suspect I'm just going to have to bite the bullet and write it.. >Hmmm, you COULD actually use a schematic tool to do this! >Maybe create the components to look like DIPs. I know I >could do this in Protel 99 without a great deal of trouble. >Then, just draw in all the wires. >I suspect a few other good schematic entry tools could also >do this. > >Jon The idea of creating a lot of 'IC puppet' graphics showing internal functions connected to footprint pins to help in reverse engineering PCBs, may sound nice at first but probably won't be worth the effort in practice. It falls down in several cases: - ICs containing multiple functional blocks (eg 6 x inverters.) These may be used all over the place in a schematic. You don't want to be forced into drawing them together at any stage of schematic derivation. - Complex IC functions, in which physical pin arragements bear no resemblance to a sane functional symbol. Again, you don't want to be drawing schematics forced into physical pin arrangements. Pretty much every IC from simple counters and latches, on up are like this. - Even simple elements like op-amps - you want to be able to draw the + and - inputs whichever way up is appropriate for good schematic practice for the circuit form. - Power pins should appear on the schematic as sensible for the specific case. Usually not on actual circuit symbols. Keep the objective in mind. What you want to end up with is a schematic, that is laid out in a way that aids comprehension of how the circuit works. Typically this means overall left to right functional or power flow, with separate functional blocks visually separate, visual emphasis where appropriate, and so on. Something like the original designers drew, if they were any good. When you have only a PCB and want to reverse engineer the schematic, the tasks are: 1. Find data sheets for all the semiconductors/complex parts, so you have diagrams of pin functions. Extract just the pin diagrams to one convenient location, for easy reference while tracing tracks. Paper, or 2nd screen while using primary screen for PCB overlays. 2. Trace PCB copper connectivity, drawing schematic fragments as you go. Every component drawn in the fragents must have a designator. Use the ones from the PCB if there are any, or make them up if not. During this process it can be helpful to know the functions, but usually not essential. At this stage you're aiming to achieve something like a 'netlist with circuit fragments' that doesn't have to make sense on more than a very low level. The number one priority is to do this without errors. The only way to do that is to have a visual copy of the PCB on which you can mark node paths and components as you identify them (to 100% certainty) without fail. 3. Once you have a bunch of sheets of drawn circuit fragments, then integrate them into a sensible circuit diagram. This can be a multi-stage process, and I don't think can be automated. It requires comprehension of how the circuit functions, since that's what the schematic should be trying to convey. I like it when I achieve a schematic in which the component designators (from the original PCB) run in an orderly fashion across the derived schematic, since that's how the designer will have assigned them on their schematic. For stage 2 I use photoshop, with overlaid layers for the front and back of the PCB, and more layers for traced copper tracks, component designators (where there are none on the PCB and you have to make them up), notes, 'component done' dots, color codes for power rails, etc. Start with a hi-res photo of the board front, taken from some distance away to reduce component parallax and barrel distortion. In PS, add some guide lines for the board edges and use 'distort' to make the PCB image rectangular. Overlay a layer with the board rear photo. Flip it, make semi transparent, align and distort it to exactly align with the board front side image. If your photos were OK you should be able to get all pads right across the PCB to line up very well. You can adjust the colors of the PCB front and back layers to get a red/blue effect when viewing them both as overlaid transparencies. Btw older versions of photoshop tend to be more
Re: does a reverse-engineering EDA tool exist?
On Oct 24, 2018, at 2:25 PM, Al Kossow via cctech wrote: > What I would like to find is a tool that puts up a bunch of footprints with > internal IC functions > shown, then a way to rapidly enter the buzzed out interconnections, > generating a netlist. > > This is exactly backwards workflow from normal schematic entry and pcb layout. FWIW I am also quite interested in such a tool. ok bear. -- until further notice
Re: does a reverse-engineering EDA tool exist?
On 10/24/18 8:06 PM, Jon Elson via cctalk wrote: > Hmmm, you COULD actually use a schematic tool to do this! Maybe create > the components to look like DIPs. I know I could do this in Protel 99 > without a great deal of trouble. Then, just draw in all the wires. > I suspect a few other good schematic entry tools could also do this. I know that I've asked about this on one of the EDA boards and got nowhere. It seems that it would be possible to construct a schematic from a netlist, but I've never seen such a tool. I wonder if such a beast exists. --Chuck
Re: does a reverse-engineering EDA tool exist?
On 10/24/2018 04:25 PM, Al Kossow via cctalk wrote: To draw out the schematics for the Displaywriter I have a bunch of boards to trace out, and I don't want to do the usual "scribble on yellow pad" to do it. Has someone written a graphical tool for doing this? What I would like to find is a tool that puts up a bunch of footprints with internal IC functions shown, then a way to rapidly enter the buzzed out interconnections, generating a netlist. This is exactly backwards workflow from normal schematic entry and pcb layout. I suspect I'm just going to have to bite the bullet and write it.. Hmmm, you COULD actually use a schematic tool to do this! Maybe create the components to look like DIPs. I know I could do this in Protel 99 without a great deal of trouble. Then, just draw in all the wires. I suspect a few other good schematic entry tools could also do this. Jon
Re: does a reverse-engineering EDA tool exist?
On 10/24/18 5:41 PM, Guy Dunphy wrote: > A: Yes. But god knows what it costs. > > http://scancad.net/products/pcb-design-fabrication/pcb-reverse-engineering > ScanFAB is a fully integrated, stand-alone, scanner- based re-engineering > system that permits the creation of CAD data (DXF/Gerber/Drill/CNC) from > existing multilayer PCBs, parts, phototools, stencils, drawings, microfiche, > PDF files, X-Ray images, etc. > It also contains a full Gerber editor that can be used to import, modify and > export Gerber & Drill data. > ScanFAB uses Windows-based software linked to a high-resolution, calibrated > flatbed scanner. This combination allows for accurate reverse engineering and > precise reproduction of data to exact FORM, FIT and FUNCTION for today's high > density PCB board designs, complex parts and tooling. Something like this won't really help for IBM boards. The machines in the Displaywriter era are fabricated with circuit board material with holes every .1" across the entire board. They are multi-layer, and the solder mask is dark so optical scanning isn't practical. I've been tracing out pcbs since the late 70's, so I'm familiar with all the tricks, tracing starting at outputs, identifying busses and decoders, etc. but it's getting tedious especially on random logic, and I was hoping to automate some of it. While it won't be practical to do it on the IBM boards because of the component density I have been working on automating the tracing process by building some modules that will do some tracing in parallel.
Re: does a reverse-engineering EDA tool exist?
At 02:25 PM 24/10/2018 -0700, you wrote: >To draw out the schematics for the Displaywriter I have a bunch of boards to >trace out, >and I don't want to do the usual "scribble on yellow pad" >to do it. Has someone written a graphical tool for doing this? > >What I would like to find is a tool that puts up a bunch of footprints with >internal IC functions >shown, then a way to rapidly enter the buzzed out interconnections, generating >a netlist. > >This is exactly backwards workflow from normal schematic entry and pcb layout. > >I suspect I'm just going to have to bite the bullet and write it.. A: Yes. But god knows what it costs. http://scancad.net/products/pcb-design-fabrication/pcb-reverse-engineering ScanFAB is a fully integrated, stand-alone, scanner- based re-engineering system that permits the creation of CAD data (DXF/Gerber/Drill/CNC) from existing multilayer PCBs, parts, phototools, stencils, drawings, microfiche, PDF files, X-Ray images, etc. It also contains a full Gerber editor that can be used to import, modify and export Gerber & Drill data. ScanFAB uses Windows-based software linked to a high-resolution, calibrated flatbed scanner. This combination allows for accurate reverse engineering and precise reproduction of data to exact FORM, FIT and FUNCTION for today's high density PCB board designs, complex parts and tooling. Apart from that, here are some related discussions: http://www.eevblog.com/forum/beginners/how-to-reverse-engineer-a-simple-through-hole-board/ How to reverse engineer a simple through-hole board http://www.eevblog.com/forum/chat/making-reverse-engineered-altium-designs-public/ Making reverse engineered Altium designs public And a few examples of my own reverse engineering for repairs: http://everist.org/NobLog/20151112_planning_vacuum.htm#54120B_ps http://everist.org/NobLog/20161129_3d_learning_curve.htm#ps http://everist.org/NobLog/20160331_lightning_luck.htm#tla614 In general since I'm not trying to end up with schematics and PCB layouts for remanufacture, but just anything good enough for fault finding, I just use photoshop to aid in the track tracing stage. Then pencil and paper (in multiple stages) to end up with a sensibly organized schematic. If I want a neat looking 'schematic' (just for viewing, ie only an image) I use photoshop for that too. eg http://everist.org/NobLog/pics/20161129/20161219_PSU_schem.png Though to manufacture an identical or modified version of the thing, full schematic editor and layout CAD is necessary. Btw Al, did you ever find that TM200 IBM card reader manual you recalled seeing somewhere? I still can't find a manual with schematics for my TM200. Plenty of M200 manuals, nothing for the very different TM200. See http://everist.org/NobLog/20180922_data_in_holes.htm#tm200 Guy
Re: does a reverse-engineering EDA tool exist?
I've gone through this a few times myself. There are a few approaches. One is to use a schematic tool like Kicad to place all the ICs first, then add the wires and rearrange things as you buzz out the connections. Another approach uses an intermediate step where you enter all the buzzed out connections into a spreadsheet, then go from the spreadsheet to the schematic. You can mark completed rows in the sheet so it's easier to keep track of your progress. What I've done in the past is to image both sides of a 2-layer board, pull it into GIMP, then trace out the traces and enter them into schematic. It won't work on >2 layer boards, although if a 4-layer board only uses the inner layers for power and ground planes, you can cheat a bit. For pads tied to power or ground, you can often shine a light from the back and look for the thermal "spokes" tying it to the plane. There is also a program called Sprint-Layout which I have not used but lets you place a reference photo underneath a board layout. One of the Amiga people have used it to reverse engineer the A3640 CPU board: http://wordpress.hertell.nu/?page_id=514 (I'd check out his page anyway because he also describes his spreadsheet method.) I have also heard (but not personally confirmed) that Diptrace lets you do that too. On Wed, Oct 24, 2018 at 2:51 PM Al Kossow via cctalk wrote: > To draw out the schematics for the Displaywriter I have a bunch of boards > to trace out, > and I don't want to do the usual "scribble on yellow pad" > to do it. Has someone written a graphical tool for doing this? > > What I would like to find is a tool that puts up a bunch of footprints > with internal IC functions > shown, then a way to rapidly enter the buzzed out interconnections, > generating a netlist. > > This is exactly backwards workflow from normal schematic entry and pcb > layout. > > I suspect I'm just going to have to bite the bullet and write it.. > > > >
does a reverse-engineering EDA tool exist?
To draw out the schematics for the Displaywriter I have a bunch of boards to trace out, and I don't want to do the usual "scribble on yellow pad" to do it. Has someone written a graphical tool for doing this? What I would like to find is a tool that puts up a bunch of footprints with internal IC functions shown, then a way to rapidly enter the buzzed out interconnections, generating a netlist. This is exactly backwards workflow from normal schematic entry and pcb layout. I suspect I'm just going to have to bite the bullet and write it..