by Guest » Tue Dec 02, 2008 12:00 am
Hallo,
Heb je al gecontroleerd of het resultaat van de SDCC-compiler klopt? Een eenvoudige check is om te kijken of het HEX-bestand niet leeg is.
Indien het geheugen in de FPGA leeg is, zal het LCD ook niks zinnigs aangeven. Het programma in het geheugen moet eerst het LCD juist aansturen alvorens deze informatie kan weergeven.
Het lijkt erop dat je compilatie nog niet helemaal juist verloopt, of dat je toch nog een foutje gemaakt hebt bij het verwijzen naar het hex-bestand. Je kan in Quartus het geheugen via JTAG vullen. Dat kan door in de "In-System-Memory Content Editor". Na het programmeren van je FPGA, open je dit venster (Via Tools-menu). Nu kan je de inhoud bekijken (deze is dus bij jou helemaal leeg?). Vanuit deze editor kan je vervolgens data in het geheugen plaatsen. Als dit goed is gegaan, moet je nog even de congtroller resetten (via een drukknop op het experimenteerbord). Nu moet je voorbeeld goed lopen.
Indien bovenstaand allemaal met succes is uitgevoerd, kan je nogmaals zoeken naar wat je fouit hebt gedaan bij het compileren. Zelf heb ik geen FPGA-unit plus experimenteerprint tot mijn beschikking, anders zou ik eventjes het voorbeeld opnieuw compileren en testen.
ad. 1. De 4 altera_reserved pins kan ik in het voorbeeld niet terugvinden in de assignments. Waar zie je deze? In principe kunnen dit soort assignment ons ontwerp niet in de weg zitten.
ad. 2. Beide VHDL-bestanden zijn bestanden waarmee we het voorbeeld ook in andere FPGA's kunnen gebruiken. Ons ontwerp maakt hier geen gebruik van.
ad. 3. De compier heeft herkend dat een bepaalde pin (TCKUTAP) als kloksignaal wordt gebruikt, zonder dat wij hiervoor een constraint hebben ingevoerd. Dit maakt voor ons ontwerp niet uit, aangezien we de JTAG-chain alleen op zeer lage frequenties gebruiken, welke door de FPGA op zijn sloffen wordt gehaald.
Veel succes,
en laat wat horen als het nog niet lukt!