Fórum témák

» Több friss téma
Fórum » CPLD, FPGA - Miértek, hogyanok
Lapozás: OK   28 / 49
(#) jym válasza jano36 hozzászólására (») Nov 19, 2011 /
 
Üdv!

A Xilinx-es HW-t biztosan nem támogatja az Altera-s SW.

Körül kell nézni a régebbi verziók között.

Imi.
(#) Reggie hozzászólása Dec 1, 2011 /
 
Van valaki akinek van tapasztalata az altera es xilinx szoftverevel is? Az altera szoftvere is akkora bughalmaz mint a xilinx-e, vagy esetleg megeri ra valtani? Mar tele a hocipom a xilinx-el, de kezdek eljutni odaig, hogy inkabb veszek masik gyartotol IC-ket, ha megeri...
(#) lenart.j válasza Reggie hozzászólására (») Dec 1, 2011 /
 
Mindenkinek ennyi baja van a Xilinx SW-vel ? Én most a 13.2-t használom (linux, 64bit), de még semmi problémám nem volt vele. A 10.1 óta használom, a régebbiekben itt-ott előfordultak bugok, de egy ekkora szoftverben (főleg ha "nem hivatalos verzió" ) ez előfordul (lásd windows, abban nagyságrendekkel több van). Szóval csak mázlim van ?
(#) Lakatfogó hozzászólása Dec 1, 2011 /
 
Gyorsan lenne egy kérdésem.

Van egy 8 bites std_logic_vectorom, és azt szeretném, hogy 8 bemenetről beolvasott 1 v. 0 kerüljön bele.

Magyarán 8 kapcsolóval beállított értékről szeretnék indítani egy 8 bites számlálót. A többi része működik a kódnak.

Így néz ki a kód érték beolvasó része:

A be/kimenetek deklarálása
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4. use ieee.std_logic_arith.all;
  5.   Pos0,Pos1,Pos2,Pos3,Pos4,Pos5,Pos6,Pos7: in std_logic;
  6.  Q: out std_logic_vector( 7 downto 0 ) );


Még a begin előtt van a belső signalként megcsinálva:
  1. signal Pre_Q: std_logic_vector( 7 downto 0 );


Aztán egy ha ciklus csak egyszer engedi futni:
  1. Pre_Q(0) <= Pos0;
  2.          Pre_Q(1) <= Pos1;
  3.          Pre_Q(2) <= Pos2;
  4.          Pre_Q(3) <= Pos3;
  5.          Pre_Q(4) <= Pos4;
  6.          Pre_Q(5) <= Pos5;
  7.          Pre_Q(6) <= Pos6;
  8.          Pre_Q(7) <= Pos7;


Majd a kód legvégén kiteszi a kimenetre a Pre_Q-t.
  1. Q <= Pre_Q;


Hibát nem ír, csak nem tesz ki semmit a kimenetre, határozatlan marad a kimenet.
Ha a Pre_Q(..) sorok végére teszek egy Pre_Q <="10101010"; sort, akkor szépen kimegy a kimenetre az érték.

Gondolom valami szintaktikai probléma lesz, de kifogytam az ötletekből.
(#) eltexto válasza Lakatfogó hozzászólására (») Dec 1, 2011 /
 
Hali!

Ezt a kódot szimulálod, vagy a HW-en teszteled ?
A bemeneteknek adsz értéket ? Jobb lenne egyben látni a kódot.

Üdv. Zoli
(#) Reggie válasza lenart.j hozzászólására (») Dec 1, 2011 /
 
Mazlid van. Nekem akkora bugok vannak mint a haz. Peldaul az egyik ilyen: 7szegmenses kijelzore(4db) kirakom egy 32 bites szamlalo felso 16 bitjet, ha a dip kapcsolok 0-at mutatnak. Ha a dip kapcsolok 1 es 10 kozott allnak, akkor egy 160 bites regiszter 16 bites szeleteit rakja ki a kapcsolok allasatol fuggoen. Ez persze csak egy resze az egesznek, de ez szepen le is fordul fel oran belul. Viszont! Ha kiszedem belole, hogy a dip kapcsoloktol fuggjon a 7szegmenses kijelzon levo ertek es fixen csak a 32 bites szamalo felso 16 bitjet jelenitse meg, akkor a Place & Route elakad amikor mar csak 23940 vezetek nincs osszekotve es tobb mint 20 ora alatt sem halad elorebb. Es csak ennyit valtoztattam. Ha visszavaltoztatom, akkor megint lefordul rendben. (A hivatalos es ingyenes 13.3 WebPack is ugyan ezt csinalja es a 13.1 Design Edition is)
(#) Lakatfogó válasza eltexto hozzászólására (») Dec 1, 2011 /
 
Eszköz híján még csak szimulálom. Most karácsonyra gondolom meglepni magam egy Digilentes Spartan3e starter kittel.

Mivel a Xilinxes ise-hez való modelsimből diák reggel csak wines verziót lehet letölteni, az meg egyelőre nem akar még települni se Win7-en, így bedobtam a Tina8-ba a kódot, mert van neki elég egyszerű vhdl szimulátora. Csináltam új alkatrészt, stb.

A kód maga egy inkrementális jeladó jelét számolja, előtte van két D fliplfop, így az irányok is megkülönböztetettek alapból.

  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4. use ieee.std_logic_arith.all;
  5.  
  6. ----------------------------------------------------
  7.  
  8. ENTITY counter is port(
  9.  up:in std_logic;
  10.  down:        in std_logic;
  11.  clear:in std_logic;
  12.  Pos0,Pos1,Pos2,Pos3,Pos4,Pos5,Pos6,Pos7: in std_logic;
  13.  Q: out std_logic_vector( 7 downto 0 ) );
  14. END counter;
  15.  
  16. ----------------------------------------------------
  17.  
  18. ARCHITECTURE behv of counter is  
  19.     signal Pre_Q: std_logic_vector( 7 downto 0 );
  20.     signal start: std_logic_vector( 7 downto 0 );
  21.     signal startpos: integer range 0 to 1 := 0;
  22. BEGIN
  23.     -- behavior describe the counter
  24.     process(up, down, clear,Pos0,Pos1,Pos2,Pos3,Pos4,Pos5,Pos6,Pos7)
  25.     begin
  26.        if (startpos = '0') then
  27.          startpos <= startpos +1;
  28.          Pre_Q(0) <= Pos0;
  29.          Pre_Q(1) <= Pos1;
  30.          Pre_Q(2) <= Pos2;
  31.          Pre_Q(3) <= Pos3;
  32.          Pre_Q(4) <= Pos4;
  33.          Pre_Q(5) <= Pos5;
  34.          Pre_Q(6) <= Pos6;
  35.          Pre_Q(7) <= Pos7;
  36.        end if;
  37.        if (clear = '1') then
  38.          Pre_Q <= "00000000";
  39.        elsif (up='1' and down='0' and up'event and rising_edge(up)) then
  40.         Pre_Q <= Pre_Q + 1;
  41.        elsif (down='1' and up='0' and down'event and rising_edge(down)) then
  42.          Pre_Q <= Pre_Q - 1;
  43.        end if;
  44.        Q <= Pre_Q;
  45.     end process;
  46. END behv;


Csatoltam a tina fájlt is. Mondjuk írhattam volna egybe a két if-es részt, de ez nem befolyásolja a dolgokat.
(#) eltexto válasza Lakatfogó hozzászólására (») Dec 1, 2011 /
 
A startpos az integer. Nem anyázik a compiler az '1' miatt ?

Üdv. Zoli
(#) Lakatfogó hozzászólása Dec 1, 2011 /
 
Nem, mondjuk nem dobtam be a kódot a rendes ISE-be.

Ezt megelőzően std_logic -os volt a startpos, de akkor meg akárhogy próbáltam, nem ment be az IF-es ágba.
(#) Attix70 válasza bbatka hozzászólására (») Dec 20, 2011 /
 
Most írom a szakdolgozatomat egy CPLD-vel felépített fejesztőkártyáról . Az agya XC9572XL. Nekem Full Speed USB letöltőm van, ( párhuzamos portosból is van Digilen-es).
Észrevételem: A párhuzamos portos cumó működik a WebPACk-ból is, az USB-s NEM !! ( csak Adept-ből )
Az USB-s cucc az említett CPLD-nél csak az SVF kiterjesztést látja!! ( CoolRunner-nél látja a JED-et is amit a WebPack generál ).
Ha programot amarok tölteni a CPLD-be akkor a JED-et át kell konvertálni az Impact-ba SVF-re.
(#) Reggie válasza Attix70 hozzászólására (») Dec 24, 2011 /
 
En meg azt vettem eszre, hogy a 13.1 ugyan olyan beallitasok mellett jobban tud sebessegre optimalizalni mint a 13.3. Nagyjabol 10% a kulonbseg az elobbi javara. Leellenoriztem a timing analizereket is, azok egyformak mind a ket verzioban.
(#) bbatka válasza Attix70 hozzászólására (») Dec 24, 2011 /
 
Köszönöm a tippet a konverzióra vonatkozóan. Észben tartom.
(#) lenart.j hozzászólása Jan 17, 2012 /
 
Csináltam egy órajelgenerátort a projektemhez (vonalCCD, stb.) de a kijövő jel alakja elég randa (csatolt képen), köze nincs a négyszöghöz. SparkFun Spartan 3E development board-on dolgozok, gyakorlatilag csak ki vannak vezetve az FPGA lábai forrpontokra.
Ez gondolom inkább elektronikai probléma, de hátha van valakinek ötlete.

DS0002.PNG
    
(#) jym válasza lenart.j hozzászólására (») Jan 17, 2012 /
 
Üdv!

Illesztetlenségnek tűnik, ki van vezetve, és csak úgy lóg a levegőben a láb ? Le kellene zárni R vagy RC taggal, és úgy nézd meg.

Imi.
(#) lenart.j válasza jym hozzászólására (») Jan 17, 2012 /
 
Amikor rajta van a CCD akkor se szebb. Próbáltam 470 ohm-mal lehúzni, semmi nem változott.
(#) jym válasza lenart.j hozzászólására (») Jan 17, 2012 /
 
Üdv!

Ez milyen szkóp ? Rendesen kompenzált mérőfejjel rendelkezik ? Az FPGA-ból kijövő jel milyen hosszú úton ér a CCD-hez ? Tégy be egy soros 100 Ohm-ot az fpga és a CCD közé, a CCD-hez közel.

Imi.
(#) lenart.j válasza jym hozzászólására (») Jan 17, 2012 /
 
GWInstek GDS-3354, egész normális, a mérőfej kompenzáció szerintem rendben van.
Ami viszont érdekes, hogy a szkópkábel testjét eddig az fpga egyik gnd lábára akasztottam. Most nem volt kedvem vacakolni vele, rácsíptettem a panelen levő d-sub csatlakozó csavarjára és a jelalak sokkal szebb.

DS0003.PNG
    
(#) Reggie válasza lenart.j hozzászólására (») Jan 17, 2012 /
 
Nem lehet, hogy foldhurok jott letre, amikor a szkop foldjet az FPGA foldjere kototted?

A szkop kepen is latszik egy AC komponens, aminek nem kene lennie.
(#) csaboka21 hozzászólása Jan 20, 2012 /
 
Sziasztok!
Spartan 3E FPGA-mhoz szeretnék i2c interfészt írni, gyorsulásmérő illesztése végett. Írt már valamelyikőtök i2c modult? (ISE 10.1-ben szoktam mókolni, VHDL-ben)
választ köszi
(#) Reggie válasza csaboka21 hozzászólására (») Jan 21, 2012 /
 
(#) lenart.j válasza Reggie hozzászólására (») Jan 30, 2012 /
 
Földhurok kilőve, akkuról tápolva az FPGA panelt ugyanaz a jelalak... más ötlet ?
(#) jym válasza lenart.j hozzászólására (») Jan 30, 2012 /
 
Üdv!

A 100 Ohmot betetted a CCD és az FPGA közé ? Használt valamit ? Másik szkóppal megtudod nézni ? Próbáld meg másik meghajtással az UCF file-ban a IOSTANDARD = XXX | SLEW = XXX | DRIVE = XXX értékeket változtatni.

Imi.
(#) lenart.j válasza jym hozzászólására (») Jan 31, 2012 /
 
A CCD-s panellel még nem kötöttem össze, mert az egyik jelre azt mondja a szkóp, hogy 4.4V a magas szint és -1.4 az alacsony (amit nemigazán értek, hiszen 3.3V-nál több nem megy be az FPGA-ba). Próbáltam megterhelni 670?-mal (~5mA), jelalak nem változott, csak csökkent 1-2 tized voltot. Ha a szkópot 200?-os soros ellenállással kötöm az valamit szépít a jelalakon. Tuti a földeléssel lesz valahol gond, ha ugyanarra a gnd lábra rakom az összes szkópkábel földjét akkor még randább a jel.
Még játszok a meghajtással, hátha.
(#) lenart.j válasza lenart.j hozzászólására (») Jan 31, 2012 /
 
Meghajtás piszkálása eredménytelen. Nincs látható változás (LVTTL, LVCMOS33, FAST, SLOW, 6, 12, 16 mA kipróbálva).
(#) jym válasza lenart.j hozzászólására (») Jan 31, 2012 /
 
Üdv!

Ha a jel a korábban csatolt képen látható lengéseket produkálja, és a szkóp szélsőértéket mér, akkor lehet 4.4V és -1.4V is a lengés két szélső értéke. A szkóp 230-ról megy ? Rendesen le van földelve a dugalj ? Más ötletem nincs, másik szkóppal kellene megnézned, ha van rá lehetőség.

Imi.
(#) bankimajki hozzászólása Feb 11, 2012 /
 
Sziasztok, milyen eszközt ajánlottok CPLD ill. FPGA programozásra. Olyan kellene, amit otthon után lehet építeni. (Mert a bolti JTAG programozók nem olcsók, vagy csak én kerestem rosszul. :S)

Üdv.: Miki
(#) izenahogyishivnak hozzászólása Márc 3, 2012 /
 
Szerintetek egy 100MHz jelnél okozhat valami problémát, ha úgy tervezem a panelt, hogy van a vonalon 2 via? Azaz egyszer átmegyek vele a panel másik oldalára és 1x vissza.
(#) El_Pinyo válasza izenahogyishivnak hozzászólására (») Márc 3, 2012 /
 
Igen okozhat, a 100 MHz a felső határ amit megfelelő odafigyeléssel még két oldalas PCB-n be lehet huzalozni. Igazából nem a frekvencia számít, hanem a jelmeredekség (fel- és lefutási idők). Ha rövid vezetékszakaszokról van szó, akkor megoldható még a vezeték koncentrált paraméterekkel való közelítése, hosszabb vezetékeknél már nem. Írd le, hogy milyen hosszúak a vezetékek, mivel hajtod meg, egy- vagy kétirányú-e a jel, pont-pont összeköttetés, vagy vannak egyéb vevők is a vonalon. Ezek ismeretében már jobban lehet segíteni.
(#) izenahogyishivnak válasza El_Pinyo hozzászólására (») Márc 3, 2012 /
 
Köszi. CoolRunner2 CPLD-t használok. Pont-pont összekötés. Majd oszcilloszkóppal megnézem a jel szépségét, bár ez is határeset, 100MHz-es oszcilloszkóp, 250Msample. A oszcilloszkópzsinór is fog torzítani a jelen, gondolom.

Egyelőre nagyon kezdő vagyok ebben a témában, még csak most ismerkedek a CPLD-vel és a Xilinx ISE rendszerrel.
(#) El_Pinyo válasza izenahogyishivnak hozzászólására (») Márc 3, 2012 /
 
A 100 MHz-es szkóp bemeneti fokozata már szűrni fogja a jelet, akárcsak a mérőzsinór. Ezt korrekten nem tudod megmérni azzal a szkóppal. Egyébként mit szeretnél összekötni a CPLD-vel, ami 100 megán megy? Illetve nagyjából milyen messze van a CPLD és az eszköz, amit szeretnél meghajtani?
Következő: »»   28 / 49
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem