flz47655 wrote:istruzioni più veloci altre più lente individuato da JTagProbe probabilmente era dovuto evidentemente a qualche suo limite di velocità.
next_state_logic: PROCESS(Reset, Clock) --per il salto degli stati e un
output_logic: PROCESS(state) --per il setting degli IO.
case state is
-- ...
when sexec =>
-- Read data
case data(7 downto 6) is
-- ...
-- Store
when "01" =>
we <= '1';
addr <= data(5 downto 0);
state <= sstore;
-- ...
end case;
when sstore =>
-- write to memory, data is ready next clock
data <= reg;
state <= sfetch;
when others => null;
end case;
data <= reg;
when others =>
state <= sreset; -- Reset crazy CPU :)
vsim work.system
add wave sim:/system/*
force -freeze sim:/system/clk_synth 1 0, 0 {50 ps} -r 100
force -freeze sim:/system/rst 0 0
add wave \
sim:/system/b2v_inst/reg \
sim:/system/b2v_inst/pc \
sim:/system/b2v_inst/state
run
force -freeze sim:/system/rst 1 0
run
flz47655 wrote:Ricapitolando
flz47655 wrote:Ecco perché alcune RAM hanno una porta IN ed una OUT
legacy wrote:appunto, lavorare senza constraints nel progetto non va bene, devi averle
il requisito di progetto minimo e' garantire i tempi di propagazione
cioe' essere sicuri che i dati e i controlli si siano propagati in modo corretto
e per esserne sicuri vanno messe constraints che tengano conto anche e sopratutto
del giro che il motore di sintesi dovra' fare e quindi dei ritardi veri che introduce
flz47655 wrote:valore fmax corrispondente alla frequenza massima con cui far girare il tutto senza avere problemi anche senza mettere nessuna constraints custom
Users browsing this forum: No registered users and 3 guests