Ok, so I'm working with a COTs DSP board vendor's ISE project and customizing the logic (essentially tossing code in a user wrapper). Unfortunately, I'm having some 'user-friendly' issues with the project file and customizability.
Here is a snippet of what I sent to their engineer:
---------------------------------------------------------------------- Constraint | Requested | Actual | |
----------------------------------------------------------------------
- TS_clk_fx = PERIOD TIMEGRP "clk_fx" TS_sy | 0.000ns | -0.821ns
s_clk_in * 1.33333 HIGH 50% HOLD ERROR | |
----------------------------------------------------------------------
- TS_clk_fx = PERIOD TIMEGRP "clk_fx" TS_sy | 6.696ns | 20161.65ns
s_clk_in * 1.33333 HIGH 50% | |
----------------------------------------------------------------------
- TS_sys_clk_in = PERIOD TIMEGRP "sys_clk_i | 8.928ns | 20.255ns n" 112 MHz HIGH 50% | |
This is the PAR result from the baseline project I got off the web. I assume this project is built to operate with the 250 MHz A/Ds. Here are my assumptions:
1) The 'sys_clk_in' is over-constrained to 112 MHz (100 MHz actual) 2) The 'clk_fx' derived from the fx port of the DCM is constrained to 1.333*sys_clk_in (125 MHz = 250 MHz/2 actual)-Notes:
1) 'sys_clk_in' is a board clock at 100 MHz (constrained to 112 MHz) 2) 'sys_clk' is derived from 'sys_clk_in' via DCM's fx output at 4/3. 'sys_clk' needs to operate at 125 MHz (constrained to ~150 MHz).-His response: "You're right. The Xilinx tool has a bug. Something about spinning up a clock using a DCM & subsequent timing analysis. The hardware does work."
-My questions to those experienced: I've seen clock's overconstrained before with another vendor.
1) Is this a common practice? If so, I could envision timing results being highly overconstrained when dealing with DCMs.2) Is this really a bug or is the project misconstrained?
3) Am I crazy to think it's unreasonable to be given a 'user-defineable' project with timing that is seemingly failing by default? (i.e. how am I to modify the project and know it will work if the baseline does not meet timing?)Thanks,
-Brandon