Hallo Leute, ich hab mir ein Pif_2 FPGA Board für den Raspberry Pi von Bugblat zugelegt, auf dem Board ist ein Lattice MachXO2-7000HC FPGA verbaut. Seit dem letzten Programmieren des FPGA reagiert dieser nicht mehr, man kann ihn nicht mehr programmieren, über MOSI kommt nichts mehr zurück. Auch mit einem zweiten frisch aufgesetzten RPi 2 funktioniert es nicht. Inzwischen hab ich ein zweites Pif_2 Board erhalten, das funktioniert jetzt auch nicht mehr... Leider meldet sich der Support von Bugblat nicht, deshalb frage ich hier ob jemand eine Idee hat was mit dem FPGA los ist und ob man ihn irgend wie reseten kann bzw. den internen FLASH löschen/überschreiben kann. Hilfreich wäre auch ein Tipp wie ich messen kann, ob der FPGA überhaupt noch lebt. LG RPi output: pi@raspberrypi:~ $ sudo python pif2/software/pifload.py ~/test_impl1.jed ====================hello========================== Configuration file is /home/pi/test_impl1.jed Using pif library version: 'libpif,Sep 15 2016,13:35:35' XO2 Device ID: 012bd043 - device is an XO2-7000HC XO2 Trace ID : 00.44.32.98_52.2C.44.0A XO2 usercode from Flash: 00.00.00.00 XO2 usercode from SRAM : 50.49.46.32 JEDEC file is /home/pi/test_impl1.jed starting to read JEDEC file first configuration data line: 31 . . . . . . last configuration data line: 1593 1563 frames finished reading JEDEC file erasing configuration flash ... erased programming configuration flash ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . programmed transferring ... configuration finished. ==================== bye ========================== RPi output jetzt: pi@raspberrypi:~ $ sudo python pif2/software/pifload.py ~/test_impl1.jed ====================hello========================== Configuration file is /home/pi/test_impl1.jed Using pif library version: 'libpif,Sep 15 2016,13:35:35' XO2 Device ID: 00000000 - unrecognised ID! XO2 Trace ID : 00.00.00.00_00.00.00.00 XO2 usercode from Flash: 00.00.00.00 XO2 usercode from SRAM : 00.00.00.00 JEDEC file is /home/pi/test_impl1.jed starting to read JEDEC file JEDEC file does not match FPGA FPGA is XO2-256HC JEDEC identifies as "NOTE DEVICE NAME: LCMXO2-7000HC-4TQFP144*" ==================== bye ==========================
Ist das einer von denen, wo du die jtag lines deaktivieren kannst?
Johann Klammer schrieb: > Ist das einer von denen, wo du die jtag lines deaktivieren kannst? Ja, beim MachXO2 ist das möglich.
Pat A. schrieb: > Johann Klammer schrieb: >> Ist das einer von denen, wo du die jtag lines deaktivieren kannst? > > Ja, beim MachXO2 ist das möglich. Jein, wenn man JTAG deaktiviert, wird ein anderes Pin zum dedizierten JTAG Enable umfunktioniert. Wenn man das beim Beschalten der JTAG Pins berücksichtigt, ist es möglich JTAG trotzdem zu benutzen. @Hans Offensichtlich wird der MachXO2 über SPI programmiert. Wenn du die SPI Pins in deinem Design anders belegst oder den SPI Block deaktiviert hast, hast du dich ausgesperrt. Gibt jedoch ein paar andere Möglichkeitem, aber um dir beim Reaktivieren helfen zu können, braucht es die Pinbelegung und vor allem die Configurationseinstellungen (CONFIG Contstraint in der .lpf)
@Lattice User (Gast) Oh nein die test_impl1.lpf die im Projekt eingebunden ist, ist die falsche: BLOCK RESETPATHS; BLOCK ASYNCPATHS; enthält nur diese beiden Zeilen. pif2.lpf wäre korrekt gewesen. Der Schaltplan ist in der pif2_sch-1.pdf zu finden. - Kann ich den Port zum Programmieren von außen irgendwie verändern bzw. wieder auf SPI umstellen? - Welcher Port könnte jetzt aktiv sein, JTAG? LG
Hans T. schrieb: > - Kann ich den Port zum Programmieren von außen irgendwie verändern bzw. > wieder auf SPI umstellen? Nein. > > - Welcher Port könnte jetzt aktiv sein, JTAG? > > LG Ein leerer MachXO2 hat alle 3 Ports aktiv, JTAG,I2C und SPI. Die Defaulteinstellungen für SYSCONFIG deaktiviert den Slave SPI Port. Du hast also noch JTAG und I2C. Soweit ich weiss ist der Raspi I2C nicht kompatibel(*), bleibt dir also nur ein externer Adapter JTAG oder I2C Adapter. (Bitbang I2C vom Raspi ginge auch)
1 | SYSCONFIG JTAG_PORT=DISABLE SDM_PORT=PROGRAMN I2C_PORT=DISABLE SLAVE_SPI_PORT=ENABLE MCCLK_FREQ=10.23 ; |
Bugblat hat wohl den PROGRAMN Pin zum Recovery vorgesehen, aber der SDM Port wird bei der default SYSCONFIG auch abgeschaltet. PROGRAMN (falls enabled) auf Masse unterbindet das Laden des XO2 für den Fall dass man im eigenem Design SPI verhunzt. (*) Bug im Raspi bei CLK-Handshake
@Lattice User (Gast) PROGRAMn auf Low halten hat geholfen, konnte jetzt den FPGA neu Programmieren, danke! LG
Hallo zusammen, ich habe das gleiche Problem wie Hans T. bekomme auch die gleiche Fehlermeldung und habe wohl auch das SPI verhunzt. Leider bin ich recht neu in der Materie und mich würde gerne interessieren wie genau der PROGRAMN auf Low gehalten wurde. War das im Code oder via Kabel am Pi?
Hallo Marius, im Prinzip musst du nur PROGRAMN mit irgendeinem GND auf dem Board verbinden. MfG Hans T.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.