Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 17, 2024 02:13

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Spartan3 starter kit, picoblaze, 'clock'
СообщениеДобавлено: Вс дек 02, 2007 16:40 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Что-то не срастается у меня с пикоблейзом. :(
Скачал с ксилинкса KCPSM3.zip, распаковал, прочитал документацию,
собрал часы.
(порядок сборки: ассемблирую пример uclock.psm, кладу UCLOCK.VHD в каталог с проектом, пишу УЦФку, собираю проект, заливаю)

Не работает.
Ни на 38400, ни на 57600, ни на 115200 никаких байтов из компорта не вижу.
(перешиваю в плату плазма3 проект с монитором -- всё работает)

<b>В чем проблема? Кто виноват? Что делать?</b> Пробовал частоту снижать вдвое - все равно что-то не то.

Файлы проекта: kcuart_rx.vhd, kcuart_tx.vhd, kcpsm3.vhd, bbfifo_16x8.vhd, UCLOCK.VHD, uart_clock.vhd, uart_rx.vhd, uart_tx.vhd 'из коробки', УЦФка самописная:
=========
NET "clk" TNM_NET = "clk";
#TIMESPEC "TS_clk" = PERIOD "clk" 18 ns HIGH 50 %;
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
NET "rx" LOC = "T13"; #??
NET "tx" LOC = "R13"; #??
NET "alarm" LOC = "P11";
=========

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 02, 2007 21:09 
А клок куда прицеплен?
NET "clk" LOC = " ??? " ;


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 02, 2007 23:20 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Никуда не прицеплен. 8)
Точнее, на плате стоит 50МГц кварц, подключенный к ноге T9(GCLK0)

Как правильно в констрейнах описать, что на ноге микросхемы Т9 у нас 50МГц кварц, а на входе схемы 'clk' мы хотим получить 55 МГц?

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 01:44 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
NET "clk" LOC = "T9";

Насчет частоты уже прописано -
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;

Только тогда надо 20 нс написать, чтобы подавать 50 МГц (запас тут совершенно не нужен, трассировка и так будет по наихудшим условиям).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 10:56 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
(Тупо) Еще раз, пожалуйста.
Откуда система знает частоту внешнего кварца?
Насколько я понимаю, надо прописать и частоту внешнего кварца и желаемую тактовую на 'clk' и тот факт, что кварц является 'исходником', а все остальное надо синтезировать из него.

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 13:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
nicka писал(а):
Откуда система знает частоту внешнего кварца?

Насколько я понимаю, надо прописать и частоту внешнего кварца и желаемую тактовую на 'clk' и тот факт, что кварц является 'исходником', а все остальное надо синтезировать из него.


Вот эта строка
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
говорит, что на цепи clk будет меандр с коэффициентом заполнения 50% и периодом 36 нс. От тактовой цепи потянутся остальные, САПР гарантированно проложит их так, чтобы к приходу следующего фронта все сигналы успели распространиться. (Пишутся не частоты, а периоды, т.е. времена задержки распространения).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 13:36 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А которая строка описывает внешний кварц?
Можно для тупых :) привести обе (все нужные) строки сразу? :\

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 13:41 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
NET "clk" LOC = "T9";

Первая строка говорит, что по цепи clk будет гулять меандр с периодом 36 нс. Вторая - что на эту цепь приходит внешний сигнал с ноги T9.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 14:28 
Хищник, nicka судя по всему спрашивает как заставить ПЛИС-ку создать генератор с использованием внешнего кварца.
ЗЫ. Т.к. он привык к тому, что для тактирования к МС нужно подключить только кварц (и 2 конденсатора), а не внешний генератор с кварцем....


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 15:04 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
ArtemKAD писал(а):
Хищник, nicka судя по всему спрашивает как заставить ПЛИС-ку создать генератор с использованием внешнего кварца. ЗЫ. Т.к. он привык к тому, что для тактирования к МС нужно подключить только кварц (и 2 конденсатора), а не внешний генератор с кварцем....


Именно в этом недоппонимание.

Сухой итог:
пишем в констрэйнс только эти две строчки
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
NET "clk" LOC = "T9";
и в результате имеем на ноге Т9 меандр с заказанными параметрами, который где-то снаружи генерируется каким-то волшебным образом из 50МГц кварца.

