-
Notifications
You must be signed in to change notification settings - Fork 456
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bi directional I/O? #1307
Comments
Each pin is bi-directional by default. In fact, there are no uni-directional pins in this simulator. |
would it be possible to create a sample showing us how we might construct a bi-directional bus controlled by another signal such as those used for r/w signals? I to have found trying to do this very frustrating. |
It works just like a real bus. If open-collector drivers are used, you can connect all wires together; if TriState outputs are used, you need a control circuit that ensures that only one output is active. An input can be connected to the bus for reading. |
Can we do "pull ups" in Digital? That's an analog function right? or would it suffice to just connect a line to a +ve terminal? |
If you connect a wire to a +vcc terminal, you can never pull it down. Therefore the pull-up is necessary. |
Going with your sub circuit above (First Image) this is what I've basically been trying to do: With a sub circuit inside the IO-Reg: The I/O's etc on the external Circuit look like the following: I think, @Mekelaina was potentially trying to do something similar to me. In my efforts to model a 6522 VIA for example, the device has 16 r/w registers connected directly to a common data bus. the register to access is controlled by 4 Address pins, and r/w is controlled by a regular R not W line, where it's High to read the internal register, and Low to Write to it. |
Remove the data input or set its default value to “high z”. Think of the input as always being connected to either VCC or GND. |
Ah I see what your doing now, ok, I'll have a play with that and see what transpires. I did at one point even try to write this as a Java Component too :-) For reference, this is what I've been trying to emulate in Digital (For quite some time now) :-D http://6502.org/documents/datasheets/rockwell/rockwell_r6522_via.pdf |
Love the program but I've found implementing a data bus like in older computers to be difficult. The 6502 for example, had 8 data lines with a pin for whether the CPU was reading or writing to those lines. And I've not found a decent solution other than making data in pins and data out pins. Which is fine for simulations but makes prototyping physical circuits frustrating.
The text was updated successfully, but these errors were encountered: