реклама на сайте
подробности

 
 
> Как согласовать два клоковых региона в ПЛИС
Alexsandr000
сообщение Mar 4 2014, 11:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 23-10-12
Пользователь №: 74 054



Уважаемые форумчане!

Есть ПЛИС Spartan - 6, в проекте возникла ошибка:
Код
Place:1355 - Component < MDO/MCD/blk00003926 > is driven by DCM or PLL
   component < MCM/pll_base_inst/PLL_ADV > placed at < PLL_ADV_X0Y2 >. This
   requires the load component to be range constrained to CLOCKREGION_X0Y5 or
   CLOCKREGION_X1Y5. Placer was not able to apply this range constraint because
   component < MDO/MCD/blk00003926 > has a LOC constraint or area group in a
   different clock region. Please check whether the user constraints and remove
   any conflicting LOCs or area groups. Note that the loads of a DCM/PLL must be
   constrained to the two adjacent clock regions to the DCM/PLL. Using DCM/PLL
   clocks to drive clock pins directly is not a recommended practice. Using a
   BUFG will give more flexibility to the placer and produce superior placement
   results.


Я так понимаю, что надо согласовать клоковые регионы, однако я пока не понимаю как=)))


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexsandr000
сообщение Mar 12 2014, 03:03
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 23-10-12
Пользователь №: 74 054



Код
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VComponents.all;
----------------------------------------------------------------------------------------------------
entity MODULE_MAIN is
    Port (
        G_CLK_IN          : in  STD_LOGIC;    
        G_TX_DATA_OUT     : out STD_LOGIC_VECTOR (3 downto 0);
        G_TX_EN_OUT       : out STD_LOGIC;
        G_TX_ER_OUT       : out STD_LOGIC;
        G_TX_CLK_IN       : in  STD_LOGIC;
        G_RES_ETH_OUT     : out STD_LOGIC;
        G_MD_CLK_OUT      : out STD_LOGIC;
        G_MD_IO_OUT       : out STD_LOGIC;
        data_p            : in  STD_LOGIC_VECTOR (15 downto 0); --    
        data_n            : in  STD_LOGIC_VECTOR (15 downto 0); --            
        G_CLK_ADC_P_IN    : in  STD_LOGIC; --    
        G_CLK_ADC_N_IN    : in  STD_LOGIC; --    
        G_TX_OUT          : out STD_LOGIC :='1';
        G_TEST_TX_OUT     : out STD_LOGIC_VECTOR (2 downto 0)
    );
end MODULE_MAIN;
---------------------------------------------------------------------------------
architecture Behavioral of MODULE_MAIN is
------------------------------------------------------------------------
    component MODULE_CLOCK_MANAGER
        port(
            CLK_IN1    : in  std_logic;
            CLK_OUT1   : out std_logic;
            CLK_OUT2   : out std_logic;
            LOCKED     : out std_logic
        );
    end component;
--------------------------------------------------------------------------
    COMPONENT MD_CLOCK
        Port (
            clk   : in  STD_LOGIC:='0';
            mdclk : out STD_LOGIC:='0';
            mdio  : out STD_LOGIC:='0'
        );
    END COMPONENT;
--------------------------------------------------------------------------------------
    COMPONENT MODULE_SYNCHRONIZATION
        Port (
            CLK_IN   : IN  STD_LOGIC;
            PWR_EN   : IN  std_logic;
            EN_OUT   : out STD_LOGIC;
            PWR_OUT  : out STD_LOGIC;
            TEST     : out STD_LOGIC_VECTOR(2 downto 0)
        );
    END COMPONENT;
--------------------------------------------------------------------------------------
    COMPONENT MODULE_DATA_OUT
        Port (
            CLK         : in  STD_LOGIC;
            TX_CLK      : in  STD_LOGIC;
            DATA_IN_RE  : in  STD_LOGIC_VECTOR (47 downto 0);
            DATA_IN_IM  : in  STD_LOGIC_VECTOR (47 downto 0);
            DATA_IN_EN  : in  STD_LOGIC;
            gtx_data    : out STD_LOGIC_VECTOR (3 downto 0);
            gtx_en      : out STD_LOGIC;
            gtx_er      : out STD_LOGIC
        );
    end COMPONENT;
------------------------------------------------------------------------
    signal clk_125MHz   : std_logic := '0';
    signal data_from_adc    : STD_LOGIC_VECTOR(47 downto 0):=(others=>'0');
    signal clk_from_adc    : STD_LOGIC;
    signal enable    : STD_LOGIC:= '0';
    signal adc_ready : STD_LOGIC:= '0';
    signal ENPWR     : STD_LOGIC:= '0';
    -------- MM RE --------------------------------------------------------------------
begin
--------------------------------------------------------------------------
    MODULE_CLOCK_MGR: MODULE_CLOCK_MANAGER  port map(G_CLK_IN,clk_125MHz,clk_10MHz,G_RES_ETH_OUT);
    MODULE_MD_CLK:  MD_CLOCK  PORT MAP(clk_125MHz, G_MD_CLK_OUT, G_MD_IO_OUT);
---------------------------------------------------------------------------
    ibufds_clk_inst : IBUFGDS generic map (diff_term => true,IOSTANDARD => "LVDS_33") port map (I => G_CLK_ADC_P_IN,IB => G_CLK_ADC_N_IN,O => clk_from_adc);
--------------------input signal-------------------------------------------
    pins: for N in 0 to 15 generate
    begin
        ibufds_inst : IBUFDS generic map (DIFF_TERM  => true,IOSTANDARD => "LVDS_33") port map (I => data_p(N),IB => data_n(N),O => data_from_adc(N));
    end generate;
---------------------------------------------------------------------------
    MSNC: MODULE_SYNCHRONIZATION PORT MAP(clk_125MHz,ENPWR,enable,G_TX_OUT,G_TEST_TX_OUT); --
-----------------------------------------------------------------------------------------
    MDO:MODULE_DATA_OUT Port map(clk_125MHz,G_TX_CLK_IN,
                                         data_from_adc,enable,
                                          G_TX_DATA_OUT,G_TX_EN_OUT,G_TX_ER_OUT
                                          );
-----------------------------------------------------------------------------
end Behavioral;

