Forum: FPGA, VHDL & Co. multi-cycle path


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Martin O. (ossi-2)


Bewertung
0 lesenswert
nicht lesenswert
1
module SecondOrderSigmaDeltaDac1v01
2
 (input            clk ,
3
  input            clkEna ,
4
  input  [MSBI:0]  DACin ,  
5
  output reg       DACout
6
  );
7
8
parameter MSBI=7 ;
9
10
reg signed [MSBI:0] din ;
11
reg signed [MSBI+3:0] del1 ;
12
reg signed [MSBI+3:0] del2 ;
13
reg signed [MSBI+3:0] d_q ;
14
15
always @(posedge clk) begin
16
  if ( clkEna ) begin
17
    din <= DACin ;
18
    del1 <= din - d_q + del1 ;
19
    del2 <= din - d_q + del1 - d_q + del2 ;
20
    if ( din - d_q + del1 - d_q + del2 > 0 )
21
      begin
22
      d_q  <= 11'h 100 ;
23
      DACout <= 1;
24
      end
25
     else
26
      begin
27
      d_q  <=  11'h 700 ;
28
      DACout <= 0;
29
      end
30
    end
31
  end   
32
33
endmodule
Ich benutze den obigen Code wobei clkEna nach jeweils 16 Takten von clk 
für einen Takt auf 1 geht. Der Code ergibt timing-violations. Durch ein 
multi-cycle path constraint möchte ich dem timing-analyser mitteilen, 
dass alle Pfade in diesem Modul multicycle Pfade sind. Wie mache ich das 
?
Wie spezifiziere ich insbesondere diese Pfade im SDC File? Wo gibt es 
gute Beispiele?

von Fpgakuechle K. (fpgakuechle) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
In diesem thread findet sich etwas: 
Beitrag "Implementierungsfrage VHDL"

: Bearbeitet durch User
von Martin O. (ossi-2)


Bewertung
0 lesenswert
nicht lesenswert
Inzwischen benutze ich die SDC Zeilen:
1
# set_multicycle_path -hold -to [get_pins -compatibility_mode DACb|*] 1
2
# set_multicycle_path -setup -to [get_pins -compatibility_mode DACb|*] 2

um in dem Modul DACb (Instanz von SecondOrderSigmaDeltaDac1v01 vom 
topLevel) alle Pins mit nem multicycle_path Constraint zu versehen. Das 
scheint zu klappen. Weiss jemand, wie ich die Formulierung ohne 
"-compatibility_mode" hinbekomme ?

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]
  • [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.