Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
Simple VME FMC Carrier SVEC
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
14
Issues
14
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Simple VME FMC Carrier SVEC
Commits
f5c8df30
Commit
f5c8df30
authored
Jul 25, 2019
by
Dimitris Lampridis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[hdl] rework cross-clock domain constraints
parent
badab820
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
20 deletions
+30
-20
svec_template_common.ucf
hdl/rtl/svec_template_common.ucf
+22
-12
svec_template_wr.ucf
hdl/rtl/svec_template_wr.ucf
+8
-8
No files found.
hdl/rtl/svec_template_common.ucf
View file @
f5c8df30
...
@@ -227,21 +227,31 @@ TIMESPEC TS_ddr_rst_tig = FROM FFS THRU ddr_rst TIG;
...
@@ -227,21 +227,31 @@ TIMESPEC TS_ddr_rst_tig = FROM FFS THRU ddr_rst TIG;
#----------------------------------------
#----------------------------------------
# Declaration of domains
# Declaration of domains
NET "inst_svec_template/clk_sys_62m5" TNM_NET = sys_clk_62m5;
NET "inst_svec_template/clk_ref_125m" TNM_NET = clk_125m_pllref;
NET "inst_svec_template/clk_ddr_333m" TNM_NET = ddr_clk;
#TIMEGRP "sys_clk" = "sys_clk_62m5" "clk_125m_pllref";
NET "inst_svec_template/clk_sys_62m5" TNM_NET = sys_clk;
NET "inst_svec_template/clk_ref_125m" TNM_NET = ref_clk;
NET "inst_svec_template/clk_ddr_333m" TNM_NET = ddr_clk;
TIMEGRP "ref_sync_ffs" = "sync_ffs" EXCEPT "ref_clk";
TIMEGRP "sys_sync_ffs" = "sync_ffs" EXCEPT "sys_clk";
TIMEGRP "ddr_sync_ffs" = "sync_ffs" EXCEPT "ddr_clk";
# Exceptions for crossings via gc_sync_ffs
# Exceptions for crossings via gc_sync_ffs
#NET "*/gc_sync_ffs_in" TNM = FFS "sync_ffs";
#TIMEGRP "sys_sync_ffs" = "sync_ffs" EXCEPT "sys_clk";
NET "*/gc_sync_ffs_in" TNM = FFS "sync_ffs";
#TIMEGRP "ddr_sync_ffs" = "sync_ffs" EXCEPT "ddr_clk";
TIMESPEC TS_ref_sync_ffs = FROM ref_clk TO "sys_sync_ffs" TIG;
TIMESPEC TS_sys_sync_ffs = FROM sys_clk TO "sys_sync_ffs" TIG;
TIMESPEC TS_ddr_sync_ffs = FROM ddr_clk TO "ddr_sync_ffs" TIG;
# Exceptions for crossings via gc_sync_register
NET "*/gc_sync_register_in[*]" TNM = FFS "sync_reg";
#TIMESPEC TS_sys_sync_ffs = FROM sys_clk TO "sys_sync_ffs" TIG;
TIMEGRP "ref_sync_reg" = "sync_reg" EXCEPT "ref_clk";
#TIMESPEC TS_ddr_sync_ffs = FROM ddr_clk TO "ddr_sync_ffs" TIG;
TIMEGRP "sys_sync_reg" = "sync_reg" EXCEPT "sys_clk";
TIMEGRP "ddr_sync_reg" = "sync_reg" EXCEPT "ddr_clk";
#TIMESPEC TS_sys_62m5_sync_reg = FROM sys_clk_62m5 TO "sys_sync_reg" 16ns
DATAPATHONLY;
TIMESPEC TS_ref_sync_reg = FROM ref_clk TO "ref_sync_reg" 8ns
DATAPATHONLY;
#TIMESPEC TS_sys_125m_sync_reg = FROM clk_125m_pllref TO "sys_sync_reg" 8ns
DATAPATHONLY;
TIMESPEC TS_sys_sync_reg = FROM sys_clk TO "sys_sync_reg" 16ns
DATAPATHONLY;
#TIMESPEC TS_ddr_sync_reg = FROM ddr_clk
TO "ddr_sync_reg" 3ns DATAPATHONLY;
TIMESPEC TS_ddr_sync_reg = FROM ddr_clk
TO "ddr_sync_reg" 3ns DATAPATHONLY;
hdl/rtl/svec_template_wr.ucf
View file @
f5c8df30
...
@@ -98,22 +98,22 @@ TIMESPEC TS_dmtd_skew = FROM "skew_limit" TO "FFS" 1 ns DATAPATHONLY;
...
@@ -98,22 +98,22 @@ TIMESPEC TS_dmtd_skew = FROM "skew_limit" TO "FFS" 1 ns DATAPATHONLY;
#----------------------------------------
#----------------------------------------
# Declaration of domains
# Declaration of domains
NET "inst_svec_template/gen_wr.cmp_xwrc_board_svec/clk_pll_dmtd" TNM_NET = clk_dmtd;
NET "inst_svec_template/gen_wr.cmp_xwrc_board_svec/clk_pll_dmtd" TNM_NET = clk_dmtd;
NET "inst_svec_template/gen_wr.cmp_xwrc_board_svec/phy8_to_wrc_rx_clk" TNM_NET = phy_clk;
NET "inst_svec_template/gen_wr.cmp_xwrc_board_svec/phy8_to_wrc_rx_clk" TNM_NET = phy_clk;
NET "*/gc_sync_ffs_in" TNM = FFS "sync_ffs";
# Exceptions for crossings via gc_sync_ffs
TIMEGRP "dmtd_sync_ffs" = "sync_ffs" EXCEPT "clk_dmtd";
TIMEGRP "dmtd_sync_ffs" = "sync_ffs" EXCEPT "clk_dmtd";
TIMEGRP "phy_sync_ffs" = "sync_ffs" EXCEPT "phy_clk";
TIMEGRP "phy_sync_ffs" = "sync_ffs" EXCEPT "phy_clk";
TIMESPEC TS_dmtd_sync_ffs = FROM clk_dmtd
TO "dmtd_sync_ffs" TIG;
TIMESPEC TS_dmtd_sync_ffs = FROM clk_dmtd TO "dmtd_sync_ffs" TIG;
TIMESPEC TS_phy_sync_ffs = FROM phy_clk
TO "phy_sync_ffs" TIG;
TIMESPEC TS_phy_sync_ffs = FROM phy_clk TO "phy_sync_ffs" TIG;
# Exceptions for crossings via gc_sync_register
# Exceptions for crossings via gc_sync_register
NET "*/gc_sync_register_in[*]" TNM = FFS "sync_reg";
#
TIMEGRP "dmtd_sync_reg" = "sync_reg" EXCEPT "clk_dmtd";
TIMEGRP "dmtd_sync_reg" = "sync_reg" EXCEPT "clk_dmtd";
TIMEGRP "phy_sync_reg" = "sync_reg" EXCEPT "phy_clk";
TIMEGRP "phy_sync_reg" = "sync_reg" EXCEPT "phy_clk";
#TIMESPEC TS_dmtd_sync_reg = FROM clk_dmtd
TO "dmtd_sync_reg" 16ns DATAPATHONLY;
TIMESPEC TS_dmtd_sync_reg = FROM clk_dmtd
TO "dmtd_sync_reg" 16ns DATAPATHONLY;
TIMESPEC TS_phy_sync_reg
= FROM phy_clk
TO "phy_sync_reg" 8ns DATAPATHONLY;
TIMESPEC TS_phy_sync_reg
= FROM phy_clk
TO "phy_sync_reg" 8ns DATAPATHONLY;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment