Hallo zusammen!
Ich fange im Rahmen meines studiums an VHDL zu lernen.
Ich habe ein Xilinx Board (ml 605) mit einem Virtex-6 und benutze ISE
12.4.
Ich habe angefangen kleine Module zu schreiben um mich ein wenig
einzuarbeiten. Bei meinem zweiten Programm bekomme ich aber einen Fehler
bei dem ich nicht weiss wie ich ihn beheben kann.
Das Programm soll auf einen Tastendruck hin einen Zaehler um eins
erhoehen.
Ich moechte dieses Modul spaeter zum debuggen benutzen, indem ich es an
signale dranhaenge und weiss wie oft (oder ueberhaupt) das signal
ausgeloest wurde.
Hier mein Code:
1 | library IEEE;
|
2 | use IEEE.STD_LOGIC_1164.ALL;
|
3 | use IEEE.STD_LOGIC_UNSIGNED.ALL;
|
4 |
|
5 | entity led is
|
6 | Port (input : in STD_LOGIC;
|
7 | LED : out STD_LOGIC_VECTOR (3 downto 0));
|
8 | end led;
|
9 |
|
10 | architecture Behavioral of led is
|
11 |
|
12 | signal counter : std_logic_vector (3 downto 0):="0000";
|
13 |
|
14 | begin
|
15 | LED <= counter ;
|
16 |
|
17 | process(input, counter)
|
18 | begin
|
19 |
|
20 | if (input'event and input = '1') then
|
21 | counter <= counter +1;
|
22 |
|
23 | else
|
24 | counter <= counter ;
|
25 |
|
26 | end if;
|
27 | end process ;
|
28 |
|
29 | end Behavioral;
|
LED ist auf vier leds gelegt, input auf einen taster auf dem board.
Die Synthese laeuft fehlerfrei, translate auch, aber bei Map bekomme ich
folgende Fehlermeldung:
A clock IOB / BUFGCTRL clock component pair have been found
that are not placed at an optimal clock IOB / BUFGCTRL site pair. The
clock
IOB component <input> is placed at site <IOB_X1Y169>. The
corresponding
BUFGCTRL component <input_BUFGP/BUFG> is placed at site
<BUFGCTRL_X0Y0>. The
clock IO can use the fast path between the IOB and the Clock Buffer
if a) the
IOB is placed on a Global Clock Capable IOB site that has the fastest
dedicated path to all BUFGCTRL sites, or b) the IOB is placed on a
Local
Clock Capable IOB site that has dedicated fast path to BUFGCTRL sites
in its
half of the device (TOP or BOTTOM). You may want to analyze why this
problem
exists and correct it. If this sub optimal condition is acceptable
for this
design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .ucf
file to
demote this message to a WARNING and allow your design to continue.
However,
the use of this override is highly discouraged as it may lead to very
poor
timing results. It is recommended that this error condition be
corrected in
the design. A list of all the COMP.PINs used in this clock placement
rule is
listed below. These examples can be used directly in the .ucf file to
override this clock rule.
< NET "input" CLOCK_DEDICATED_ROUTE = FALSE; >
Ich verstehe die Fehlermeldung nicht in Zusammenhang mit meinem Code.
Ich benutze doch garkeine Clock.
In meiner ucf Datei stehen nur die fuenf Zuordnungen die ich schon
mehrfach ueberprueft habe.
Kann mir jemand erlaeutern was es mit dieser Fehlermeldung auf sich hat?
Vielen Dank
Simone