mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx Webpack 11 -> post route simulation + package


Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe eine Testbench geschrieben und sie funktioniert auch unter der 
"Behavioral Simulation".

Die "Post-Route Simulation" funktioniert jedoch nicht, da der Project 
Navigator mein eigenes Package nicht kompiliert (die "component", die 
ich in der Testbench teste benötigt das Package aber)- das vhdl- File 
ist nicht in die "Post-Route Simulation"- Dateiliste eingebunden und ich 
finde auch keinen Weg, wie ich das da einfügen kann.

Wie gesagt, die Package- vhdl- Datei wird nur in der "Post-Route 
Simulation" nicht eingebunden- überall anders schon.

Darf man keine Packages in der "Post-Route Simulation" benutzen?
Wie soll das sonst gehen?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Post Rote Simulation wird nur noch ein einziges File für dein 
gesamtes Design simuliert: <designname>_timesim.vhd. Da sind dann keine 
Packages usw. mehr, sondern nur noch die Xilinx Primitiven wie LUTs, 
Slices....

Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man denn der Post- Route Simulation irgendwie ein fertiges Kompilat 
aus der Synthese unterjubeln?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm? Also in der Post-Route Simu kann man neben dem _timesim.vhd 
natürlich auch andere Sachen simulieren, als zum Beispiel weitere 
Designs, Modelle externer Bausteine usw.
Was genau willst du denn machen?

Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen Mux gebaut und simuliert. Synthese klappt auch- jetzt 
wollte ich schauen, wie das aussieht, wenn es denn mal "in Hardware 
gegossen" wurde.
Ich benutze jedoch ein selbst definiertes Package in meinem Mux und die 
vhdl Datei, die dieses Package enthält wird bei der Post- Route 
Simulation nicht mit eingebunden und somit funktioniert das kompilieren 
nicht.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, verstehe ich noch nicht ganz. Dein eigenes Package ist doch nur für 
die Synthese relevant. Das wird doch dann umgesetzt in das, was auf dem 
Chip verfügbar ist. Als Simulations-Modell des Designs für die Post 
Place&Route Simulation gibts nur noch eine einzige Datei, die dein 
komplettes Design incl. aller Elemente enthält, so wie sie auf die 
Ziel-Hardware umgesetzt wurden. Und diese _timesim.vhd Datei lässt sich 
mit ISim oder Modelsim simulieren, denn da ist alles enthalten, was zum 
kompilieren nötig ist. Natürlich muss Modelsim die Xilinx-Bibliotheken 
kennen, um die ganzen Xilinx-Primitiven zu kompilieren.

Kannst du dein Design mal gezippt posten?

Autor: Heiko L. (drcaveman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das benötigte Package benutze ich auch in meiner Testbench und da wird 
es nicht mit "einkompiliert"- somit stolpert er in der Testbench schon 
bei "use WORK.<PKG>.ALL;".

Die Dateien hängen gezippt im Anhang.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, jetzt versteh ich die Geschichte. Also wenn du sowas mit 
simulieren willst, musst du deine MUX_PKG in eine Library kompilieren. 
Aber bei der Timing-Simulation wirst du ein Problem bekommen. Ich hab 
das mal getan, eine Lib in Modelsim mit deinem Package, aber die 
Simulation klappt trotzdem nicht, weil die Typen nicht zueinander 
passen....wenn du dir die Mux_out_timesim.vhd ansiehst, siehst du, dass 
Xilinx das aufgelöst hat:
entity mux_out is
  port (
    reg_out : out STD_LOGIC_VECTOR ( 7 downto 0 ); 
    regs_in : in STD_LOGIC_VECTOR2 ( 31 downto 0 , 7 downto 0 ); 
    reg_adr : in STD_LOGIC_VECTOR ( 4 downto 0 ) 
  );
end mux_out;

Und dann passt dein selbst definierter Typ nicht mehr korrekt dazu:

# ** Failure: (vsim-3807) Types do not match between component and 
entity for port "regs_in".
#    Time: 0 ps  Iteration: 0  Instance: /mux_out_tb/inst_mux_out File: 
netgen/par/mux_out_timesim.vhd Line: 44

Allerdings weiß ich auch nicht, wie man das auflösen kann jetzt.

Lothar, weißt du was?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Lothar, weißt du was?
Von Post-Routing-Simulationen lasse ich die Finger weg. U.a. deshalb, 
weil da immer wieder mal so ein Gebastel nötig war. Schon bei der 
automatisch erstellten Verhaltens-Testbench gibt es jedesmal Probleme, 
wenn nicht std_logic am Port zu finden ist.

Wenn nötig knacke ich die Timing-Nuss mit der statischen Timinganalyse 
und passenden Constraints. Das klappt ganz gut und ist m.E. wesentlich 
durchschaubarer und reproduzierbarer.
Also:
Simulation für das Verhalten
Timinganalyse für die Implementierung

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Allerdings weiß ich auch nicht, wie man das auflösen kann jetzt.
Ich baue da dann immer einen Wrapper drum.
In dem steht u.a. sowas:
  slv2_to_slv_mapping : process (sig_slv2) is
  begin  -- process slv2_to_slv_mapping
    if NETLIST_SIM then
      for N in sig'range loop
        for M in sig'range loop
          sig_slv2(N, M) <= sig(N)(M);
        end loop;  -- M
      end loop;  -- N
    end if;
  end process slv2_to_slv_mapping;

Duke

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.