Sivu 1/1

CPLD piirien ohjelmointilaite

ViestiLähetetty: Pe Helmi 28, 2014 23:03
Kirjoittaja wanha
Tarvis saada XC9572 piiri ohjelmoiduksi. Jatkossa ehkä muitakin jos niitä sattuu tulemaan vastaan. Aiheesta kun en mitään tiedä, niin voisiko joku vihjaista mistä saisi valmiina halvan ja toimivan värkin tuollaisten ohjelmointiin?

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: La Maalis 01, 2014 0:21
Kirjoittaja wanha
Itse itselleni vastaten. Tarvitsen siis Xilinx JTAG kaapelin ja löysin sellaisen eBaysta rakennussarjana. Tulee printteriporttiin kiinni jollaista mulla ei tietenkään koneessani ole, mutta ei takerruta nyt siihen. Sitten tarvitsen Xilinx ISE webpack softan ja sen saa Xillinxin sivuilta. Nyt vielä tarvisi vissiin sitten tehdä pieni piirilevy jossa on sopiva kanta tuolle piirille, JTAG kaapelille ja vissiin se virtaakin tarvii. Oliskohan tuohon mitään valmista kukaan suunnitellu vai jollekin verolevyllekö se hyppylangoilla juotellaan?

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: La Maalis 01, 2014 9:54
Kirjoittaja JKN
Muutama peruskysymys:
- Onko piiri XC9572 vai XC9572XL ? Näillä on erona käyttöjännite: XC9572 on 5V, XC9572XL on 3,3V.
- Onko sinulla valmis sisältö tiedostona (esim. SVF) joka pitäisi vain saada ohjelmoitua piiriin vai onko tarkoituksesi suunnitella piirille tuleva kytkentä alusta saakka?
- Onko tarve kertaluontoinen vai tuletko tekemään näiden ohjelmointia enemmänkin?
- Saatko käyttöösi LPT-portilla varustetun koneen vai pitääkö löytää muita tapoja?
- Käytätkö Windowsia vai Linuxia?

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: La Maalis 01, 2014 10:12
Kirjoittaja wanha
No juu se on tämä 5V malli. Mulla on valmis tar paketti jonka sisältä purkautuu vino pino tiedostoja. Näkyy olevan ainakin pari ucf päätteistä ja sitten siellä on iseconfig niminen kansio. Siitä päätellen se vissiin on tehty tuolla Xilinx ISE softalla. Tämä on nyt kertaluonteinen tarve, mutta aihe kiinnostaa siinä määrin että voipi tulla tarvetta jatkossakin. Kyllä mä jostain sellaisen koneen kaivan jossa on LPT portti. Ainakin sitten jos tuo ei toimi usb to lpt sovittimella joita saisi muutamalla eurolla. Käytän sekä Windowsia, että Linuxia joten millä vaan helpommin homman saa tehtyä.

EDIT:

Availin aikani kuluksi niitä .vhd tiedostoja ja hetkittäin kuvittelin jopa ymmärtäväni mitä ne tekee. Se ei tuokaan taida sitten kuitenkaan mitään rakettitiedettä olla. Mitäs jos ihan oikeasti haluaisin ymmärää noiden sielunelämää enkä vaan sokeasti ohjelmoida moista, niin mistä pitäisi alkaa?

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: La Maalis 01, 2014 16:37
Kirjoittaja JKN
Näiden piirien kanssa joutuu opettelemaan kaksi asiaa:
- VHDL- tai Verilog-kieli. Jos sinulla on valmis projekti olemassa, niin tätä ei tarvitse ensimmäisenä opetella.
- Piirivalmistajan ohjelmointiympäristön käyttö, tässä tapauksessa Xilinxin ISE.

Ilmeisesti lähdekoodisi on VHDL:ää. ISE:ssä homma menee pääpiirteissään siten, että VHDL-lähdekoodit (.vhd, .ucf jne.) ensin "käännetään" eli implementoidaan ohjelmointiohjelmalle kelvolliseen muotoon. Seuraavana käynnistetään ohjelmointiohjelma (nimeltään iMPACT, käynnistyy samasta Project Navigatorista), joka suorittaa varsinaisen piirille kirjoituksen.

