TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

XLS: Accelerated HW Synthesis

122 点作者 victor82超过 4 年前

13 条评论

Traster超过 4 年前
&gt;XLS is used inside of Google for generating feed-forward pipelines from &quot;building block&quot; routines<p>For those that aren&#x27;t familiar, control flow - or non &quot;Directed Acyclical graphs&quot; are the hard part of HLS. This looks like a fairly nice syntax compared to the bastardisations of C that Intel and Xilinx pursue for HLS but I&#x27;m not sure this is bringing anything new to the table.<p>As for the examples, I&#x27;m kind of flumoxed that they haven&#x27;t given any details on what the examples synthesize to. For example, how many logic blocks does the CRC32 use? How many clock cycles? What about the throughput? I&#x27;m going to sound like a grumpy old man now, but it&#x27;s important becaues it&#x27;s very difficult to get performant code as a hardware engineer. Generally it involves having a fair idea of how the code is going to synthesize. What is damn near impossible is figuring out what you want to synthesize to, and then guessing the shibboleth that the compiler wants in order to produce that code. Given that they haven&#x27;t tackled the difficult problems like control flow, folding, resource sharing etc. It makes me hesitant to believe they&#x27;ve produced something phenomenal.
评论 #24356722 未加载
评论 #24358159 未加载
Connect12A22超过 4 年前
I love their RISC-V implementation in 500 lines of code: <a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;xls&#x2F;blob&#x2F;main&#x2F;xls&#x2F;examples&#x2F;riscv_simple.x" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;xls&#x2F;blob&#x2F;main&#x2F;xls&#x2F;examples&#x2F;riscv_s...</a>
评论 #24356329 未加载
评论 #24354737 未加载
jashmenn超过 4 年前
I&#x27;ve been programming for 20 years and yet I have no idea what this does. Can someone ELI5?
评论 #24354308 未加载
评论 #24354285 未加载
评论 #24354309 未加载
评论 #24355904 未加载
评论 #24354294 未加载
评论 #24355000 未加载
评论 #24354272 未加载
mmastrac超过 4 年前
I love this. I did something similar with using Java to build an RTL:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;mmastrac&#x2F;oblivious-cpu&#x2F;blob&#x2F;master&#x2F;hidecpu2&#x2F;src&#x2F;main&#x2F;java&#x2F;com&#x2F;grack&#x2F;hidecpu2&#x2F;CPU.java" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mmastrac&#x2F;oblivious-cpu&#x2F;blob&#x2F;master&#x2F;hidecp...</a><p>I was thinking about turning it into a full language at some point, but they beat me to it (and I love the Rust syntax!).
jeffreyrogers超过 4 年前
This is interesting. Overall I&#x27;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&#x27;t seem like a good fit for the type of stuff I work on.
评论 #24357248 未加载
评论 #24354869 未加载
thotypous超过 4 年前
Google is also investing some developer time on Bluespec since it was opensourced (<a href="https:&#x2F;&#x2F;github.com&#x2F;B-Lang-org&#x2F;bsc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;B-Lang-org&#x2F;bsc</a>). I wonder if these projects make part of a bigger plan at Google.
rbanffy超过 4 年前
When I started playing with MAME, I somewhat dreamed of a way to turn its highly structured code into something that could not only be compiled into an emulator as it is, but also be synthesizable into hardware.<p>The possibility of using a single codebase to generate both a software emulator and a hardware implementation is incredible, from a hardware preservation point of view.
asdfman123超过 4 年前
If they rename it XLSM they can embed some neat VBA scripts into it and squeeze out more functionality.<p>(I&#x27;m sorry.)
w_t_payne超过 4 年前
I&#x27;ve got a Kahn-process-network based &quot;simulation&quot; framework, intended to provide a smooth conveyor belt of product maturation from prototypes written in high level scripting languages like Python or MATLAB through to production code written in C or Ada. (Sort of like Simulink, but with a different set of warts). Having some hardware synthesis capability is very much on the roadmap, and this looks like it&#x27;s going to be worth investigating for that. Very excited to dive into it!
ampdepolymerase超过 4 年前
Reminds me of the old reconfigure.io which used the ideas and syntax of Go&#x27;s CSP and transformed them into async HDL code. Unfortunately the startup has been shuttered.<p><a href="http:&#x2F;&#x2F;docs.reconfigure.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;docs.reconfigure.io&#x2F;</a>
评论 #24359969 未加载
simonw超过 4 年前
XLS as an acronym for Accelerated HW Synthesis is a bit of a stretch!
评论 #24355509 未加载
评论 #24354936 未加载
rowanG077超过 4 年前
DSLX seems like a nightmare. Does it support arbitrary C++?
R0b0t1超过 4 年前
See also <a href="https:&#x2F;&#x2F;github.com&#x2F;SpinalHDL&#x2F;SpinalHDL" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;SpinalHDL&#x2F;SpinalHDL</a>.