Простите, я, видимо, плохо объяснил, что мне требуется. Прикрепляю изображение. Исходные сигналы идут фреймами (bcki, wcki, dil, dir), определенными на изображении между маркерами 60.48 us и +2.88 us - как на первом изображении в первом сообщении. На выходе необходимо получить фреймы, соответствующие содержимому между маркерами +302.0 ns и +3.182 us для bcko, wcko, dol, dor. Внутри этого фрейма возможно изменение положения пачки bcko и фронта wcko. Для этого введены группы bcks[] и wcks[]. Во время работы изменение содержимого bcks[] и wcks[] запрещено через фиксирующий регистр.
Для чего мне это нужно, объяснять долго и, думаю, что не интересно никому. К настоящему времени немного разобрался с некоторыми проблемами. Переделал необходимую мне часть проекта из целого листинга в схемно-листинговый вариант. Налицо непонимание между мной и компилятором. Я понимаю, что компилятор не воспринимает "рваный" клок, но он мне таким и нужен. И его необходимо сгенерировать из 768Fs, а затем привязать к нему исходные данные.
Постараюсь сформулировать свои вопросы конкретно:
1) Имеет ли право на жизнь использованный мной алгоритм привязки данных к новому тактовому сигналу? Я его описывал в первом сообщении. На всякий случай, вот ссылка на архив с проектом из Квартуса 9.1:
http://narod.ru/disk/15522786000/tim_reg.rar.html Сюда такой большой файл выложить не получается.
2) Откуда могут появляться иголки длительностью 0.1 ns без привязки к какому либо сигналу? Самое интересное, что для серии MAX7000S этих иголок не возникает, а для Stratix иголками усеяны выходные сигналы данных.
3) Как мне объяснить компилятору, что такой-то сигнал должен быть таким - синтезированным и "рваным"? Как ему объяснить, что фиксирующий регистр не требует наносекундных задержек, и для него допустима задержка, например, 1 микросекунда?
Заранее благодарен.