hallo,
ich habe nun das problem das ein signal zwar in der timingsimulation
vorkommt, jedoch auf der hardware dann nicht ??vorhanden?? ist. ich
schreibe in 2 dist. RAMs.
jedes 5. bit soll das write-enable signal ausgehen, da ich dieses bit
nicht schreiben will. in der simulation ist dann alles ok.
ich habe das write_enable signal auf externe pins rausgeführt um zu sehn
ob es auch zur richtigen zeit gesetzt wird. leider bleibt das signal nun
immer auf 0.
zudem habe ich ein signal welches die rams selektiert. dieses signal
(ram_sw) schaltet 4 muxe (über 'with select').
mit synthese direktiven habe ich es auch schon versuch, allerdings ohne
ergebnis.
wenn ich nun z.B. das ram_sw signal noch zusätzlich auf den externen pin
setze dann wird das signal wegsynthetisiert. (oder auch nicht)
hier mal ein auszug des codes:
1 | with ram_sw_i select
|
2 | wr_adr_a <= std_logic_vector(wr_adr_i) when '0', "00000" when others;
|
3 |
|
4 | with ram_sw_i select
|
5 | wr_adr_b <= std_logic_vector(wr_adr_i) when '1', "00000" when others;
|
6 |
|
7 | with ram_sw_i select
|
8 | wr_enable_a <= wr_en_i when '0', '0' when others;
|
9 |
|
10 | with ram_sw_i select
|
11 | wr_enable_b <= wr_en_i when '1', '0' when others;
|
jo ich kanns mir nicht erklären. es sollte ja eigentlich am pin
anliegen.
kann mir da jemand weiterhelfen?
mfg
Andi