Ich versuche herauszufinden, wie ich den Konfigurationsfile vom Lattice-Programmer in den SPI-Flash bekomme. In der Application Note TN1248 von Lattice ist zwar ausführlich beschrieben, wie der Flash mit dem iCE 40 zusammenarbeitet, aber leider nicht, wie ich die Daten vom Programmer in den Flash bekomme. Schlicht gesagt - ich vermisse ein Schaltbildchen mit den Anschlüssen für den Programmer. Der Stromlauf vom Board "Blinky 40" hilft mir auch nicht weiter, da dort vom USB-Prozessor programmiert wird. Weiß jemand näheres? Hat das schon jemand gemacht?
@Bernd G. schrieb > Ich versuche herauszufinden, wie ich den Konfigurationsfile vom > Lattice-Programmer in den SPI-Flash bekomme. Hier ist das genau beschrieben mit dem Download und den Lattice iCE40 Features. SPI-FlashROM ATMEL Typ: M25P10 .. Link: http://www.latticesemi.com/documents/iCEcube2_userguide.pdf Gruss Holger. Viel Erfolg mit der neuen SiliconBlue IDE. PS. Ich sende noch die Schaltbilder dazu. Hint_1: Das Lattice iCE blinky Board wird mit dem neuen AT90USB2 u. via SPI-FlashROM ATMEL Typ: M25P10 geladen. AT90USB2--> USB-SSB PIN 14 --> Pin 49 _SSB (iCE40-SSB) AT90USB2--> USB-SSB PIN 15 --> Pin 48 _S'CLK(iCE40-SSB) ############################################################# Hint_2: Title: MachXO2 Speed Seminar - Module 4: Wishbone Bus and Other Demos https://www.youtube.com/watch?v=2KXQTb1-Rec&list=UUQGp6u4dMHW5iLchBWuOqTQ&index=2 ##############################################################
Hallo Holger, vielen Dank für deine Bemühungen. Den ersten Link hatte ich mir bis dato noch nicht einerverleibt. Wie der Programmer zu bedienen ist, konnte ich klären. Ich habe mich missverständlich ausgedrückt - es geht mir um die von dir angekündigten Schaltbilder. Meine Aufgabe ist folgende: ich will den Schaltkreis in-circuit mit dem Programmierkabel HW-USBN-2A von Lattice preogrammieren. Die ersten Baugruppen sollen noch mit dem M25Pxx laufen, bis diese dann beim Anwender stabil fu8nktionieren. Danach soll der NVCM des iCE 40 direkt programmiert werden. Um das Ganze idiotensicher zu erledigen, habe ich nach der für beide Anwendungsfälle geeigneten Konfigurationsschaltung gesucht. Ich bin lediglich auf die Blinky 40-Schaltung gestoßen. Wenn ich bisher alles richtig interpretiere, müsste ich bei Blinky die vier Widerstände zum USB-Prozessor auslöten, die Stiftleiste einlöten und hätte dann den Zugriff für die Programmierung über das Lattice-Kabel. Eine Programmierung des NVCM ist hierbei offenbar nicht möglich, was bei dem Board auch einleuchtend wäre, weil man ja hier nichts unbeabsichtigt unbrauchbar machen möchte. Was bei Xilinx in epischer Breite dargestellt wurde, ist bei Lattice leider nur sehr kurz gefasst. Vielen Dank - Bernd
Anhang: HW_USB_2A_iCE.PNG @Bernd G. schrieb > Wenn ich bisher alles > richtig interpretiere, müsste ich bei Blinky die vier Widerstände zum > USB-Prozessor auslöten, die Stiftleiste einlöten und hätte dann den > Zugriff für die Programmierung über das HW-USBN-2A JTAG Lattice-Kabel. Die Schaltung kann man sich aus dem Bild ableiten. Nee ... so einfach ist das bei diesem Blinky Board nicht. Du must zuerst mal Zugriff auf das JTAG PORT mit allen notwendigen speziellen Pinnen für den iCE 40 Chip haben. Siehe Bild und vergleiche das mal mit dem MachXO2 JTAG Pinning. z.B ispEN/PROG fällt das aus der Reihe. TMS wird nicht verwendet, aber dafuer TRST/DONE ..exotisch.. ####################################################################### Verg. iCEman65 Evaluation Kits http://www.latticesemi.com/products/developmenthardware/developmentkits/iceman65evaluationkits.cfm Tip: Versuch mal auf deinem Board die Test-Pads zu finden, für das JTAG. Die müssen in der Produktion das Board via JTAG Boundary scan testen. IDDQ testing etc. ################################################################## So hast du eine einmalige modifikation für ein OTP Device via JTAG-->'Prog-Mode ->(NVCM). Zitat: www.siliconbluetech.com However, iCE devices also have a Non-Volatile Configuration Memory (NVCM) component. When this (NVCM) memory is programmed, via eg. JTAG the iCE devices will automatically load the configuration from its own internal memory during power-up, allowing the device to operate as a true Application Specific Integrated Circuit (ASIC). bingo> You made a OTP Device. Viel Erfolg mit dem Project. Gruss Holger.
Sag mal Bernd, verstehst du das wirre Zeug von Holger? Ich bin damit als geistig gesunder Mensch leider überfordert... :-/
> Du must zuerst mal Zugriff auf das JTAG PORT mit allen notwendigen > speziellen Pinnen für den iCE 40 Chip haben. Das ist kein Problem: R6, R7, R8 und R10 auslöten, Stecker J11 auflöten und Drähte anschließen (nach Tabelle 2 der UG48 - "Flywire Conversion Reference"). Ein Vergleich mit dem MachXO2-Pinning greift hier nicht, da der iCe40 keinen JTAG-Port, sondern nur den SPI-Port hat. Das mit dem NVCM ist mir auch klar - einmal programmiert und das war es dann. Das soll mich gegen den Chinesen und andere Neugierige absichern. Was unklar ist: die Verschaltung SPI-Port des iCE40 mit dem Flash und dem Programmieranschluss dergestalt, dass ich wahlweise den Flash oder den NVCM programmieren kann. Ich habe das jetzt aus dem Blinky herausgezeichnet und versuche es zu verstehen. Deshalb meine Frage, ob das schon jemand gemacht hat, was leider offenbar nicht der Fall ist. > Sag mal Bernd, verstehst du das wirre Zeug von Holger? Ich bin damit als > geistig gesunder Mensch leider überfordert... :-/ Wieso wirr? Ist doch alles komplett klaro. In meinem richtigen Leben mache ich viel schlimmere Sachen.
Anhang Bilder: iCE_cfg_Prog_Ports_1.PNG iCEProg_1.PNG Nee .. Da sind zwei Ports (SPI) und hidden ("JTAG"). (In der Doku Rev.History steht JTAG Port Doku. removed). bingo> Für dein JTAG OTP Vorhaben ist dieser Link: http://www.latticesemi.com/products/developmenthardware/desktopprogrammer.cfm Zitat: The iCEprog Desktop Programmer ##############################... supports programming of the "OTP fuses" of Lattice iCE products (NVCM programming). bingo>
@Holger Vielen Dank für deine Bemühungen, aber mir geht es wie gesagt darum: > Was unklar ist: die Verschaltung SPI-Port des iCE40 mit dem Flash und > dem Programmieranschluss dergestalt, dass ich wahlweise den Flash oder > den NVCM programmieren kann. Ein Stromlaufplan also, bestehend aus Stecker für Programmieranschluss, iCE40 und Flash. Dazu sagt Lattice leider genau gar nichts. Der Anschluss des modifizierten Blinky an den Programmer hat bisher nichts gebracht, zumindest der Versuch den Flash zu lesen war erfolglos. Die Geschichte mit dem iCE40 scheint noch sehr frisch zu sein. Siliconblue hatte mit dem iCE 65 wohl auch einen Haufen Anlaufschwierigkeiten. Der Blinky40 lässt sich über die Lattice-PGM-Software ebenfalls nicht ansprechen, nur über die Digilent-Adept-Version. Fazit: ich lasse das mit dem iCE40 erst einmal sein und realisiere die Geräte wie geplant mit dem MachXO2, was leider eine Kleinigkeit teuerer ist. Ich schätze, dass es noch ein Jahr braucht, ehe der iCE40 unfallfrei in die Diamond-Entwicklungsumgebung implementiert ist und dann geht es weiter.
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.