Giter VIP home page Giter VIP logo

Comments (7)

uint69-t avatar uint69-t commented on September 26, 2024

UPDATE:

I was looking at #129, using a RBF file without compression kind of works, the light in the board make a blink and the console does not report any errors but the FPGA still does nothing. (The code is known to work since i've loaded it from Quartus II and it works, openFPGALoader seems to be very close, but for some reason it does not work yet)

I also tried loading a .cdf file like quartus_pgm does but openFPGALoader yields:

empty
write to ram
file has an unknown type:
	please use rbf or svf file
	or use --write-flash with: -b board_name or --fpga_part xxxx
Error: Failed to claim FPGA device: Error: wrong file

from openfpgaloader.

uint69-t avatar uint69-t commented on September 26, 2024

IT WORKS!!

Reading around the repo, i saw a mention of a intel.md in doc/, so i went to the first commit, found the file and noticed that SVF files are supported, it took me a while to find how to generate them (since in the old Quartus II 13.0sp1 that is the last to support the Cyclone II family, it is hidden under some settings of the device), but once i generated it, i ran:
sudo ./openFPGALoader -c usb-blaster -m /shared/blink.svf
And the console replied:

empty
write to ram
USB-BlasterI has a 24MHz fixed frequency
end of SVF file

And the board is alive and the code is working perfectly, im not sure why SVF files work and RBF dont, but it doesn't matter.
I can confirm that just adding the line:
{0x020b10dd, {"altera", "cyclone II", "EP2C5", 10}},

Will correctly add support for the Cyclone II family but i would suggest adding a little more documentation to how to generate the .svf file since its not easy.

This resource helped me:
https://stackoverflow.com/a/42827113/15924727

from openfpgaloader.

trabucayre avatar trabucayre commented on September 26, 2024

Hi and thanks to report this family is working using svf.
In your first tries you have tried to flash bitstream into SPI, but this operation requires to have a specific bitstream as a bridge JTAG<->SPI: no spiOverJtag bitsreams are availables for this family and the one for cyclone V isn't compatible.
Have you try :

sudo ./openFPGALoader -c usb-blaster -m /shared/mass_blink.rbf

ie without --write-flash: to load into memory instead of flash?

from openfpgaloader.

uint69-t avatar uint69-t commented on September 26, 2024

I tried both, if you check the link to the board, it has two JTAG headers, one writes to a FLASH and the other writes to the FPGA (so when power its interrupted, the FPGA is blank again)
I did not managed to write to the flash, and only one JTAG header (the direct FPGA one) seems responsive, the other just reports a TDO stuck at 0 error.

As you can see in the diagram of the board PDF
It uses the EPCS4SI8, it would be interesting to find a way to write the flash, but already just having the SRAM its awesome.

And abut the RBF, maybe Quartus changed something abut the standard in some version, or im not sure, both RBF and SVF load without any error, but the SVF works and RBF does not.

from openfpgaloader.

uint69-t avatar uint69-t commented on September 26, 2024

PR #449 created

from openfpgaloader.

trabucayre avatar trabucayre commented on September 26, 2024

I'm mitigate to order this board. I have no real use for an old/obsolete device, but in other hand the behaviour is strange.
In fact there is no to jtag header but only one dedicated to the FPGA, second header is to have a direct access to the flash chip.
Maybe this FPGA has a different set of instructions and not understand instructions for cyclone III/IV/V ?

from openfpgaloader.

uint69-t avatar uint69-t commented on September 26, 2024

It might be that the Cyclone II family managed FLASH in a different way or that its a lot cheaper just plug another JTAG header just for the flash, if you connect the USB-Blaster to the FLASH JTAG, you write to the FLASH and after a reboot the FPGA will read from FLASH, but if you plug it to RAM, you work directly in the FPGA (after a reboot everything is gone). But its truly weird that a FLASH chip its connected directly to a JTAG interface since the programming process from Quartus II its exactly the same.

And i know there is not a lot of use for this old FPGAs/CPLDs, but since they are so cheap (I picked up 20 MAX II CPLDs from aliexpress for 10 USD the other day) they are interesting to build distributed systems.

from openfpgaloader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.