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

 
 
> Работа с двухпортовой блочной памятью xilinx
gotcha
сообщение Oct 13 2014, 07:21
Сообщение #1


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

Группа: Свой
Сообщений: 115
Регистрация: 19-03-06
Пользователь №: 15 389



Подскажите, может чего-то не учел.

Использую true dual block memory сгенеренный из сoregen Xilinx под spartan3e, клок на кристалле 50МГц.
В порт А пишется инфа внешним устройством (частота меньше 25мгц).
Из порта В чтение и запись FSMкой на частоте 50мгц.
Т.к память синхронная на порт A подан клок прямой, на блок B через инвертор.
По идее setup\hold time выдержаны, коллизий не должно быть.

Сообщение отредактировал des00 - Oct 21 2014, 07:34
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gotcha
сообщение Oct 13 2014, 09:14
Сообщение #2


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

Группа: Свой
Сообщений: 115
Регистрация: 19-03-06
Пользователь №: 15 389



Надо реализовать 8 приемопередатчиков полудуплекс на 513 байт.
Приемопередатчик может работать в режиме мастер\слейв.
В мастере постоянно чего-то шлет, иногда переключается на прослушивание.
В слейве слушает, иногда переключается на передачу.
Арм заливает\читает 513 байт, кофигурирует режимы.
FSMка плис читает\заливает 513байт, отдает\принимает в нужном формате дальше по тракту.

Передатчик и приемник у каждого своя память по 1026 байт.
Есть 2 указателя для FSM и Арма (меняются значениями 0 и 513).
Юзкейс:
Мастер
FSMка постоянно шлет из своей области 0-512, генерит прерывание арму по каждому циклу (отправка 513 байт)
Арм заливает в область 513-1025, паприм. конфигурит на прослушку на след цикл.
Указатели меняются значениями.
FSMка передает 513байт и переключается на прослушку.
Во время прослушки записывает до 513 байт, в конце цикла генерит прерывание.
В это время Aрм может что-то залить для след цикла.
Указатели меняются и т.д.

Возник еще вопрос
если укладывается в bram 18K, есть ли разница в утилизации лутов для true двухпортовой и просто двухпортовой памяти?
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 13 2014, 09:47
Сообщение #3


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

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



Цитата(gotcha @ Oct 13 2014, 13:14) *
если укладывается в bram 18K, есть ли разница в утилизации лутов для true двухпортовой и просто двухпортовой памяти?
Если память блочная, то лутов там нет вообще.
И зачем инвертировать клок на втором порту?
Go to the top of the page
 
+Quote Post
gotcha
сообщение Oct 13 2014, 09:58
Сообщение #4


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

Группа: Свой
Сообщений: 115
Регистрация: 19-03-06
Пользователь №: 15 389



Цитата(andrew_b @ Oct 13 2014, 13:47) *
Если память блочная, то лутов там нет вообще.

В смысле луты под погику обработки записи\чтения, разной ширины портов, разного режима (WRITE_FIRST, READ_FIRST, NO_CHANGE)
Т.е примитив еще какой-то логикой оборачивается?

Цитата(andrew_b @ Oct 13 2014, 13:47) *
И зачем инвертировать клок на втором порту?

А как удовлетворить hold\setup time? Или читать за три такта?

Сообщение отредактировал gotcha - Oct 13 2014, 10:27
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 13 2014, 10:32
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(gotcha @ Oct 13 2014, 13:58) *
А как удовлетворить hold\setup time? Или читать за три такта?


Инверсия клока УСУГУБЛЯЕТ удовлетворение требований по setup ровно вдвое. Так что, это еще вопрос - а стоит ли усложнять себе жизнь.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gotcha   Работа с двухпортовой блочной памятью xilinx   Oct 13 2014, 07:21
- - SM   у true dual port памяти коллизий вообще быть не мо...   Oct 13 2014, 07:33
- - gotcha   Пардон, на порт B чтение и запись (отредактировал)...   Oct 13 2014, 07:40
|- - Bad0512   Цитата(gotcha @ Oct 13 2014, 14:40) Пардо...   Oct 13 2014, 08:04
|- - gotcha   Цитата(SM @ Oct 13 2014, 14:32) Инверсия ...   Oct 13 2014, 11:13
- - SM   Путь сигнала (допустим, что выход данных влияет на...   Oct 13 2014, 12:00
|- - gotcha   Цитата(SM @ Oct 13 2014, 16:00) Путь сигн...   Oct 14 2014, 05:45
|- - SM   Цитата(gotcha @ Oct 14 2014, 09:45) Тогда...   Oct 14 2014, 09:47
|- - gotcha   Цитата(SM @ Oct 14 2014, 13:47) Это с как...   Oct 14 2014, 10:03
|- - Bad0512   Цитата(SM @ Oct 14 2014, 16:47) Это с как...   Oct 14 2014, 10:14
|- - SM   Цитата(Bad0512 @ Oct 14 2014, 14:14) Если...   Oct 16 2014, 15:22
- - Maverick   Цитата(gotcha @ Oct 13 2014, 10:21) Подск...   Oct 17 2014, 06:43
- - gotcha   Есть ли рекомендации по синхронизации с двунаправл...   Oct 20 2014, 10:20
|- - Bad0512   Цитата(gotcha @ Oct 20 2014, 17:20) Есть ...   Oct 20 2014, 10:28
||- - gotcha   Цитата(Bad0512 @ Oct 20 2014, 14:28) В ПЛ...   Oct 20 2014, 10:33
||- - Maverick   Цитата(gotcha @ Oct 20 2014, 13:33) В мое...   Oct 21 2014, 09:29
|- - SM   Цитата(gotcha @ Oct 20 2014, 14:20) Доста...   Oct 20 2014, 10:55
|- - gotcha   Цитата(SM @ Oct 20 2014, 14:55) Надо data...   Oct 21 2014, 07:18
|- - SM   Цитата(gotcha @ Oct 21 2014, 11:18) Если ...   Oct 21 2014, 15:49
- - gotcha   Сделал так io буфер управляется напрямую Кодwire A...   Oct 24 2014, 06:44
- - SM   Цитата(gotcha @ Oct 24 2014, 10:44) Сдела...   Oct 25 2014, 06:10


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

 


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


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