m-labs / migen

A Python toolbox for building complex digital hardware
https://m-labs.hk/migen
Other
1.23k stars 211 forks source link

Help with design low-level HDL language #161

Closed XVilka closed 6 years ago

XVilka commented 6 years ago

FPGA world suffers a lot from fragmentation - some tools produce Verilog, some VHDL, some - only subsets of them, creating low-level LLVM-like alternative will help everyone, so HDL implementations will opt only for generating this low-level HDL and routing/synthesizers accept it. LLVM or WebAssembly - you can see how many languages and targets are supported now by both. With more open source tools for FPGA this is more feasible now than ever.

See https://github.com/SymbiFlow/ideas/issues/19

sbourdeauducq commented 6 years ago

Okay, what is your point/question/request?

XVilka commented 6 years ago

My point, since migen is one of the major players of open source HDL tooling is to help make a standard for low-level representation, which can benefit the whole FPGA universe like LLVM changed software development for good. Nowadays many tools stick to VHDL, Verilog or SystemC just because of the lack of standardization and because they are forced to use proprietary synthesis tools. Removing Verilog/VHDL middlemen will improve the state of FPGA development benefitting everyone.

whitequark commented 6 years ago

LLVM worked out like it did because major tooling vendors committed to it, as it provided them with great benefit over their in-house proprietary toolchain, and allowed them to replace it with a better LLVM-based proprietary toolchain. It has nothing to do with standardization.

jordens commented 6 years ago

@XVilka Unless there is a specific issue wir migen here (e.g. a feature request or a bug or a question), we'll close this in favor of the issue you referenced already. If you want to design low-level HDL, you should go ahead and ask people directly whether they are interested in helping. Blanketing dozens of projects with copies of the same issue is not helpful.

XVilka commented 6 years ago

@whitequark you are right about the case of LLVM. On the other hand, it doesn't cancel that the way of defining language first wouldn't help.

XVilka commented 6 years ago

@jordens sure, my goal was to initiate discussion, and it is kind of worked already.

jordens commented 6 years ago

That discussion can continue on at the other issue, right?

XVilka commented 6 years ago

Exactly.

On Sat, Nov 17, 2018, 2:51 AM Robert Jördens <notifications@github.com wrote:

That discussion can continue on at the other issue, right?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/m-labs/migen/issues/161#issuecomment-439490332, or mute the thread https://github.com/notifications/unsubscribe-auth/AAMZ_Xv6uaOV18BlHhNEuiPqC54lPRkcks5uvwksgaJpZM4YmWAP .