mikrocontroller.net

Forum: FPGA, VHDL & Co. eigenartige Warnung beim erstellen des Timing reports


Autor: A. N. (netbandit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe folgenden VHDL Code:

architecture VERHALTEN of TEST is
signal Di : STD_LOGIC_VECTOR(7 downto 0);
begin

  process (CLK,RESET)
  begin
    if RESET = '0' then
      Di <= (others => '0');
    elsif CLK = '1' and CLK'event then
      Di <= not Di;
    end if;
  end process;

  O <= to_bitvector(std_logic_vector(Di));

end VERHALTEN;

Und wenn ich das Timing erstelle (generate Timing) bekomme ich zwei
Warnungen die ich mir nicht erklären kann:

WARNING:Cpld:310 - Cannot apply TIMESPEC TS1000 =
PERIOD:PERIOD_CLK:0.000 nS
WARNING:Cpld:2 - Cannot apply TIMESPEC AUTO_TS_F2F =

Wenn ich anstatt "Di <= not Di;" ersatzweise "Di <= Di + 1;"
einsetze bekomme ich keine Warnungen mehr.

Weiß jemand woher diese Warnungen kommen und was sie bedeuten? Im
Vorraus schonmal ein Danke :)

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, da man nicht viel weiss muß man qualifiziert raten.
Ich nehmen an, du baust einen CPLD und hast keine Timingxonstraints
angegeben
(.ucf file wäre hier hilfreich).

Ein timingconstraint besteht aus drei teilen:
(1) der Name des constraints
(2) Pfade(Netze) die constraint (eine Randbedingung erhalten) werden
(3) eine Grenze die die Signallaufzeit nicht verletzen darf (die
Randbedingung)

Die warning ("cannot apply ...") heisst :
 -(2) ist nicht gegeben also es gibt im Design keine Pfade die auf
dieses constraint passen (also es gibt keine Netze mit diesen Namen,
oder keine Netze zwischen diesen Primitiven).

Die angemeckerten constraints scheinen automatisch erzeugt, also hat
sich der Entwickler nicht überlegt, ob diese Pfade überhaupt in diesem
design vorkommen können.

Im Design mit der Warning schalten die FF jeden Takt um, sie toggeln.
Bei CPLD's wird daher die FF in den Toggle-mode konfiguriert. Die
Logik der Makrozelle und die switch matrix wird nicht genutzt.

Im zweiten Design ohne die Warnings werden die FF in jedem takt mit
einem neuen Wert geladen. Dieses Wert wird durch Kombinatorik
(NAND-Gatter etc)
gewonnen. heisst in diesem design ist sehr wohl die Makrocell Logik und
wahrscheinlich auch die switchmatrix genutzt. Die FF werden
wahrscheinlich im
Modus, D_FF mit Enable und synchronen Set/Reset genutzt. Also es gibt
etliche
genutzte Pfade mehr in dem Counterdesign.

Damit findet im zweiten design der timinganalyzer sehr wohl Pfade, auf
die die
Timingconstraints zutreffen und hat somit keinen grund die Warnung
"cannot apply ...) auszugeben.

Wahrscheinlich kannst du die warnings ignorieren, du hast nur mehr
constraints vorgegeben als (in disem design) überprüfbar sind.
Obwohl lieber ein constraint zuviel als zuwenig.

Du musst auf jeden fall überprüfen, was die angemeckerten constraints
bedeuten:
-sind sie automatisch generiert?
-welche Pfade werden durch die constraints geprüft?
-werden diese Pfade in deinem design genutzt?

Autor: A. N. (netbandit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi FPGA-Küchle,

danke erstmal für deine Antwort. Das müssen in der Tat alles
automatisch generierte Constraints sein, da ich selbst nicht daran
rumgeschraubt habe.
Also kann ich gut und gerne diese Warnungen ignorieren.
Leider gab es auf der Xilinxhomepage keine Treffer zu diesen Warnungen
und da ich mich mit Timing Constraints noch nciht beschäftigt hatte war
ich mir unsicher was diese Warnungen bedeuten und inwieweit sie mein
Design beeinflussen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.