Op 14 oktober 2007 01:32:26 schreef Jeroen Boere:
voor CPLD's van Xilinx heb ik een programmer gemaakt,
ISE compatible.
Ik heb er 9 beschikbaar (componenten, pcb en flatcable) en wil deze indien er interesse is aanbieden via een IA (alleen op CO, ik wil dat deelnemers van dit topic profijt hebben van dit ding :) )

Ik heb ook zeker interesse. Ik ga er zowiezo niet vanuit dat het al te duur zal zijn. Laat het maar horen.

Jeroen,
Ik weet niet of je dit ook al getest hebt voor Altera zowel voor jtag als AS mode. AS mode is nodig als je de config eeprom EPCS1 van Altera wilt programmeren, JTAG mode is bij direct programmeren van de FPGA maar dit gaat verloren na spannings afval. Ik heb geen idee hoe het zit met de compatibiliteit tussen beide fabrikanten hun devices.

Ontwerp ziet er wel heel netjes uit. Zou leuk zijn als het voor beide werkt.

Update:
Ik zie juist dat de aansluitingen van de 10 pins connector totaal verschillend zijn. Deze programmer zal enkel voor Xilinx te gebruiken zijn. Omgekeerd zal een Altera versie ook niet gaan voor Xilinx.

[Bericht gewijzigd door fotoopa op (20%)]

Op 14 oktober 2007 07:19:39 schreef fotoopa:
Jeroen,
Ik weet niet of je dit ook al getest hebt voor Altera zowel voor jtag als AS mode. AS mode is nodig als je de config eeprom EPCS1 van Altera wilt programmeren, JTAG mode is bij direct programmeren van de FPGA maar dit gaat verloren na spannings afval. Ik heb geen idee hoe het zit met de compatibiliteit tussen beide fabrikanten hun devices.

Ontwerp ziet er wel heel netjes uit. Zou leuk zijn als het voor beide werkt.

Update:
Ik zie juist dat de aansluitingen van de 10 pins connector totaal verschillend zijn. Deze programmer zal enkel voor Xilinx te gebruiken zijn. Omgekeerd zal een Altera versie ook niet gaan voor Xilinx.

Kwestie van verloopje. Het is eerder de vraag of Quartus de parallelle poort pin-out ondersteunt :)

ik ben wel benieuwd naar de prijs van zo'n ding. Heb zelf nog nooit wat gedaan met CPLD of FPGA, en het wordt tijd op er eens mee te gaan beginnen denk ik :D

Op 14 oktober 2007 10:16:14 schreef MagicBox:
[...]

Kwestie van verloopje. Het is eerder de vraag of Quartus de parallelle poort pin-out ondersteunt :)

De reden van mijn vraag was voor degenen die deze programmer zouden bestellen maar Altera gebruikers zijn of die erook mee kunnen werken.
Quartus ondersteunt idd programming via de parallel poort. Ik bezit ook de origineele Altera ByteblasterII op de parallelpoort en die werkt voor JTAG en AS mode en voor de low voltage devices.

Op 14 oktober 2007 10:45:16 schreef fotoopa:
[...]
De reden van mijn vraag was voor degenen die deze programmer zouden bestellen maar Altera gebruikers zijn of die erook mee kunnen werken.
Quartus ondersteunt idd programming via de parallel poort. Ik bezit ook de origineele Altera ByteblasterII op de parallelpoort en die werkt voor JTAG en AS mode en voor de low voltage devices.

Ik weet wel dat Timmie ook een aantal xilinx CPLDs had meebesteld maar ook met Altera werkt. Hij zou eens kunnen kijken of de programmer compatible is. Ik weet alleen niet of 'ie er eentje van Jeroen gekocht heeft.

heb hier ook zo'n altera board van xantus liggen ;)

kan wel eens kijken of het werkt :) eerst even een verloopje maken. :)

Op 14 oktober 2007 11:02:50 schreef Jeroen Boere:
heb hier ook zo'n altera board van xantus liggen ;)

kan wel eens kijken of het werkt :) eerst even een verloopje maken. :)

Ik vermoed dat er langs beide zijden verschillen zijn waardoor het waarschijndelijk niet zal gaan.

ik ga het niet proberen, volgens mij gaat het niet werken vanwege de spanningsniveaus (uit dat xantus board komt 3,5 volt geloof ik) deze heeft 5 volt nodig.

Maar ik heb hem dan ook louter voor een Xilinx gemaakt.

tevens krijg ik de USB byteblaster om ISE ook niet aan de gang. :)

voor de prijs zal ik een nieuw topic aanmaken:

http://www.circuitsonline.net/forum/view/53650/1#693504

