multi_sim.git
14 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)

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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)

14 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

14 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

14 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

15 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)

15 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

15 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

15 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

15 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

15 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)

15 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

15 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

15 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

15 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)

15 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)

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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