sburrow wrote:
So what are you working on specifically? I see your "Glue" picture, but what is the goal here eventually?
I'm working on a full schematic for my next project. It will be a more full-featured "home computer" style build pulling together what I've learned so far from previous projects, and expanding a bit. (It will have some basic RAM/ROM banking, which I haven't done before, and an ACIA for serial connections.)
Here's today's KiCAD headscratcher. I wired up the CPU, RAM, and ROM like this:
Attachment:
Screen Shot 2023-07-13 at 12.50.33 PM.png [ 74.4 KiB | Viewed 696 times ]
I created global labels A[0..15] and D[0..7] for the address and data buses, then unfolded the connections for each line where it connects to the various ICs, just like you see in the picture. When I run the error check, there's no complaints on this sheet. Over on the I/O sheet I wired up the VIAs like this:
Attachment:
Screen Shot 2023-07-13 at 12.57.24 PM.png [ 52.86 KiB | Viewed 696 times ]
You can see I created the same data bus, then broke out its individual lines. I also broke out individual address lines to connect them to the VIAs' register select lines. Again, no problems. On that same page I also broke out D0 to create an output "register" to control RAM/ROM banking:
Attachment:
Screen Shot 2023-07-13 at 12.59.38 PM.png [ 21.33 KiB | Viewed 696 times ]
That also worked OK! So the concept I'm working from is that creating a bus with the X[Na..Na+z] syntax creates all the individual labels (Na, Na+1, Na+2, etc.) and makes them available for individual connections. However, over on the glue logic sheet, where I did exactly the same thing for the address bus, I get a bunch of errors saying "label A4 is not connected to anything," "label A5 is not connected to anything," etc., for every address label that I fanned out from the address bus.
Attachment:
Screen Shot 2023-07-13 at 1.04.43 PM.png [ 48.83 KiB | Viewed 696 times ]
I'm stumped!