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