multi_sim.git
10 months agoImproved graphs in pdf format, but multiple graphs per document not working yet ... master
Nick Downing [Tue, 22 Jul 2025 08:28:49 +0000 (18:28 +1000)]
Improved graphs in pdf format, but multiple graphs per document not working yet (the first one goes to the pdf file and the rest to stdout and are not saved)

10 months agoFirst cut at combining postscript output into one large document of graphs
Nick Downing [Mon, 21 Jul 2025 13:19:50 +0000 (23:19 +1000)]
First cut at combining postscript output into one large document of graphs

10 months agoMore work on node names and many additional circuits, code cleanup
Nick Downing [Mon, 21 Jul 2025 12:52:40 +0000 (22:52 +1000)]
More work on node names and many additional circuits, code cleanup

10 months agoIn /scripts/fets.py, /scripts/gates.py, /scripts/circuits.py give the output file...
Nick Downing [Mon, 21 Jul 2025 08:47:44 +0000 (18:47 +1000)]
In /scripts/fets.py, /scripts/gates.py, /scripts/circuits.py give the output file explicitly rather than using stdout, add some basic progress diagnostics on stdout, in /scripts/circuit.py in latch templates put gates first to speed search

10 months agoFix a bug in /scripts/circuits.py where it could use symbol again during search
Nick Downing [Mon, 21 Jul 2025 08:26:50 +0000 (18:26 +1000)]
Fix a bug in /scripts/circuits.py where it could use symbol again during search

10 months agoCode cleanup in /scripts/circuits.py with more descriptive temporary variables
Nick Downing [Mon, 21 Jul 2025 08:14:14 +0000 (18:14 +1000)]
Code cleanup in /scripts/circuits.py with more descriptive temporary variables

10 months agoIn /scripts/circuits.py and /scripts/blocks.py rename SB_* to *_SUPER, add the TG_LAT...
Nick Downing [Mon, 21 Jul 2025 06:21:57 +0000 (16:21 +1000)]
In /scripts/circuits.py and /scripts/blocks.py rename SB_* to *_SUPER, add the TG_LATCH_FB, NOR_SUPER, NOR_SUPER_HD circuits which are used in special cases

10 months agoIn /scripts/circuits.py and /scripts/blocks.py rationalize superbuffer circuits
Nick Downing [Mon, 21 Jul 2025 05:42:29 +0000 (15:42 +1000)]
In /scripts/circuits.py and /scripts/blocks.py rationalize superbuffer circuits

10 months agoRenumber ALU slices from 0..7 to 7..0 (from left to right) in block / net names
Nick Downing [Mon, 21 Jul 2025 03:50:20 +0000 (13:50 +1000)]
Renumber ALU slices from 0..7 to 7..0 (from left to right) in block / net names

10 months agoImplement the SB_NOT (useful) and SB_AND_OR (not so useful) circuits
Nick Downing [Mon, 21 Jul 2025 03:23:36 +0000 (13:23 +1000)]
Implement the SB_NOT (useful) and SB_AND_OR (not so useful) circuits

