Fórum témák
» Több friss téma |
Fórum » CPLD, FPGA - Miértek, hogyanok
Mas: regebbi CRTs jatekgepeknel lattam hogy a meghajtora VS/HS kozul csak egyik van bekotve + az RGB. Erre kivancsi lennek hogy,hogy mukodik..
namost 54 MHz a max freki amivel hajtani tudod a DAC-okat.
a horizontális frekvencia kb 30-40 kHz környékén van, a felbontástól és vertikális frekvenciától függően. Ezek alapján szerintem simán lehet időmultiplexelve meghajtani.
Ok, mondjuk, de hogy lesz ebbol szinkeveres RGB eseten?
Vagy csak en gondolkodok rosszul?
az IC-ben van sample&hold szerintem, szóval a kimeneteket egyszerre adja ki, ha nem így csinálná, akkor a többi formátummal sem tudna mit kezdeni.
A platform flash az amiben az fpga demo config benne van , vagy az Intel nor flash?
azt, hogy a demo config miben van nem tudom, elvileg gyárilag a platform flashben van (ami nem egyenlő az Intel NOR Flash-el)
De a jumperekkel ki tudod választani a NOR-flasht is, és be tudod vele bootoltatni (de szép szó) az FPGA-t. A NOR flash felprogramozásához (mivel az nincsen JTAG láncba kapcsolva, mert nem lehet) be kell töltened a xilinx honlapon lévő NOR flash programmer picoblazes .bit fájlt, rákötni soros porton kereszül PC-re, majd hyperterminallal felküldeni a NOR-flashbe az .mcs fájlt. Azt most nem mondom biztosra hogy ez elég, lehet hogy az mcs fájlt át kell alakítani még előtte. Ha nagyon égető probléma utánnanézek.
Koszi szepen !
Mindent leirtal amire kivancsi voltam. Mar az adatlapon megnezegettem a flasheket. XCF04S a plat.flash. Arra gondoltam hogy pl. open core proci eseteben is mehetne a programkod az intel flashbe. Es/vagy kep meg egyeb adat is.. Na de akkor hogy is van a formatumokkal? Hol nezhetnek utanna? Nem egeto csak latolgatok, raer.
én úgy emlékszem hogy a reference designokhoz tartozó pdfekben mindent leírtak.
szerintem nézegesd őket végig. mindenképpen hasznos lesz.
Ellenallas haloval kialakitott DAC-nel (VGA) hany MHz-nel lehet a hatar (ha van ilyen)?
határ az biztosan van, mert az ellenállás sem tisztán rezisztív elem...
ki kell mérni
Sziasztok!
Abszolute kezdőként lenne egy kis problémám a xilinx ISE Webpack-kal. Chipcad-es cpld demo panel... Elsőre schematikkal való ismerkedés .. ISE webpackban egy-két kaput, tárolót lerakva semmi gond, működik le is tudom tölteni. De ha lerakok egy számlálot és ki akarom vezetni minden lábát akkor a Spice vagy nem látja az adott elem minden lábát vagy más elemmel a fordításkor hibákat jelez a lábaknál. Három Ise verzió kipróbálva sevice pakkok felrakva.. Mit ronthatok el? A chipcad-es leírás nem segített, sőt...
tedd fel ide, amit alkottál (.sch fájl).
megnézzük
amúgy én legelőször nem a schematikkal próbálkoztam, hanem egyből verilogot kezdtem el tanulni.
a schematic nekem nagyon nehézkesnek tűnt. így utólag persze nem, de szívesebben (na persze meg könnyebben) munkálkodok valamilyen HDL nyelven.
Köszi!
Közben csak kínlódtam vele, nem egyezett a vezetékek elnevezése Most már kezd alakulni, már 2 számláló és pár egyéb cucc is működik. Mindenesetre úgy tűnik nem a földön készítették ezt a progit Nagyon nehezen jövök rá dolgokra, persze biztos velem a baj. Mint írtam teljesen 0-ról indulok.
Mivel én semmilyen programnyelvet nem ismerek, gondoltam a schematikkal kezdek.
Egyébként sincsenek nagy terveim, inkább régebbi bevált, ic-temető kapcsolásaimat akarnám átimplantálni cpld-be.
Találtam egy jó kis leírást..
Kár hogy nem tegnapelőtt http://www.picnick.hu/elektronika/FPGA_segedlet_1.1.pdf
szerintem nézz körbe a Xilinx honlapon, meg a fórumain.
Rengeteg segédlet van elszórva mindenfelé. kis keresgéléssel elég hasznos dolgokat lehet találni. ha jól emlékszem CPLD-khez volt egy rakás verilogos és vhdl-es példa is. a verilogot szerintem elég gyorsan meg tudnád tanulni. utánna hidd el, soha többé nem nyúlnál a kapcsolási rajz szerkesztőhöz (esetleg csak ritkán :p)
Köszi a tanácsot a verilog-al kapcsolatban, valószínű meg is fogadom.
Csak most ugye maga a webpack kezelésével is problémáim voltak.
Sziasztok!
Na elkezdtem verilogozni... Először csak mintaprogik.. Itt van pl. ez: fel-le számláló reset és beírási lehetőséggel. Az felső 4 bit teljesen jó de az alsó 4 bitet érdekesen számolja . valahogy így: 2,4,6,9,10,12,14,1 visszafelé reset után:12,11,9,7,5,3,1 (a 8 bit kivezetve led-ekre, impulzusok hall-nyomógombról tuti pergésmentesek. A ledek nincsenek felcserélve, mert ha a loaddal bármely értéket beírok mindkét bájton jól adja ki, de onnan az alsó 4 bit megint hülyén számol) module proba1 (clk, clear,load, up_down, qd); input clk, clear, load, up_down; output [7:0] qd; reg [7:0] tmp; always @(posedge clk ) begin if (!clear) tmp = 8'h00; else if (!load) tmp = 8'h55; else if (up_down) tmp = tmp + 1; else tmp = tmp - 1; end assign qd = ~tmp; endmodule a másik kérdés, szeretnék asszinkron beírási lehetőséget, de ha beírom hogy az always-hez hogy or negedge load akkor hibát jelez. Nagyon kezdő vagyok, kérlek segítsetek!
A kimenet azért van negálva mert a led-ek közös pontja Vcc-n van.
mekkora órajellel hajtod, és hogyan van pergésmentesítve a cucc?
ja+ milyen cpld?
xc9572 5V-ról minden
hallos nyomigombok tuti pergésmentes, mindig ugyan az a hiba most megfogtál, ne szörnyülködj légyszi... milyen órajel? az miért is kellene? valamit nagyon nem tudok?
always @(posedge clk )
itt az órajel bemenet honnan jön?
jó, hülye vagyok, gondolom az jön a nyomógombról...
de akárhogyis nézem, szerintem egy hall nyomógomb sem teljesen pergésmentes...
Az tuti prell mentes már vagy 15 éve használom ezt a tipust ...meg egyébként is mindig ugyan azt a hibát hozza, illetve a schematikos játékkal jól működik
na jó, kezdjük előlről:
melyik IO mire van kikötve?
clk-9
clear-11 load-12 up_down-14 qd0-1 qd1-2 qd2-3 qd3-4 qd4-22 qd5-20 qd6-19 qd7-18
ez még megy tökéletesen, ebből kellene kiindulni.
itt megy az asszinkron reset is module nagybaj(clk, clear, up_down, qd); input clk, clear, up_down; output [7:0] qd; reg [7:0] tmp; always @(negedge clk or negedge clear) begin if (!clear) tmp = 8'h00; else if (up_down) tmp = tmp + 1; else tmp = tmp - 1; end assign qd = ~tmp; endmodule a cél az hogy csináljak egy olyan számlálót ami egy beadott értéktől számol visszafelé és ha eléri a nullát ad egy jelet
az előbbi jól működőnek a lábkiosztása:
NET "clear" LOC = "P11" ; NET "clk" LOC = "P9" ; NET "qd<0>" LOC = "P1" ; NET "qd<1>" LOC = "P2" ; NET "qd<2>" LOC = "P3" ; NET "qd<3>" LOC = "P4" ; NET "qd<4>" LOC = "P22" ; NET "qd<5>" LOC = "P20" ; NET "qd<6>" LOC = "P19" ; NET "qd<7>" LOC = "P18" ; NET "up_down" LOC = "P12" ; |
Bejelentkezés
Hirdetés |