и UCF
Код
NET "G_CLK_IN" TNM_NET = "G_CLK_IN";
TIMESPEC TS_G_CLK_IN = PERIOD "G_CLK_IN" 8 ns;
####################################################################
NET "G_CLK_IN" LOC = AA12 |IOSTANDARD = LVCMOS33;#LVCMOS18;
################# ADC CLOCK ####################################################
NET "G_CLK_ADC_P_IN" TNM_NET = "G_CLK_ADC_P_IN";
TIMESPEC TS_G_CLK_ADC_P_IN = PERIOD "G_CLK_ADC_P_IN" 8 ns HIGH 50 %;
NET "G_CLK_ADC_P_IN" LOC = B12 |IOSTANDARD = LVDS_33;
################# ADC DATA #########################################
NET "data_p[0]"  LOC = E16 | IOSTANDARD = LVDS_33;
NET "data_n[0]"  LOC = D17 | IOSTANDARD = LVDS_33;
NET "data_p[1]"  LOC = D15 | IOSTANDARD = LVDS_33;
NET "data_p[2]"  LOC = C17 | IOSTANDARD = LVDS_33;
NET "data_p[3]"  LOC = B16 | IOSTANDARD = LVDS_33;
NET "data_p[4]"  LOC = C15 | IOSTANDARD = LVDS_33;
NET "data_p[5]"  LOC = B14 | IOSTANDARD = LVDS_33;
NET "data_p[6]"  LOC = C13 | IOSTANDARD = LVDS_33;
NET "data_p[7]"  LOC = D14 | IOSTANDARD = LVDS_33;
NET "data_p[8]"  LOC = C5  | IOSTANDARD = LVDS_33;
NET "data_p[9]"  LOC = B6  | IOSTANDARD = LVDS_33;
NET "data_p[10]" LOC = C7  | IOSTANDARD = LVDS_33;
NET "data_p[11]" LOC = B8  | IOSTANDARD = LVDS_33;
NET "data_p[12]" LOC = C9  | IOSTANDARD = LVDS_33;
NET "data_p[13]" LOC = B10 | IOSTANDARD = LVDS_33;
NET "data_p[14]" LOC = D11 | IOSTANDARD = LVDS_33;
NET "data_p[15]" LOC = B18 | IOSTANDARD = LVDS_33;
NET "G_TX_OUT"            LOC = AB4 | IOSTANDARD = LVCMOS33;#LVCMOS18;  
####################### ETHERNET ################################################
NET "G_MD_CLK_OUT"  LOC = AA2 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET "G_MD_IO_OUT"   LOC = AB3 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET "G_RES_ETH_OUT" LOC = T15 | IOSTANDARD = LVCMOS33;#LVCMOS18;
####################### RX       ######################################
#NET "G_RX_CLK_IN"     LOC = Y11 | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[0]" LOC = Y3  | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[1]" LOC = W8  | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[2]" LOC = W4  | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[3]" LOC = U9  | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[4]" LOC = V7 | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[5]" LOC = V5 | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[6]" LOC = W9 | IOSTANDARD = LVCMOS18;
#NET "G_RX_DATA_IN[7]" LOC = U6 | IOSTANDARD = LVCMOS18;
#NET "G_RX_EN_IN" LOC = Y4 | IOSTANDARD = LVCMOS18;
#NET "G_RX_ER_IN" LOC = Y8 | IOSTANDARD = LVCMOS18;
######################   TX       ################################
NET G_TX_CLK_IN      LOC = W12  | IOSTANDARD = LVCMOS33;#LVCMOS18; #R11; -    
NET G_TX_EN_OUT      LOC = AB16 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET G_TX_ER_OUT      LOC = AB18 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET G_TX_DATA_OUT[0] LOC = AA18 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET G_TX_DATA_OUT[1] LOC = AB14 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET G_TX_DATA_OUT[2] LOC = AA16 | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET G_TX_DATA_OUT[3] LOC = W14  | IOSTANDARD = LVCMOS33;#LVCMOS18;
#NET G_TX_DATA_OUT[4] LOC = T16  | IOSTANDARD = LVCMOS18;
#NET G_TX_DATA_OUT[5] LOC = Y14  | IOSTANDARD = LVCMOS18;
#NET G_TX_DATA_OUT[6] LOC = V15  | IOSTANDARD = LVCMOS18;
#NET G_TX_DATA_OUT[7] LOC = AA14 | IOSTANDARD = LVCMOS18;
####################### LEDS #####################################################
NET "G_TEST_TX_OUT[0]" LOC = D6  | SLEW = FAST | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET "G_TEST_TX_OUT[1]" LOC = C6  | SLEW = FAST | IOSTANDARD = LVCMOS33;#LVCMOS18;
NET "G_TEST_TX_OUT[2]" LOC = D7  | SLEW = FAST | IOSTANDARD = LVCMOS33;#LVCMOS18;


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alexsandr000   Как согласовать два клоковых региона в ПЛИС   Mar 4 2014, 11:39
- - o_khavin   Цитата(Alexsandr000 @ Mar 4 2014, 15:39) ...   Mar 4 2014, 11:50
|- - Alexsandr000   Цитата(o_khavin @ Mar 4 2014, 15:50) Не с...   Mar 4 2014, 17:43
|- - o_khavin   Цитата(Alexsandr000 @ Mar 4 2014, 21:43) ...   Mar 4 2014, 17:52
|- - Dmitriyspb   Цитата(o_khavin @ Mar 4 2014, 21:52) Поло...   Mar 5 2014, 06:28
|- - Alexsandr000   Цитата(Dmitriyspb @ Mar 5 2014, 10:28) По...   Mar 5 2014, 13:27
|- - Maverick   Цитата(Alexsandr000 @ Mar 5 2014, 15:27) ...   Mar 5 2014, 13:53
|- - o_khavin   Цитата(Alexsandr000 @ Mar 5 2014, 17:27) ...   Mar 5 2014, 16:13
|- - Dmitriyspb   Цитата(Alexsandr000 @ Mar 5 2014, 17:27) ...   Mar 6 2014, 05:55
|- - olegras   Цитата(Dmitriyspb @ Mar 6 2014, 10:55) Кс...   Mar 6 2014, 13:20
|- - gibson1980   Цитата(olegras @ Mar 6 2014, 21:20) Совет...   Mar 6 2014, 15:06
||- - olegras   Цитата(gibson1980 @ Mar 6 2014, 20:06) А ...   Mar 6 2014, 15:29
|- - Dmitriyspb   Цитата(olegras @ Mar 6 2014, 17:20) Не со...   Mar 7 2014, 06:19
- - Alexsandr000   В принципе это первый такого рода проект, вообще т...   Mar 9 2014, 14:09
|- - olegras   Цитата(Alexsandr000 @ Mar 9 2014, 19:09) ...   Mar 10 2014, 04:35
|- - Alexsandr000   Цитата(olegras @ Mar 10 2014, 08:35) Так-...   Mar 10 2014, 09:14
|- - olegras   Цитата(Alexsandr000 @ Mar 10 2014, 14:14)...   Mar 11 2014, 01:51
|- - Dmitriyspb   Цитата(Alexsandr000 @ Mar 10 2014, 13:14)...   Mar 11 2014, 07:23
- - Alexsandr000   Добавил BUFG вроде все заработало) Спасибо за подс...   Mar 12 2014, 05:14
- - olegras   Цитата(Alexsandr000 @ Mar 12 2014, 10:14)...   Mar 12 2014, 06:13
- - Alexsandr000   Цитата(olegras @ Mar 12 2014, 10:13) Позд...   Mar 12 2014, 07:03


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 05:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016