⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart232_top.ucf

📁 spi接口的vhdl实现
💻 UCF
📖 第 1 页 / 共 2 页
字号:
################################################################################
# File:                  pl4_lite_wrapper.ucf
# Date:                  13 July 2006
# Target Device:         3s1200e-fg400-4
################################################################################
# Description:
# This UCF file is provided as an example constraint file for the SPI-4.2 core.
# This file can be modified to target other device and package configurations.
# For details on how to retarget the core, see the User Guide.   
################################################################################

CONFIG PART = 3s1200e-fg400-4;

	
###############################################################################
# Sink Side constraints 
# The following set the constraints for the sink core pl4_lite_snk_top.edf. 
# If the Sink and Source back-end files are looped backing using 
# pl4_lite_fifo_loopback, then the back-end clocks should not be set here. 
###############################################################################

######################################################################
# Constrain the DCMs and associated BUFGMUXes
# NOTE: This section may require modification depending on
#       the clocking of the user's logic.
######################################################################
 
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_clk0/rdclk_dcm0"  LOC = DCM_X1Y3;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_clk0/rdclk_bufg0" LOC = BUFGMUX_X1Y11;

######################################################################
# RDClk DCM Phase Shift
# The PHASE SHIFT of the RDCLK can be modified to change the alignment 
# of the RDClk relative to the RDat & RCtl inputs.
# Note: The instance name may require modification to reflect the 
# user's design hierarchy and synthesis tools.
######################################################################
 
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_clk0/rdclk_dcm0" CLKOUT_PHASE_SHIFT = FIXED;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_clk0/rdclk_dcm0" PHASE_SHIFT = 62;

###############################################################################
# PL4 FIFO Loopback constraints 
# The following set the constraints for back-end design. This assumes 
# that the wrapper file is used to loopback the Sink data to the Source 
# side. If this is not true, then the following should be commented 
# out, and instead, use the constraints listed under Sink Side 
# Constraints. 
###############################################################################

NET "CalClk" TNM_NET = "CalClk"; 
TIMESPEC "TS_CalClk" = PERIOD "CalClk" 23 MHz HIGH 50 %; 

NET "LoopbackClk" TNM_NET = "LoopbackClk"; 
TIMESPEC "TS_LoopbackClk" = PERIOD "LoopbackClk" 90 MHz HIGH 50 % ; 

# Set the frequency of the PL4 Sink side 
NET "RDClk_P" TNM_NET = "RDClk_P"; 
TIMESPEC "TS_RDClk_P" = PERIOD "RDClk_P" 90 MHz HIGH 50 % INPUT_JITTER 200 ps;

NET "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/EnRSClk_int*" TNM = FFS snk_cal_flops;
TIMESPEC "TS_SnkCalFlops" = FROM "snk_cal_flops" TO "snk_cal_flops" "TS_RDClk_P"/ 4;

# The following are only required if the back-end clocking is not
# otherwise set
#NET "SnkFFClk" TNM_NET = "SnkFFClk"; 
#TIMESPEC "TS_SnkFFClk" = PERIOD "SnkFFClk" 90 MHz HIGH 50.00%; 

#NET "SnkCalClk" TNM_NET = "SnkCalClk"; 
#TIMESPEC "TS_SnkCalClk" = PERIOD "SnkCalClk" 23 MHz HIGH 50.00%; 

#NET "SnkStatClk" TNM_NET = "SnkStatClk"; 
#TIMESPEC "TS_SnkStatClk" = PERIOD "SnkStatClk" 23 MHz HIGH 50.00%;


###############################################################################
# Sink Area Constraint and IO Banking 
# The following constraints are pertaining to the footprint of the sink core.
###############################################################################

###############################################################################
# Area constraint, blockRAM placement, Sink IO banking
# Note that the area group must encompass all Sink pins. 
###############################################################################
INST uart232_pl4_lite_snk_top0/* AREA_GROUP = AG_pl4_lite_snk ;
AREA_GROUP "AG_pl4_lite_snk" RANGE = SLICE_X0Y119:SLICE_X45Y60;


# FIFO BlockRAM locations 
#INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_afifo0/pl4_generic_fifo0/generic_fifo_ram0/BlockRAM360" LOC = "RAMB16_X0Y10";
#INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_afifo0/pl4_generic_fifo0/generic_fifo_ram0/BlockRAM361" LOC = "RAMB16_X0Y11";

# Calendar Logic BlockRAM location
#INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" LOC =  "RAMB16_X0Y13";

# IO
NET "RCtl*" NODELAY;
NET "RDat*" NODELAY;

#INST "RCtl*" LOC = "Bank0";
#INST "RDat*" LOC = "Bank0";
INST "RDClk*" LOC = "Bank0";  
###############################################################################
# Sink Side DDR I/O Timing Constraints
###############################################################################
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_io0/rdat_clk0*" TNM = RD_DDR_R;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_io0/rdat_clk180*" TNM = RD_DDR_F;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_io0/rctl_clk0*" TNM = RC_DDR_R;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_io0/rctl_clk180*" TNM = RC_DDR_F;

OFFSET = IN -1.11 ns VALID 3.33 ns BEFORE RDClk_P TIMEGRP RD_DDR_R ;
OFFSET = IN -6.66 ns VALID 3.33 ns BEFORE RDClk_P TIMEGRP RD_DDR_F ;
OFFSET = IN -1.11 ns VALID 3.33 ns BEFORE RDClk_P TIMEGRP RC_DDR_R ;
OFFSET = IN -6.66 ns VALID 3.33 ns BEFORE RDClk_P TIMEGRP RC_DDR_F ;


################################################################################
#$RCSfile: snk_cal_ucf.ejava,v $
#$Revision: 1.1.4.1 $
#$Date: 2007/03/16 10:42:36 $


######################################################################
# Initialize the calendar logic
# Sample initialization values are shown below, defaulting the calendar 
# to a round-robin sequence.
######################################################################
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_00 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_01 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_02 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_03 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_04 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_05 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_06 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_07 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_08 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_09 = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0A = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0B = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0C = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0D = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0E = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
# INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/CalRAM/BlockRam" INIT_0F = 0F0E0D0C0B0A090807060504030201000F0E0D0C0B0A09080706050403020100;
 

#EOF: $RCSfile $ 
##########################################################
# Sink Core I/O and Reset Constraints
##########################################################
################# DO NOT EDIT ############################
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/rsclk_ff"     IOB=TRUE;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/rstat0_ff"    IOB=TRUE;
INST "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/rstat1_ff"    IOB=TRUE;

NET "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_core0/pl4_lite_snk_cal0/rsclk_rst"        MAXDELAY = 11 ns;
NET "uart232_pl4_lite_snk_top0/U0/pl4_lite_snk_reset0/snk_stat_clk_rst_gen/reset_out_i"  MAXDELAY = 11 ns;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -