skiphansen / pano_progfpga

Flashing Pano Logic thin clients without a programmer
GNU General Public License v2.0
38 stars 5 forks source link

Ease of reflashing subsequent times #2

Open Cralex opened 4 years ago

Cralex commented 4 years ago

More of a question than an issue, so please bear with me.

I got into FPGAs from the MiSTer project, and was intrigued to see how large the (G2) Pano Logic’s FPGA is, even though it doesn’t have a conventional CPU to easily handle things like USB controllers. With that said, I’m definitely on the “end user” side of things. I don’t know anything about actually programming a FPGA, but I would enjoy trying out the NES core and any new developments that follow, just for the heck of it. I’m just trying to wrap my head around the process here.

So, let’s say get a G2 and I use this project with my Linux laptop to load the NES core into the main bitstream over my LAN. Will I then be able to do this a second time to change what’s in the main bitstream, assuming I leave the golden bitstream alone, or would I then need to open it up and take the JTAG route? I’ve never used JTAG either, but I’m fairly certain I’d be able to pull it off if I absolutely need to.

skiphansen commented 4 years ago

Sorry, but no it's a one time update currently. In theory a project could implement the Panologic Ethernet loader, but no existing projects do. Additionally the Ethernet update only updates the "bit file" and some projects such as panog2_nes also need other data (NES ROMS) to be programmed into the "unused" flash to be useful.

So for now unless you just want to program run Tom's raytracer you pretty much still need a JTAG programmer. The aren't all that expensive, but of course you also need to deal with the cable.

mithro commented 4 years ago

It would be pretty easy to make an Ethernet flashing system using LiteX.

LiteX SoCs are already frequently used in multibitstream systems (IE where a system boots a golden bitstream, checks if a user bitstream is valid or if to enter flash mode and then boots into it), support ethernet, tftp loading multiple files and spiflash writing.

See foboot (https://github.com/im-tomu/foboot) for an similar style thing based around USB and iCE40 (with ECP5 support in progress).

Someone just needs to pull all the threads together....

On Sat, Jan 25, 2020, 5:46 PM Skip Hansen notifications@github.com wrote:

Sorry, but no it's a one time update currently. In theory a project could implement the Panologic Ethernet loader, but no existing projects do. Additionally the Ethernet update only updates the "bit file" and some projects such as panog2_nes also need other data (NES ROMS) to be programmed into the "unused" flash to be useful.

So for now unless you just want to program run Tom's raytracer you pretty much still need a JTAG programmer. The aren't all that expensive, but of course you also need to deal with the cable.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/skiphansen/pano_progfpga/issues/2?email_source=notifications&email_token=AAAFFXC6X55MJCTGMJCS3ZLQ7R3HPA5CNFSM4KLO7JB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ5BPQY#issuecomment-578426819, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFFXC6Y6X7AF5DY5XUZ6LQ7R3HPANCNFSM4KLO7JBQ .

skiphansen commented 4 years ago

Thanks for the pointer Tim, I'll take a look.