Op 9 november 2007 17:41:57 schreef rew:
Eindelijk!
Het was @#$#@! weer een slecht gesoldeerde verbinding. Bah...
Komt nog wel eens voor
Nu de VGA monitor inpluggen voor de volgende test....
Op 9 november 2007 17:41:57 schreef rew:
Eindelijk!
Het was @#$#@! weer een slecht gesoldeerde verbinding. Bah...
Komt nog wel eens voor
Nu de VGA monitor inpluggen voor de volgende test....
Op 9 november 2007 09:14:40 schreef fotoopa:Ja er zijn nog andere projecten mogelijk maar de link spreekt mij niet zo aan. Ik zoek altijd iets dat meer praktisch bruikbaar is. Voor de fun alleen is het nogal beperkt.
Dat je zo lang wacht om je boardje af te werken is niet goed. Je mist zoveel uren FPGA genot die je nooit meer in je leven kunt inhalen
Die reactie was als geintje bedoeld. Ik snap wel dat zo'n project leuker is om naar te kijken dan helemaal te gaan maken .
Ik mis inderdaad genoeg plezier hieraan maar het is niet uit vrije keuze/wil. Ik heb gewoon de tijd er op het moment niet voor. Ben aan het studeren op de uni en doe er ook nog eens werk bij. Op de uni heb ik een achterstand die ik probeer weg te werken en ik volg binnen de elektrotechniek de master opleiding in Elektromagnetisme waarmee ik mezelf meteen de zwaarste uitdaging heb gegeven binnen de opleiding . Heb een vriendin zitten die genoeg probleempjes heeft plus mijn aandacht ook op eist. Op het werk willen ze ons nu ook liever een dagje extra hebben om wat achterstand weg te werken. 200% uitbetaling op zondag klinkt toch aanlokkend. Maar... nu eerst even tentamens leren en maken .
@fotoopa:
Ik heb Uw vga project eens uitgeprobeert en ben werkelijk onder de indruk wat U allemaal heeft weten te realiseren in zo een korte tijd!!
Ik zag dat het woord "Tijd" op het beeldscherm wordt weergegeven als "Tiid" een typefoutje . Dit heb ik zelf weten te herstellen door de Hex file te editten en het project opnieuw te compileren.
Wat me opviel was dat ik behoorlijk veel warnings kreeg (60 + 1 critical). Is dit normaal of moet ik Quartus anders instellen ?
Het eindresultaat werkte wel (dus typefoutje weggewerkt).
Nu wilde ik het project definitief op het bordje programmeren middels AS programming echter dit lukte niet omdat het project een EPCS4 zocht in plaats van de EPCS1 die wij op het bordje hebben (ik denk dat de EPCS4 nog is van een ander bord van U).
Nu lukt het mij niet om Quartus zo in te stellen dat hij een EPCS1 gebruikt.
Kunt U mij vertellen hoe dit te doen ??
Edit: ik heb ook de VGA weerstanden van 330E naar 50E teruggebracht, en dit geeft op mijn TFTscherm een goed duidelijk beeld (helder en goed contrast)
Ah! Ik dacht dat er iets met mijn AS gedeelte fout was (byteblaster of bluebird). Samen komen we er uit...
De GCC compiler is redelijk makkelijk "stil" te krijgen als ie een warning geeft. De kerels die dat maken zijn zich er ook van bewust dat ze geen warnings moeten geven als je het niet makkelijk kan voorkomen. Zo weet ik nog van vroeger dat turbo C zat te klagen als je het argument van een functie niet gebruikte. Sommige functies die moeten gewoon aangeroepen worden met bepaalde argumenten die er niet toe doen. Die waarschuwing is dan niet makkelijk "stil" te krijgen, en zit in gcc dus NIET.
Quartus is anders. Daar krijg je warnings over allerlij dingen die echt niet anders kunnen. Zo wordt in een zeven-segmenten-demo WEL de pin "RXD" gedefinieerd, maar niet gebruikt. Tja, zo is het nu eenmaal. En het is onwenselijk om toch iets er mee te gaan doen om de compiler maar stil te krijgen. Kortom, voordat je er erg in hebt, heeft je design een stuk of 50 of 100 warnings waar je weinig aan kunt doen.
Bij gcc ga ik altijd meteen kijken als een programma ineens van nul 1 warning krijgt. Dat is meestal vals alarm, maar in 10-20% van de gevallen heeft ie me gewoon met regelnummer en al op een bug gewezen. Bij Quartus kijk ik zo nu en dan eens de warnings door, en ik merk het verschil tussen 54 of 55 warnings niet. Een enkele keer zit er een zinnige tip tussen.
Ik heb de EPCS1/EPCS4 instelling gevonden! assignments->device->device&pin options-> configuration
(zocht hem ook al een paar dagen... )
[edit] Shit... Ik kan niet remote de stekker van de JTAG naar de AS stekker verplaatsen om te kijken of het werkt.... Bij alletwee de projecten die ik heb geopend stond ie standaard op EPCS1. Raar.
@rew:
inderdaad net gevonden !!
Gewoon even googlen op Quartus en EPCS1.
Ik kwam bij een van de eerste hits bij fotoopa op de site uit alwaar het heel duidelijk en uitvoerig beschreven stond.
Nogmaals hulde aan fotoopa !!
Ben een beetje bezig met het vga voorbeeld van fotoopa en nu wil ik iets veranderen.
Het blijkt dat het mogelijk is om 26:59:50 als tijd in te stellen. Nu wil ik dit zo veranderen dat als het eerste getal een 2 is het tweede getal nooit groter als 3 kan worden ingegeven. Hiervoor heb ik de code al een beetje aangepast maar het lukt niet helemaal. Ik kan de nergens terug vinden hoe ik kan testen of een variabele groter of kleiner is als een bepaalde waarde. (hem al paar dingen geprobeert : > => ) maar kreeg steeds een foutmelding.
Kan iemand me vertellen waar ik alle operatoren en logische bewerkingen kan vinden?
(ik denk in het boek van free, naar dat is er nog niet )
Oef, niet veel tijd wegens lokale activiteiten, maar ik heb die tekst aangepast. Voor de EPCS1 ja die moet je altijd nazien bij:
assignments->device->device&pin options-> configuration
Ik ben het zo gewoon dat ik het meestal niet meer vermeld.
Voor de compaire symbolen best eens googelen op een verilog manual dan heb je ze allemaal. Die 23 uur test zit er idd niet in en de bedoeling was dat jullie die idd zelf aanpaste. maar zo zie ik tenminste dat je dit gerunt en getest hebt
De rest hebben jullie al gevonden alsmede het aanpassen van de teksten. Ik hoop dat je ook eens andere scherm combinatie's compileerd. Het kan zijn dat hier en daar nog kleine details verkeerd zijn.
Nu moet ik dringend mijn computer verlaten. Tot deze avond.
Op 9 november 2007 23:47:06 schreef driessens_nl:
Ben een beetje bezig met het vga voorbeeld van fotoopa en nu wil ik iets veranderen.
Het blijkt dat het mogelijk is om 26:59:50 als tijd in te stellen. Nu wil ik dit zo veranderen dat als het eerste getal een 2 is het tweede getal nooit groter als 3 kan worden ingegeven. Hiervoor heb ik de code al een beetje aangepast maar het lukt niet helemaal.
Ik heb zopas de .qar file upgedate zodat je nu geen 25:00 00 uur meer kunt ingeven. Je kunt niet meer boven de 23:xx gaan bij het instellen. Ook niet als er 19:xx stond en je de tientallen van de uren bijsteld naar 2x:xx
Ook de tekstfout "tijd" is aangepast. Kwestie van een beetje service te geven....
Het ganse project kun je hier opnieuw downloaden
@fotoopa:
ik zal het project opnieuw downloaden en kijken hoe U het heeft opgelost. Ik had nl. exact dezelfde wijzigingen doorgevoerd.
Heb het projectje ook een laten lopen in 76 kar per regel en ik moet zeggen ook dit zag er zeer goed uit.!!
Nu ben ik bezig om te kijken hoe ik zelf tekst op scherm kan krijgen. Lijkt nog niet zo eenvoudig. Verilog schijnt geen strings te kennen. Heb wel gevonden hoe ik cellen kan reserveren voor ascii strings maar die schijnen dan weer van achter gevuld te worden. Dus als een string korter is als de gereserveerde ruimte wordt die vooraf gegaan door '0'en. Ook het kopieren van een string naar het video geheugen is niet zo eenvoudig. Je zult dan een state-machine moeten gaan bijhouden.
Verder wil ik later (als ik het een en ander een beetje onder de knie heb) kijken of ik ook niet een attribuutbyte aan het video geheugen kan toevoegen om zodoende dynamisch de kleuren te kunnen instellen. Waarschijnlijk ga ik dan terug naar max 64 kar. per regel om niet te veel geheugen op te offeren.
We komen de winter wel door.
T'ja er zijn idd nog heel veel mogelijkheden. Maar hardware is geen C programming, dus strings nee je moet het zelf oplossen. Dit kan met een input routine die de inkomende ascii tekst gaat doorsturen naar het scherm geheugen.
het schermgeheugen is gewoon een ram en de data is eigenlijk 7 bit, de hoogste bit moet nu altijd 0 zijn. Je zou die kunnen gebruiken om een atribute mee te geven maar ik had eigenlijk al een ander formaat in gedachte om nog eens 8 of 16 bits ram per character te voorzien. daarmee zou je dan voorgrond en achtergrond kleur per character kunnen bepalen. nemen we vb slechts 8 bits extra per character dan kunnen we 3 bit + 3 bits gebruiken voor een kleurtabel en hebben we 2 bits voor atribute. Een atribute kan dan zijn blinking, invers video, or functie (is overlay op achtergrond) enz. die 3 bits voor de voor en achtergrond kleur kun je in een tabel steken zodat je telkens over een pallet van 8 full color waardes beschikt. Hierdoor kun je dan gelijk welk kleur toekennen uit een reeks van 8. Neem je meer dan 8 bits extra dan kun je een veel grotere tabel met kleuren maken maar telkens ten koste van interne ram.
Wil je het eenvoudiger dan kan je gewoon per karacter regel een kleur vastleggen dat kost bijna niets.
Zo kun je een hele winter spelen met kleuren en atributen allemaal met het kleine FPGA bordje zonder extra hardware.
Update:
Eigenlijk heb ik weer werk als ik het zo zie. Kleur per character toekennen, blinking en invers video. Omdat je de ram zelf bepaald in de FPGA is er geen enkel probleem om die net zo breed te maken als nodig. De bestaande display routine kan dan ineens op volle breedte ascii data, kleur en atribute lezen, zegmaar 7+2+3+4 = 16 bits ( 7 ascii, 2 bit atribute, 3 bit achtergrond(8 kleuren), 4 bit voorgrond(16 kleuren)
De kleur tabellen samen zijn dan 24 entry's(16 voor de voorgrond, 8 voor de achtergrond)) van 24bit data (8x3 voor de RGB waarden) totaal verbruikt dit 576 interne ram bits.
Hé als je niet meer weet wat gedaan, voeg eens een clear screen routine toe aan de huidige state machine zodat je het volledige scherm kunt wissen via druktoets MS1
Je kunt ook een leesroutine maken om het serieel flash geheugen op de bord uit te lezen dan kun je daar volledige nieuwe schermen mee laden.
Fotoopa, Wat mij betreft is het huidige VGA output ding kwa features perfect. Ik heb hem zo al gedownload, maar het lijkt me nuttig dat het voor toekomstige gebruikers ook /zo/ beschikbaar blijft.
Het video geheugen van de Commodore 64 was 12 bits diep. Daarmee konden we toendertijd prima uit de voeten. Ik weet niet meer uit m'n hoofd hoe dat werkte, maar er was veel mee mogelijk. Ander systeem om inspiratie uit te halen is teletext. Die zijn ook zeer beperkt in het aantal bytes geheugen dat ze kunnen gebruiken, maar kunnen ook een hoop met kleuren en zo. Daar zijn er volgens mij "karakters" die ipv iets op het scherm te toveren, een "kleur = XX" actie doen. Kleur kan dan voorgrond of achtergrond zijn...
Als iemand nog een leuke uitbreiding wil maken, kan je ook het volgende proberen: Een sprite.
Je hebt een "x" en een "y" register, en zodra dat punt bereikt wordt, overheerst de data van de sprite de video-data die naar het scherm moet.... (met dan bijvoorbeeld 4 kleuren: doorzichtig, dus toch de originele data, en kleur 1,2,3 )
Oeps, zie zie zojuist dat ik de LCD versie had upgedate en niet de VGA versie.
Dit is nu wel gedaan. Wil je de laatste versie van de vga_640.qar hebben dan zal je deze opnieuw moeten downloaden.
De update staat ook te lezen op het scherm.
Ik ga nu eens kijken om een praktische schermlayout te maken, eentje die vb de status van alle leds ook op het scherm weergeeft.
Het ganse project kun je hier opnieuw downloaden
Ik zit met het volgende: als je onder assignments-> settings -> device and pin options -> tab: unused pins
De pin instellingen veranderd voor de ongebruikte pinnen, wat bedoelen ze dan met "unused pins"?
Pinnen die helemaal niet gebruikt worden (ook geen naam hebben etc.)
=of=
Pinnen die eventueel wel een naam hebben maar waar geen logica aan vast geknoopt zit?
Kunnen jullie mij helpen?
Hmm. helemaal precies weet ik het niet, maar het gaat in ieder geval over de pennen die ook geen naam hebben.
Zo had ik een soldeer foutje, waardoor een pen aan z'n buurman zat. Die buurman hing verder nergens aan en had in fotoopa z'n voorbeeld designs dus geen naam. De selection box stond op: "drive to ground" . Dus ik kreeg ipv 3V een 1.6V signaal als ie hoog moest zijn....
Het geval wat ik niet zeker weet, is dus als je een naam aan een OUTPUT geeft, en dan nooit definieert. Ik denk dat ie dat hetzelfde behandeld als 1 die ook geen naam heeft. Of hij geeft bij het compileren een foutmelding.
Na wat geklooi met pinnetjes die net niet gesoldeerd waren heb ik dan toch ook het PSP scherm werkend gekregen (met het printje van the12b) en aangesloten op m'n DE1.
Schermpje werkt goed, heb een (niet al te beste) plasma demo gemaakt en dat ziet er goed uit:
PSP_plasma.wmv (293KB). In werkelijkheid gaat het veel soepeler maar de camera haalt maar 15fps.
hallo,
wat maken jullie allemaal toffe dingen zeg
even een vraagje, ik weet niet of ik hier goed zit:
stel ik wil met FPGA/CPLD beginnen, wat is dan een goed Dev. bord?
- Terasic DE1? €100
- Terasic DE2? €180
- Terasic DE2-70? €220
- MAX II Mikro kit? €33
- .......?
ik begrijp dat ik dan ook een USB Blaster kit (€33) nodig heb?
Wat zijn jullie ervaringen met deze borden?
Alvast bedankt voor advies
Gr. Rik
Ik geloof dat geen van de development kits een programmer nodig heeft, overal zit wel een USB blaster ingebouwd. Een USB blaster is wel nodig als je FPGA's of CPLD's in eigen projecten wilt programmeren, de MAX II kit kan ook als USB blaster voor eigen projecten gebruikt worden, van de andere kits weet ik dat niet. Als alternatief kun je ook een byteblaster maken/kopen die op de parallele poort gaat. Is goedkoper maar wel hopeloos verouderd natuurlijk.
De DE1 is een zeer uitgebreid bord, voor een beginner zeker geschikt maar ook bruikbaar als je er wat verder mee komt. Als beginner gebruik je gewoon de basisdingen (knopjes, ledjes, displays e.d.) en later kun je je met vga,audio,flash/sram/sdram en al het andere spul bezig gaan houden.
De DE2 is vergelijkbaar maar is krachtiger en heeft meer hardware (video, ethernet, extra USB, etc.). Heb er verder geen ervaring mee. Weet niet hoe je aan de prijzen komt trouwens maar die DE2 is een stuk duurder dan 180 euro. Terasic verkoopt het voor $495, de DE2-70 is nog veel duurder.
De micro kit is vrij basic, maar wel lekker goedkoop. Als je weinig te besteden hebt leuk om mee te beginnen, en er zit een vrij grote CPLD op. Ik denk alleen dat je als je wat verder komt vrij snel tegen de limitaties aan gaat lopen, CPLDs hebben geen RAM aan boord en zijn wat minder geschikt voor de grotere ontwerpen. Ook mis je bij dit bordje de hardware naast de CPLD (op enkele knopjes e.d. na).
Als je het geld ervoor hebt zou ik een DE1 nemen, daar kun je goed mee beginnen en toch nog een eind vooruit als je er verder mee komt. Ik weet niet of de DE1 ook als programmer kan dienen, anders heb je ook een USB blaster nodig als je losse CPLD/FPGA's wilt programmeren, of je moet zoals gezegd een byteblaster maken.
De DE2's zijn ook zeker leuke borden maar een stuk duurder dan je opgeeft volgens mij. Vergeet overigens niet de 19% BTW erbij te rekenen als je uit Amerika bestelt. Terasic verkoopt alle borden (dat had je vast al gevonden), maar Digikey verkoopt de DE1 ook onder de naam 'Cyclone II starter kit'. Digikey heeft een stuk lagere verzendkosten: 18 euro/gratis bij meer dan 150 euro tegen ~$40 bij terasic. Beiden met koeriersdienst (2 a 3 dagen UPS (digikey) of Fedex (terasic)).
Maar digikey heeft voor zover ik weet niet de USB blaster van terasic te koop (alleen de officiel van Altera en die is veeeel duurder).
ik kan de DE-2 bij terassic voor 180 kopen (blijkbaar), omdat ik student aan een universiteit ben. er staat dat ik dan een geldige ID van mij bij de TU moet mailen naar hen.ik mag dan het bord niet doorverkopen of uitlenen, maar dat was ik toch al niet van plan.
Met het ook op de toekomst ga ik toch voor DE-2.....
Heeft digikey ook het DE-2 bord?ik kon hem namelijk nog niet vinden.
doet terasic niet aan "GIFT", of misschien geen belasting omdat het "edusational" is? en komen deze kosten aan het begin of het einde erbij?
alvast bedankt,
Groeten Rik
Op 11 november 2007 21:28:32 schreef Rikkepic:
ik kan de DE-2 bij terassic voor 180 kopen (blijkbaar), omdat ik student aan een universiteit ben. er staat dat ik dan een geldige ID van mij bij de TU moet mailen naar hen.ik mag dan het bord niet doorverkopen of uitlenen, maar dat was ik toch al niet van plan.
Dat is een mooie optie, dan is de DE-2 zeker een goede keuze. Maar 19% BTW komt er dus nog wel bij.
Heeft digikey ook het DE-2 bord?ik kon hem namelijk nog niet vinden.
Ik denk het niet, de DE-1 is hetzelfde als de Cyclone II starter kit maar volgens mij is dat niet bij de DE-2 het geval.
doet terasic niet aan "GIFT", of misschien geen belasting omdat het "edusational" is?
Waarschijnlijk niet, en de douane is ook niet gek. Een CD als gift is leuk maar zo'n development board.. Maar belangrijker is dat het via een koerier gaat en die sjoemelen niet met belasting. Ze geven alles precies en correct op en daardoor is het voor ze mogelijk om heel snel door de douane heen te komen en de spullen snel te leveren. Ook gaat de verzekering van de verzending natuurlijk maar over het bedrag dat opgegeven is. Educational of niet maakt voor zover ik weet niets uit voor de belasting.
en komen deze kosten aan het begin of het einde erbij?
Belasting betaal je altijd in Nederland, hoe precies hangt af van het vervoersbedrijf. Fedex stuurt je achteraf (kan vrij snel zijn maar ook nog na 6 weken) een factuur op, met waarschijnlijk nog 10 euro inklaringskosten (kosten van de douane check) extra. Bij UPS moet je aan de deur een machtiging tekenen, die rekenen bij digikey vrijwel altijd alleen de 19% BTW zonder extra kosten.
Ik heb al 3 keer besteld bij terasic. Je moet de totale kost berekenen op bord+verzending+BTW+10euro algemeene douanekost. Ik heb de BTW+douane kost altijd 8 à 10 dagen na levering ontvangen.
Als student zou ik de DE2 nemen omdat je daarop een belangrijke korting bekomt. maar bedrieg je zelf niet met te lage prijsberekening. Je kunt de USBblaster onboard niet gebruiken voor andere externe boarden behalve bij het CPLD MAXII boardje. Maar voor de DE1/DE2 het je niets extra nodig.
het is nog altijd minder als het volledige bedrag.....
Het is nu wachten voor mij op paypal, ik moet mijn bankrekening activeren.
eerst maar eens met dit gevaarte spelen, dan zien we wel verder
komt de BTW ook over de verzending?
Alvast bedankt voor de info
Groeten, Rik
Educational of niet maakt voor zover ik weet niets uit voor de belasting.
Net als BTW betaal je belasting over de waarde van het product. Als jij voor EUR 180,- dat ding kan kopen is dat de waarde van het product.
Als ik dat ding koop en ik moet 400 euro betalen, dan is dat in princiepe de waarde voor de douane.
Als de douane in het pakketje kijkt en een 48 1Gb RAMmetjes vind, dan weten ze ook wel dat het geen $50 kost. Dan gaan ze ineens schatten. Maar als er een realistische factuur te vinden is, dan volgen ze in princiepe de factuur.
Op 11 november 2007 22:07:44 schreef rew:
Dan gaan ze ineens schatten.
Dat kan ook vrij vervelend zijn
Op 11 november 2007 22:03:05 schreef Rikkepic:
komt de BTW ook over de verzending?
Ja, helaas ook over de verzendkosten.
ik mag dus aannemen dat terasic er een "geloofwaardige" factuur bij doet? De waarde is dan vor mij toch nog steeds €180? als ik alles optel, komt het totaal dus over voor +- 250€
maar genoeg over de verzendkosten blablabla, dat ding komt er wel
terug naar FPGA projects
(waar ik binnenkort dus ook aan deelneem )
Gr. Rik
Heeft er nog iemand toevallig problemen met het instellen van het config device bij 'Device and Pin options'? Misschien heeft het iets met Vista te maken maar zodra ik daar het tabblad configuration even heb open gehad (hoef niet eens iets in te stellen) en dan op OK druk krijg ik 'The parameter is incorrect'. Met als gevolg dat ik geen type configuration device kan instellen.
Via een omweg kan ik het wel instellen, door in de Tcl console (view, utility windows) het volgende te kiezen:
code:
set_global_assignment -name STRATIX_CONFIGURATION_DEVICE EPCS4
Dit is voor een Cyclone II, hoewel de documentatie zegt dat er een CYCLONEII_CONFIGURATION_DEVICE setting zou moeten zijn pakt Quartus deze niet (CYCLONE_... wel maar dat is voor 1), en vreemd genoeg gebruiken de DE1 voorbeeldprojecten deze 'stratix setting' ook, terwijl het device een Cyclone II is.