www.mikrocontroller.net

Forum: FPGA, VHDL & Co. globales UCF-File anlegen


Autor: Andreas Weschenfelder (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

bin grad dabei meine VHDL-Kenntnisse aus dem Studium praktisch wieder 
aufzufrischen... Hab dazu ein Spartan3E Starter Kit und nutze ISE.

Zur eigentlichen Frage: Über die UCF-Files verknüpfe ich ja die entitys 
mit den eigentlichen Pins. Ist es möglich ein globales File mit allen 
Pinzuweisungen (des Starter-Kits) zu erstellen und dann dem aktuellen 
Projekt hinzuzufügen (ähnlich wie Port-Defs)? Habe das mal ausprobiert 
und bekomme natürlich Fehlermeldungen bezüglich der Entity-Namen die im 
UCF-File stehen; im Projekt aber nicht erstellt sind...

Finde es momentan eben nervig für jedes kleine Projekt das UCF-File neu 
anzulegen bzw. zu bearbeiten obwohl ich ohnehin nur das eine Board mit 
den festen Zuweisungen habe...

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest doch z.B: alle LEDs, Taster etc. die sich auf dem Board 
befinden sinnvoll im UCF und Top-Entity FIle benennen, dann kommentierst 
du im UCF File jedes Mal nur die Sachen aus, die du im Projekt nicht 
verwendest.

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Xilinx wollte mal mehrere UCF files einführen, hat es dann aber nicht 
getan.
Also muss man mit einen ucf leben, was nicht weiter schwierig ist. Du 
kannst dir immer ein skript bauen, das dir ein ucf-file aus deinen 
templates bastelt. (C-Präprozessor, perl) . Oder du arbeitest wie 
gewöhnlich mit cut& paste.

Autor: leser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

--  Uncomment the following lines to use the declarations that are
--  provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;

entity test_1 is
    Port ( clk_in : in std_logic;
           res_in : in std_logic;
           qq_out : out std_logic_vector(9 downto 0));
-------------------------------------------------------
attribute pin_assign : string;
attribute pin_assign of clk_in:    signal is "6";
attribute pin_assign of res_in:    signal is "28";
attribute pin_assign of qq_out:    signal is "14 12 8 4 2 44 42 40 1 
43";
-------------------------------------------------------
end test_1;

architecture Behavioral of test_1 is
signal h_counter : std_logic_vector(31 downto 0);

begin
process (clk_in,res_in)
  begin
      if res_in = '0' then
     h_counter <= ( others => '0');
        elsif clk_in'event and clk_in = '1' then
         h_counter <= h_counter + 1;
   end if;
   end process;
   qq_out <= h_counter(29 downto 20);
end Behavioral;
-------------------------------------------------------

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.