K
Ken
Guest
Hello again,
CLK = 280MHz
A state machine clocked by CLK and enabled by NSI generates a CLKEN signal
that enables "other" logic clocked by CLK.
CLK and NSI are on the entity, CLKEN is internal.
The "other" logic contains long carry chains that will run at 140MHz (just).
The FSM should be able to run at ~280MHz on a virtex-ii -5.
I am assuming NSI always = 1 for the time being.
How do I describe this situation to Xilinx ISE 5.2.03i in ucf constraints
please?
I tried this:
NET "CLK*" TNM_NET = "CLK";
NET "CLKEN" TNM_NET = "CLKEN";
NET "NSI*" TNM_NET = "NSI";
TIMESPEC "TS_CLK" = PERIOD "CLK" 3.57 ns HIGH 50 %;
TIMESPEC "TS_CLK_NSI" = FROM "CLK" TO "NSI" "TS_CLK" * 1;
TIMESPEC "TS_CLK_CLKEN" = FROM "CLK" TO "CLKEN" "TS_CLK" * 2;
but ISE tries to constrain the "other" logic with the carry chains to the
280MHz clock instead of the 140MHz CLKEN domain - and timing fails.
Also tried various other combinations some of which are listed at the end
with no success.
Am I on the right lines here or am I missing something obvious? Surely I
can tell ISE about this situation...?
Also, is there any way to use say "CLKEN*" when specifying the grouping for
CLKEN - do I need to dig in to the hierarchy somehow? Tried the Xilinx
manuals but couldn't find something that relates to this scenario without
specifying every signal manully - I need to group by enable/clk signal!
Thanks for your time,
Ken
#TIMESPEC "TS_CLKEN" = FROM "CLKEN" TO "CLKEN" "TS_CLK" * 2;
#TIMESPEC "TS_CLKEN_CLK" = FROM "CLKEN" TO "CLK" "TS_CLK" * 2;
#TIMESPEC "TS_NSI" = FROM "NSI" TO "NSI" "TS_CLK" * 2;
#TIMESPEC "TS_NSI_CLK" = FROM "NSI" TO "CLK" "TS_CLK" * 2;
--
To reply by email, please remove the _MENOWANTSPAM from my email address.
CLK = 280MHz
A state machine clocked by CLK and enabled by NSI generates a CLKEN signal
that enables "other" logic clocked by CLK.
CLK and NSI are on the entity, CLKEN is internal.
The "other" logic contains long carry chains that will run at 140MHz (just).
The FSM should be able to run at ~280MHz on a virtex-ii -5.
I am assuming NSI always = 1 for the time being.
How do I describe this situation to Xilinx ISE 5.2.03i in ucf constraints
please?
I tried this:
NET "CLK*" TNM_NET = "CLK";
NET "CLKEN" TNM_NET = "CLKEN";
NET "NSI*" TNM_NET = "NSI";
TIMESPEC "TS_CLK" = PERIOD "CLK" 3.57 ns HIGH 50 %;
TIMESPEC "TS_CLK_NSI" = FROM "CLK" TO "NSI" "TS_CLK" * 1;
TIMESPEC "TS_CLK_CLKEN" = FROM "CLK" TO "CLKEN" "TS_CLK" * 2;
but ISE tries to constrain the "other" logic with the carry chains to the
280MHz clock instead of the 140MHz CLKEN domain - and timing fails.
Also tried various other combinations some of which are listed at the end
with no success.
Am I on the right lines here or am I missing something obvious? Surely I
can tell ISE about this situation...?
Also, is there any way to use say "CLKEN*" when specifying the grouping for
CLKEN - do I need to dig in to the hierarchy somehow? Tried the Xilinx
manuals but couldn't find something that relates to this scenario without
specifying every signal manully - I need to group by enable/clk signal!
Thanks for your time,
Ken
#TIMESPEC "TS_CLKEN" = FROM "CLKEN" TO "CLKEN" "TS_CLK" * 2;
#TIMESPEC "TS_CLKEN_CLK" = FROM "CLKEN" TO "CLK" "TS_CLK" * 2;
#TIMESPEC "TS_NSI" = FROM "NSI" TO "NSI" "TS_CLK" * 2;
#TIMESPEC "TS_NSI_CLK" = FROM "NSI" TO "CLK" "TS_CLK" * 2;
--
To reply by email, please remove the _MENOWANTSPAM from my email address.