Forum: FPGA, VHDL & Co. Kleine Änderung und mein Design läuft nicht mehr :(


von neuling (Gast)


Lesenswert?

Guten Tag!!!

Ich habe ein Problem...
Mein Projekt ist ein ZX-Spectrum 128 Nachbau im FPGA.
Sowait funzt schon alles. Jetzt schreibe ich Softcore für AY-3-8910.
Leuft auch gut :) Aber linear. Jetzt habe ich Wavetable hinzugefügt und
mein Design lässt sich ohne Fehler synthesieren, aber läuft einfach 
nicht mehr.
also, so ist es früher gewesen:
1
A <= (("0000" & Volume_A(3 downto 0)) * "00001000") when 
2
   (Osc_A = '1' and Enable(0) = '0') or (Period_N_Out = '1' and Enable(3) = '0') else "00000000";
jetzt sieht's so aus:
1
process(CLK)
2
begin
3
  if rising_edge(CLK) then
4
    case Mix_A is
5
      when "0000" => SOUND_A <= "00000000";
6
      when "0001" => SOUND_A <= "00000001";
7
      when "0010" => SOUND_A <= "00000010";
8
      when "0011" => SOUND_A <= "00000011";
9
      when "0100" => SOUND_A <= "00000100";
10
      when "0101" => SOUND_A <= "00000101";
11
      when "0110" => SOUND_A <= "00000110";
12
      when "0111" => SOUND_A <= "00001000";
13
      when "1000" => SOUND_A <= "00001011";
14
      when "1001" => SOUND_A <= "00010000";
15
      when "1010" => SOUND_A <= "00010110";
16
      when "1011" => SOUND_A <= "00100000";
17
      when "1100" => SOUND_A <= "00101101";
18
      when "1101" => SOUND_A <= "00111111";
19
      when "1110" => SOUND_A <= "01011010";
20
      when "1111" => SOUND_A <= "01111111";
21
      when others => null;
22
    end case;
23
  end if;
24
end process;
25
26
Mix_A <= Volume_A(3 downto 0);
27
28
A <= SOUND_A when (Osc_A = '1' and Enable(0) = '0') or (Period_N_Out = '1' and Enable(3) = '0') else "00000000";

Verstehe ich einfach nichts :(
Wenn da ein Fehler ist, soll ich normalerweise kein/falscher Sound oder 
Fehlermeldung beim synthesieren kriegen.
Ist es aber nicht so.

p.S. mein Design ist zurzeit eine Mischung aus 
Synchron/Asynchron-Modulen.
Kann es daran liegen???

von guest (Gast)


Lesenswert?

"p.S. mein Design ist zurzeit eine Mischung aus
Synchron/Asynchron-Modulen.
Kann es daran liegen???"

das kann dir so pauschal niemand sagen...

von neuling (Gast)


Lesenswert?

Habe im ISE => Project => Design Goals & Strategies
von "Ballaced" auf "Minimum Runtime" umgestellt. Jetzt läuft es.
Nur, es ist mir unklar WARUM?

von Gast (Gast)


Lesenswert?

Irgendwo ein Timingproblem


Hast du alle asynchronen Signale mit 3 Flipflops synchronisiert?

von neuling (Gast)


Lesenswert?

Was bedeutet "alle asynchronen Signale mit 3 Flipflops synchronisieren" 
???

von Heinrich H. (Firma: Ich.AG) (hhanff)


Lesenswert?

Hallo!

Das hier müßte der passende Artikel sein:
http://www.mikrocontroller.net/articles/VHDL_Flankenerkennung

Gruß,

hh

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.