So I am student who has just started working with FPGA's and the CMOD A7-35T board. I am trying to get my feet wet and implement a very basic design, however during implementation I get an error:
[Place 30-574] Poor placement for routing between an IO pin and BUFG. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets btn_IBUF[1]] >
btn_IBUF[1]_inst (IBUF.O) is locked to IOB_X0Y112
and btn_IBUF_BUFG[1]_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y31
The VHDL that I am using is as follows:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity blinky is
Port ( led : out STD_LOGIC;
btn : in STD_LOGIC_VECTOR(1 downto 0));
end blinky;
architecture Behavioral of blinky is
begin
dff: process(btn)
begin
if (btn(1)='1') then
led <= btn(0);
end if;
end process dff;
end Behavioral;
Question
stschmalz
So I am student who has just started working with FPGA's and the CMOD A7-35T board. I am trying to get my feet wet and implement a very basic design, however during implementation I get an error:
[Place 30-574] Poor placement for routing between an IO pin and BUFG. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule. < set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets btn_IBUF[1]] > btn_IBUF[1]_inst (IBUF.O) is locked to IOB_X0Y112 and btn_IBUF_BUFG[1]_inst (BUFG.I) is provisionally placed by clockplacer on BUFGCTRL_X0Y31
The VHDL that I am using is as follows:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity blinky is Port ( led : out STD_LOGIC; btn : in STD_LOGIC_VECTOR(1 downto 0)); end blinky; architecture Behavioral of blinky is begin dff: process(btn) begin if (btn(1)='1') then led <= btn(0); end if; end process dff; end Behavioral;
And my constraints file contains the following:
## LEDs set_property -dict { PACKAGE_PIN A17 IOSTANDARD LVCMOS33 } [get_ports { led }]; #IO_L12N_T1_MRCC_16 Sch=led[1] ## Buttons set_property -dict { PACKAGE_PIN A18 IOSTANDARD LVCMOS33 } [get_ports { btn[0] }]; #IO_L19N_T3_VREF_16 Sch=btn[0] set_property -dict { PACKAGE_PIN B18 IOSTANDARD LVCMOS33 } [get_ports { btn[1] }]; #IO_L19P_T3_16 Sch=btn[1]
I am sure it is something very simple that I just do not understand yet so any help would be greatly appreciated.
Thanks!
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.