Houston we have a problem.
Het lukt me niet om mijn bordje te programmeren. Ik heb het testprogramma van fotoopa gedownload en in quartus restored. Daarna heb ik mijn program device geinstalleerd en deze werd ook mooi herkend als een ByteblasterII.
Echter het programmeren van de fpga lukt niet.
in JTAG mode krijg ik de fout:
Error: Can't access JTAG chain
Error: Operation failed

Toen overgeschakeld naar AS mode, helaas ook fout:
Error: Can't recognize silicon ID for device 1
Error: Operation failed

Iemand een idee?
Als ik mijn bordje spanning geef gaan alle ledjes (ook alle segment) zwak oplichten behalve led 19 die blijft uit.
is dit normaal ????

ps. ik heb de connectie van de JTAG connector naar de fpga nagemeten en deze was goed. Ook mijn voedingspanningen zijn 3,3 en 1,5 volt. Deze heb ik nog niet naar de fpga gevolgd maar ga er van uit dat deze goed is.

@driessens_nl,
Ik ga ervan uit dat je de programmer van xantus gebruikt en veronderstel dat je de aanpassing gedaan hebt zoals vermeld in de verschillende topic's ( invertor tussenplaatsen)

Je kunt ook even testen of er op pin4 van de 10 pins connector 3.3V zit. Die is nodig anders krijg je ook uw vermelde fouten.

Test of de signalen naar de FPGA zijnde TDI, TDO, TCK goed verbonden zijn geen onderbrekingen, geen kortsluiting met naastliggende baantjes.

Dat je zowel in JTAG als in AS mode de fout krijgt kan op een fout aan de programmer wijzen.

Waarschijndelijk is je programmer nu voor het eerst gebruikt waardoor je met meer onbekenden zit waar de fout kan liggen.

@fotoopa:
bedankt voor de snelle reaktie !!

Ik gebruik inderdaad de programmer van Xantus voorzien van de modificatie zoals al eerder vermeld.
3,3 volt komt op pin4 aan, dat kan ik controleren door de ledjes die op de progammer zitten. Het sapnningsledje gaat aan als ik de fpga print spanning geef en ook het working ledje gaat aan als de programmer wordt aangesproken door Quartus.
Inderdaad wordt de programmer nu voor het eerst gebruikt.
Inverter werkt prima, heb ik middels een scoop gecontroleerd.
Het enige wat een beetje anders dan normaal is dat ik een korte 1 op 1 kabel (70-80cm) heb gebruikt tussen LPT poort en programmer. Ik heb momenteel niet een genderchanger hier.

JTAG conn. fpga is goed, moet wel nog even controleren op sluiting.
Maar zowel een sluiting in AS als in JTAG lijkt me sterk.
Zal de programmer nog een sgoed nazien.

Iemand in de buurt van Maastricht die een goed werkende programmer heeft ?? zou makkelijk zijn om dit deel alvast uit te sluiten.

Heb je soms geen 2de pc? Die printerkabel lengte zou normaal geen probleem zijn. maar toch zijn er soms meldingen van bepaalde combinatie's pc's, printerpoort, instelling printerpoort in de bios, kabel enz. doorgaans zijn de USB versie's wat stabieler. het lijk mij idd onwaarschijndelijk dat er een kortsluiting zit op de blue bird board omdat geen van beide modes gaan.

Iemand met een USB blaster zou je direct veel kunnen helpen. De error: Error: Can't access JTAG chain duid toch aan dat hij geen enkele communicatie krijgt met de FPGA, nochthans daar voor zijn maar heel weinig signalen voor nodig. Kijk toch eens naar je printer instelling, eventueel ook via de bios. er zijn daar een paar instellingen van types mogelijk maar ik kan niet van buiten zeggen wat je nodig hebt. eventueel even testen.

@fotoopa:

LPT poort instellingen, had ik ff niet aan gedacht.
Zal het later deze avond bekijken

2e pc wel aanwezig maar dan moet ik daar op Quartus op installeren, kost wat tijd. Iets voor komende dagen.
Als ik iets weet zal ik het hier posten.

Op 14 oktober 2007 20:51:20 schreef driessens_nl:
@fotoopa:
2e pc wel aanwezig maar dan moet ik daar op Quartus op installeren, kost wat tijd. Iets voor komende dagen.
Als ik iets weet zal ik het hier posten.

Als je op de 2de pc enkel de programmer installeerd is het voldoende!

Op 14 oktober 2007 20:57:04 schreef fotoopa:
[...]
Als je op de 2de pc enkel de programmer installeerd is het voldoende!

