реклама на сайте
подробности

 
 
> Разработка проектов для больших кристаллов, Посоветуйте как правильно
PPA
сообщение Oct 2 2007, 18:30
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 2-10-07
Пользователь №: 31 012



Разрабатываю кусок проекта в QuartusII 5.1 для StratixII EP2S130.
В проекте реализованы интерфейсы с периферийными микросхемами.
Ранее я разрабатывал проекты только для маленьких ПЛИСов, типа циклона. Выглядело это примерно так:
-рисовалась схема из примитивов и параметризируемых модулей
-компиляция, симуляция
-исправления
-компиляция, симуляция
-назначение ножек
-финальная компиляция, симуляция и создание прошивок.
Здесь я делал всё также - отладил кусок проекта на нужном кристалле (задавал временные требования), но когда назначил пины в соответствии со схемой Э3 (схема выпускалась параллельно, и пины назначались по принципу - как удобно конструктору), моя схема перестала работать. Поехали все задержки. Кое-как заставил работать схему, но при добавлении новых элементов схема ведет себя неадекватно. Всё зависит от фиттера - как он разместит блоки внутри кристалла одному квартусу известно. Пытаюсь лоджик локом группировать куски схемы, которые должны работать быстро и судя по симуляции не успевают это делать - всё равно эффекта нет.
Итак - если кто сталкивался с такой проблемой - помогите советом. Как разрабатывать проекты в больших кристаллах, чтобы они не переставали работать после добавления пары регистров и перекомпиляции? help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
PPA
сообщение Oct 4 2007, 18:05
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 2-10-07
Пользователь №: 31 012



Итак по порядку:
У Вас синхронный проект? - ДА

В настройках фиттеру необходимую частоту клока задавали? - Основные тактовые частоты я прописал, но фиттеру надо прописывать все сигналы, которые заводятся на вход CLK регистров или счётчиков - их я не прописывал. они как правило формируются логикой (какой-нибудь сигнал записи в регистр) - как я понял для таких сигналов нужно указать максимально возможную частоту. Нужно ли это делать? Их больше сотни (судя по месседжеру) и это делать лениво sad.gif

После компиляции результаты Timing Analyzer смотрели? - смотрел, я плохо эти результаты воспринимаю, так как не знаю, какие должны быть задержки.

Входные и выходные сигналы подаются через FastInputReg и FastOutputReg? - на пины я навешивал альт инбуф и альт аутбуф - далее регистр - насколько я понимаю фиттер в таком случае их автоматом ставит как фаст инпут-аутпут регистр.

Logic Lock по-моему существенно увеличивает время компиляции. Мой проект сейчас компилируется порядка 8 минут (иногда после каких-нибудь изменений бывает 15 минут).
Есть такая штука - инкрементальная компиляция - компиляция проекта по частям. Компилируются только имзмененные куски схемы. Я сделал в проекте несколько разделов, после чего компиллер начал ругаться на то, что у меня шина называется одинаково в 4 местах - но это одна и та же шина!!! и раньше он компилировал эту схему без ошибок.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 5 2007, 04:55
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(PPA @ Oct 4 2007, 22:05) *
У Вас синхронный проект? - ДА

В настройках фиттеру необходимую частоту клока задавали? - Основные тактовые частоты я прописал, но фиттеру надо прописывать все сигналы, которые заводятся на вход CLK регистров или счётчиков - их я не прописывал. они как правило формируются логикой (какой-нибудь сигнал записи в регистр) - как я понял для таких сигналов нужно указать максимально возможную частоту. Нужно ли это делать? Их больше сотни (судя по месседжеру) и это делать лениво

[Жирным выделено мной] А говорите, что проект синхронный. Наплодили gated clocks -- вот вам и ответ.
Go to the top of the page
 
+Quote Post
PPA
сообщение Oct 5 2007, 18:14
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 2-10-07
Пользователь №: 31 012



Цитата(andrew_b @ Oct 5 2007, 08:55) *
[Жирным выделено мной] А говорите, что проект синхронный. Наплодили gated clocks -- вот вам и ответ.

Проект синхронный, но вы правы, я наплодил Gated Clocks. Если малая доля регистров в проекте не тактируется общим клоком - проект не синхронный?
Про синхронность проекта - в проекте несколько глобальных тактов:
- такт шины обмена с перифирийными чипами - 100МГц
- такт шины обмена с процессором - 100МГц
- внутренний такт 150 МГц с PLL
мой проект должен общаться со всей этой перифирией. Проект синхронный???
Чем страшны Gated Clocks?
Опыта не много - поэтому возможно туплю 07.gif
Go to the top of the page
 
+Quote Post
DuHast
сообщение Oct 5 2007, 18:58
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797



Цитата(PPA @ Oct 5 2007, 22:14) *
Про синхронность проекта - в проекте несколько глобальных тактов:
- такт шины обмена с перифирийными чипами - 100МГц
- такт шины обмена с процессором - 100МГц
- внутренний такт 150 МГц с PLL

Ситуация проясняется. У Вас три тактовых сигнала, лучше говорить три клоковых домена. Клоковый домен - часть проекта, тактируемая одним клоком. Из одного домена в другой данные должны передаваться через DCFIFO.

Цитата
Чем страшны Gated Clocks?

Работа схемы зависит от разводчика и её нельзя(сложно) предугадать на этапе проектирования.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016