Forum: FPGA, VHDL & Co. Xilinx ISE UCF - Der NET-Name von Records


von Patrick Lehmann (Gast)


Lesenswert?

Hallo,

Entwurfsumgebung: Xilinx ISE WebPack 10.1 (Linux)
Sprache: VHDL

ich haben in einem aktuellen Projekt folgenden Typ definiert:
1
TYPE VGA_OUTPUT IS RECORD
2
    R : STD_LOGIC;
3
    G : STD_LOGIC;
4
    B : STD_LOGIC;
5
    HSync : STD_LOGIC;
6
    VSync : STD_LOGIC;
7
END RECORD;

wenn ich nun ein entsprechendes Signal VGA im Port definierte z.b. so:
1
ENTITY top IS
2
  PORT (
3
    clk : IN STD_LOGIC;
4
    sw : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
5
    btn : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
6
    seg7 : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
7
    an : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
8
    led : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
9
    VGA : OUT VGA_OUTPUT
10
  );
11
END top;

wie lautet dann der Wire / Netname von z.b. VGA.HSync?

aktuell muss ich in der top.vhl alle als Record definierten Signale 
aussplitten und z.b. als VGA_HSync herausführen.
1
# VGA Port
2
net "VGA_R"     loc="R12";
3
net "VGA_G"     loc="T12";
4
net "VGA_B"     loc="R11";
5
net "VGA_HSync" loc="R9";
6
net "VGA_VSync" loc="T10";

Vektoren kann man ja als einen Port herausführen und dann im UCF wie 
folgt definieren:
1
# Buttons
2
net "btn<3>" loc="L14";
3
net "btn<2>" loc="L13";
4
net "btn<1>" loc="M14";
5
net "btn<0>" loc="M13";

Warum geht dies bei Records nicht?

Ich habe folgendes bisher probiert:
1
net "VGA.HSync" loc="R9";
2
net "VGA<HSync>" loc="R9";
3
net "VGA:HSync" loc="R9";

Oder geht das garnicht in der Xilinx'schen UCF Sprache?

Auch der UCF Guide von Xilinix hilf hier nicht weiter, dieser Spricht 
immer nur von Netname, nur hab ich kein Regelwerk gefunden wie sich 
dieser für Record-basierte Signale herleiten lässt

MfG
    Patrick Lehmann

von Georg A. (Gast)


Lesenswert?

In der Netzliste tauchen Records mit . auf. Als Ports nach ausssen habe 
ich Records bislang aber auch nicht benutzt... Mach doch einfach ein 
Routing ohne Contstraints und schau im FPGA-Editor nach, wie die Pins 
dann genau heissen.

von Patrick Lehmann (Gast)


Lesenswert?

angezeigt werden diese als Signal_Identifier.

VGA_R, VGA_G, ... hat er ersteinmal angenommen bei der Synthese, leider 
hab ich erstmal noch ein paar fehler bevor ich zum implement komme :)

aber mit der umwandlung von . in _ hat er die UCF ohne probleme gelesen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.