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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Turning .NET assemblies into FPGA hardware

87 点作者 victor82超过 5 年前

5 条评论

Traster超过 5 年前
FPGAs are fundamentally a dataflow system. You have geographically distributed compute units, with reconfigurable routing. CPUs (obviously) work by bringing the data to a single fixed central processing unit. So the key question for all these software-&gt;FPGA tools, is how they handle this transformation. The problem is that often the way you layout your program is introducing implicit constraints that prevent optimization that aren&#x27;t real but simply an artefact of how you write software.<p>The thing is, I don&#x27;t believe that transformation is a solvable problem (not least because really clever people keep trying and keep releasing terrible attempts). In real life, people program GPUs using special constructs and instructions. Hell, they use special instructions for the vector operations on CPUs. So why are we pretending you can write generic code in languages designed for CPUs and have them run performantly on FPGA? What you end up with a tiny subset of the language that maps to already existing hardware languages with a little bit of syntactic sugar and a boat load of misunderstanding of the limitations.
评论 #21728463 未加载
评论 #21730042 未加载
评论 #21726993 未加载
nikofeyn超过 5 年前
i wouldn&#x27;t really call this programming FPGAs with .NET languages. it&#x27;s more just converting .NET code to run on FPGAs. those are two different things.<p>also, i don&#x27;t really understand how moving something that is compute bound down to an FPGA is what you do. FPGAs are slow compared to CPUs. where they help is if you have something that can be parallelized and&#x2F;or you want it to happen in a real-time manner.<p>it would be a big win if there was a more modern HDL language. VHDL actually has a lot of nice features. however, i think a cross with it and an ML language (like F# or OCaml) would be a wonderful fit for programming FPGAs, that is designing (or at least dictating) hardware with software.
评论 #21726616 未加载
评论 #21726620 未加载
评论 #21729961 未加载
评论 #21726309 未加载
评论 #21726355 未加载
eyegor超过 5 年前
I love playing with fpgas, but the compile time and size limitations are always horrendous or simply not tenable for most applications. This library narrows that down to be even worse [0]. On most of alteras chips you&#x27;d be hard pressed to fit a few of their own filter libraries, let alone your own code. Honestly I&#x27;m not sure what you would use a tool like this for. If you want asic development, you will likely need to use an hdl for better synthesis. If you want dot net languages, you are going to want a regular cpu.<p>Can someone tell me what this would actually be used for? I&#x27;m sitting here scratching my head.<p>[0] <i>&gt; Currently only the Nexys 4 DDR board (which is NOT the same as the non-DDR Nexys 4, be sure to purchase the linked board!) is supported, so you&#x27;ll need to purchase one. Note that this is a relatively low-end development board that can&#x27;t fit huge algorithms and it only supports slow communication channels. So with this board Hastlayer is only suitable for simpler algorithms that only need to exchange small amount of data.</i>
评论 #21729982 未加载
评论 #21727741 未加载
评论 #21727766 未加载
mehrdadn超过 5 年前
There&#x27;s also something called ARTIQ which I&#x27;m told allows high-level programming of FPGAs as well. I&#x27;m not familiar with it but it may be interesting for others: <a href="https:&#x2F;&#x2F;m-labs.hk&#x2F;artiq&#x2F;manual&#x2F;introduction.html" rel="nofollow">https:&#x2F;&#x2F;m-labs.hk&#x2F;artiq&#x2F;manual&#x2F;introduction.html</a>
评论 #21729353 未加载
phendrenad2超过 5 年前
Note that this github project is only the PC host code for your FPGA. The actual .NET-to-FPGA translation code isn&#x27;t open-sourced.