Live data from Hacker News

XLS: Accelerated HW Synthesis

google.github.io

1–10 of 55 posts

Re: XLS: Accelerated HW Synthesis

#4
post #2

I've been programming for 20 years and yet I have no idea what this does. Can someone ELI5?

You feed in Rust (a flavor called DSLX) or C++ and it generates code for your FPGA (in Verilog). You then upload this compiled "bitstream" to your FPGA and now you have something akin to a custom microprocessor, but running just your program.

Re: XLS: Accelerated HW Synthesis

#6
post #2

I've been programming for 20 years and yet I have no idea what this does. Can someone ELI5?

As far as I can tell, it is a high-level synthesis tool for developing FPGA/ASIC applications. You write your circuit functions in a Rust-like DSL and it generates optimized Verilog/System Verilog code, which can then be synthesized into hardware. But you can also take the output of the DSL and simulate it first, which presumably is quicker than simulating Verilog.

Re: XLS: Accelerated HW Synthesis

#7
post #2

I've been programming for 20 years and yet I have no idea what this does. Can someone ELI5?

It is a project aimed at making the design of electronic logical easier.

Often, such hardware is written using hardware description languages [1] like Verilog or VHDL. These languages are very low level and, in the opinion of some, a little clumsy to use.

XLS aims to provide a system for High-level synthesis [2]. The benefit of such systems is that you can more easily map interesting algorithms to hardware without being super low level.

[1] https://en.wikipedia.org/wiki/Hardware_description_language

[2] https://en.wikipedia.org/wiki/High-level_synthesis

Re: XLS: Accelerated HW Synthesis

#10
This is interesting. Overall I'm bearish on high-level synthesis for anything requiring high performance, since you typically need to think about how your code will be mapped to hardware if you want it to perform well, and adding abstractions interferes with that. I would like to know more about how Google uses this, since it doesn't seem like a good fit for the type of stuff I work on.
Post reply on HN