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

 
 
> Проблемы при работе схемы по одинаковому запускающему и защелкивающему фронту
RoadRunner
сообщение Sep 13 2012, 17:19
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Всем доброго времени суток.

Собственно вопрос простой: как правильно ( ну или кто как делает) выдавать и защелкивать данные в синхронной схеме? По одному фронту или по разным?

Вопрос конечно общий, но проблема у меня по нему весьма конкретная. Делал проекты для Cyclone III,IV под квартусом. Все время ставил разные запускающие и защелкивающие фронты. Проекты были низкочастотные (до 100 МГц), поэтому ухудшающийся setup time меня особо не волновал, зато hold time автоматом выходил примерно в районе setup time - c запасом. TimeQuest вообще не использовал.

Сейчас решил сделать "как все нормальные люди" по одному фронту. И, как я и ожидал, воткнулся со временем удержания(hold time). Причем даже там, где время удержания укладывается в допустимые рамки, укладывается оно на тоненького - slack около 0.7 - 1нс. Задержка данных - около 6нс. Соответственно, клоки разбегаются примерно на столько же. Клоки висят на глобальных шинах, т.е. по идее разбег должен быть минимальным ( когда убрал global clock логично стало еще хуже - slack ухудшился примерно на 0.8нс). Я не пойму, толи данные так мало задерживаются ( в это с трудом верится - 6нс по-моему самая обычная задержка), толи клоки необычно сильно разбегаются ( в это верится гораздо сильнее).

На сколько вообще такая картина нормальна при работе по одному фронту? Поделитесь соображениями.

Сообщение отредактировал RoadRunner - Sep 13 2012, 17:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RoadRunner
сообщение Oct 3 2012, 12:07
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата
у Циклона III же, если не ошибаюсь, должны быть двухпортовые блоки памяти

Они двухпортовые в смысле отдельный интерфейс на чтение, отдельный на запись. Если записывают два разных источника, все равно приходится их переключать.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Oct 3 2012, 12:15
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(RoadRunner @ Oct 3 2012, 16:07) *
Они двухпортовые в смысле отдельный интерфейс на чтение, отдельный на запись. Если записывают два разных источника, все равно приходится их переключать.

Это один из режимов, simple dual port. А ещё есть режим true dual port, когда два порта работают абсолютно независимо, и каждый из них может и читать и писать.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Oct 4 2012, 05:09
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(Timmy @ Oct 3 2012, 16:15) *
Это один из режимов, simple dual port. А ещё есть режим true dual port, когда два порта работают абсолютно независимо, и каждый из них может и читать и писать.

Там общая шина адреса для чтения и записи, т.е. один порт не может независимо писать и читать
Go to the top of the page
 
+Quote Post
Timmy
сообщение Oct 4 2012, 06:41
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(RoadRunner @ Oct 4 2012, 09:09) *
Там общая шина адреса для чтения и записи, т.е. один порт не может независимо писать и читать

А что мешает синхронно переключать режимы чтения и записи? Если не хватает пропускной способности, можно запустить память на двойной частоте, и сделать фиксированное чередование тактов чтения/записи, будет выглядеть как четырёхпортоваяsm.gif.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Oct 4 2012, 07:06
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(Timmy @ Oct 4 2012, 10:41) *
А что мешает синхронно переключать режимы чтения и записи? Если не хватает пропускной способности, можно запустить память на двойной частоте, и сделать фиксированное чередование тактов чтения/записи, будет выглядеть как четырёхпортоваяsm.gif.

В общих чертах понял, что вы имеете ввиду. Детально плохо представляю. Так или иначе, просто из общих соображений, идея синхронно переключать асинхронный доступ мне уже не нравится. Это опять же, чтобы все гладко было частоту надо в два раза поднимать т.е. 240МГц. Даже если получится, городить такой огород только ради того, чтобы избавиться от gated clock?)) Как по мне, так мультиплексор куда проще воткнуть.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Oct 4 2012, 11:43
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(RoadRunner @ Oct 4 2012, 11:06) *
В общих чертах понял, что вы имеете ввиду. Детально плохо представляю. Так или иначе, просто из общих соображений, идея синхронно переключать асинхронный доступ мне уже не нравится. Это опять же, чтобы все гладко было частоту надо в два раза поднимать т.е. 240МГц. Даже если получится, городить такой огород только ради того, чтобы избавиться от gated clock?)) Как по мне, так мультиплексор куда проще воткнуть.

Интересно, у вас процессор с асинхронным двухпортовым интерфейсом быстрее 100МГц? Это что за зверь такой? Gated clock на асинхронном интерфейсе при необходимости можно использовать, гораздо страшнее асинхронный арбитраж между двумя мастерами, что создаёт возможность защёлкнуть метастабильное состояние на регистрах блочной памяти.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RoadRunner   Проблемы при работе схемы по одинаковому запускающему и защелкивающему фронту   Sep 13 2012, 17:19
- - Victor®   Цитата(RoadRunner @ Sep 13 2012, 20:19) Н...   Sep 13 2012, 19:12
- - des00   если учесть что th для триггеров того же сыклона о...   Sep 13 2012, 19:22
- - RoadRunner   ЦитатаРабота по одному фронту - единственно правил...   Sep 14 2012, 06:03
|- - maksimp   Цитата(RoadRunner @ Sep 14 2012, 10:03) у...   Sep 15 2012, 19:29
|- - RoadRunner   Цитата(maksimp @ Sep 15 2012, 23:29) Клок...   Sep 17 2012, 07:10
|- - EvgenyNik   Цитата(RoadRunner @ Sep 17 2012, 11:10) У...   Oct 1 2012, 17:22
|- - RoadRunner   Цитата(EvgenyNik @ Oct 1 2012, 21:22) Инт...   Oct 3 2012, 10:26
|- - PCaban   Цитата(RoadRunner @ Oct 3 2012, 14:26) Не...   Oct 3 2012, 11:14
|- - troiden   Цитата(RoadRunner @ Oct 4 2012, 09:09) Та...   Oct 4 2012, 06:36
- - EvgenyNik   А можно ли настроить какой-нибудь последовательный...   Oct 16 2012, 07:05


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:37
Рейтинг@Mail.ru


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