Sorry, dit begrijp ik niet.
Ik probeer de fpga te programmeren vanuit de Quartus omgeving en heb geen idee hoe ik dit separaat kan doen.
Heeft U misschien nog een tip voor me ???

Ik dacht dat je bij de install kon kiezen om enkel de programmer te installeren, natuurlijk moet je darvoor de optie's selecteren ipv full install. ik heb het vroeger nog gedaan, is al enkele jaren geleden maar denk dat die optie nog aanwezig is. Dan moet je verder enkel de .sof of .pof files gebruiken.
update:

Zopas even op de Altera site geweest. De programmer bestaat ook afzonderlijk:
zie deze link

[Bericht gewijzigd door fotoopa op (26%)]

Heb ondertussen nog het een en ander geprobeerd:
LPT poort in : AT, PS/2, EPP en ECP mode allen zonder succes.
Heb ook de poorten van de byteblaster continu geenabled door pen 1 en 19 aan ground te leggen (dit kan in JTAG mode omdat er verder toch geen componenten op deze lijnen zitten) ook zonder succes.
Ga morgen of zo een test programma maken voor de byteblaster en misschien even met een LA meten op de JTAG poort. Maar voor vanavond stop ik er mee, ben niet scherp meer ga wellicht fouten maken.

Op 13 oktober 2007 20:26:37 schreef fotoopa:
@surge_me,
Ik vermoed dat je ze opnieuw moet hertekenen. Maar je kunt een aantal bidir pinnen maken en dan de naam snel overzetten van de input op de bidir pinnen. Dubbel klikken op een inputpin, CTRL C, dubbelklikken op bidir pin en CRTL V.

Nadien kun je alle ongewenste input pinnen weer deleten.

Jup zo deed ik het eerst, maar ik vind dit best veel werk :)

Op 13 oktober 2007 21:15:37 schreef madwizard:
Misschien de BDF in een teksteditor openen en het daar wijzigen? Ziet er wel leesbaar uit in ieder geval.

Op 13 oktober 2007 21:31:32 schreef fotoopa:
[...]
Zou ik niet doen, symbool moet ook veranderen.....

Werkt inderdaad niet, er staat iets van Altera in die BDF file dat je het niet moet editen, anders zou de file corrupt kunnen worden.

Ik heb het geprobeerd, en de file raakt inderdaad corrupt :( Dus ik moet het gewoon op de "veel werk manier" van fotoopa doen :D

Bedankt voor de tips iniedergeval

Betreft xantus blue bird FPGA boardje.

Iets wat je best niet doet bij een FPGA ontwerp is dit:

http://users.skynet.be/fotoopa/fpga/pll.png

Hier liggen de beide clocksignalen keihard aan de ground omdat ze niet gebruikt worden, maar hierdoor kun je de 2de pll in de cyclone niet meer gebruiken omdat dit een van de ingangen zijn. Ook kun je heel moeilijk de layout aanpassen om via een draadje een signaal achteraf toe te voegen.

Veel beter is om minstens op iedere basis clock ingang een clok aan te brengen, zelfs al zijn beiden dezelfde frequentie. Anderzijds is het ook heel mooi om in de layout een pullup weerstandje te voorzien voor dergelijke ongebruikte signalen want die kan je dan achteraf gemakkelijk weglaten en op het padje een draadje verbinden. Mag zelfs een weerstand naar gnd geweest zijn.

Ook voor dit gedeelte:

http://users.skynet.be/fotoopa/fpga/usb.png

vind ik geen oplossing om op OSCO een signaal uit te krijgen terwijl je op de CBUSS0 ..CBUSS4 wel verschillende signalen naar buiten kunt brengen door de interne eeprom van de FDI232RL chip te configureren met de tool Mprog3.0a van FDI.
Daar kon je 6, 12, 24 of 48 Mhz laten uitkomen en was ideaal geweest om naar de FPGA te leiden en daar dan de 2de pll groep mee te actieveren. met 48 Mhz kun je net weer een andere range frequentie's gebruiken dan met de 50 Mhz mogelijk is.

Heel spijtig want nu kun je maar 1 pll gebruiken in de FPGA.

Ook zo deze plaatsing van de connectors:

http://users.skynet.be/fotoopa/fpga/connector.png

De beide connectoren onderling staan op 1.5 raster waardoor ik geen gaatjesprint kan gebruiken als expantie. Erg vervelend. Ik wou een interface stukje maken om mijn LCD"4.3" aan te sluiten op de bluebird en DE1 board maar dit gaat zo niet... en 2 afzonderlijke 20 polige 3M connectors zitten te dicht.

een handig linkje voor Xilinx CPLD's:
http://tutor.al-williams.com/pldx-1.htm
Het mag dan wel een ouwetje zijn, maar wel handig als je er totaal geen kaas van gegeten hebt :)

