Post APqSl0kRSa2biMkopk by pry@raru.re
 (DIR) More posts by pry@raru.re
 (DIR) Post #APqQNkmYSGqRd1WaZ6 by pry@raru.re
       2022-11-22T00:05:52Z
       
       0 likes, 0 repeats
       
       hey fedi, one thing im confused about when designing a CPU is the interface. what do the pins in and out look like on a CPU ? are there any good resources for designing this sort of thing?
       
 (DIR) Post #APqQWHvN7JDijYibFg by ch0ccyra1n@emeraldsocial.org
       2022-11-22T00:07:24Z
       
       0 likes, 0 repeats
       
       @pry the thing I'm confused about when designing a CPU is the everything πŸ™ƒ
       
 (DIR) Post #APqQX8CWklqArp92DA by alexandria@cybre.space
       2022-11-22T00:07:29Z
       
       0 likes, 0 repeats
       
       @pry well to start i put all my pins in the input output pin cushion
       
 (DIR) Post #APqQohshLfdcRyFadM by Rushyo@octodon.social
       2022-11-22T00:10:42Z
       
       0 likes, 0 repeats
       
       @pry probably the easiest place to start is to look at 8-bit chips, as they're relatively simplier and have less pins.this is the manual for an Atmel AVR 8-bit chip that includes reasonable pin descriptions (see section 5.1): https://ww1.microchip.com/downloads/en/DeviceDoc/en590320.pdf
       
 (DIR) Post #APqSl0kRSa2biMkopk by pry@raru.re
       2022-11-22T00:32:30Z
       
       0 likes, 0 repeats
       
       @Rushyo hmm, what if i want to look at making a 32-bit processor?
       
 (DIR) Post #APqSm6sy7tGZ2VGaZ6 by steffo@fosstodon.org
       2022-11-22T00:32:40Z
       
       0 likes, 0 repeats
       
       @pry sounds more like a electronics question than a computer science one πŸ€” but now i'm curious too
       
 (DIR) Post #APqSo7Gffxu8nvJGj2 by alexandria@cybre.space
       2022-11-22T00:07:36Z
       
       0 likes, 0 repeats
       
       @pry otherwise they get everywhere and-
       
 (DIR) Post #APqSo7nzg4YkTGtsfI by pry@raru.re
       2022-11-22T00:32:57Z
       
       0 likes, 0 repeats
       
       @alexandria πŸ˜’
       
 (DIR) Post #APqnfCO7Mt4B7CNkMC by woodcat@raru.re
       2022-11-22T04:26:43Z
       
       0 likes, 0 repeats
       
       @pry depends a lot on what you want to be able to do with the pin, but the simplest thing to do is wire them up as inputs and outputs to another register or series of registers that the controller can either read from or write to
       
 (DIR) Post #APqoOSM0qyetfEyge8 by woodcat@raru.re
       2022-11-22T04:28:59Z
       
       0 likes, 0 repeats
       
       @pry of course this is off the dome, but you'll probably want to protect those registers with clock latching and give your CPU some way to tell if it's being used for input or output, or just wire some pins explicitly as input or output
       
 (DIR) Post #APqoOSlBLOn8vIkmsS by woodcat@raru.re
       2022-11-22T04:30:49Z
       
       0 likes, 0 repeats
       
       @pry even simpler, if you know what they're going to be hooked up to, say a row of switches or LEDs, you can probably just pretend there's a register on the other side of the pins
       
 (DIR) Post #APqoOT6S4JnzzGhm1w by pry@raru.re
       2022-11-22T04:34:52Z
       
       0 likes, 0 repeats
       
       @woodcat hmm i guess i was wondering what the interface to a 32-bit processor looks like
       
 (DIR) Post #APqoiQYDGe11raCuXY by woodcat@raru.re
       2022-11-22T04:38:31Z
       
       0 likes, 0 repeats
       
       @pry depends on if you're thinking about x86 or some other architecture. I would recommend looking at pinouts for like, 8 or 16-bit microcontrollers with good documentation and go from there. Generally 32 and 64-bit thing is just the same thing but, with like, larger word sizes
       
 (DIR) Post #APqpZRag8G48R5dnEW by pry@raru.re
       2022-11-22T04:48:06Z
       
       0 likes, 0 repeats
       
       @woodcat ah i see,  thanks! have any particular microcontroller you would recommend looking at ?
       
 (DIR) Post #APqrCscve5gBXG3tNA by woodcat@raru.re
       2022-11-22T05:06:26Z
       
       0 likes, 0 repeats
       
       @pry definitely ARM, probably Cortex M4, and any sexless and lowspec dev/evaluation board you feel like messing with. Honestly you could go right to 32-bit if you want, but you might find you learn faster on 8 or 16. It's really all the same. I have a TM4C123G eval board and this book was a really awesome resource. PDFs shouldn't be too hard to find.
       
 (DIR) Post #APqsyefkvlwm6vjFgm by 6a62@raru.re
       2022-11-22T05:26:13Z
       
       0 likes, 0 repeats
       
       @pry soooo here’s the question: do you mean the interface of a processor core, or of a complete system on chip?
       
 (DIR) Post #APqx0tZUuIgMiP7pSK by pry@raru.re
       2022-11-22T06:11:30Z
       
       0 likes, 0 repeats
       
       @woodcat thanks
       
 (DIR) Post #APqxFTAxKQBzC4azi4 by pry@raru.re
       2022-11-22T06:14:08Z
       
       0 likes, 0 repeats
       
       @6a62 ah thats fair. i was thinking processor core. i guess i want to make a risc-v cpu in vhdl and im not exactly sure what the interface to that would look like.since risc-v has loads and stores and all that, i would either have to have certain control signals that output those sorts of things to something external or i would have to model it in vhdl and i dont know enough about vhdl yet. im assuming id want to do a system on a chip
       
 (DIR) Post #APr78dG2RchRydLqZk by 6a62@raru.re
       2022-11-22T08:04:58Z
       
       0 likes, 0 repeats
       
       @pry load/stores are usually handled by a bus interface running a protocol like AXI
       
 (DIR) Post #APrvtnwtVYFMSC5GNM by 6a62@raru.re
       2022-11-22T08:05:34Z
       
       0 likes, 0 repeats
       
       @pry you may want to have a look at some existing softcores for reference too
       
 (DIR) Post #APrvtoZBDCs6Mvzq3E by pry@raru.re
       2022-11-22T17:33:44Z
       
       0 likes, 0 repeats
       
       @6a62 ah ok! thanks!