Hallo to everybody, i'm trying to map a very large design onto a stratix EP1S80B956C7 device. After timing analysis with Quartus II 5.0 i have a "lot of high setup violations" on paths between registers of the such type of FF1 and FF2 (see vhdl below that is pheraps only a simplification of the entire project). These paths are multicycle 2 period wide. Apart from clock settings, in the Assignment Editor i gave to Quartus the subsequent constraints:
set_instance_assignment -name CLOCK_ENABLE_MULTICYCLE 2 -from ENA -to ENA set_instance_assignment -name CLOCK_ENABLE_MULTICYCLE 2 -from internal_EN1 -to internal_EN1 set_instance_assignment -name CLOCK_ENABLE_MULTICYCLE 2 -to internal_EN1 set_instance_assignment -name CLOCK_ENABLE_MULTICYCLE 2 -from internal_ENA -to internal_ENA set_instance_assignment -name CLOCK_ENABLE_MULTICYCLE 2 -from internal_ENA -to *
and after i ran timing analysis again, i got the Ignored Timing Assignments in the report:
-------- option ---------------- setting ---- from --------- to
----------------- help ----------- Clock Enable Multicycle 2 internal_EN1 No timing path applicable to specified destination Clock Enable Multicycle 2 internal_EN1 internal_EN1 No timing path applicable to specified source and destination Clock Enable Multicycle 2 internal_ENA * Destination wildcard does not match any nodes Clock Enable Multicycle 2 internal_ENA internal_ENA No timing path applicable to specified source and destination Clock Enable Multicycle 2 ENA ENA No timing path applicable to specified source and destination
How can i force Quartus to consider paths enabled by ENA signal and clocked by CLK as multicycle paths without specifying all registers interested (it would be difficult for me to built a list, because of their huge number)?
Thanks in advance. Salva
------------------ VHDL ------------------
library ieee; use ieee.std_logic_1164.all;
entity PROVA is port ( RSTN : in std_logic; CLK : in std_logic; IN1 : in std_logic; IN2 : in std_logic; EN1 : in std_logic; EN2 : in std_logic; OUT1 : out std_logic; OUT2 : out std_logic ); end entity PROVA;
architecture ARCH_1 of PROVA is
component GLOBAL is port ( A_IN : in std_logic; A_OUT: out std_logic ); end component GLOBAL;
signal internal_CLK : std_logic; signal internal_EN1 : std_logic; signal internal_EN2 : std_logic; signal internal_ENA : std_logic;
signal ENA : std_logic; signal FF1 : std_logic; signal FF2 : std_logic; signal FF3 : std_logic;
begin
-- clock is assigned to a global resource GLOBAL_STRATIX1: GLOBAL port map(CLK, internal_CLK);
-- enable is assigned to a global resource GLOBAL_STRATIX2: GLOBAL port map(internal_ENA, ENA);
-- internally latched signals internal_CLK_P: process (RSTN, internal_CLK) begin if (RSTN = '0') then internal_EN1