04-28-2015, 04:34 AM
(This post was last modified: 03-15-2016, 10:23 PM by Tommyand.
Edit Reason: Moar Updates!
)
Since I actually have a project now, I may as well post about it. On my school plot, (my username now being Kitlith,) I'm working on making a FPGA slice based on the one here: http://blog.notdot.net/2012/10/Build-your-own-FPGA
Old post can be found below:
I finally have something that works!
Shoutout to very_awesome_guy for stacking it for testing!
Pictures!
It's a pain to program, with the config everywhere, and having to do everything manually, but that's where v3 will come in! *facepalms*
I've made a Lookup Table that you can shift it's program in, so far, but I think I really want WE before I do much more. Look out trial, here I come!
So, I passed my trial. And now I'm on build.
I expanded the concept a little bit. The lookup table now takes 4 inputs gives 4 outputs. This means that each side of the slice can have an input and an output. Here are some pictures of this expanded FPGA:
However, earlier, I mentioned a LUT where you can shift the program in. I've been working on that lately, and... well... I had a few variants before I settled (with some help) on what I'm currently using. They mainly differ on how I'm disabling output when a line isn't selected.
The first two prototypes had the same idea, but one followed from the other. The main problem was getting these to not interfere with the shift register.
The first prototype worked better then the second, though the second would have been faster... if only I could reach all of the comparators. At this point, amh(some numbers), also known as Burrito, took a look, and... made it simpler and faster. Just look at the images:
But... that was only actually 3x4. So, I expanded it, and have been working on completing it. Here goes.
Not done. Totally not done. In fact, I dread finishing it. Still not sure how I'm going to get the serial line to all of the control points (pink wool). I'll worry about that later. For now, here's what's up.
The full album of pictures can be found here: http://imgur.com/a/bmnmX
Can I even say any more? I'm probably going to take a break from this. Crazy brought up OISC stuff, so I'm getting interested in making a subleq CPU again. We'll see what happens.
Old post can be found below:
I finally have something that works!
Shoutout to very_awesome_guy for stacking it for testing!
Pictures!
It's a pain to program, with the config everywhere, and having to do everything manually, but that's where v3 will come in! *facepalms*
I've made a Lookup Table that you can shift it's program in, so far, but I think I really want WE before I do much more. Look out trial, here I come!
So, I passed my trial. And now I'm on build.
I expanded the concept a little bit. The lookup table now takes 4 inputs gives 4 outputs. This means that each side of the slice can have an input and an output. Here are some pictures of this expanded FPGA:
However, earlier, I mentioned a LUT where you can shift the program in. I've been working on that lately, and... well... I had a few variants before I settled (with some help) on what I'm currently using. They mainly differ on how I'm disabling output when a line isn't selected.
The first two prototypes had the same idea, but one followed from the other. The main problem was getting these to not interfere with the shift register.
The first prototype worked better then the second, though the second would have been faster... if only I could reach all of the comparators. At this point, amh(some numbers), also known as Burrito, took a look, and... made it simpler and faster. Just look at the images:
But... that was only actually 3x4. So, I expanded it, and have been working on completing it. Here goes.
Not done. Totally not done. In fact, I dread finishing it. Still not sure how I'm going to get the serial line to all of the control points (pink wool). I'll worry about that later. For now, here's what's up.
- Absolutely no pistons. None. All of the (de-)multiplexers are bade with torches.
- Unfinished. The inputs are hooked up, but the outputs are not.
- Messy. I don't even want to think about that busing...
- Slow. This is impractical. However... how is a CPU in Minecraft practical?
- Programable! Each slice will take ~80 bits of information, 4 bits for each possible input (16), and 16(?) control lines.
The full album of pictures can be found here: http://imgur.com/a/bmnmX
Can I even say any more? I'm probably going to take a break from this. Crazy brought up OISC stuff, so I'm getting interested in making a subleq CPU again. We'll see what happens.