With ref to the recent
thread on reverse-engineering the SID chip, I though it might be worth sharing a couple of tools we made within the visual6502 community. These tools are not finished and were never used in anger, but they might be an interesting start, or an inspiration, for anyone wanting to tackle the problem of capturing polygons from chip layouts.
There is a client and a server, and the idea is for the client to be run by as many people are interested, and to capture polygons for small portions of the chip in a session of about 15 mins work. A person does as many sessions as they feel like, when they like. Each session should capture one layer of one tile. The server collects the data and puts it together. It can show overall progress and show each contribution.
In principle the server can ask several people to do each tile, and work out which tiles are accurate by fuzzy comparison, and rank people according to accuracy so that the more reliable people's tiles don't need quite so much confirmation as the less reliable people. (Less reliable people could be malicious, playful, confused, or inexperienced.) I don't know if the server has any of that functionality at present.
Here's what the interface looked like when we last touched it:
Attachment:
Crowdsource-polygons.png [ 526.26 KiB | Viewed 935 times ]
You can have a play
here.
There are several live forks on github - my forks are almost the latest code, so I will link to them.
https://github.com/BigEd/crowdsource-polygonshttps://github.com/BigEd/crowdsource-serverIn fact, having typed that, I see there's a
README!
In doing these reverse-engineerings, we find several bottlenecks:
- finding the rare chip which can be destroyed
- doing the chemistry
- doing the photography
- stitching into a single enormous image (or two, if we deprocess the chip to remove metal)
- capturing polygons for each layer
- building a netlist from the polygons
- making a simulation running on the netlist
- putting that simulation on a website
and because of all these bottlenecks you don't see much new from
visual6502 very often. The main site now offers the
6502,
6800, and
ARM simulations. The
wiki holds a number of findings and some related work as well as a table of progress on the many donated chips. (Progress is very very slow - I don't recommend making any further donations without prior discussion.) (I see now that the wiki doesn't yet mention the ARM work!)
Some of the successful efforts at capturing polygons have been one person using one tool - either photoshop or inkscape. (Collaboration should improve throughput but then it needs coordination.)