Megválaszolatlan hozzászólások | Aktív témák Pontos idő: szomb. nov. 16, 2024 7:54



Hozzászólás a témához  [ 915 hozzászólás ]  Oldal 1, 2, 3, 4, 5 ... 19  Következő
FPGA programozás 
Szerző Üzenet
vas-tag

Csatlakozott: hétf. feb. 28, 2011 13:39
Hozzászólások: 2
Hozzászólás Re: FPGA programozás
Szia,

a licensedet helyesen feltetted, egyszerűen az szitu, hogy a webpack ingyenes license csak az isim lite verziójának használatát hivatott engedélyezni.

A probléma, amivel találkoztál, az valószínűleg nem emiatt van.


csüt. aug. 30, 2012 19:38
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. jún. 26, 2006 7:20
Hozzászólások: 23
Hozzászólás Re: FPGA programozás
Kezdőként próbálkozom az ISE Project Navigator használatával. Van segítségem hozzá itt: http://www.eng.utah.edu/~cs3710/handouts/ISE-12-S3E.pdf, de mégis elakadtam. Megírtam a .pdf alapján a saját NAND Verilog modult, majd ezt felhasználtam a shematicba is. Eddig jó. És itt lenne kérdésem a .pdf. 14. oldaláról:
A Verilog Test Fixture -t választás után kapott kódban mit kell érteni a fullad UUT inititje alatt? Másrészről miért írják át a sablon kódban az auto_init részt?
ráadásul nekem az átírt rész sem világos mit csinál.
Én nem írtam át, viszont futtattam volna egy szimulációt. Azonban nem látok jelváltásokat a megjelenő ablakban. Warningként az alábbiak jelennek meg:
Idézet:
„WARNING: A WEBPACK license was found.
WARNING: Please use Xilinx License Configuration Manager to check out a full ISim license.
WARNING: ISim will run in Lite mode. Please refer to the ISim documentation for more information on the differences between the Lite and the Full version.”
pedig az ISE be feltöltöttem a license filet.
Hol a hiba? Elvileg a license file rendben van, mert ISE alá feltöltöttem.


vas. jún. 03, 2012 20:53
Profil Privát üzenet küldése
vas-tag

Csatlakozott: hétf. feb. 28, 2011 13:39
Hozzászólások: 2
Hozzászólás Re: FPGA programozás
Sziasztok,

Ha valakinek kell Spartan 3E starter kit, írjon PM-et. Nekem már nincsen szükségem rá.


hétf. feb. 28, 2011 13:40
Profil Privát üzenet küldése
vas-tag

Csatlakozott: pén. feb. 19, 2010 21:32
Hozzászólások: 1
Hozzászólás Pasma CPU Spartan-3A/3AN FPGA Starter Kit-re
Hali,

Talaltam a www.opencores.org-on egy CPU-t, ami Spartan 3e developer boardra van megcsinalva.

