[HN Gopher] FPGA Advent Calendar
___________________________________________________________________
FPGA Advent Calendar
Author : hasheddan
Score : 58 points
Date : 2021-12-19 13:41 UTC (9 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| justwannalearn wrote:
| All that looks so fun! I'm in university right now and I have the
| means to do things - the uni provides an oscilloscope and a bunch
| of electronics free to use. I bought my own FPGA, but currently
| have no lecturers who know their way around them. I really want
| to do something cool with it, I've spent money on Udemy courses
| but everything is still so intimidating even after finishing
| them. I could at least interface with an i2c sensor. But man,
| even just a simple matrix multiplication module/architecture is
| beyond my means.
|
| What should I do to learn so I can join in on making projects
| like in the FPGA Advent Calendar?
| mysterydip wrote:
| May I also recommend this cheap but excellent logic analyzer:
| https://www.amazon.com/dp/B077LSG5P2/ref=cm_sw_r_cp_api_glt_...
| That combined with the open source PulseView software
| (https://www.sigrok.org/wiki/PulseView) has been invaluable
| with my debugging.
| niccl wrote:
| I think the key to learning FPGAs, as in most other languages,
| is to find a small project that really grabs you and blunder
| along with that until you've got something that works. Then you
| realise how you'd do it better and what you don't know and ...
|
| For me and FPGA's it came out of a friend asking why you have
| 12 semitones in a scale, and what would happen if you had 13.
| The idea of a polyphonic synth with 13 semitones in a scale was
| born. That led to trying to understand clocks, dividers,
| metastability on inputs, synthesis for testing and test rigs,
| simple DAC and all sorts that I can't recall now.
|
| And 13 semitones in a musical scale is a really dumb idea. A
| great way to twist the head of musician friends but dumb...
| dtgriscom wrote:
| > And 13 semitones in a musical scale is a really dumb idea.
|
| But, now you know that for sure!
| wrycoder wrote:
| You need a solid background in digital electronics to start.
|
| 1. Nand2Tetris
|
| 2. Books:
|
| The Art of Electronics, especially the last half.
|
| Learning the Art of Electronics. Also especially the last half.
|
| 3. You should have a good understanding of programming in C.
| vlovich123 wrote:
| With FPGAs? It's been a long time since college but I recall
| my FPGA experience being very much like programming once you
| realized all lines of code executed in parallel and
| "function" calls were just connecting wires. I don't recall
| many issues. Maybe some things around synthesizability but I
| can't recall anymore if this applied to FPGAs or just ASICs
| wrycoder wrote:
| The first half of Nand2Tetris is about synthesizing a small
| computer using a hardware definition language (HDL) that
| was invented for the book[0]. It's similar to Verilog.
|
| It's true that creating a design in Verilog is similar to
| conventional programming, but looks are deceiving. While
| conventional software (in C, for example) is a series of
| sequential steps, Verilog has two types of statements:
| combinational, which combine inputs and outputs using
| boolean logic, and sequential, which are structures
| implemented by networks of flip-flops, and which are
| clocked and which act as memory elements. All the
| combinational statements take place "instantly", while all
| the sequential statements in the program are executed at
| the same time when the clock pulses. The clock causes the
| whole program to make a step and then re-evaluate the
| combinatorial statements in preparation for the next clock.
|
| I suppose one could write Verilog code without any
| knowledge of electronics, and I imagine some programmers do
| that under the direction of engineers who do understand
| digital design.
|
| The last halves of the two books I suggested teach digital
| design. I think it's necessary, at a minimum, to understand
| something about the possibilities, limitations, and
| conventional approaches before expecting to produce a
| useful FPGA design. You don't usually want to spend a lot
| of time re-implementing something in an FPGA that you could
| just buy from Mouser and which would be much cheaper and a
| lot faster.
|
| Also, it's necessary to understand how to interface the
| FPGA to the real world, so a knowledge of digital design is
| required.
|
| The first halves of those two books is about analog design,
| which is also useful when interfacing to real world sensors
| and actuators.
|
| [0] https://www.nand2tetris.org/book
| anfractuosity wrote:
| I found playing with ws2811 lights fun with an FPGA. I created
| a little double buffer in BRAM and was going to build an SPI
| interface to drive them via a Pi, which I need to get round to.
| WillFlux wrote:
| Twitter thread author here. If this inspires you to learn more
| about FPGAs:
|
| 1. Recommended FPGA Sites: https://projectf.io/recommended-fpga-
| sites/
|
| 2. Project F: https://projectf.io/sitemap/
|
| 3. Project F GitHub: https://github.com/projf/projf-explore
| anfractuosity wrote:
| I really like Hamsterworks too -
| https://web.archive.org/web/20191020204100/http://www.hamste...
| shame it's only on archive.org now :(
| WillFlux wrote:
| Yes. Hamsterworks is a great resource. I learnt a fair bit
| from this site when I started with FPGAs. I'll add the
| archived version to my recommended resources page.
| progbits wrote:
| Really cool stuff there, this can satisfy my rabbit hole needs
| for the next month :)
|
| BTW, slightly better UX here:
| https://threadreaderapp.com/thread/1465268154733637633.html
| mysterydip wrote:
| Some really neat stuff on there. My favorite is this minecraft
| clone on a tiny FPGA: https://github.com/nickmqb/fpga_craft
___________________________________________________________________
(page generated 2021-12-19 23:02 UTC)