Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Уважаемые, SM и Oldring (+)
Отправлено
Andy-P 28 марта 2008 г. 16:46
В ответ на:
(+) отправлено
SM 27 марта 2008 г. 16:09
Во-первых, я Вам очень признателен за внимание к моему вопросу.
Во-вторых, прошу меня простить за то, что не смог вовремя дать разъяснения по интерфейсу «наподобие SPI», меня привлекли на заводских испытания.
Внешняя ИМС в последовательном интерфейсе принимает данные по положительному фронту spiclk.
Частота system_clock равна 33МГц, а частота spiclk, соответственно, 33/4 = 8.25МГц – период 121нс.
В предыдущем моем посте был упомянут тактовый сигнал adcstb с периодом 6.944нс (частота 144МГц), и он не имеет никакого отношения к system_clock. В проекте три независимых тактовых сигнала и один с внутреннего делителя - generated clock
Несмотря на невысокую частоту spiclk, без констрейнов получалось Th=0.6ns (sdout относительно spiclk), что не удовлетворяет требуемому Th=1ns для внешней ИМС. Кроме этого, без констрейнов Th может меняться при изменении проекта. За Tsu можно особенно не беспокоится.
SM
“spiclk реально тактирует внутренние триггеры FPGA? Если нет, то и обконстрейнить его как клок будет нельзя, так как клоком может являться только сигнал, непосредственно тактирующий триггер. Как я понимаю, тактирование идет system_clock, следовательно все констрейны должны быть только относительно него. Таким образом придется написать отдельный констрейн на spiclk относительно system_clock, и отдельные констрейны для sdin/out, и тоже относительно system_clock.”
Да, Ваши предположения верны: spiclk это только выходной сигнал, - триггеры в FPGA не тактирует.
На данный момент я так и сделал констрейны: spiclk переключается во временном окне длительностью 3нс, заданным относительно system_clock.
Отдельные констрейны для sdin/out, и тоже относительно system_clock (с учетом положения временного окна для spiclk).
Как новичку в SDC, показалось, что констрейн spiclk - system_clock избыточен (на него нет требований, а его присутствие усложнит задачу фиттеру) и можно как-то (например, вводом дополнительного create_generated_clock для spiclk, либо …) описать констрейны непосредственно spiclk - sdin/out.
Спасибо, Ваш ответ все прояснил.
--********************************
Еще один вопрос, если позволите :)
Система:
- АЦП тактируется генератором (smpclk),
- данные с АЦП подаются в FPGA,
- АЦП выдает сопроводительный сигнал (adcclk) эквивалентный
задержанному такту smpclk,
- adcclk подается в FPGA как тактовый.
Есть:
- min & max времени задержки adcclk относительно smpclk,
- min & max времени задержки данных относительно smpclk,
- перекос данные – adcclk, который значительно меньше min & max
времен задержек
Поскольку TimeQuest, как заявляют, можно использовать для описания на уровне системы, очень хотелось бы:
- Описать констрейны так, чтобы максимально полно отразить всю
систему, т.е. можно было бы по описанию понять систему.
- указывать в констрейнах непосредственные данные с пункта «есть: …»
Возможно ли это хоть в каком-то приближении, или я размечтался :)
Составить ответ | Вернуться на конференцию
Ответы
- Ответ: (+) — SM (30.03.2008 14:14:18 80.92.255.53, 411 байт)
- Ответ: (+) — Andy-P (31.03.2008 13:23:27 83.218.236.246, 2060 байт)
- Ответ: (+) — SM (31.03.2008 22:37:13 80.92.255.53, 459 байт)
- Ответ: (+) — Andy-P (01.04.2008 13:36:37 83.218.236.246, 1581 байт)