10 months agoIn /scripts/*.py rename LATCH to TG_LATCH (transmission-gate latch), input_nets to...
Nick Downing [Mon, 21 Jul 2025 02:15:18 +0000 (12:15 +1000)]
In /scripts/*.py rename LATCH to TG_LATCH (transmission-gate latch), input_nets to a_nets, output_net to y_net (more consistent with TG_LATCH pin names scheme)

10 months agoName ALU and register nets using a combination of automatic and manual methods
Nick Downing [Mon, 21 Jul 2025 02:11:55 +0000 (12:11 +1000)]
Name ALU and register nets using a combination of automatic and manual methods

10 months agoIn /8085/blocks.png combine vertical ALU and register slices, and some of the random...
Nick Downing [Mon, 21 Jul 2025 00:38:33 +0000 (10:38 +1000)]
In /8085/blocks.png combine vertical ALU and register slices, and some of the random logic blocks, just to make it easier to see the context of the logic

10 months agoIn /8085/blocks.png combine random transistors into nearby blocks (just by guessing...
Nick Downing [Mon, 21 Jul 2025 00:18:13 +0000 (10:18 +1000)]
In /8085/blocks.png combine random transistors into nearby blocks (just by guessing), fix /8085/node_names.txt to recover original names of the changed blocks

10 months agoAdd latch subcircuit (transmission gate latch found in e.g. 8085 block_alu22)
Nick Downing [Sun, 20 Jul 2025 14:50:45 +0000 (00:50 +1000)]
Add latch subcircuit (transmission gate latch found in e.g. 8085 block_alu22)

10 months agoAdd subcircuit analysis, it can identify an XOR gate made from AND+NOR gates
Nick Downing [Sun, 20 Jul 2025 14:23:29 +0000 (00:23 +1000)]
Add subcircuit analysis, it can identify an XOR gate made from AND+NOR gates

10 months agoMake fets.txt / gates.txt object oriented, in preparation for circuit analysis
Nick Downing [Sun, 20 Jul 2025 10:12:33 +0000 (20:12 +1000)]
Make fets.txt / gates.txt object oriented, in preparation for circuit analysis

10 months agoIn /8085 adopt new nomenclature "fets" instead of "channels", so rename /scripts...
Nick Downing [Sun, 20 Jul 2025 09:24:58 +0000 (19:24 +1000)]
In /8085 adopt new nomenclature "fets" instead of "channels", so rename /scripts/channels.py to /scripts/fets.py and have it produce the fets.txt file, but in /scripts/fets.py it still mostly refers to channels until it writes the output

10 months agoAdd /scripts/gates.py to analyze pulled-up networks and transform into gates
Nick Downing [Sun, 20 Jul 2025 05:30:53 +0000 (15:30 +1000)]
Add /scripts/gates.py to analyze pulled-up networks and transform into gates

10 months agoAdd /scripts/blocks.* to generate graphs of each block using dot (graphviz)
Nick Downing [Sat, 19 Jul 2025 14:43:28 +0000 (00:43 +1000)]
Add /scripts/blocks.* to generate graphs of each block using dot (graphviz)

10 months agoChange format of nodes.txt file to have the counts in the header line, code cleanup...
Nick Downing [Sat, 19 Jul 2025 02:05:02 +0000 (12:05 +1000)]
Change format of nodes.txt file to have the counts in the header line, code cleanup in /scripts/nodes.py which generates the file, change format of channels.txt file to contain the block, coordinates and mass (capacitance) and improve diff_nets/r_matrix, code cleanup in /scripts/channels.py which generates the file

10 months agoSwap blocks and pads colours, since there are no node numbers to keep stable anymore...
Nick Downing [Sat, 19 Jul 2025 08:14:46 +0000 (18:14 +1000)]
Swap blocks and pads colours, since there are no node numbers to keep stable anymore, assign names to blocks of at least a certain size

10 months agoIn /8085 adopt new nomenclature "nodes" instead of "nets", because channels and block...
Nick Downing [Sat, 19 Jul 2025 06:40:38 +0000 (16:40 +1000)]
In /8085 adopt new nomenclature "nodes" instead of "nets", because channels and blocks are not technically nets, rename data files and scripts as follows:
/8085/net_names.txt -> /8085/node_names.txt
/8085/sizes.txt -> /8085/node_sizes.txt (generated file)
/scripts/net_channels.py -> /scripts/channels.py
/scripts/net_image.py -> /scripts/node_image.py
/scripts/net_sizes.py -> /scripts/node_sizes.py
/scripts/image_nets.py -> /scripts/nodes.py
Note: Breaks the other directories, will port over latest scripts to them later

10 months agoImplement automatic net names instead of numbers (by colour and coordinates)
Nick Downing [Sat, 19 Jul 2025 06:28:57 +0000 (16:28 +1000)]
Implement automatic net names instead of numbers (by colour and coordinates)

10 months agoAdd /8085/blocks.png which manually separates the chip into any obvious blocks, chang...
Nick Downing [Sat, 19 Jul 2025 02:05:51 +0000 (12:05 +1000)]
Add /8085/blocks.png which manually separates the chip into any obvious blocks, change /conn_matrix.txt and /Makefile to include blocks.png in the analysis (it will generate reports to indicate the association between channels and blocks)

10 months agoAdd /8085/net_names.txt naming the 41 numerically smallest net numbers
Nick Downing [Fri, 18 Jul 2025 14:03:26 +0000 (00:03 +1000)]
Add /8085/net_names.txt naming the 41 numerically smallest net numbers

10 months agoIn /8085 put pads layer at beginning of stack, means we cannot see it anymore in...
Nick Downing [Fri, 18 Jul 2025 12:57:42 +0000 (22:57 +1000)]
In /8085 put pads layer at beginning of stack, means we cannot see it anymore in the layer/net images but the assignment to item numbers and hence net numbers will be more stable for the external pins, generate layers_rev.png so we can see the top view of chip with pads visible and metal having priority over poly/diff

10 months agoIn /scripts/net_channels.py add resistor solver to determine channel resistance
Nick Downing [Fri, 18 Jul 2025 12:32:37 +0000 (22:32 +1000)]
In /scripts/net_channels.py add resistor solver to determine channel resistance

10 months agoAdd /orig/*_6800.js from https://github.com/trebonian/visual6502.git commit d8ecc129...
Nick Downing [Thu, 17 Jul 2025 01:29:07 +0000 (11:29 +1000)]
Add /orig/*_6800.js from https://github.com/trebonian/visual6502.git commit d8ecc129, add preliminary analysis in /6800 with improved automatic processing relative to /6502, add /6800/notes.txt with ideas for further automatic processing

10 months agoImprove /scripts/segdefs*.py to allow multiple outlines, revert /scripts/to_mono...
Nick Downing [Thu, 17 Jul 2025 00:48:00 +0000 (10:48 +1000)]
Improve /scripts/segdefs*.py to allow multiple outlines, revert /scripts/to_mono.py to a 50% threshold so that we can see the pad names in /8085

10 months agoAdd /orig/z80_*.png from https://github.com/gdevic/Z80Explorer.git commit 6c6f15b8...
Nick Downing [Wed, 16 Jul 2025 23:52:21 +0000 (09:52 +1000)]
Add /orig/z80_*.png from https://github.com/gdevic/Z80Explorer.git commit 6c6f15b8, add preliminary analysis in /z80

10 months agoAdd /orig/*_6502.js from https://github.com/trebonian/visual6502.git commit d8ecc129...
Nick Downing [Wed, 16 Jul 2025 10:52:43 +0000 (20:52 +1000)]
Add /orig/*_6502.js from https://github.com/trebonian/visual6502.git commit d8ecc129, add scripts to regenerate the layer images from polygons, add preliminary analysis in /6502 -- it has some problems -- no pads layer, no depletion transistors yet (we don't have polygons for their channels), many missed connections (such as when a via is not automatically generated because it falls within a transistor bounding box) -- need to do a comprehensive comparison of the netlists

10 months agoMove scripts into /scripts, analysis into /8085, add /8080 based on kinda-polygons...
Nick Downing [Wed, 16 Jul 2025 05:39:31 +0000 (15:39 +1000)]
Move scripts into /scripts, analysis into /8085, add /8080 based on kinda-polygons from gerber exports in https://github.com/nickd4/vm80a.git commit cd74c369

10 months agoNew approach where all image processing is done in one pass, saving both net and...
Nick Downing [Tue, 15 Jul 2025 14:31:43 +0000 (00:31 +1000)]
New approach where all image processing is done in one pass, saving both net and adjacency information, then transistors are reconstructed from the adjacency

10 months agoFirst cut at NMOS IC analysis, can separate layers into contiguous regions with numer...
Nick Downing [Mon, 14 Jul 2025 17:19:39 +0000 (03:19 +1000)]
First cut at NMOS IC analysis, can separate layers into contiguous regions with numeric IDs, then follow connections between layers to create numeric nets