У меня проект на Spartan-3. Пользуюсь ISE 11.5.
Для работы мне требуется два клока. Поэтому входной клок 122.88 МГц я завожу на DCM и уже с него в дизайн поступают все тот же 122.88 МГц и деленный на 4, то есть 30.72 МГц. Для входного клока я описываю его период. Для derivative констрейнты вычисляются автоматически. Меня смущает цифра максимальной частоты, которая получается для Post Place&Route Timing. Вот фрагмент отчета:
Код
Derived Constraint Report
Derived Constraints for TS_clk_in
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
| | Period | Actual Period | Timing Errors | Paths Analyzed |
| Constraint | Requirement |-------------+-------------|-------------+-------------|-------------+-------------|
| | | Direct | Derivative | Direct | Derivative | Direct | Derivative |
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
|TS_clk_in | 8.138ns| 5.987ns| 8.124ns| 0| 0| 0| 1217843|
| TS_iLTE_CLK_CLK0_BUF | 8.138ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLKDV_BUF | 24.414ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLK0_BUF_0 | 8.138ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLKDV_BUF_0 | 32.552ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLK0_BUF_1 | 8.138ns| 8.124ns| N/A| 0| 0| 1198352| 0|
| TS_iLTE_CLK_CLKDV_BUF_1 | 32.552ns| 32.108ns| N/A| 0| 0| 19491| 0|
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
All constraints were met.
Timing summary:
---------------
Timing errors: 0 Score: 0 (Setup/Max: 0, Hold: 0)
Constraints cover 1218397 paths, 0 nets, and 132950 connections
Design statistics:
Minimum period: 32.108ns{1} (Maximum frequency: 31.145MHz)
Minimum input required time before clock: 2.787ns
Derived Constraints for TS_clk_in
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
| | Period | Actual Period | Timing Errors | Paths Analyzed |
| Constraint | Requirement |-------------+-------------|-------------+-------------|-------------+-------------|
| | | Direct | Derivative | Direct | Derivative | Direct | Derivative |
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
|TS_clk_in | 8.138ns| 5.987ns| 8.124ns| 0| 0| 0| 1217843|
| TS_iLTE_CLK_CLK0_BUF | 8.138ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLKDV_BUF | 24.414ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLK0_BUF_0 | 8.138ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLKDV_BUF_0 | 32.552ns| 2.376ns| N/A| 0| 0| 0| 0|
| TS_iLTE_CLK_CLK0_BUF_1 | 8.138ns| 8.124ns| N/A| 0| 0| 1198352| 0|
| TS_iLTE_CLK_CLKDV_BUF_1 | 32.552ns| 32.108ns| N/A| 0| 0| 19491| 0|
+-------------------------------+-------------+-------------+-------------+-------------+-------------+-------------+-------------+
All constraints were met.
Timing summary:
---------------
Timing errors: 0 Score: 0 (Setup/Max: 0, Hold: 0)
Constraints cover 1218397 paths, 0 nets, and 132950 connections
Design statistics:
Minimum period: 32.108ns{1} (Maximum frequency: 31.145MHz)
Minimum input required time before clock: 2.787ns
Судя по "All constraints were met" все у меня получилось. Но цифра "Maximum frequency: 31.145MHz" мне непонятна. Я проверил, 31.145MHz - это 1/32.108ns, который есть достижимый период для деленного клока. А я бы хотел получить максимальную цифру для входного клока... Научите, плз, как правильно это делать.
Спасибо.