Hi!
Ich versuche auf einem Spartan3 zwischen zwei externen Clocksignalen
umzuschalten.
Die Signale kommen allerdings über normale I/O Pins herein (<=25Mhz).
(lässt sich beim Prototypen nicht ändern da nicht genügend Clock inputs
da sind)
Nun möchte ich daraus immer nur eine Clock auswählen.
Dazu habe ich folgenden Code geschrieben:
1 | library UNISIM;
|
2 | use UNISIM.VComponents.all;
|
3 |
|
4 | ...
|
5 |
|
6 | --select between front/back
|
7 | mux1 : BUFGMUX port map(
|
8 | O => mux1_out, --output
|
9 | I0 => cam_f_vclk, --input0
|
10 | I1 => cam_b_vclk, --input1
|
11 | S => current_cam(1) --select
|
12 | );
|
13 |
|
14 | --select left/right
|
15 | mux2 : BUFGMUX port map(
|
16 | O => mux2_out, --output
|
17 | I0 => cam_r_vclk, --input0
|
18 | I1 => cam_l_vclk, --input1
|
19 | S => current_cam(1) --select
|
20 | );
|
21 |
|
22 | --now select the right output of both muxes:
|
23 | mux3 : BUFGMUX port map(
|
24 | O => out_vclk, --output
|
25 | I0 => mux1_out, --input0
|
26 | I1 => mux2_out, --input1
|
27 | S => current_cam(0) --select
|
28 | );
|
Sprich ich möchte mit dem 2stelligen std_logic_vector current_cam
auswählen welche clock ich auf out_vclk ausgebe.
Die BUFGMUXe sind ja immer im zweierpaar an denselben Inputs.
ISE8 meldet beim Routen:
1 | Conflict 1, detected on wire:DUMMY(617,57608)
|
2 | Net:cam_l_vclk_IBUFG
|
3 | on pin I1 on location BUFGMUX4 has a routing conflict with
|
4 | Net:cam_f_vclk_IBUFG
|
5 | on pin I0 on location BUFGMUX5
|
6 |
|
7 | Conflict 2, detected on wire:DUMMY(617,57624)
|
8 | Net:cam_r_vclk_IBUFG
|
9 | on pin I0 on location BUFGMUX4 has a routing conflict with
|
10 | Net:cam_b_vclk_IBUFG
|
11 | on pin I1 on location BUFGMUX5
|
12 |
|
13 | End of routing conflict report
|
Sehe ich das richtig dass BUFGMUX 4 und 5 beide immer dieselben inputs
haben müssen ? Laut datasheet haben sie ja gemeinsame I0/I1.
Wie sage ich dem ISE denn dass ich jeweils einen eigenen 2er Block
brauche für meine 3 MUXe ?
Ich hab per Google nichts zu dem Thema gefunden :(
Also zum Thema BUFGMUX zwar schon aber nicht wie ich in VHDL sage dass
ich 3 muxe mit unterschiedlichen inputs möchte.
Danke & Gruss,
Simon