Zeitverzug bei Mult.

Gast #3836419
Hallo, guten Tga.
Wie sieht bitte der Zeitverzug global aus beim Rechnen im FPGA.
Gibt es da einen Zeitverzug oder läuft da auch wieder alles Parallel?
1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.numeric_std.all;
4
use ieee.std_logic_arith.all;
5

6
entity mult is port(
7
  clock : in  std_logic;
8
  led_g : out STD_LOGIC_VECTOR(7 downto 0)
9
  ); 
10
end mult; 
11

12
architecture Behavioral of mult is
13
signal res : integer range 0 to 255:= 0;
14
signal op1 : integer range 0 to 16:= 3;
15
signal op2 : integer range 0 to 16:= 7;
16

17
signal ergebnis : STD_LOGIC_VECTOR(7 downto 0);
18
signal res1 : integer range 0 to 255:= 0;
19
signal op11 : integer range 0 to 16:= 5;
20
signal op22 : integer range 0 to 16:= 13;
21

22
begin
23

24
process(clock)
25
begin
26
  if rising_edge(clock) then
27
    res <= op1 * op2;
28
    led_g<= std_logic_vector(to_unsigned(res,8));
29
  end if;
30
end process;  
31

32
process(clock)
33
begin
34
  if rising_edge(clock) then
35
    res1 <= op11 * op22;
36
    ergebnis<= std_logic_vector(to_unsigned(res1,8));
37
  end if;
38
end process;  
39

40
end Behavioral;
#3836424
Klar läuft das parallel. Aber je nachdem wie das multipliziert wird kann 
es sein, dass das länger braucht wie andere Teile der Logik, also du 
musst dein FPGA vielleicht niedriger Takten. Ob du das musst sagt dir 
der Timing Report, bei 50MHz am Spartan3 hatte ich nie Probleme.
Gast #3836431
------------------------------------
Aber je nachdem wie das multipliziert wird....
------------------------------------

Bezieht sich das auf dem FPGA-Typ, der Beschreibungssprache oder an mir?

Danke.
Gruss
Gast #3836446
peter schrieb:
> Gibt es da einen Zeitverzug oder läuft da auch wieder alles Parallel?

Den Zeitverzug hast du vorgegeben (VHDL Verhaltensbeschreibung)!

Synchrones Design -> (jeweils): 1. Takt Multiplikation, 2. Takt Ausgabe

Ob der FPGA das schafft, sagt die STA, sofern die nötigen Constraints 
angegeben sind.

grüße
#3836505
Wie lange das Multiplizieren dauert hängt am FPGA, also ob ein Hardware 
multiplizieren verwendet wird oder nicht, am Speedgrade, und an dir, 
also wie groß die Zahlen sind. Längere Zahlen mit mehr Stellen brauchen 
länger, zumindest theoretisch. Ob du da einen Unterschied merkst hängt 
davon ab wieviel Spielraum du noch hast bei deinem aktuellen Takt. Das 
sagt dir der Timing Report.
Moderator (Firma: Titel) Persönliche Seite #3836669
peter schrieb:
> use ieee.numeric_std.all;
> use ieee.std_logic_arith.all;
PETER, LASS DEN SCHEISS!

peter schrieb:
1
process(clock)
2
begin
3
  if rising_edge(clock) then
4
    res1 <= op11 * op22;
5
    ergebnis<= std_logic_vector(to_unsigned(res1,8));
6
  end if;
7
end process;
Diese Beschreibung is EXAKT GNEAU funktionsgleich mit dieser hier:
1
process(clock)
2
begin
3
  if rising_edge(clock) then
4
    ergebnis<= std_logic_vector(to_unsigned(res1,8));
5
    res1 <= op11 * op22;
6
  end if;
7
end process;
Denk da mal ausgiebig drüber nach. Kapitel in deinem VHDL Buch:
"Das scheinbar eigenartige Verhalten von Signalen in Prozessen".
Gast #3837532
Hmm..., es ging mir darum, ob ein Zeitverzug auftritt , je mehr Mult ich 
da reinbringe. Es geht später um eine VGA-Text-Grafik-Darstellung 
640x480.

Danke.
Gruss

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.