Так?

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 15:07 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Первая строка говорит, что по цепи clk будет гулять меандр с периодом 36 нс. Вторая - что на эту цепь приходит внешний сигнал с ноги T9.

А где и как описывается, откуда на эту (внешнюю) ногу придёт внешний сигнал именно с такими параметрами?

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 15:40 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Во, кажется, сформулировал:
Кто/где/как синтезирует из 50МГц внешнего кварца всю сетку частот?
Как это объяснить ФПГАшке?

Почему
NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
NET "rx" LOC = "T13";
NET "tx" LOC = "R13";
NET "alarm" LOC = "P11";
приводит к отсутствию каких-либо частот и к отсутствию ругани со стороны айса?

Почему
NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;
NET "clk" LOC = "T9";
Приводит к появлению 50 (а не 55)МГц тактового сигнала?

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 17:43 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
nicka писал(а):
Во, кажется, сформулировал:

Кто/где/как синтезирует из 50МГц внешнего кварца всю сетку частот?

Как это объяснить ФПГАшке?

Ага, понял. "Всю сетку частот" никто не синтезирует. У пикоблейза есть опорная частота, он сам из нее делает, что надо, пользуясь блоками DCM. Подать опорную частоту - на ответственности разработчика.
nicka писал(а):
Почему

NET "clk" TNM_NET = "clk";

TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;

NET "rx" LOC = "T13";

NET "tx" LOC = "R13";

NET "alarm" LOC = "P11";

приводит к отсутствию каких-либо частот и к отсутствию ругани со стороны айса?

Потому что ПЛИС и САПР ничего не знают о том, откуда возьмется тактовая частота, и это не их дело. Сами синтезировать они не умеют, нужен внешний кварц. На плате он есть... но на каждой плате он есть по-своему, поэтому строка LOC = xxx означает только то, что разработчик гарантирует, что там такой сигнал будет.
nicka писал(а):
Приводит к появлению 50 (а не 55)МГц тактового сигнала?

Потому что такой кварц запаян на плате. Информация о тактовом сигнале имеет смысл "тебе на эту ножку подадут такую-то частоту, будь готов".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 17:44 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
nicka писал(а):
Во, кажется, сформулировал:

Кто/где/как синтезирует из 50МГц внешнего кварца всю сетку частот?

Как это объяснить ФПГАшке?

Ага, понял. "Всю сетку частот" никто не синтезирует. У пикоблейза есть опорная частота, он сам из нее делает, что надо, пользуясь блоками DCM. Подать опорную частоту - на ответственности разработчика.
nicka писал(а):
Почему

NET "clk" TNM_NET = "clk";

TIMESPEC "TS_clk" = PERIOD "clk" 36 ns HIGH 50 %;

NET "rx" LOC = "T13";

NET "tx" LOC = "R13";

NET "alarm" LOC = "P11";

приводит к отсутствию каких-либо частот и к отсутствию ругани со стороны айса?

Потому что ПЛИС и САПР ничего не знают о том, откуда возьмется тактовая частота, и это не их дело. Сами синтезировать они не умеют, нужен внешний кварц. На плате он есть... но на каждой плате он есть по-своему, поэтому строка LOC = xxx


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 03, 2007 18:39 
Не в сети

Зарегистрирован: Вс ноя 25, 2007 22:53
Сообщения: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
"Всю сетку частот" никто не синтезирует. У пикоблейза есть опорная частота, он сам из нее делает, что надо, пользуясь блоками DCM.

Хищник писал(а):
ПЛИС и САПР ничего не знают о том, откуда возьмется тактовая частота, и это не их дело. Сами синтезировать они не умеют, нужен внешний кварц.


imho эти две фразы немножко противоречат друг другу.
Кто синтезирует частоты пользуясь блоками DCM?
Это программист явно на VHDL'е описывает, или это описывается в констрэйнах?
Если второе, то как указать, которая из частот опорная(первичная)?

Вот, например, на физической ноге А13 у нас 50 МГц от внешнего кварца, а в моделируемой схеме на логическом входе clk_in должно быть 55МГц. Как это должно быть описано в констрейнах?

_________________
С приветом, Никита.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB