icesugar-nano
analogue-pocket-utils
icesugar-nano | analogue-pocket-utils | |
---|---|---|
1 | 2 | |
92 | 107 | |
- | - | |
3.3 | 2.0 | |
3 months ago | 9 months ago | |
AGS Script | SystemVerilog | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
icesugar-nano
-
How Does an FPGA Work?
look for example at iCESugar-nano, low spec but fits your requirements
https://github.com/wuxx/icesugar-nano
analogue-pocket-utils
-
FPGAs and the Renaissance of Retro Hardware
I _technically_ had prior knowledge as a computer architecture class had us stick some premade pieces together to create a CPU we designed, but I personally wrote no Verilog, and it was a small subset of the class.
I don't have much documentation for getting started with HDLs (Verilog, VHDL, etc), but I have tried to document my process as much as possible. I have primarily developed for the Analogue Pocket, so my documentation is themed towards that device, but there's IP (code modules) and wiki entries that would be useful for everyone: https://github.com/agg23/analogue-pocket-utils
I had previously written a cycle accurate NES emulator, so I was familiar with hardware techniques, but not what they look like in circuits. The first core I wrote was a schematic accurate Pong implementation. This was both good and bad because it's very simple and has no CPU (and thus no code), but it also makes it very hard to tell what is going on. I went from there to doing a lot of ports (NES, SNES, PCE, and a few more), and after that I worked on my own cores (Tamagotchi, Game and Watch). Tamagotchi I took a very typical software approach where I wrote massive amounts of unit tests and wrote against those tests. While this is what real hardware developers do, I found it to be a huge waste of time when you're working by yourself on a small project.
I, and a few others, are very willing to help people learn (though I'm still really a noob). If you want to play around in this space, let me know and I'll try to help you with what you need.
-
How Does an FPGA Work?
Not to draw attention to myself or anything, but if you're interested in learning to make cores for the Analogue Pocket or MiSTer (or similar) platforms, I highly recommend taking a look at the resources and wiki I'm slowly building - https://github.com/agg23/analogue-pocket-utils/
I started ~7 months ago with approximately no FPGA or hardware experience, have now ported ~6 cores from MiSTer to Pocket, and just released my first core of my own, the original Tamagotchi - https://github.com/agg23/fpga-tamagotchi/
If you want to join in, I and several other devs are very willing to help talk you through it. We primarily are on the FPGAming Discord server - https://discord.gg/Gmcmdhzs - which is probably the best place to get a hold of me as well.
What are some alternatives?
Wiki_MiSTer
Nuked-MD-FPGA - Mega Drive/Genesis core written in Verilog
fpga-tamagotchi - Tamagotchi P1 for Analogue Pocket and MiSTer
openfpga-SNES - SNES for the Analogue Pocket
wasm-fpga - WebAssembly FPGA Runtime Project
openfpga-NES - NES for the Analogue Pocket
hdmi - Send video/audio over HDMI on an FPGA
pocket-sync - A GUI tool for doing stuff with the Analogue Pocket
axi - AXI SystemVerilog synthesizable IP modules and verification infrastructure for high-performance on-chip communication