Re: does a reverse-engineering EDA tool exist?

2018-10-25 Thread Guy Sotomayor Jr via cctalk



> 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?

2018-10-25 Thread Al Kossow via cctalk



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?

2018-10-25 Thread Al Kossow via cctalk



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?

2018-10-25 Thread Al Kossow via cctalk



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?

2018-10-25 Thread Guy Sotomayor Jr via cctalk



> 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?

2018-10-25 Thread Jon Elson via cctalk

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?

2018-10-25 Thread Al Kossow via cctalk



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?

2018-10-25 Thread Christian Corti via cctalk

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?

2018-10-25 Thread Guy Dunphy via cctalk
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?

2018-10-25 Thread r.stricklin via cctalk


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?

2018-10-24 Thread Chuck Guzis via cctalk
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?

2018-10-24 Thread Jon Elson via cctalk

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?

2018-10-24 Thread Al Kossow via cctalk



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?

2018-10-24 Thread Guy Dunphy via cctalk
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?

2018-10-24 Thread Eric Schlaepfer via cctalk
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..
>
>
>
>