Nou... bij deze... ik heb er totaal geen kaas van gegeten ! ;)

Bedankt voor de link.

Nou dit is niet zomaar een 'eenvoudig' voorbeeld maar misschien toch even leuk om te zien wat mensen zoal doen met een FPGA: http://home.comcast.net/~olimar/DS/jumbotron/

@Eagle666,
Mooie link, precies een werkje voor een hele winter.

Maar ondertussen heb ik ook weer wat gewerkt. Het eerste deel van een uart, nl de TX kant heb ik zopas geschreven en uitgetest. Gelukkig had ik de LA om alle timingen zorgvuldig te kunnen controleren. De bedoeling is om data via de USB connectie van en naar de PC te kunnen sturen.

Maar tijdens mijn testen heb ik gezien dat de signaal benaming van de USB FDI232R chip en de FPGA rechtdoor verbonden zijn. Bij een serieele verbinding is dit normaal gekruist, immers zender van de ene kant moet naar de ontvanger van de andere kant. Ze behouden dan op alle chips dezelfde naam voor dezelfde functie. Maar de baantjes lopen in de layout niet gekruist zodat we verplicht zijn de pin nummers aan te passen. Tijdens het testen bleken ze kop op kop te staan en dat hebben ze niet zo graag.

Ik heb bijgevolg de template van dit nieuwe project aangepast. Ook de oude link van mijn eerste toepassing is reeds aangepast met de nieuwe pin nummers.

// set_location_assignment PIN_42 -to TXD
// set_location_assignment PIN_49 -to RXD

Er zullen waarschijndeljk nog dergelijke wijzigingen moeten gebeuren want straks moet ik nog de handshaking bijvoegen en heb vermoedens dat het daar ook zal verkeerd zijn.

Hier is er een link naar mijn rs232 project

Ik heb hier een verilog TX RS232 driver geschreven voor de FPGA om data naar de PC te sturen via de USB chip. De data komt uit een 256 bytes ram die via de wizard functie aangemaakt is. Een kleine sequencer zorgt ervoor als je op MS6 drukt dat alle bytes uit de ram razendsnel aan 115.200 baud naar de PC vliegen. Daarvoor moet je eerst de USB com poort op 115.200 baud, 8 databit, no paritie en 1 stopbit instellen.

De baudrate kun je wijzigen daar de 16 x clk te wijzigen die je op de tx_uart module moet aanbrengen. Deze clock is nu via een pll functie gemaakt via de wizard en is nog eens 16x hoger ( pll's moeten boven 16 MHz zijn). Door nu die delers aan te passen kun je om het even welke baudrate aanmaken.

De ram is 256 bytes groot en die wordt bij het booten geladen met een tekst bericht. De eerste die dit kan lezen zal waarschijndelijk zijn boeltje aan het draaien hebben. het zijn 256 byte leesbare characters. De inhoud van de tekst moet je niet te letterlijk nemen want sindsdien is de inhoud gewijzigd en bijgevolg ongeldig.

Ik ben benieuwd wie het eerst deze data zal uitlezen via een USB connectie.

De resultaten zijn buitengewoon, je druk op de knop ( MS6) en je data staat al op de PC, zo snel dat je goed moet kijken.
Ohja, de 4x7 segment display duid het adres aan tijdens de transfert ( 2 digit adres rechts en 2 digit data links)
Maar dit gaat zo snel dat je behalve de start waarde er niet veel kunt van lezen. Maar als je het project ingelezen hebt kun je ook even drukken op MS6 om te zien dat er iets gebeurd met de data.

Update:

De handshaking zit er nu ook bij en daarvoor heb ik ook de 2 signalen aangepast in de pinlijst:
// set_location_assignment PIN_47 -to CTS
// set_location_assignment PIN_38 -to RTS
Deze zijn dus ook verwisseld. Als de USB nu niet geconnecteerd is kun je de ram data niet doorsturen. na de eerste byte blijft de ramadres counter op 01 staan omdat hij een byte geladen heeft die niet doorgestuurd wordt. Zodra je de USB com poort activeerd aan de PC zijde wordt het RTS signaal uitgestuurd en zal de communicatie starten.
de rs232.qar file is aangepast online.

@FotoOpa

We maken er toch geen wetstrijd van?
Afijn toch maar ff proberen.
Bericht: rial logger tool oktober 15 2007 einde bericht.

ps: het valt mij op dat IC6 erg warm wordt, hij heeft bij mij kortsluiting overleeft dus hij kan wel wat hebben maar toch. Lijkt mij niet de bedoeling dat hij erg warm wordt toch?