Nexys 4 Constraints

Gast #3895392
Lesenswert?
• ▲
▼
Salü Zusammen

Ich bin einigermaßen verwirrt, wie die für das Nexys 4 Board zur 
Verfügung gestellten Constraint Files (Master.xdc). Wenn ich die Ports 
als:

led   :  ledSTD_LOGIC_VECTOR (15 downto 0);

Verwende, funktioniert alles Problemlos. Versuche ich aber ein Port als:

led[0] : STD_LOGIC;

zu deklariere, kann der Code nicht mehr compiliert werden und landet im 
Syntax Error Folder. Ich würde mich sehr freuen, wenn mir jemand auf die 
Sprünge helfen könnte!

Danke und Gruess
Andresa
#3895493
Lesenswert?
• ▲
▼
Das ist doch VHDL Port Deklaration, das gehört keinesfalls in das XDC 
File. Dort kommen nur die Sachen rein, die die physikalischen Anschlüsse 
am FPGA kennzeichnen, also Location, IO-Spannung, Timing-Constraints 
usw.
Und selbst wenn du das im VHDL Quellcode stehen hast, ergibt das keinen 
Sinn, denn ein Vektor kann nur aus gleichen Elementen bestehen, also 
kannst du nicht ein Element einzeln deklarieren.
Gast #3895837
Lesenswert?
• ▲
▼
Salü Christian und Lothar

Danke für eure Antworten, ihr habt ja recht, dass ganze ist etwas aus 
dem Kontext herausgerissen.

Also was ich meine ist, dass ein Code mit Vektoren funktioniert. Bsp:

1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3

4
entity blink_test is
5
    Port 
6
    (
7
        led    : out STD_LOGIC_VECTOR (1 downto 0)
8
    );
9
end blink_test;
10

11
architecture Behavioral of blink_test is
12

13
begin
14
    led (1 downto 0) <= "11";
15
end Behavioral;

Das Selbe mit einzeln definierten led[] Ports zu versuchen, ist 
hoffnungslos. Bsp:

1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3

4
entity blink_test is
5
    Port 
6
    (
7
        led[0]    : out STD_LOGIC
8
    );
9
end blink_test;
10

11
architecture Behavioral of blink_test is
12

13
begin
14
    led[0] <= '1';
15
end Behavioral;

Das .xdc ist direkt von Digilent und die betreffenden Ports werden dort 
auch als led[0], led[1],... etc. beschrieben (siehe Anhang).
Ist es einfach nicht möglich die led's hier als einzelne Ausgänge 
aufzurufen oder wo genau liegt das Problem hier?
Ehrlich gesagt habe ich mit Quartus und Blockschaltbildern angefangen, 
"[]" Port Definitionen haben dort gut funktioniert...

Vielen Dank für eure Hilfe und Gruess
Angehängte Dateien:
Gast #3896094
Lesenswert?
• ▲
▼
Andreas Kellermann schrieb:

>
1
> library IEEE;
2
> use IEEE.STD_LOGIC_1164.ALL;
3
> 
4
> entity blink_test is
5
>     Port
6
>     (
7
>         led[0]    : out STD_LOGIC
8
>     );
9
> end blink_test;
10
> 
11
> architecture Behavioral of blink_test is
12
> 
13
> begin
14
>     led[0] <= '1';
15
> end Behavioral;
16
>
>
> Das .xdc ist direkt von Digilent und die betreffenden Ports werden dort
> auch als led[0], led[1],... etc. beschrieben (siehe Anhang).
> Ist es einfach nicht möglich die led's hier als einzelne Ausgänge
> aufzurufen oder wo genau liegt das Problem hier?
> Ehrlich gesagt habe ich mit Quartus und Blockschaltbildern angefangen,
> "[]" Port Definitionen haben dort gut funktioniert...
>
> Vielen Dank für eure Hilfe und Gruess


In AHDL steht der Index zwischen eckigen Klammern, in VHDL in runden.

MfG,
Gast #3896506
Lesenswert?
• ▲
▼
Ja, ich habe auch einfach mit std_logic_vector und der Port Deklaration 
einzelner Pins mit, zB. "led (0), led (1) etc. weitergemacht. Hat mich 
halt nur interessiert wieso sie das so machen.

Vielen Dank nochmals!

Antwort schreiben

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.

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.