Szeretnem kiprobalni egy Spartan-3A/3AN FPGA Starter Kit-en, de sajnos olyan kulonbsegek vannak a ket board kozott amit jelenlegi szegenyes tudasommal nem birok athidalni (NOR flash meret (bar ez nem annyira veszes), DDR helyett DDR2, mas ethernet PHY, stb. (es persze a labkiosztas sem ugyan az, de ez lenne a legkisebb gondom).

Keresgeltem google-lel, de nem volt tul eredmenyes :-(

Nincs valakinek "portolva" a fenti eszkozre a Pasma CPU?

Koszi,

/sza2


pén. feb. 19, 2010 21:45
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szomb. jan. 09, 2010 13:33
Hozzászólások: 47
Hozzászólás 
Ahogy idöm engedi, de szívesen segítek.


hétf. feb. 15, 2010 19:46
Profil Privát üzenet küldése
vas-tag

Csatlakozott: pén. feb. 05, 2010 12:43
Hozzászólások: 2
Hozzászólás 
szia Geza16V!

Köszönöm a gyors segítséget. Körül néztem, olvasgattam, nagy vonalakban sejtem az alkalmazási lehetőségeket. Viszont kitaláltam egy merész dolgot. Mit szólnál, ha egy konkrét feladaton keresztül segítenél nekem tanulásban?


hétf. feb. 15, 2010 8:42
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szomb. jan. 09, 2010 13:33
Hozzászólások: 47
Hozzászólás 
elektrokukac írta:
Üdvözlök mindenkit!

Segítséget szeretnék kérni, kérlek ne nevessetek ki nagyon. FPGA, mi is az? Hogy tudom megismerni? Mit kell tudni az áramkörök felépítéséről, működéséről? Hogy tudom programozni? Illetve mire használható? Óvatos sejtésem van, talán képfeldolgozás körül lehetne létjogosultsága? Kép szenzorok kiolvasása és képrögzítés, gyors mintavétel és tárolás miatt érdekelne. Jók a sejtéseim?

Szia!
FPGA, mint Field Programmable Gate Array, azaz egy olyan áramkör, IC, amiben van egy rakás kapu illetve kombinációs logikai cella meg flipflop, és te mondod meg, hogy ezek hogyan legyenek összekötözgetve, vagyis te szabod meg, hogy az IC milyen funkciót lásson el.
Szerintem ha kezdö vagy a témában, akkor érdemes ezen a honlapon körülnézned kicsit: www.xilinx.com
Olvasgass el pár speckót a Spartan3/3E/3A FPGA-król, akkor kb. képbe kerülsz.
Kezdetnek pedig megteszi egy olcsóbb - ilyen FPGA-val szerelt - demo panel, amit pl. itt tudsz beszerezni: www.chipcad.hu
Remélem, sikerült segíteni!


kedd feb. 09, 2010 10:32
Profil Privát üzenet küldése
vas-tag

Csatlakozott: pén. feb. 05, 2010 12:43
Hozzászólások: 2
Hozzászólás 
Üdvözlök mindenkit!

Segítséget szeretnék kérni, kérlek ne nevessetek ki nagyon. FPGA, mi is az? Hogy tudom megismerni? Mit kell tudni az áramkörök felépítéséről, működéséről? Hogy tudom programozni? Illetve mire használható? Óvatos sejtésem van, talán képfeldolgozás körül lehetne létjogosultsága? Kép szenzorok kiolvasása és képrögzítés, gyors mintavétel és tárolás miatt érdekelne. Jók a sejtéseim?


hétf. feb. 08, 2010 1:54
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: pén. dec. 28, 2007 16:54
Hozzászólások: 33
Tartózkodási hely: Vas megye
Hozzászólás 
Geza16V írta:
jym írta:
Udv.

Nem találok megnyugtató választ egy VHDL kérdésre:

"VHDL-ben kimenetet nem lehet belül használni".

Vagyis az a problémám, hogy egy blokk kimenetének deklarált jelbe nem lehet közvetlenül beleírni, hanem végig egy másik bevezetett segédváltozóba kell számolni, majd a blokk végén kell ezt a segédet a kimeneti változóba tenni. Vannak példák, ahol így van megoldva, és vannak, ahol nem...

Mi a helyes megoldás, és miért ?

Köszi.

Imi.


Ez a helyes megoldás. Az ipari coding guideline-ok mindegyikében így szerepel.

Azaz fogsz egy jelet, azt használod, és kikötöd a megfelelö kimenetre is.


Üdv.

Köszi a választ, közben áttértem Verilog-ra, na nem ezért, mert abban erre nincs szükség (egyébként valóban nincs erre szükség Verilogban), hanem mert a C-s múltammal jobban boldogulok.

Köszi.

Imi.


hétf. jan. 11, 2010 9:59
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szomb. jan. 09, 2010 13:33
Hozzászólások: 47
Hozzászólás 
jym írta:
Udv.

Nem találok megnyugtató választ egy VHDL kérdésre:

"VHDL-ben kimenetet nem lehet belül használni".

Vagyis az a problémám, hogy egy blokk kimenetének deklarált jelbe nem lehet közvetlenül beleírni, hanem végig egy másik bevezetett segédváltozóba kell számolni, majd a blokk végén kell ezt a segédet a kimeneti változóba tenni. Vannak példák, ahol így van megoldva, és vannak, ahol nem...

Mi a helyes megoldás, és miért ?

Köszi.

Imi.


Ez a helyes megoldás. Az ipari coding guideline-ok mindegyikében így szerepel.

Azaz fogsz egy jelet, azt használod, és kikötöd a megfelelö kimenetre is.


szomb. jan. 09, 2010 13:38
Profil Privát üzenet küldése
arany tag

Csatlakozott: szomb. máj. 06, 2006 9:37
Hozzászólások: 131
Hozzászólás 
Sziasztok !

Valakinek ezzel kapcsolatosan van otlete?

Kód:
--------------------
WARNING:Pack:1542 - The register ddr_sdr_inst/tristate_q_0 has the property
   IOB=TRUE, but was not packed into the output side of an I/O component. The
   register ddr_sdr_inst/tristate_q_0 can not use TFF1 because the clock signal
   does not agree with register ddr_sdr_inst/ctrl.gen_d1[0].fddr3/ODDR2_inst.


kedd dec. 01, 2009 12:07
Profil Privát üzenet küldése YIM
arany tag

Csatlakozott: szomb. máj. 06, 2006 9:37
Hozzászólások: 131
Hozzászólás 
Sziasztok !

Spartan 3e DDRnek nekifogtam ujra. Keves sikerrel sajnos. (Most azt inkabb nem irom le hogy mit gondolok a panelra rakott ddr-el kapcsolatosan)

Talaltam egy nem teljes erteku ddr vezerlot, sp3e panelra, itt:
http://opencores.org/project,sdram_controller

Sok idom rament, de nem tudom mukodesre birni. Olvastam a kommentekben korabbi UCF "hibat". Azt atneztem, rendben van.

Valakinek esetleg van otltete (azon kivul hogy dobjam ki a szemetesbe az egeszet) ?

Udv.


pén. nov. 27, 2009 15:40
Profil Privát üzenet küldése YIM
vas-tag

Csatlakozott: szomb. okt. 03, 2009 22:20
Hozzászólások: 2
Hozzászólás xilixnx vs altium
Szevasztok!
Mit használljak inkább Altiumot, vagy Xilinxet? Kezeli az altium az xc2 -xl panelt?

Köszi!
:?:


szomb. okt. 03, 2009 22:37
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás Avalon; Wishbone
Sziasztok!

Tudnátok segíteni abban, hogyan tudnék egy wishbone perifériát egy avalon buszhoz csatlakoztatni? Azt írják róla, hogy csak pár jelet kell átalakítani, csak a verilog kódokon nem tudok elmenni.

http://en.wikipedia.org/wiki/Wishbone_% ... ter_bus%29

Köszönöm!
Tibi


kedd aug. 11, 2009 7:01
Profil Privát üzenet küldése
vas-tag

Csatlakozott: pén. júl. 16, 2004 9:57
Hozzászólások: 7
Hozzászólás FPGA Xilinx
Sziasztok!

Volt valaki ChipCad/BME szervezésű Xilinx-es (FPGA) tanfolyamon. Megköszönném, ha át tudná adni a tanfolyami tematikát, illetve bármilyen tanfolyami tananyagot.

Köszönettel: Tamás


szer. jún. 03, 2009 16:26
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Sziasztok!


Foglalkozott valaki már NIOS II-vel?

Az elindulásban kérnék egy kis segítséget.

Tibi


kedd márc. 10, 2009 15:34
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: pén. dec. 28, 2007 16:54
Hozzászólások: 33
Tartózkodási hely: Vas megye
Hozzászólás 
Udv.

Nem találok megnyugtató választ egy VHDL kérdésre:

"VHDL-ben kimenetet nem lehet belül használni".

Vagyis az a problémám, hogy egy blokk kimenetének deklarált jelbe nem lehet közvetlenül beleírni, hanem végig egy másik bevezetett segédváltozóba kell számolni, majd a blokk végén kell ezt a segédet a kimeneti változóba tenni. Vannak példák, ahol így van megoldva, és vannak, ahol nem...

Mi a helyes megoldás, és miért ?

Köszi.

Imi.


hétf. márc. 02, 2009 22:10
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás Re: kronometer
necrobutcher írta:
ha van esetleg valamelyikotoknek egy elektronikus kronometer vhdl forraskodja, akkor azt nagyon megkoszonnem; nekem is egy hasonlo kronometer tervezese a feladatom es jo lenne ha volna egy minta ami utan tudjak dolgozni.


Szia!
Ilyet találtam! Lehet segít:

http://vlsi.ee.hacettepe.edu.tr/ele711/chronometer.pdf

Tibi


szomb. dec. 06, 2008 15:44
Profil Privát üzenet küldése
vas-tag

Csatlakozott: szomb. dec. 06, 2008 15:23
Hozzászólások: 1
Tartózkodási hely: Temesvár
Hozzászólás kronometer
ha van esetleg valamelyikotoknek egy elektronikus kronometer vhdl forraskodja, akkor azt nagyon megkoszonnem; nekem is egy hasonlo kronometer tervezese a feladatom es jo lenne ha volna egy minta ami utan tudjak dolgozni.


szomb. dec. 06, 2008 15:28
Profil Privát üzenet küldése YIM
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Hali !

Szerintem át kell nézni a fenti do scriptet, ha esetleg azt már nem csinálja meg és abból kiderül mit kell még belepátolni a szimulációs project-be. Aztán hozzáadni egy Simulation Configuration-t (right click Add project). Itt lehet megadni az időzitéseket tartalmazó file-t is (?.SDO, ?.SDF), meg hogy melyik régióra alkalmazza (mivel a testbench forrásra nem kell, csak a szimulálandóra). Ezt kell utána elinditani, vagy a scriptet futttani, ha van.
Én úgy tudom a testbench forrásban kell meghajtani az órajelet is.

Üdv. Zoli


Szia!

Közben ez a szál is beérni látszik!
Köszönöm az útbaigazítást!

Tibi


kedd nov. 25, 2008 22:17
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Üdv!

Lenne egy kérdésem!

Lehet ugy változót definiálni a processben, hogy az értékét tudjam használni a legközelebbi processhíváskor?
Mondjuk számolnám, hányszor hívódott meg egy process;

Tibi


vas. nov. 16, 2008 17:24
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Hali !

Szerintem át kell nézni a fenti do scriptet, ha esetleg azt már nem csinálja meg és abból kiderül mit kell még belepátolni a szimulációs project-be. Aztán hozzáadni egy Simulation Configuration-t (right click Add project). Itt lehet megadni az időzitéseket tartalmazó file-t is (?.SDO, ?.SDF), meg hogy melyik régióra alkalmazza (mivel a testbench forrásra nem kell, csak a szimulálandóra). Ezt kell utána elinditani, vagy a scriptet futttani, ha van.
Én úgy tudom a testbench forrásban kell meghajtani az órajelet is.

Üdv. Zoli


pén. nov. 07, 2008 18:21
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Hali!

Hol akarod a órajel periódusidőt megadni? A Modelsim-nél, vagy Quartus alatt a testbench waveformnál? A Quartus tbw.-nél lehet nsec-ben is megdni.
Üdv. Zoli


Szia!
Nem engedi a quartus azt a módot, hogy közvetlen onnan induljon a Modelsim, hibaüzenetekkel megakad.

Ezért kívülről indítom a modelsim-et. Itt hogy lehet a frekvenciát megadni? Illetve ha a quartusban legyártanám a testbench állományt, azt tudom e használni modelsim ből kívülről?

Üdv. Tibi


pén. nov. 07, 2008 9:27
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Hali!

Hol akarod a órajel periódusidőt megadni? A Modelsim-nél, vagy Quartus alatt a testbench waveformnál? A Quartus tbw.-nél lehet nsec-ben is megdni.

Hát ha pl. a két process-ben állapotgép van, akkor lesz mindegyikben egy állapot, amikor végzett pl. sm_st1 <= DONE1, sm_st2 <= DONE2. A harmadik process-ben kell figyelni a két állapotot és ha midkettő végzett, akkor inditani a feldolgozást.

Üdv. Zoli


hétf. nov. 03, 2008 18:23
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Szia!

A buffer móddal lesz a gond szerintem, mert valahol olvastam, hogy a szimulátor nem szereti. Én még nem használtam.


Üdv. Zoli


Szia!

Nem teljesen érte, de ha a top entitást szimulálom csak, akkor helyes eredmény jön ki.

Eddig a belső fő modulomat teszteltem csak, hogy helyesen működik e.

Megint lenne 2 kérdésecském.

Szeretném az órajel frekvenciának megadni az 50 Mhz-et. (simulátorban)
Ha jól látom a period értéknél meg kell adni hány ps legyen 1 ciklus.
Na most. 50Mhz egy 50.000.000 1/s =>0,00000002s és a ps az 10^-12 s. Ha ezt kiszámolom és berakom a period-ba, minden jön, csak nem a helyes frekvencia. Hogy lehet ezt megani rendesen?

A másik kérdés: Van mondjuk 2 processem, ami párhuzamosan végzi a dolgát, hogy lehet elegánsan megoldani, hogy a 3. process csak akkor induljon el, ha megvan az előző kettőnek az eredménye. (és persze dolgozzon is azokkal).
Én + változókra gondoltam, amik figyelik az aktuális állapotokat, és ezzel kapcsolnám össze a 3. process működését.

Üdv,
Tibi


hétf. nov. 03, 2008 13:54
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Szia!

A buffer móddal lesz a gond szerintem, mert valahol olvastam, hogy a szimulátor nem szereti. Én még nem használtam.


Üdv. Zoli


ÉÉÉrtem, ha jól veszem ki, akkor a hardveren működnie kellene.
Buffereket használva eléggé letisztult a kódom, és a működése is pontos.

Köszönöm, akkor szimulátor téren kezdek kutakodni!

Tibi


szer. okt. 29, 2008 17:49
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Szia!

A buffer móddal lesz a gond szerintem, mert valahol olvastam, hogy a szimulátor nem szereti. Én még nem használtam.


Üdv. Zoli


szer. okt. 29, 2008 17:36
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Sziasztok!

belefutottam egy érdekes dologba, és nem teljesen értem.

Kód:
entity blokk is
Generic(ROM1_cimbit:integer:=4;
       ROM2_cimbit:integer:=2            
      );
     
 Port(
     
      ROM1_Adat, ROM2_Adat:  in std_logic_vector(255 downto 0);
       
      ROM1_Cim    :  buffer std_logic_vector(ROM1_cimbit-1 downto 0):=(others=>'0');
      ROM2_Cim   :  buffer std_logic_vector(ROM2_cimbit-1 downto 0):=(others=>'0');
     
    );
end entity;


Architecture behavior of blokk is


Begin

Process()
        
   Variable Hamming : std_logic_vector(255 downto 0):=(others=>'1');
Begin   
   
   Hamming := (ROM1_Adat xor ROM2_Adat);
   
End Process;
End Architecture;


Van a fenti végtelenül lecsonkított kód, de a problémámat mutatja.
Az entitásban létrehozok ROM1_Cim és ROM2_Cim portokat, ugy, hogy rögtön értéket is adok neki.
Ahogy gondoltam első nekifutásra, első órajelre a ROM1_adat ÉS ROM2_adat bemeneteken a ROM1_Cim és ROM2_Cim által kijelölt adatoknak kellene lennie. Ehelyett "X" értékeket kapok. Nem ez a furcsa. Ami meglep, ha processen belül adok értéket a két címnek akkor jól működik, kivéve akkor ha az adott érték 0. Tehát 0. címekről nem tudok adatot kiolvasni.

Tehát ROM1_Cim <=(others=>'0') nem működik helyesen
de ROM1_Cim <="0001'" tökéletesen megy.

ez mitől lehet? Miért nem fogadja el a 0 címet?
Illetve helyes e az entitásban végzett értékadásom?

A segítséget előre is köszönöm.
Tibi


szer. okt. 29, 2008 0:50
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Hali !

Először próbáld ezt ki szimulátoron:

Kód:
entity pipe is
  PORT
  (
    Clk         :  in std_logic;
    Reset       :  in std_logic;   
    A           :  in std_logic_vector(7 downto 0);
    B           :  in std_logic_vector(7 downto 0);
    OUT_1       :  out std_logic_vector(7 downto 0);
    OUT_2       :  out std_logic_vector(7 downto 0);
    OUT_3       :  out std_logic_vector(7 downto 0)
  );
end entity;

Architecture behavior of pipe is

Begin

  Process(Reset,Clk)
  variable var1                    :  STD_LOGIC_VECTOR (7 downto 0);
  variable var2                    :  STD_LOGIC_VECTOR (7 downto 0);
  Begin
    if (Reset='1') then
      var1 := x"00";
      var2 := x"00";
    elsif (Clk'Event and Clk='1') then
      OUT_1 <= A + B;         
      var1  := A + B;
      var2  := var1;
      OUT_2 <= var1;
      OUT_3 <= var2;
    end if;
  End Process;
End Architecture;


Ezt fogod látni: http://web.t-online.hu/ampeethe/wave1.gif

Csinálj a var1,var2 változókból signalt. Szimuláld le.
Ezt fogod kapni: http://web.t-online.hu/ampeethe/wave2.gif

Ha ezek fényében átnézed a kódodat, rá fogsz jönni, hogy miért késik egy órajelet.

Üdv. Zoli


Köszönöm!
Érthető és világos, nagyon szép mintakód!
Tibi


szomb. okt. 25, 2008 7:13
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Hali !

Először próbáld ezt ki szimulátoron:

Kód:
entity pipe is
  PORT
  (
    Clk         :  in std_logic;
    Reset       :  in std_logic;   
    A           :  in std_logic_vector(7 downto 0);
    B           :  in std_logic_vector(7 downto 0);
    OUT_1       :  out std_logic_vector(7 downto 0);
    OUT_2       :  out std_logic_vector(7 downto 0);
    OUT_3       :  out std_logic_vector(7 downto 0)
  );
end entity;

Architecture behavior of pipe is

Begin

  Process(Reset,Clk)
  variable var1                    :  STD_LOGIC_VECTOR (7 downto 0);
  variable var2                    :  STD_LOGIC_VECTOR (7 downto 0);
  Begin
    if (Reset='1') then
      var1 := x"00";
      var2 := x"00";
    elsif (Clk'Event and Clk='1') then
      OUT_1 <= A + B;         
      var1  := A + B;
      var2  := var1;
      OUT_2 <= var1;
      OUT_3 <= var2;
    end if;
  End Process;
End Architecture;


Ezt fogod látni: http://web.t-online.hu/ampeethe/wave1.gif

Csinálj a var1,var2 változókból signalt. Szimuláld le.
Ezt fogod kapni: http://web.t-online.hu/ampeethe/wave2.gif

Ha ezek fényében átnézed a kódodat, rá fogsz jönni, hogy miért késik egy órajelet.

Üdv. Zoli


szer. okt. 22, 2008 18:07
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Üdvözlet!

A mai menetrendszerinti elakadás... :)
Működik a kód, ahogy elterveztem. A jelek időzítésével akadt gondom, illetve nem teljesen értem a dolgot.

A lényeg az, hogy a két mintám Hamming távolsága, a következő mintapáros beérkezésekor jelenik meg.
Nem az időben elcsúszás a bajom (mint jelenség), mert ugye kell idő a kiszámításhoz. Hanem az, hogy pont egy órajel múlva.

a 6. mintánál kellene 0-nak lennie a hammingnek, de a 7.-nél jelenik meg.
Ennek a signal jelváltozásához van köze, vagy pedig csak a kódot rontottam el?
Csatolom a wave-et és a kódot.

Előre köszönök minden észrevételt!
Tibi

Kód:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity blokk is
 Port(
       ROM1_Adat, ROM2_Adat:  in std_logic_vector(255 downto 0);
      Reset,Clk         :  in std_logic;
     
      ROM1_Cim    :  out std_logic_vector(3 downto 0);
      ROM2_Cim   :  out std_logic_vector(1 downto 0);
      Minta_cim         :  out std_logic_vector(1 downto 0);
      kimenet          :  out std_logic_vector(6 downto 0)
     
    );
end entity;


Architecture behavior of blokk is
Signal ROM1_Cim_tmp      : std_logic_vector(3 downto 0):="0000";
Signal ROM2_Cim_tmp      : std_logic_vector(1 downto 0):="01";
Signal Minta_cim_tmp    : std_logic_vector (1 downto 0):="00"; 

Signal Hamming_kiir      : STD_LOGIC_VECTOR (8 downto 0);
Signal Hamming_min      : STD_LOGIC_VECTOR (8 downto 0):=(others=>'1');
Begin
 
Process(Reset,Clk)
Variable Hamming_eredmeny : integer;
Variable Hamming          : std_logic_vector(255 downto 0):=(others=>'1'); --A vectorban tárolt egyesek értéke adja meg a 2 vector Hamming távolságát
Begin
 
   if (Reset='1') then
   ROM1_Cim_tmp<="0000";
   ROM2_Cim_tmp<="00";
   --Hamming_min<=(others =>'1');
   
  elsif (Clk'Event and Clk='1') then
   ROM1_Cim<=ROM1_Cim_tmp; 
   ROM2_Cim<=ROM2_Cim_tmp;
   Hamming := (ROM1_Adat xor ROM2_Adat);
   
   for i in 0 to 255 loop
      Hamming_eredmeny :=Hamming_eredmeny + conv_integer(Hamming(i));
     
   end loop;
   
   Hamming_kiir<=conv_std_logic_vector(Hamming_eredmeny,9);
    if(Hamming_eredmeny < Hamming_min) then               
       --minta_cim_tmp <= Rom1_Cim_tmp;    --itt tárolódik, hogy melyik cella tartalmazza a megtalált számot                                 
      --  Hamming_min <= Hamming_eredmeny;
     end if;
       
   
   
    if(ROM1_Cim_tmp<10) then         --Rekeszek címzésének előállítása
      ROM1_Cim_tmp<=ROM1_Cim_tmp + 1;
      Hamming_eredmeny:=0;
    else
      --ROM1_Cim_tmp<=ROM1_Cim_tmp + 1;
      ROM2_Cim_tmp<="00";
      Minta_cim <= Minta_cim_tmp;
      Hamming_min<="111111111";
    end if;
--     
--      if (minta_cim_tmp = "0000") then
--        kimenet<= "0000001";
--     elsif(minta_cim_tmp = "0001") then
--        kimenet<= "1111001";
--      elsif(minta_cim_tmp = "0010") then
--        kimenet<= "0010010";
--     elsif(minta_cim_tmp = "0011") then
--        kimenet<= "0000110";       
--     elsif(minta_cim_tmp = "0100") then
--        kimenet<= "1101100";
--     elsif(minta_cim_tmp = "0101") then
--        kimenet<= "0100100";
--      elsif(minta_cim_tmp = "0110") then
--        kimenet<= "0100000";
--      elsif(minta_cim_tmp = "0111") then
--        kimenet<= "0001111";
--     elsif(minta_cim_tmp = "1000") then
--        kimenet<= "0001111";
--     elsif(minta_cim_tmp = "1001") then
--        kimenet<= "0000100";
--     else
--        kimenet<= "0000000";
--     end if;
--                   
--                         
     
 
  end if;
End Process;
End Architecture;


http://tarkabab.tvn.hu/ModelSim_proba(bdf_type).pdf


szer. okt. 22, 2008 15:42
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Az, hogy azt a mintát, ami a kamerából jön majd, most próbaképp ROM-ba teszed. Ha, kivezetnéd a top modul portjaira, akkor a forditó nem konstansokkal számol, hanem a port szélesség valamennyi kombinációjával.

Üdv. Zoli


Köszönöm a segítséget, holnap ezzel kezdem!

További kellemes estét!

Tibi


kedd okt. 21, 2008 19:51
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Az, hogy azt a mintát, ami a kamerából jön majd, most próbaképp ROM-ba teszed. Ha, kivezetnéd a top modul portjaira, akkor a forditó nem konstansokkal számol, hanem a port szélesség valamennyi kombinációjával.

Üdv. Zoli


kedd okt. 21, 2008 19:47
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Hali !

Nem jó elgondolás, egy minta ellenőrzésére konstansokat használni ROM segítségével (mintaként), főleg ha a cimzésbe hiba csúszik. Szerencsétlen esetben, konstans lesz a végeredmény is. A forditó nagyon következetes, ha valahol a jel nem változik onnantól konstans lesz minden ami utána van és e jeltől függ. (ilyen volt az első forrás is amit elküldtél, a technologie view-ben nem volt semmi, csak a bemenetek, meg a kimenetek VCC-re huzva). Nem tudom most hol tartasz, de látom az első warningok megszüntek, viszont lett jónéhány új. Ezek számomra ismeretlenek.
Milyen Quartus van fenn ? Amit a Starterkit-hez adtak?

Üdv. Zoli

A 8.0sp1 van fent.
Ezt a konstansos dolgot nem teljesen értem.
Nekem lesz majd egy kamerám, amit át kell engednem egy ehhez hasonló hamming hálózaton. A beérkező mintát kell összehasonlítani egy korábban tárolttal.
A kamera sztem egy sram ban fogja tárolni a beérkező anyagot és egy romban lesz a mintaadathalmaz. Ezt szántam első gyakorlásnak.
Azóta dolgoztam a kódon mióta elküldtem, és aránylag szépen működik. Megy a memória címzés is, egyedül a Hamming minimum számítás nem megy.


kedd okt. 21, 2008 19:29
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Hali !

Nem jó elgondolás, egy minta ellenőrzésére konstansokat használni ROM segítségével (mintaként), főleg ha a cimzésbe hiba csúszik. Szerencsétlen esetben, konstans lesz a végeredmény is. A forditó nagyon következetes, ha valahol a jel nem változik onnantól konstans lesz minden ami utána van és e jeltől függ. (ilyen volt az első forrás is amit elküldtél, a technologie view-ben nem volt semmi, csak a bemenetek, meg a kimenetek VCC-re huzva). Nem tudom most hol tartasz, de látom az első warningok megszüntek, viszont lett jónéhány új. Ezek számomra ismeretlenek.
Milyen Quartus van fenn ? Amit a Starterkit-hez adtak?

Üdv. Zoli


kedd okt. 21, 2008 19:22
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Szia!

Én ModelSim alatt nem használtam még a Force-ot. Nem volt még szükségem rá. ?

X,U . A forditáskor keletkezett warningokat átnézted már. Az RTL, Technologie nézetben megnézted már az eredményt ? (Tools\Netlist Viewers).

Üdv. Zoli


Szia!

Időközben eljutottam arra a szintre, hogy már majdnem azt csinálja a cucc amit szeretnék.
Beolvassa a két memóriából az adatot, kiszámolja a hamming távolságát, csak a minimum keresés nem működik még.
Ha kipihentem magam megpróbálom kisilabizálni a kódból miért nem megy. most csak olyan jut eszembe, hogy a variable és a signal közötti különbségek miatt. De félsikerek sorozata hozza meg a kívánt eredményt :) Tegnap a modelsim még álom volt, ma meg úgy ahogy működik rajta minden :)

A Force os dolog is kiderült. Csak arra használtam, hogy egy kapcsoló állapotát szimuláljam.

Warningom lett bőven, csak azt nem tudom, hogy kellene kiküszöbölni őkeT.

Itt a warning best of:
Warning (10034): Output port "Minta_cim[0]" at proba.vhd(25) has no driver
Warning: Entity "proba" contains only dangling pins
Warning: Output pins are stuck at VCC or GND
Warning (13410): Pin "Kimenet[0]" is stuck at GND
Warning: Design contains 2 input pin(s) that do not drive logic
Warning (15610): No output dependent on input pin "CLK"
Warning: Feature LogicLock incremental compilation is not available with your current license
Info: Pin Minta_cim[1] has GND driving its datain port
Warning: The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'.

Warning (10492): VHDL Process Statement warning at tanito_rom.vhd(39): signal "mem" is read inside the Process Statement but isn't in the Process Statement's sensitivity list
Warning (14131): Reduced register "blokk:b2v_inst|kimenet[0]" with stuck data_in port to stuck value VCC -- power-up level has changed
Warning: Output pins are stuck at VCC or GND
Warning (13410): Pin "Kimenet[0]" is stuck at VCC
Info: Register "blokk:b2v_inst|ROM1_Cim_tmp[0]" lost all its fanouts during netlist optimizations.
Warning: Design contains 2 input pin(s) that do not drive logic
Warning (15610): No output dependent on input pin "CLK"
Warning (15610): No output dependent on input pin "Reset"
Warning: Feature LogicLock incremental compilation is not available with your current license
Info: Pin "Minta_cim[1]" has no specified output pin load capacitance -- assuming default load capacitance of 0 pF for timing analysis
Warning: The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'.

Azt érzem, hogy nem szabályosan használom a be és kimeneti pontokat, csak azt nem tudom, hogy lehetne másképp.

Tibi


kedd okt. 21, 2008 19:02
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Szia!

Én ModelSim alatt nem használtam még a Force-ot. Nem volt még szükségem rá. ?

X,U . A forditáskor keletkezett warningokat átnézted már. Az RTL, Technologie nézetben megnézted már az eredményt ? (Tools\Netlist Viewers).

Üdv. Zoli


kedd okt. 21, 2008 18:17
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Közben az egyik kérdés megválaszolódott... Csak Signalokat tudok berakni a szimulátorba, változókat nem... (Mondjuk ez logikus )

Up1:

Az előző problémáim megoldódtak, nagyjából nyomon tudom követi a működést. Csak pár kérdés a jelek beállításánál.

Force: Ilyenkor mindig az az érték marad amit beállítok? Nem követi a kódban történő változást?

NoForce? Ezt akkor kell beállítani, mikor azt akarom, hogy a kódbeli szignálváltozások teljesüljenek?

Illetve furcsán viselkedik a szimuláció. Minden jelnek az értéke vagy U vagy X. Pl a resetet meg a clock ot beállítom, és elvileg onnantól pörögnie kellene mindennek. De mivel egy csomó adatom X re van állítva nem tudja azt értelmezni a szimulátor (sztem).
Mire állítsam, hogy a működést ne zavarja, működjön az első pillanattól?

Tibi


kedd okt. 21, 2008 13:23
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Sziasztok!

A Quartus alól nem indul az Modelsim...
Kívülről indítom a Modelsimet, Nyitok új projectet, és hozzá adok minden fájlt, amit létrehoztam a 3 fő komponens forrását (2 memória ls a művelet végző egység) + hozzáadtam a korábban létrehozott vht -file-t.
Amit nem teljesen értek, hogy egyszerre csak 1 blokk jeleit adhatom hozzá a waveform hoz. Eddig a schematicból generált vhdl top entitással jutottam a legtöbbre. Ebből látom a fizikai be illetve kimeneteket illetve a vezetékeket.
Hogy lehet azt megoldani, hogy a többi entitásból is be lehessen rakni jeleket, változókat.

Zoli, abban igazad volt, hogy a jelek nem mozdulnak semerre. De amint beállítom a restet és a clk-t majd manuálisan adok egy memória címet, az összekapcsoló vezetékeken megjelenik a helyes memória tartalom.
Amit megírtam memória cím léptetést, az nem működik. Ha látnám a belső változók értékét lehez ki tudnám silabizálni, hol rontottam el a kódot.

Jelen pillanatban csak azt látom, hogy a kia dott memóriacímre, előkerül az adat.

Merre tudok továbblépni? Lehet, hogy a megírt kódom használhatatlan?

Tibi


kedd okt. 21, 2008 10:27
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Nálam nincs ilyen hiba. Viszont a belső signalok nem látszanak, csak a top entitásé. A RESET jelet állitsd be korrektül. Amúgy nem sok történik a jelekkel.

Először ne adj 1sec-es szimulációs időt meg. Ha elindul a szimuláció és hibák ezrei lesznek benne warningal ( nem volt reset-> egy halom X-es warning), akkor mikor bezárod a Modelsimet a Quartus átemeli a sok warningot a saját ablakába, ami egy fél nap. Legalább is nálam.

Nem tudom mi lehet nálad ez a hiba.

Üdv. Zoli


A wave-en lehúztam a resetet, de akkor ezek szerint nem elég.
Akkor a rendszeremmel van baj, pedig friss telep...
Köszönöm az infókat!

Holnap kitalálok valamit.
Habár fogalmam sincs mit!

Köszi mindent!

Tibi


vas. okt. 19, 2008 21:22
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Nálam nincs ilyen hiba. Viszont a belső signalok nem látszanak, csak a top entitásé. A RESET jelet állitsd be korrektül. Amúgy nem sok történik a jelekkel.

Először ne adj 1sec-es szimulációs időt meg. Ha elindul a szimuláció és hibák ezrei lesznek benne warningal ( nem volt reset-> egy halom X-es warning), akkor mikor bezárod a Modelsimet a Quartus átemeli a sok warningot a saját ablakába, ami egy fél nap. Legalább is nálam.

Nem tudom mi lehet nálad ez a hiba.

Üdv. Zoli


vas. okt. 19, 2008 20:48
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Ha van egy kis időd vizsgáld meg légyszi, nem találom az elhantolt kutyát... :(

Köszi
Tibi

http://tarkabab.tvn.hu/Ver 0.1.rar


vas. okt. 19, 2008 19:45
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Szerintem akkor mikor inditod a szimulációt, Tool\EDA Simualtion Tool\ Run EDA Gate Level Simulation . Ezt a do scriptet a Modelsim számára készíti.

Kód:
transcript on
if {[file exists gate_work]} {
   vdel -lib gate_work -all
}
vlib gate_work
vmap work gate_work

vcom -93 -work work {18.vho}

vcom -93 -work work {F:/WIN_XP_APP/Elektro/DesignSoftware/Altera/QuartusII7.2/Projects/tebee/seven/18/seven.vht}

vsim -t 1ps +transport_int_delays +transport_path_delays -sdftyp /l1=18_vhd.sdo -L cycloneii -L gate_work -L work seven_vhd_vec_tst

add wave *
view structure
view signals
run -all


Üdv. Zoli


vas. okt. 19, 2008 19:39
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Esetleg, ha jól gondolom ebben van a hiba, vagy ide kötődik:

/simulation/modelsim/xxxx_run_msim_gate_vhdl.do

vagy

/simulation/modelsim/xxxx_run_msim_rtl_vhdl.do

A ModelSim elindul ?

Üdv. Zoli

Igazad lesz. még csak do kiterjesztésű fájlt se találtam.

Ennek mikor kellene létrejönnie? a wave exportálásánál?

Tibi


vas. okt. 19, 2008 19:29
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Esetleg, ha jól gondolom ebben van a hiba, vagy ide kötődik:

/simulation/modelsim/xxxx_run_msim_gate_vhdl.do

vagy

/simulation/modelsim/xxxx_run_msim_rtl_vhdl.do

A ModelSim elindul ?

Üdv. Zoli


vas. okt. 19, 2008 19:18
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
eltexto írta:
Hali !

Valami elirás lesz szerintem.

"seven_vhd_vec_tst" , "i1" ezek kötöttek. a seven1.vht file-ban vannak. Ezek úgy generálódnak a Vector Waveform File-ból az exportálás során. A grafikusan szerkeszthető formából vhdl forrás lesz. Ha saját magad megirsz egy ilyen testbench vht-t, akkor annak nevezed aminek akarod.

Üdv. Zoli


Köszönöm!
Ezeket megnéztem, eleve jól írtam őket...
A hiba fennáll próbálom kibogozni...
olyan mintha megosztássértés lenne, hogy nem tudja elérni. a file ott van...

Tibi


vas. okt. 19, 2008 18:55
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Hali !

Valami elirás lesz szerintem.

"seven_vhd_vec_tst" , "i1" ezek kötöttek. a seven1.vht file-ban vannak. Ezek úgy generálódnak a Vector Waveform File-ból az exportálás során. A grafikusan szerkeszthető formából vhdl forrás lesz. Ha saját magad megirsz egy ilyen testbench vht-t, akkor annak nevezed aminek akarod.

Üdv. Zoli


vas. okt. 19, 2008 18:37
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. júl. 28, 2008 15:19
Hozzászólások: 39
Hozzászólás 
Sziasztok!

Eljutottam a szimulálásig!
Az előző oldalon lévő leírást próbáltam használni...
erre jutottam:

Error: Error : Can't open file -- E:/xxx/xxx/xxx/xxx/xxx/Szamjegyfelismero_schematic.vhd
Error: Encountered errors while running NativeLink Simulation scripts
Error: NativeLink simulation flow was NOT successful

A vhd file ott van a helyén.

Egy dolog nem volt teljesen érthető az előző leírásban:
Idézet:
Test Benches gombra rábökni, New\Test bench name\ "tb_seven"
\Top level modul in test bench\ "seven_vhd_vec_tst"
\Design instance name in test bench\ "i1"


a top level modul in test bench-hez általánosságban melyik fájlt kell megadni? Melyik lépésnél jött az létre?
Illetve annak az instance névnek van szerepe, vagy az lehet bármi?

Üdv,
Tibi


vas. okt. 19, 2008 12:50
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: pén. dec. 28, 2007 16:54
Hozzászólások: 33
Tartózkodási hely: Vas megye
Hozzászólás 
Sziasztok!

Ma voltam a ChipCAD-BME közös szervezésű FPGA tanfolyamon.
Tudom ajánlani kezdőknek, illetve azoknak is, akik már egy kicsit belekóstoltak az FPGA-k világába. Nagyon jól összhangban vannak az elméleti, illetve a gyakorlati kérdések. Kis létszámú tanfolyam, van ideje az oktatónak a user-rel foglalkozni, lehet sokat kérdezni. Az idő viszont kevés, így a programozás részleteire ott nincs idő.


Imi.


pén. okt. 17, 2008 20:57
Profil Privát üzenet küldése
arany tag

Csatlakozott: pén. aug. 24, 2007 17:10
Hozzászólások: 211
Tartózkodási hely: Tolna
Hozzászólás 
Szia !

A with-et vagy a processen kivülre teszed, vagy if, case-t használsz. A with, konkurrens értékadás.

Hát, ezt is úgy kell szimulálni, mint a korábbi schematic-ost. De, e 70 sor alapján nem sok következtetést lehet levonni a sebességre vonatkozóan. Max azt, hogy később ennél mindig alacsonyabb lesz :D .

Üdv. Zoli


vas. okt. 12, 2008 17:09
Profil Privát üzenet küldése
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 915 hozzászólás ]  Oldal 1, 2, 3, 4, 5 ... 19  Következő

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 47 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség