Git Product home page Git Product logo

Comments (4)

cdsteinkuehler avatar cdsteinkuehler commented on September 15, 2024

On 8/4/2016 4:56 PM, dkhughes wrote:

I have a small pull request ready to go if you guys are cool with this that I
will submit, I just wanted to get some feedback first.

I'm totally cool with changing from the current tri-state I/O pin
scheme to something more sane like din/dout/ddir for both the I/O pins
and the read/write bus.

Using "tri-state" logic internal to the FPGA is just asking for
trouble. Even when it gets mostly correctly synthesized by the tools
(by getting turned into gigantic OR gates), funny and unexpected
things can happen.

Charles Steinkuehler
[email protected]

from mksocfpga.

dkhughes avatar dkhughes commented on September 15, 2024

Using "tri-state" logic internal to the FPGA is just asking for trouble.

I agree with that completely, but the way the top level IOBits function right now (selectable direction at runtime by the hal) requires them to be inout or buffer types connecting to the fpga package pins. Originally, to avoid the tristate bus handling internally I put the logic module inside the hostmot2 file. There, we have unidirectional input register and output registers, but it required a custom hostmot2 at the IP level, and that just seemed like the amount of customized-but-99% identical IPs could grow exponentially.

I guess another way around would be adding dedicated logic blocks inside hm2 and having them resolve to wires unless a project customized them similar to the unique PIN files. That would avoid internal tristate design and IP duplication.

from mksocfpga.

the-snowwhite avatar the-snowwhite commented on September 15, 2024

Sorry I have not been able to communicate much.

Please look at this example of what you are mentioning here:

the-snowwhite/mksocfpga-hm3_dev@fbc30b8

#38

#18

I think maybe mux was the wrong term, because I found out I could be implemented in a very simple but efficient way.

I cannot find where I placed the documentation right now, as I had no placeholder for it at that time, and not much time to find out how much has changed here since.

from mksocfpga.

dkhughes avatar dkhughes commented on September 15, 2024

I'm not a verilog guy (yet at least), so I broke the gpio into two buses using VHDL. This required an external component that handles the top level tristate logic. I added that as an IP block on the zynq side. Right now, these changes are isolated in the zynq ip, but I really like the split bus since I can add logic and debounce registers in hardware instead of using ARM clocks at the HAL layer. Suggestions welcome on making this acceptable for the main hostmot2 source folder.

See the WIP here:
https://github.com/JDSquared/mksocfpga/tree/jd2_priv/HW/zynq-ip

from mksocfpga.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.