CPLD XC9572 povratna petlja signal operacije - bez rezultata

T

thtasuja

Guest
Poštovani prijatelji,
Ja sam dobio stran problem mi je za koje se bave tjedana.Možda si mogao pomoć mene vanjska strana od ovaj.
Ja sam stroj s unutarnjim države (inicijalizirane internih signala).Ja strip dizajn zbog jednostavnosti.Trebao bi biti u stanju bitwise i interne izlazni signal i to.Ali sa ISE je sinteza REZULTAT out.Već sam pokušao drugim operatorima kao i da se prijave na moj 'result_internal' ( 'result_internal: ='1' & 'result_internal (5 downto 2); - pomak za pravo), ali ništa ne čini toi biti rad ispravno.
Međutim, status signal 'status_internal' čini kao output LED migati očekuje.Dakle, gdje bi mogao biti problem u ovaj kod?

Best regards, Thomas

Code:- sat: 2 kHzKNJIŽNICA IEEE;

KORIŠTENJE ieee.std_logic_1164.ALL;

koristiti IEEE.numeric_std.ALL;Stroj je entitet

generičke (NUM_OF_LEVELS: pozitivna: = 5);port (

clk: u bitni;

Rezultat: out bit_vector (NUM_OF_LEVELS downto 1);

STATUS_LEDS: out bit_vector (1 downto 0)

);

STROJ end;
arhitektura MODEL stroja je

signal change_sensed: zalogaj;

signal result_internal: bit_vector (NUM_OF_LEVELS downto 1): = "10101";

signal status_internal: bit_vector (1 downto 0): = "00";započeti

REZULTAT <= result_internal;

STATUS_LEDS <= status_internal;---------------- devide 2kHz da 0.5Hz----------------------

proces (clk)varijabla Count: integer range 0 - 1000;započeti

ako clk'event i clk ='1 'onda

ako count <1000 onda

count: = count 1;

drugi

count: = 0;

change_sensed <= ne change_sensed;

kraj ako;

kraj ako;

kraju procesa;---------------- izračunati izlazni rezultati ----------------------

elevator_travel: proces (change_sensed)započetiresult_internal <= result_internal I "11100"; - I operand

status_internal (0) <= change_sensed;kraju procesa;end model;

 
Bok,

Ne vjerujem ja shvatiti što želite stvoriti kao signal result_internal dobiva samo jednom je vrijednost dodijeljena na njega, tako da je izlazni rezultat dobiva se samo jednom vrijednost:

result_signals <= result_signals I "11100";

t0: 10101 I 11100 = 10100
T1: 10100 I 11100 = 10100
T2-TN 10100 I 11100 = 10100

Devas

 
Zdravo!

hvala ti za brzi odgovor!
Vaša stvar je u potpunosti točni.U izvornom projektu je složeniji stroj države, nego kao bitni operacije nisu rada (AND, OR, pomak itd.) za bitni nizovi, odlučio sam da se svuku, dizajn down za ovaj forum.

Kao što je napisao, on bi trebao dati "10100" kao rezultate, ali u stvarnom setup daje "00000" u output.Dakle, u redu sa sth i rad.(bez ove i rad daje "10101" - inicijalizirane signala, kao ispravne).

PS: netko mi je rekao moglo se zbog ograničenja koja CPLD ne mogu 5-bitni bitwise operacija.Ali ja ne mogu vjerovati ovo.

Best regards, Thomas

 
Bok Thomas,

Oke, ja razumijem (uobičajen problem kad strip kôda).

Mislim da ima nešto za napraviti sa petlja povratne veze.Ne znam što CPLD dobavljaču koji koristite, ali možda imate posebnom zadatku za petlja povratne veze.

Ne vjerujem da je nešto za napraviti sa CPLD ograničenja Vašeg PS, ali možete probati ovo po rastavljanju petlja povratne veze po sinkroniziranje vašeg elevator_travel procesa (možda ste ovo već pokušali).

Ne mogu se sjetiti da sam se takva petlja povratne veze (bez registra u petlji) tako bojim se ja ne mogu vam pomoći dalje.

Uspjeha, Devas

 
Zdravo!

Devas Hvala ti za odgovor, stvarno appriciate ga.

CPLD Ja sam koristeći se Xilinx XC9572.Ja sam pogledao kroz mnoge primjer koda, ali nitko ne izgleda kao da je stvar da trebam učiniti (primijeniti bitne operacije na internoj inicijalizirane izlazni signal i to).

Sintaksa za povratna petlja je isti eveywhere ..

Best regards, Thomas

 

Welcome to EDABoard.com

Sponsor

Back
Top