www.elektronik.si
simulacija dela, na fpga-ju ne

www.elektronik.si -> FPGA in CPLD programabilna vezja

Avtor: trotKraj: glej fogl PrispevekObjavljeno: Pon Nov 19, 2012 9:38 pm    Naslov sporočila:  simulacija dela, na fpga-ju ne
----------------------------------------------------------------------------
Uporabil sem modul za Quad Counter in ga testiral na fpga-ju.

Najprej sem poskusil simulacijo, in zadeva deluje (kodo sem spremenil le toliko, da sem signalom dodal začetne vrednosti, ker mi je ven metal vrednost U in kasneje X).

Potem pa sem zadevo stestiral še na fpgaju, pa zadeva ne deluje. Priključil sem enkoder in lahko tudi vidim da ledice za signal enkoderja (Xsin, Ysin) utripata, ledice zadnjih bitov položaja pa sta vedno ugasnjeni. Ledice so zagotovo ok, ker če zamenjam položaj ledice zadeva deluje enako, le da signal enkoderja utripa na drugih ledicah.

Koda:

QuadCounter_X_Axis: QuadCounter
   port map   (
      clock => clk,
      QuadA => Xsin,
      QuadB => Xcos,
      CounterValue => positionX
   );

led(0) <= positionX(0);                
   led(1) <= positionX(1);    --position_selector(0);
   led(2) <= positionX(17);   --position_selector(1);
   led(3) <= clk_div(25);          -- 50MHz/2^25 [Hz]
   led(4) <= Xsin;
   led(5) <= Xcos;


Mogoče kakšna ideja kaj bi lahko bilo narobe. Mani se ne sanja Rolling Eyes

Avtor: trotKraj: glej fogl PrispevekObjavljeno: Tor Nov 20, 2012 7:17 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Naj odgovorim kar sam sebi (če bo imel kdo kdaj podoben problem):


V warningu sem potem našel neko sumljivo sporočilo...
WARNING:Xst:1710 - FF/Latch <state_1> (without init value) has a constant value of 0 in block <QuadDecoder>. This FF/Latch will be trimmed during the optimization process.
...ki se tiče QuadDecoderja, ki je podmodul counterja. Očitno je ISE en del kode odrezal. Ko sem določil začetno stanje ("0000") signalu state, je zadeva začela funkcionirat tako kot sem si predstavljal.

A ni tako da so vsi neinicializirani signali po defaultu nastavljeni na nič? Se pravi z mojim popravkom ne bi smel spremeniti nič?

Ni mi jasno kako je ISE ugotovil, da ima state_1 (če prav razumem bit 1 signala state) konstantno vrednost 0, če pa se v case stavku vidi, da lahko zavzame obe vrednosti, 0 in 1. Ne štekam...

BTW, zakaj pa za simulacijo ni prišel do enakih zaključkov in odrezal tudi simulacijo?

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group