Tuossa jälkimmäisessä vaiheessa on sitten vaihtoehtoja. Jos on käytössä ohjelmointikaapeli, jota Xilinx tukee, ohjelma osaa kirjoittaa tavaran suoraan piirille. Toinen tapa on tehdä iMPACTilla XSVF-formaattinen tiedosto, ja ajaa se sitten piirille erillisellä XSVF player-ohjelmalla. Erilaisia tee-se-itse playereita on netissä useitakin.

Molemmissa tapauksissa pitää tietysti olla jonkinlainen piirilevy, johon CPLD-piiri istutetaan, ja joka syöttää ainakin piirille sähköt ja mahdollistaa JTAG-piuhojen kytkemisen. Näitäkin löytyy netistä kyllä, esim. googlaamalla xilinx cpld programmer.

VHDL:ää olen itse opetellut tällaisesta ilmaisesta kirjasta: http://www.freerangefactory.org/dl/free_range_vhdl.pdf

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: La Maalis 01, 2014 16:47
Kirjoittaja wanha
Juu kiitokset vinkeistä. Uskoisin, että näillä vinkeillä ja googlen käytöllä saan tuon piirin ohjelmoitua. Kyselen lisää jos menee sormi suuhun. Se on sitten toinen asiaa kestääkö pää VHDL:n opiskelua, mutta yritetään ainakin jollain tasolla siihen tutustua.

EDIT:

http://www.embeddedtronics.com/cpldlab.html

Tollasen löysin.

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: Su Maalis 02, 2014 10:31
Kirjoittaja JKN
Tuollainen piirilevy on ihan sopiva, näitä on tosiaan netissä paljonkin, eikä tuollaisen suunnittelu itsekään ole kovin monimutkaista, kun se on kuitenkin pohjimmiltaan lähes pelkkä breakout.

Tuo ISE-ympäristö on aika monimutkainen käytössä, se kun on tehty isojen FPGA-toteutusten suunnitteluun, niin tämän kokoisen CPLD:n tekeminen sillä on vähän tykillä kärpästä -meininkiä, mutta kun kevyempääkään työkalua ei ole tarjolla, niin pitää vain kestää. On ainakin valmis kasvupolku, jos ruokahalu kasvaa.

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: Su Maalis 02, 2014 15:38
Kirjoittaja jahonen
Jos piirilevy ei ole lukkoon lyöty niin järkevin on varmaan laittaa JTAG-liitin siihen piirilevylle niin ei tarvitse erikseen piiriä irroitella ohjelmointia varten, sen kun vaan pistää ohjelmointikaapelin kiinni.

Xilinxin ISE on kyllä sen verran "turd" (Xilinxin edustajatkin jopa jossain vaiheessa myönsivät tämän) että kannattaa jatkossa tsekata Alterankin tarjonta, Quartus on aika paljon miellyttävämpi käyttää.

t. Janne

Re: CPLD piirien ohjelmointilaite

ViestiLähetetty: Su Maalis 02, 2014 15:53
Kirjoittaja wanha
No se piirilevy näkyy seurantakoodin mukaan olevan nyt Helsingissä. En tiedä miksi siihen ei tuota JTAG-liitintä ole laitettu. Värkki kun ei ole minun suunnittelemani, vaan saksalaista laatutyötä. Pitää joskus kysellä miksi tätä ei ole siinä huomioitu ja ainakin tarjota sitä kehitysehdotuksena seuraavaan revisioon. Siinä on muutakin ohjelmoitavaa ATmega8:n ja EPROMin muodossa.

Joo se softa oli melkein 8 gigaa pakattuna. Tuossa paketissa tosin mukana sekä Windows, että Linux versiot. On se melkoinen möykky siitäkin huolimatta. Mulla olis kyllä säkillinen EPM7128SLC84 piirejäkin. Tarvis vaan keksiä niille jotain käyttöä. Nehän vissiin sais ohjelmoitua Alteran Quartus ohjelmistolla ja jonkin sortin USB Blaster kaapelilla.

EDIT:
No kysyin miksi sitä JTAG-liitintä ei ole siinä piirilevyllä mukana ja suunnittelija totesi ettei hänellä ollut koskaan tarkoitus muuttaa sitä piirille tulevaa koodia. En sitten enään kysynyt, että eikö se helpottaisi niiden elämää jotka noita sitten kasaavat kun piirilevy kuitenkin on myynnissä. Siinä nyt kuitenkin kuulemma säästää yhden liittimen.