Necessita ajuda en la recopilació de VHDL utilitzant Xilinx ISE 9.2i

A

ahyuanz

Guest
Apreciar realment si que em podia ajudar

aquí està el problema:

El meu projecte és crear un cronòmetre.

La sintaxi és acceptable.No obstant això, quan estic creant limitacions de temps ...deixa de sintetitzar i em impulsen aquest error: Senyal MOD10CARRY_temp no poden ser sintetitzats, la descripció sincrònica malament.

Estic realment en el meu judici final ..no podia resoldre el problema.

He pujat meu arxiu a mediafire per a la seva referència.

Aquesta és la url: http://www.mediafire.com/download.php?ffzw1mzidlt

 
Hola,
No estic segur del que vols fer, però aquesta part del seu codi no és definitivament el dret:
Codi:

procés (CLK, RES, SET, UP_DN)

començar

si IC = '0 'a continuació,

MOD10OUT_temp <= (others => '0 ');

MOD10CARRY_temp <= '0 ';rising_edge elsif (SET), llavors

MOD10OUT_temp <= MOD10OUT_temp 1;

si MOD10OUT_temp = "1010", després

MOD10OUT_temp <= "0000";

END IF;rising_edge elsif (CLK), llavors

si UP_DN = '1 ', llavors

MOD10OUT_temp <= MOD10OUT_temp 1;

si MOD10OUT_temp = "1010", després

MOD10OUT_temp <= "0000";

MOD10CARRY_temp <= '1 ';

una mica més

MOD10CARRY_temp <= '0 ';END IF;

una mica més

MOD10OUT_temp <= MOD10OUT_temp-1;

si MOD10OUT_temp = "1111", després

MOD10OUT_temp <= "1001";

MOD10CARRY_temp <= '1 ';

una mica més

MOD10CARRY_temp <= '0 ';END IF;

END IF;END IF;

procés de finalització;

 
Mira el tros de codi publicat per Farhad.Vostè notarà que MOD10CARRY_temp s'estableix en "0" a la sentència if però, no se li assigna un valor en el compte d'una altra persona.

Espero que això ajudarà a u.

 
Ok, aquesta és la 3a vegada que estic tractant d'enviar això, hopefulyl que funcionarà!

Si vostè pensa en termes HW, que està tractant de controlar la sortida de les senyals en el procés per 2 rellotges diferents.
És com l'aplicació d'un flip-flop amb 2 entrades de rellotge.

Estic realment sorprès que vostè podria simular això, i el missatge d'error de XST no és útil en absolut.

BR,
/ Farhad Abdolian

 
Com Farhad, va dir quan s'escriu així com la conducció d'un FIP-flop amb 2 rellotges.
Des de la mirada d'ella, el que puc veure és el Conjunt de senyals que no és obligatori vora sensible.
Vostè pot intentar somethign com aquest (es sintetitzen).

si voleu que es fixa per a ser asíncrons llavors vostè pot fer alguna cosa com es mostra a continuació.
Si vostè vol que sigui síncron després pots ficar a la proporció corresponent dins del rellotge
procés (CLK, RES, SET, UP_DN)
començar
si IC = '0 'a continuació,
MOD10OUT_temp <= (others => '0 ');elsif SET = '1 ', llavors
MOD10OUT_temp <= MOD10OUT_temp 1;
si MOD10OUT_temp = "1010", després
MOD10OUT_temp <= "0000";
END IF;

rising_edge elsif (CLK), llavors
si UP_DN = '1 ', llavors
MOD10OUT_temp <= MOD10OUT_temp 1;
si MOD10OUT_temp = "1010", després
MOD10OUT_temp <= "0000";
MOD10CARRY_temp <= '1 ';
una mica més
MOD10CARRY_temp <= '0 ';

END IF;
una mica més
MOD10OUT_temp <= MOD10OUT_temp-1;
si MOD10OUT_temp = "1111", després
MOD10OUT_temp <= "1001";
MOD10CARRY_temp <= '1 ';
una mica més
MOD10CARRY_temp <= '0 ';

END IF;
END IF;

END IF;
procés de finalització;
MOD10CARRY <= MOD10CARRY_temp;
MOD10OUT <= MOD10OUT_temp;

final del comportament;

 
Ho sentim preocupant per a vostès.La meva intenció era en realitat l'ús "conjunt" per augmentar manualment el valor en la lluita contra l'ús d'un botó, és per això que jo faig servir gallet vora.

Així que pot seguir funcionant de la manera que jo vull que si segueixo les palai_santosh codi suggereixen mitjançant l'ús de la lògica 1 o 0?

 

Welcome to EDABoard.com

Sponsor

Back
Top