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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: How to start developing hardware for algorithms?

11 点作者 boltzmannbrain超过 4 年前
ELI5 how to start developing hardware (e.g. FPGA) that is specific to a class of algorithms :)

2 条评论

aprdm超过 4 年前
What is your background and what do you want out of it?<p>IMO a good way to start is by buying an FPGA development kit such as <a href="https:&#x2F;&#x2F;canada.newark.com&#x2F;terasic-technologies&#x2F;p0037&#x2F;dev-board-altera-de0-board&#x2F;dp&#x2F;47W2946?gclid=Cj0KCQjw8rT8BRCbARIsALWiOvQuc2amPwAegt4gC_quf3nb_Dfa-DzEArrpH8PbZ7N-q-5ifxHHO2caAspUEALw_wcB&amp;mckv=sHPnGZhCU_dc|pcrid|436284254564|plid||kword||match||slid||product|47W2946|pgrid|106725849772|ptaid|pla-931785691809|&amp;CMP=KNC-GCA-GEN-Shopping-NewStructure-Embedded-Computers-Education-MakerBoards" rel="nofollow">https:&#x2F;&#x2F;canada.newark.com&#x2F;terasic-technologies&#x2F;p0037&#x2F;dev-boa...</a> which has a bunch of I&#x2F;O and cool things to do with.<p>The FPGA kit will come with some golden designs and instructions to download and install the EDA software. Feel comfortable with the FPGA software and make some leds blink..<p>Now you&#x27;re in a position that you can download a hardware design to the FPGA and use the pins!<p>RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability is an amazing book for learning how to do RTL logic, buy the book, read, execute the examples!<p>Now you have a kit and you know RTL! Next you can learn the algorithms you want and implement them!<p>My workflow used to be something like:<p>1. Implemented an algorithm using fixed point math in Matlab (or Octave)<p>2. Develop the VHDL equivalent to (1), test with something like ModelSim<p>3. Generate the RTL with the EDA software and download to the board!<p>To test step (3) it really depends what your algorithm is.. if you can easily control your inputs and outputs through a computer connected to the FPGA then it is a good way to go about it! You might also want to develop a RTL module to connect to your design and generate the inputs &#x2F; see the output, or buy some expensive hardware to verify that your design is working as intended.<p>Hopefully that is helpful.. it is a vast field and there are many algorithms, FPGA sizes and etc. A kit like the one I sent should be enough to go from 0 to a decent size design...
评论 #24838687 未加载
mlmitch超过 4 年前
The other comment about a kit is a good suggestion. FPGA cloud instances are also an option.<p>Register Transfer Level (RTL) development generally has less pleasant tooling and a much longer feedback cycle than software development. So expect some friction there.<p>Also, for the algorithms part, you might have something in software that isn’t a great match to hardware and will need some re-architecting. Sorting is a good example of this. Check out “sorting networks” for a popular way of accomplishing sorting in hardware.<p>I did a master’s thesis on transitioning a graph inference algorithm into an FPGA implementation. Send me an email if you have any specific questions.