analogue-pocket-utils
hdmi
analogue-pocket-utils | hdmi | |
---|---|---|
2 | 7 | |
107 | 1,024 | |
- | 2.8% | |
2.0 | 4.7 | |
9 months ago | 4 months ago | |
SystemVerilog | SystemVerilog | |
MIT License | GNU General Public License v3.0 or later |
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.
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.
hdmi
-
HDMI Forum Rejects Open-Source HDMI 2.1 Driver Support Sought by AMD
Relevant caveat from its readme: https://github.com/hdl-util/hdmi?tab=readme-ov-file#hdmi-ado...
- I want to learn to interface HDMI to Xilinx Kintex 7 FPGA. Can you please provide any resources? I don't have prior experience in interfacing HDMI.
-
HDMI Output Pynq Z2 PL
If you want real HDMI you can use https://github.com/hdl-util/hdmi
- Any good guides for learning how HDMI and DP function at a low level?
-
HDMI not showing up in IP Core Generator
Yep, thanks :) - I found Sameer’s github repository soon after posting (of course). His repo got some Gowin-specific code a couple of months ago. It didn’t synthesize straight away - the serializer code was ignoring the `if GW_IDE directive and trying to synthesize the Altera code, but stripping that file down to the Gowin-only part made it synthesize ok.
What are some alternatives?
Nuked-MD-FPGA - Mega Drive/Genesis core written in Verilog
nestang - NESTang is an FPGA Nintendo Entertainment System implemented with Sipeed Tang Primer 25K, Nano 20K and Primer 20K boards
openfpga-SNES - SNES for the Analogue Pocket
eurorack-pmod - A eurorack-friendly audio frontend compatible with many FPGA boards.
fpga-tamagotchi - Tamagotchi P1 for Analogue Pocket and MiSTer
cheshire - A minimal Linux-capable 64-bit RISC-V SoC built around CVA6
icesugar-nano - iCESugar-nano FPGA board (base on iCE40LP1K)
icebreaker-verilog-examples - This repository contains small example designs that can be used with the open source icestorm flow.
openfpga-NES - NES for the Analogue Pocket
YuzukiLOHCC-PRO - Low cost USB3.2Gen1 HDMI-USB Video Acquisition With Loop Out (Loop Out HDMI Capture Card) base on MS2130 & MS9332
Wiki_MiSTer