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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

IceStorm: Reverse-Engineered Lattice iCE40 FPGA Bitstream

74 点作者 mntmn大约 10 年前

3 条评论

aylons大约 10 年前
What this guy is doing is amazing, and shows the very sad state of the FPGA scene today.<p>To give a picture on how important is this, imagine if Intel CPUs were delivered with only the most sparce documentation: it told you how many registers it had and what the instructions could do, but wouldn&#x27;t tell you anything about register addresses, switches, meaning of each bit or even the individual OPCODES. You would know that there&#x27;s a floating point unit with divider, but didn&#x27;t know how to access it, or how to set the register for the division, or even which OPCODE you should use to set it up.<p>Moreover, the only compiler would be the one send to you by Intel, and the whole compilation process is also pretty much undocumented. Compiler errors would be cryptic and support wouldn&#x27;t do more than point you in general what kind of problem your code may have triggered - they simply would refuse to tell you specifically what has gone wrong to avoid telling you the details from the compiler processor.<p>And the compiled code would always have an enormous size and change almost randomly from one compilation to another, making reverse engineering a very difficult and frustrating task.<p>This is not a perfect analogy (it would still be easier to reverse engineer software in the analogy), but I hope this give an idea of the size of the task this guy has performed. Even if the FPGA is a quite simple and small one, from a second-tier vendor, and only one part number, all my praise to Mathias Lasser and Clifford Wolf.<p>This is the sad state of FPGA tools nowadays. This has recently been debated in HN (more than once)[1][2], but to contextualize how difficult and important it is. Imagine how GCC, or CLang, or even Microsoft and other compilers would be if this was the case. I highly doubt there would be any Linux or BSD to tell the story if this was the case.<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5895672" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5895672</a> [2] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9408881" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9408881</a>
评论 #9484076 未加载
评论 #9484155 未加载
评论 #9484353 未加载
ChuckMcM大约 10 年前
Nice work! I hope it is successful. There are a lot of useful things you can make with that demo board. Not to mention the Diglent PMOD boards which are fun to play with.
FullyFunctional大约 10 年前
Very very cool. I look forward to the first baby steps in the opposite direction (P&amp;R).