Moin moin. Habe vor einigen Tagen hier im Forum was gepostet ( Beitrag "NIOS-System mit PLL und diversen Speichern" ). Das Problem glaubte ich gelöst zu haben, jetzt weiß ich nicht ob das wirklich der Fall ist. Vor dem Einbinden der PLL ging alles wunderbar. Jetzt habe ich mit dem Mega-Plugin-Wizzard eine ALT_PLL generiert, im SoPCB die externe clock auf 100 MHz geändert und die PLL im top-level folgendermaßen eingebunden: ... ... ... ARCHITECTURE Structure OF top IS ... ... ... COMPONENT pll_sys PORT ( inclk0: IN STD_LOGIC; -- 50MHz c0: OUT STD_LOGIC; --100MHz c1: OUT STD_LOGIC; --100MHz um 54° versetzt locked : OUT STD_LOGIC ); END COMPONENT; signal system_clock, sdram_clock, pll_lock : std_logic; test: pll_sys port map( inclk0 => CLOCK_50, c0 => system_clock, c1 => sdram_clock, locked => pll_lock ); NiosII: nios_system PORT MAP ( reset_n => pll_lock, clk_100 => system_clock, zs_addr_from_the_sdram_0 => DRAM_ADDR, zs_ba_from_the_sdram_0 => DRAM_BA, zs_cas_n_from_the_sdram_0 => DRAM_CAS_N, zs_cke_from_the_sdram_0 => DRAM_CKE, zs_cs_n_from_the_sdram_0 => DRAM_CS_N, zs_dq_to_and_from_the_sdram_0 => DRAM_DQ, zs_dqm_from_the_sdram_0 => DRAM_DQM, zs_ras_n_from_the_sdram_0 => DRAM_RAS_N, zs_we_n_from_the_sdram_0 => DRAM_WE_N ); DRAM_CLK <= sdram_clock; END Structure; Und jetzt kann ich mein C-Code, den ich in der Eclipse IDE schreibe, nicht auf dem System laufen lassen. Ab und zu geht das, wenn ich im SoPCB assign-base-address und refresh system klicke, dann neu generire und im Quartus neu kompiliere, dann das System wieder drauf lade. Manchmal kommt dann der Fehler "Downloading ELF Process failed" und manchmal geht es, bekomme "Hello World" Ausgabe. Sobald ich das zuvor kompilierte und generierte System wieder auf das FPGA drauf lade, kann ich mein Projekt nicht laufen lassen, kommt halt IMMER "Downloading ELF Process failed".... Es ist vielleicht ein wenig unverständlich, so ein Fehler ist ziemlich schwer zu erklären, noch schwieriger nach so einem Fehler zu googlen. Ich weiß wirklich nicht mehr weiter, so etwas eigenartiges hatte ich noch nie. Mache ich vielleicht mit PLL etwas falsch? Muss die PLL ein reset-Eingang haben? Ich habe mein System mittlerweile auch auf Quartus 13.1 getestet, mit QSYS statt SoPC, hat nichts gebracht. Hatte jemand sowas schon mal gehabt? Bitte um Hilfe, bin der Verzweiflung nahe. Danke. Schmidtmann.
updatest du im eclipse die adressen mit generate bsp? oder probier mal beim draufladen der software den haken zu setzen das er die ID nicht prüfen soll
Moin moin. Danke für die Antwort. Ja, das erste mache ich immer. Das zweite.... Er meckert ja nicht weil er nicht die richtige ID vorfindet, probiert habe ich das jetzt, brigt jedoch nichts.... Weiß wirklich nicht mehr weiter. Hab alles gelesen was es dazu gab, das einzige was mir noch einfällt ist lock-range der PLL. Das kann ich aber nicht einstellen wenn ich mein device (Cyclon IV E) im Mega-Plugin-Wizzard auswähle. Scheint so, als ob er das automatisch machen sollte. Keine Ahnung was ich da noch tun kann. Findet sich vielleicht ein Experte, der eben helfen würde? Falls irgendwas fehlt, Erklärung, Screenshots, sagt bitte bescheid. Danke. Schöne Grüße, Schmidtmann.
Wie sehen denn Deine Constraints aus? BTW 54 Grad für die SDRAM Clock kommt mir komisch vor. -18 Grad würde ich erwarten.
Vielleicht lockt die PLL nicht. Dann muss man den Pluginmanager ein wenig beschubsen. (Eingangs-)Clock war bei mir 50 MHz. Gewuenschte Ausgangsclock: 100 MHz. Leider rastete die PLL nicht. Geholfen hat, dem Pluginmanager einen Eingangstakt von 100 MHz und einen Ausgangstakt von 200 MHz anzugeben. Wenn beim NIOS-Debuggen etwas schief geht, bleiben auch gern Zombies auf dem System zurueck, die den neuen Start erfolgreich verhinden.
Moin moin! Lag die letzten Tage krank im Bett und konnte nicht wirklich arbeiten, hoffe jetzt mal einfach, dass der Thead nicht in Vergessenheit geraten ist. Ich schrieb: > kommt mir komisch vor. -18 Grad würde ich erwarten. Die -54 Grad habe ich aus dem Altera-Tutorial Using the SDRAM: ftp://ftp.altera.com/up/pub/Altera_Material/9.0/Tutorials/VHDL/DE2-115/U sing_the_SDRAM.pdf Demnach, ab Seite 10, sollte der SDRAM Clock -3ns vorauseilen. Also: 20ns = 360 -3 = 360/20 * (-3) = -54 Mit -18 habe ich das jetzt auch ausprobiert, geht nicht. ./. schrieb: > Geholfen hat, dem Pluginmanager einen Eingangstakt von 100 MHz und > einen Ausgangstakt von 200 MHz anzugeben. Also, wenn ich das richtig verstehe, hast du schon als input 50MHz benutzt und über die verdoppelt? Oder hattest du.....2 Plls, 50 --> 100 und dann 100 --> 200? Versteh ich da irgendwas falsch? Danke für die Antworten. Einer der wirklich wenigen Foren, bei den man mal Antworten zu dem Thema kriegt. Liebe Grüße, Schmidtmann.
> Also, wenn ich das richtig verstehe, hast du schon als input 50MHz > benutzt und über die verdoppelt? [x]
Was hast du denn für ein Evaluation-Board? Ein Altera/terasIC DE2-115 Board oder ein anderes? Ich benutze Quartus 12.1sp1 auf Linux mit einem DE2-115 Board, und bei mir funktioniert es. NIOS Clock ist auf 125 MHz. Naja... ich habe noch SDRAM-Timings, die nicht erfüllt werden. Bin auch gerade am PLL tweaken. Was mich stutzig macht ist dein PLL-Lock-Output (MegaWizard -> 1. Parameter Settings -> Inputs/Lock -> Lock Output), der an den Reset vom NIOS geht. Ich mache den NIOS Reset auf eine der KEY-Tasten. Einen Versuch wäre es Wert. Ob es "erwünscht" ist... keine Ahnung. Die Beispiele auf der CD vom DE2-115 benutzen den PLL-Lock auf nicht für den Reset vom NIOS. > Demnach, ab Seite 10, sollte der SDRAM Clock -3ns vorauseilen. In Quartus 12.1sp1 hast du die Wahl den "Clock phase shift" auch in "ns" anzugeben. Geht das bei älteren Versionen nicht? > Also, wenn ich das richtig verstehe, hast du schon als input 50MHz > benutzt und über die verdoppelt? So wie ich das verstehe, täuschst du der PLL vor, du hättest 100 MHz Input und möchtest 200 MHz Output (Input * 200% = Output). Eigentlich hast du aber nur 50 MHz und möchtest 100 MHz. Wie der Input der PLL aussieht ist Wurscht. Die PLL verdoppelt es einfach.
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.