Gavin786 Posted January 30, 2020 Share Posted January 30, 2020 I previously posted this kind of design on Steam. This is kind of a version 2 of that. Basically the purpose of this is to be able to create and play any arbitrary sequence on an n-bit bus. Sequence repeats once completed. I am using this now for infinite gas storage, but I can see a lot of possible uses of this type of design. This version is dynamically programmable so its not a tangle of wires, and more understandable what it is doing. Everything done in the set of AND gates can be done in a "fixed" version which is a lot cheaper, but requires a lot of wires crossing and (by comments I received) is not obvious to a lot of people what it is doing. (Diode = 2 NOT gates are needed in this cheaper, fixed wires approach to prevent back-propagation of the signal). Basically it plays a sequence, then repeats, continue. It can play any sequence and can be extended to have an arbitrarily long bus also. Switches determine the 0 1 of the sequence so it is programmable. Possibly this is nicer vs fixed one if there is a lot of resources to spare. The control logic to start the sequence has went through several iterations. This version is fault tolerant to being cycled while in operation, which would otherwise cause a critical failure condition. This means it needs a bit more logic than one might think, but is worth it as it makes the system fully fault-tolerant to being switched on-off and care need not be taken that the sequence is not started while in the middle. Sequence must always complete once started. It uses 2 cycles when the sequence starts, which means the first buffer gate(in the sequence ladder) needs to be 1 cycle(0.1s) less than the target on time. Reset logic takes 2 cycles to propagate so the final filter gate(in the sequence ladder) needs to be 2 cycles(0.2s) less than the target time. Transitions need to be taken into account in timing, esp something like this as having no control for even 1 cycle is equivalent to putting 000 on the bus for that cycle. This is why the final filter gate in the sequence must be 2 cycle less than the buffer gate timing as it takes this 0.2s for the control logic to cycle and restart the sequence, and it cannot be "out of control" even for 1 cycle. As an example of use : This sequence allows perfect and infinite storage of gas if connected to 3 automatic doors. Here we have the sequence : 000 110 010 011 001 Which allows perfect storage of gas upto any(as far as I have seen) pressure. So I hope this proves useful to someone. Enjoy the design. Gavin786 Link to comment Share on other sites More sharing options...
Gurgel Posted January 30, 2020 Share Posted January 30, 2020 I am still hoping for a small, Lua-processing component or the like for this. A "Computer Update" Doing things like this from base-gates is far too hard. Link to comment Share on other sites More sharing options...
Junksteel Posted January 30, 2020 Share Posted January 30, 2020 9 hours ago, Gavin786 said: its not a tangle of wires 9 hours ago, Gavin786 said: more understandable what it is doing. Really? Hey dude, I can't even understand what you're doing but seems a hell of work. Good job! Link to comment Share on other sites More sharing options...
KittenIsAGeek Posted January 31, 2020 Share Posted January 31, 2020 This is great. I'll probably never build one in game, since most things I would do with it can be done in other, simpler ways. However, as a computer engineer, I love that you've done this. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.