Difference between revisions of "DCM module VHDL code"
From Tech
Jump to navigationJump to search (Created page with "With the following 3 files, the DCM module can be made to work without the IP CORE generator. Top level <tt>LEDtest.vhdl</tt>: <nowiki> library IEEE; use IEEE.STD_LOGIC_1164.AL…") |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | With the following 3 files, the DCM module can be made to work without the IP CORE generator. |
+ | With the following 3 files (the DCM part is generated by the IPCoreGen of Xilinx), the DCM module can be made to work without the having to run the IP CORE generator. |
+ | |||
+ | Similar code can also be found in: Edit/Language Templates..., and then select Spartan 3, Clock Components, Clock MUX. |
||
Top level <tt>LEDtest.vhdl</tt>: |
Top level <tt>LEDtest.vhdl</tt>: |
||
Line 25: | Line 27: | ||
end component; |
end component; |
||
− | signal count: integer range 0 to |
+ | signal count: integer range 0 to 114285719 := 0; |
signal clk: std_logic; |
signal clk: std_logic; |
||
signal clk0: std_logic; |
signal clk0: std_logic; |
||
Line 49: | Line 51: | ||
end if; |
end if; |
||
LED2<=tmp(0); |
LED2<=tmp(0); |
||
− | if count= |
+ | if count>=114285714 then |
count<=0; |
count<=0; |
||
sec<=sec+1; |
sec<=sec+1; |
||
Line 55: | Line 57: | ||
if sec=9 then |
if sec=9 then |
||
sec<=0; |
sec<=0; |
||
− | duration<= |
+ | duration<=32000000; |
else |
else |
||
− | duration<= |
+ | duration<=1000000; |
end if; |
end if; |
||
end if; |
end if; |
||
Line 64: | Line 66: | ||
end BEHAVIOUR;</nowiki> |
end BEHAVIOUR;</nowiki> |
||
− | The DCM71.vhdl file (I call it '71' as it's supposed to convert a |
+ | The DCM71.vhdl file (I call it '71' as it's supposed to convert a 20MHz clock into 71.428...MHz): |
<nowiki>-------------------------------------------------------------------------------- |
<nowiki>-------------------------------------------------------------------------------- |
||
-- Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. |
-- Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. |
||
Line 78: | Line 80: | ||
-- \___\/\___\ |
-- \___\/\___\ |
||
-- |
-- |
||
− | --Command: xaw2vhdl-st C:\\Xilinx\12.4\ISE_DS\ISE\.\DCM71.xaw C:\\Xilinx\12.4\ISE_DS\ISE\.\DCM71 |
||
--Design Name: DCM71 |
--Design Name: DCM71 |
||
--Device: xc3s500e-4vq100 |
--Device: xc3s500e-4vq100 |
||
Line 85: | Line 86: | ||
-- Generated by Xilinx Architecture Wizard |
-- Generated by Xilinx Architecture Wizard |
||
-- Written for synthesis tool: XST |
-- Written for synthesis tool: XST |
||
− | -- Period Jitter (unit interval) for block DCM_SP_INST = 0.08 UI |
||
− | -- Period Jitter (Peak-to-Peak) for block DCM_SP_INST = 1.06 ns |
||
library ieee; |
library ieee; |
||
Line 149: | Line 148: | ||
PSINCDEC=>GND_BIT, |
PSINCDEC=>GND_BIT, |
||
--RST=>RST_IN, |
--RST=>RST_IN, |
||
− | + | RST=>GND_BIT, |
|
CLKDV=>open, |
CLKDV=>open, |
||
CLKFX=>CLKFX_BUF, |
CLKFX=>CLKFX_BUF, |
||
Line 162: | Line 161: | ||
PSDONE=>open, |
PSDONE=>open, |
||
STATUS=>open); |
STATUS=>open); |
||
− | |||
end BEHAVIORAL;</nowiki> |
end BEHAVIORAL;</nowiki> |
||
− | And the |
+ | And the constraints.ucf file: |
<nowiki># Crystal Clock - use 32MHz onboard oscillator |
<nowiki># Crystal Clock - use 32MHz onboard oscillator |
||
− | NET "clk_in" LOC = "P89" | IOSTANDARD = LVCMOS25 | PERIOD = |
+ | NET "clk_in" LOC = "P89" | IOSTANDARD = LVCMOS25 | PERIOD = 50.0ns ; |
# Wing1 Column A |
# Wing1 Column A |
||
NET "LED1" LOC = "P91"; |
NET "LED1" LOC = "P91"; |
||
NET "LED2" LOC = "P92";</nowiki> |
NET "LED2" LOC = "P92";</nowiki> |
||
+ | |||
+ | If you encounter errors like these: |
||
+ | <nowiki>ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:NgdBuild:981 - Could not find any associations for the following |
||
+ | constraint: |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLK_FEEDBACK = 1X;> |
||
+ | [constraints.ucf(12)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKDV_DIVIDE = 2.0;> |
||
+ | [constraints.ucf(13)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKFX_DIVIDE = 7;> |
||
+ | [constraints.ucf(14)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKFX_MULTIPLY = 25;> |
||
+ | [constraints.ucf(15)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKIN_DIVIDE_BY_2 = |
||
+ | FALSE;> [constraints.ucf(16)]: INST "DCM_SP_INST" not found. Please verify |
||
+ | that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKIN_PERIOD = 50.000;> |
||
+ | [constraints.ucf(17)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKOUT_PHASE_SHIFT = |
||
+ | NONE;> [constraints.ucf(18)]: INST "DCM_SP_INST" not found. Please verify |
||
+ | that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DESKEW_ADJUST = |
||
+ | SYSTEM_SYNCHRONOUS;> [constraints.ucf(19)]: INST "DCM_SP_INST" not found. |
||
+ | Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DFS_FREQUENCY_MODE = |
||
+ | LOW;> [constraints.ucf(20)]: INST "DCM_SP_INST" not found. Please verify |
||
+ | that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DLL_FREQUENCY_MODE = |
||
+ | LOW;> [constraints.ucf(21)]: INST "DCM_SP_INST" not found. Please verify |
||
+ | that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DUTY_CYCLE_CORRECTION = |
||
+ | TRUE;> [constraints.ucf(22)]: INST "DCM_SP_INST" not found. Please verify |
||
+ | that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST FACTORY_JF = C080;> |
||
+ | [constraints.ucf(23)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST PHASE_SHIFT = 0;> |
||
+ | [constraints.ucf(24)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file. |
||
+ | ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST STARTUP_WAIT = FALSE;> |
||
+ | [constraints.ucf(25)]: INST "DCM_SP_INST" not found. Please verify that: |
||
+ | 1. The specified design element actually exists in the original design. |
||
+ | 2. The specified object is spelled correctly in the constraint source file.</nowiki> |
||
+ | Then the solution is simple: <b>DO NOT INCLUDE</b> the <tt>DCM_arwz.ucf</tt> file generated by IP CoreGenerator! |
||
+ | |||
+ | So, IGNORE the following file in <tt>ipcore_dir</tt>: |
||
+ | <nowiki># Generated by Xilinx Architecture Wizard |
||
+ | # --- UCF Template Only --- |
||
+ | # Cut and paste these attributes into the project's UCF file, if desired |
||
+ | INST DCM_SP_INST CLK_FEEDBACK = 1X; |
||
+ | INST DCM_SP_INST CLKDV_DIVIDE = 2.0; |
||
+ | INST DCM_SP_INST CLKFX_DIVIDE = 7; |
||
+ | INST DCM_SP_INST CLKFX_MULTIPLY = 25; |
||
+ | INST DCM_SP_INST CLKIN_DIVIDE_BY_2 = FALSE; |
||
+ | INST DCM_SP_INST CLKIN_PERIOD = 50.000; |
||
+ | INST DCM_SP_INST CLKOUT_PHASE_SHIFT = NONE; |
||
+ | INST DCM_SP_INST DESKEW_ADJUST = SYSTEM_SYNCHRONOUS; |
||
+ | INST DCM_SP_INST DFS_FREQUENCY_MODE = LOW; |
||
+ | INST DCM_SP_INST DLL_FREQUENCY_MODE = LOW; |
||
+ | INST DCM_SP_INST DUTY_CYCLE_CORRECTION = TRUE; |
||
+ | INST DCM_SP_INST FACTORY_JF = C080; |
||
+ | INST DCM_SP_INST PHASE_SHIFT = 0; |
||
+ | INST DCM_SP_INST STARTUP_WAIT = FALSE;</nowiki> |
||
+ | |||
+ | =See Also= |
||
+ | * [[DCM module with internal line as CLKIN]] |
||
+ | * [[Spartan 3E]] |
||
+ | * [[FPGA]] |
Latest revision as of 17:49, 26 May 2013
With the following 3 files (the DCM part is generated by the IPCoreGen of Xilinx), the DCM module can be made to work without the having to run the IP CORE generator.
Similar code can also be found in: Edit/Language Templates..., and then select Spartan 3, Clock Components, Clock MUX.
Top level LEDtest.vhdl:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity LEDtest is port ( clk_in: in std_logic; LED1: out std_logic; LED2: out std_logic ); end LEDtest; architecture BEHAVIOUR of LEDtest is component DCM71 port ( CLKIN_IN : in std_logic; CLKFX_OUT : out std_logic; CLKIN_IBUFG_OUT : out std_logic; CLK0_OUT : out std_logic; LOCKED_OUT : out std_logic); end component; signal count: integer range 0 to 114285719 := 0; signal clk: std_logic; signal clk0: std_logic; signal sec:integer range 0 to 3600 :=0; signal duration: integer range 0 to 32000000 := 1000000; signal tmp: std_logic_vector(0 downto 0); begin Inst_DCM71: DCM71 port map( CLKIN_IN =>clk_in, CLKFX_OUT =>clk, CLKIN_IBUFG_OUT =>open, CLK0_OUT =>clk0, LOCKED_OUT =>open); IN_process: process (clk) begin if clk'event and clk = '1' then count<=count+1; if count<duration then LED1<='1'; else LED1<='0'; end if; LED2<=tmp(0); if count>=114285714 then count<=0; sec<=sec+1; tmp <=conv_std_logic_vector(sec, 1); if sec=9 then sec<=0; duration<=32000000; else duration<=1000000; end if; end if; end if; end process; end BEHAVIOUR;
The DCM71.vhdl file (I call it '71' as it's supposed to convert a 20MHz clock into 71.428...MHz):
-------------------------------------------------------------------------------- -- Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. -------------------------------------------------------------------------------- -- ____ ____ -- / /\/ / -- /___/ \ / Vendor: Xilinx -- \ \ \/ Version : 12.4 -- \ \ Application : xaw2vhdl -- / / Filename : DCM71.vhd -- /___/ /\ Timestamp : 04/18/2013 14:47:31 -- \ \ / \ -- \___\/\___\ -- --Design Name: DCM71 --Device: xc3s500e-4vq100 -- -- Module DCM71 -- Generated by Xilinx Architecture Wizard -- Written for synthesis tool: XST library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.ALL; library UNISIM; use UNISIM.Vcomponents.ALL; entity DCM71 is port ( CLKIN_IN : in std_logic; CLKFX_OUT : out std_logic; CLKIN_IBUFG_OUT : out std_logic; CLK0_OUT : out std_logic; LOCKED_OUT : out std_logic); end DCM71; architecture BEHAVIORAL of DCM71 is signal CLKFB_IN : std_logic; signal CLKFX_BUF : std_logic; signal CLKIN_IBUFG : std_logic; signal CLK0_BUF : std_logic; signal GND_BIT : std_logic; begin GND_BIT <= '0'; CLKIN_IBUFG_OUT <= CLKIN_IBUFG; CLK0_OUT <= CLKFB_IN; CLKFX_BUFG_INST : BUFG port map (I=>CLKFX_BUF, O=>CLKFX_OUT); CLKIN_IBUFG_INST : IBUFG port map (I=>CLKIN_IN, O=>CLKIN_IBUFG); CLK0_BUFG_INST : BUFG port map (I=>CLK0_BUF, O=>CLKFB_IN); DCM_SP_INST : DCM_SP generic map( CLK_FEEDBACK => "1X", CLKDV_DIVIDE => 2.0, CLKFX_DIVIDE => 7, CLKFX_MULTIPLY => 25, CLKIN_DIVIDE_BY_2 => FALSE, CLKIN_PERIOD => 50.000, CLKOUT_PHASE_SHIFT => "NONE", DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS", DFS_FREQUENCY_MODE => "LOW", DLL_FREQUENCY_MODE => "LOW", DUTY_CYCLE_CORRECTION => TRUE, FACTORY_JF => x"C080", PHASE_SHIFT => 0, STARTUP_WAIT => FALSE) port map (CLKFB=>CLKFB_IN, CLKIN=>CLKIN_IBUFG, DSSEN=>GND_BIT, PSCLK=>GND_BIT, PSEN=>GND_BIT, PSINCDEC=>GND_BIT, --RST=>RST_IN, RST=>GND_BIT, CLKDV=>open, CLKFX=>CLKFX_BUF, CLKFX180=>open, CLK0=>CLK0_BUF, CLK2X=>open, CLK2X180=>open, CLK90=>open, CLK180=>open, CLK270=>open, LOCKED=>LOCKED_OUT, PSDONE=>open, STATUS=>open); end BEHAVIORAL;
And the constraints.ucf file:
# Crystal Clock - use 32MHz onboard oscillator NET "clk_in" LOC = "P89" | IOSTANDARD = LVCMOS25 | PERIOD = 50.0ns ; # Wing1 Column A NET "LED1" LOC = "P91"; NET "LED2" LOC = "P92";
If you encounter errors like these:
ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:NgdBuild:981 - Could not find any associations for the following constraint: ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLK_FEEDBACK = 1X;> [constraints.ucf(12)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKDV_DIVIDE = 2.0;> [constraints.ucf(13)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKFX_DIVIDE = 7;> [constraints.ucf(14)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKFX_MULTIPLY = 25;> [constraints.ucf(15)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKIN_DIVIDE_BY_2 = FALSE;> [constraints.ucf(16)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKIN_PERIOD = 50.000;> [constraints.ucf(17)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST CLKOUT_PHASE_SHIFT = NONE;> [constraints.ucf(18)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DESKEW_ADJUST = SYSTEM_SYNCHRONOUS;> [constraints.ucf(19)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DFS_FREQUENCY_MODE = LOW;> [constraints.ucf(20)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DLL_FREQUENCY_MODE = LOW;> [constraints.ucf(21)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST DUTY_CYCLE_CORRECTION = TRUE;> [constraints.ucf(22)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST FACTORY_JF = C080;> [constraints.ucf(23)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST PHASE_SHIFT = 0;> [constraints.ucf(24)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file. ERROR:ConstraintSystem:59 - Constraint <INST DCM_SP_INST STARTUP_WAIT = FALSE;> [constraints.ucf(25)]: INST "DCM_SP_INST" not found. Please verify that: 1. The specified design element actually exists in the original design. 2. The specified object is spelled correctly in the constraint source file.
Then the solution is simple: DO NOT INCLUDE the DCM_arwz.ucf file generated by IP CoreGenerator!
So, IGNORE the following file in ipcore_dir:
# Generated by Xilinx Architecture Wizard # --- UCF Template Only --- # Cut and paste these attributes into the project's UCF file, if desired INST DCM_SP_INST CLK_FEEDBACK = 1X; INST DCM_SP_INST CLKDV_DIVIDE = 2.0; INST DCM_SP_INST CLKFX_DIVIDE = 7; INST DCM_SP_INST CLKFX_MULTIPLY = 25; INST DCM_SP_INST CLKIN_DIVIDE_BY_2 = FALSE; INST DCM_SP_INST CLKIN_PERIOD = 50.000; INST DCM_SP_INST CLKOUT_PHASE_SHIFT = NONE; INST DCM_SP_INST DESKEW_ADJUST = SYSTEM_SYNCHRONOUS; INST DCM_SP_INST DFS_FREQUENCY_MODE = LOW; INST DCM_SP_INST DLL_FREQUENCY_MODE = LOW; INST DCM_SP_INST DUTY_CYCLE_CORRECTION = TRUE; INST DCM_SP_INST FACTORY_JF = C080; INST DCM_SP_INST PHASE_SHIFT = 0; INST DCM_SP_INST STARTUP_WAIT = FALSE;