Hallo!
Ich versuche über ein Generic einen normalen UART oder einen
Highspeed-UART einzubinden:
1 | -- For operation with normal uart --
|
2 | ls_mode_gen : if BAUD_RATE /= 0 generate
|
3 | UART_inst : entity work.UART_mod(Behavioral)
|
4 | generic map (
|
5 | SYSTEM_speed => CLK_FREQ,
|
6 | BAUD_RATE => BAUD_RATE,
|
7 | EVEN_parity => 0,
|
8 | ODD_parity => 0)
|
9 | port map (
|
10 | CLK => CLK,
|
11 | RST => RST,
|
12 | TX => TX,
|
13 | RX => RX,
|
14 | txData => uart_txData,
|
15 | txReady => uart_txReady,
|
16 | startTx => uart_startTx,
|
17 | rxData => uart_rxData,
|
18 | newData => uart_newData,
|
19 | dataAck => uart_dataAck,
|
20 | rxErr => uart_rxErr);
|
21 | end generate ls_mode_gen;
|
22 |
|
23 | -- For high speed LVDS communication --
|
24 | hs_mode_gen : if BAUD_RATE = 0 generate
|
25 | uart_hs_inst : entity work.uart_hs_mod
|
26 | generic map (
|
27 | DEVICE_ZYNQ => false,
|
28 | CLK_FREQ => CLK_FREQ,
|
29 | BAUD_rate => BAUD_rate)
|
30 | port map (
|
31 | txPPin => txPPin,
|
32 | txNPin => txNPin,
|
33 | rxPPin => rxPPin,
|
34 | rxNPin => rxNPin,
|
35 | txData => uart_txData,
|
36 | txReady => uart_txReady,
|
37 | startTx => uart_startTx,
|
38 | rxData => uart_rxData,
|
39 | newData => uart_newData,
|
40 | dataAck => uart_dataAck,
|
41 | rxErr => uart_rxErr,
|
42 | clk => clk,
|
43 | rst => rst);
|
44 | end generate hs_mode_gen;
|
Das Ganze funktioniert auch, aber leider muss ich, wenn ich den oberen
UART verwende (BAUD_RATE/=0) auch alle Dateien ins XILINX ISE Projekt
einbinden die vom UART_HS verwendet werden.
Meine Frage: Gibt es eine Möglichkeit dies zu vermeiden?
Gruß,
H