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

 
 
 
Reply to this topicStart new topic
> Cyclone III память, Cyclone проблема с памятью
plis
сообщение Jun 19 2015, 12:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Добрый день!

1) Плис EPC3C40F324C8.
2) Память RAM: 2-PORT
3) QII 10.1 Build 153 SJ Full Version

У меня возникла проблема:

- Записываем данные в память
- Обрабатываем массив данных, считаем на него ECC
- Потом автомат записывает данные и ECC сам во внешнюю флешку
- В это время записи в память не происходит, но происходить искажение единичного бита в ячейке памяти случано

запись в память производится по двум портам, в одном случае внешним процессорм по асинхронной шине, в другом автоматом.

Ни кто с подобным не встречался ??
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jun 19 2015, 17:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(plis @ Jun 19 2015, 16:59) *
2) Память RAM: 2-PORT...
- Записываем данные в память
- Обрабатываем массив данных, считаем на него ECC
- Потом автомат записывает данные и ECC сам во внешнюю флешку
- В это время записи в память не происходит, но происходить искажение единичного бита в ячейке памяти случано

запись в память производится по двум портам, в одном случае внешним процессорм по асинхронной шине, в другом автоматом.

А как разрулена ситуация одновременного обращения процессора и автомата к памяти?
Может у Вас при переключениях устройств формируются "лишние/ложные" сигналы записи?
Go to the top of the page
 
+Quote Post
plis
сообщение Jun 20 2015, 06:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Цитата(Александр77 @ Jun 19 2015, 20:28) *
А как разрулена ситуация одновременного обращения процессора и автомата к памяти?
Может у Вас при переключениях устройств формируются "лишние/ложные" сигналы записи?


Это двух портовая память и она позволяет одновременно обращаться, и если бы бвсё таки был конфликт одновременного обращения, к одной и той же ячейке, то искажался бы весь байт, а не один бит
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 20 2015, 08:25
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(plis @ Jun 19 2015, 20:59) *
- В это время записи в память не происходит, но происходить искажение единичного бита в ячейке памяти случано

Нужны детали. Как вы определили что искажается именно в памяти и само по себе?
Это можно сделать только взяв сигнал тап, писать им все что вы пишете в память, потом все что вы читаете из нее. И реально смотреть где появляется ошибка. Потом проверьте следующие моменты: отключаете ли вы сигнал тактовой частоты памяти в асинхронном стыке с процессором и ревизию вашего чипа на errata (были прецеденты с сыклонами младших ревизий).


--------------------
Go to the top of the page
 
+Quote Post
plis
сообщение Jun 22 2015, 10:35
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Цитата(des00 @ Jun 20 2015, 11:25) *
Нужны детали. Как вы определили что искажается именно в памяти и само по себе?
Это можно сделать только взяв сигнал тап, писать им все что вы пишете в память, потом все что вы читаете из нее. И реально смотреть где появляется ошибка. Потом проверьте следующие моменты: отключаете ли вы сигнал тактовой частоты памяти в асинхронном стыке с процессором и ревизию вашего чипа на errata (были прецеденты с сыклонами младших ревизий).


Потому что данные лежат в памяти, пере одическия читая данные из памяти, только читаем, видим искажегние, записи в этот момент не происходит.
Частоты в асинхронном стыке нет, просто сам сигнал физически отсутствует.
А вот про ревизию можно поподробней
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jun 22 2015, 11:19
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



//------- RAM 2 ------
reg [11:0] ramA;
reg [7:0] ramDa, ramDb;
wire [7:0] ramQa, ramQb;
reg [1:0] ramW, ramR;
ram_2p ram_2p_inst (
.address_a (ramA),
.address_b (ramA-1),
.clock ( clk),
.data_a (ramDa),
.data_b (ramDb),
.rden_a (1'b1),
.rden_b (1'b1),
.wren_a (ramW[1]),
.wren_b (ramW[0]),
.q_a (ramQa),
.q_b (ramQb));
reg [7:0] cramQa;
always @ (posedge clk)cramQa<=ramQa;


У меня почти такой же Cyclone-3. Использую 2-х портовую память из MegaWizard -> Memory Compiler -> RAM 2-PORT, и включаю в главный модуль проекта как описано выше.
Все работает.
Go to the top of the page
 
+Quote Post
krux
сообщение Jun 23 2015, 07:12
Сообщение #7


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



есть такая вероятность.
https://www.altera.com/en_US/pdfs/literatur...s/es_cyciii.pdf
Цитата
The Cyclone III M9K embedded memory blocks may exhibit bit error in which the
read bit is a 1 when the expected bit is a 0. The problem is caused by bitline coupling
in the read output. The issue is rare and requires the presence of multiple conditions
for the M9K block to be susceptible to the bit error. T


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 23 2015, 07:20
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(plis @ Jun 22 2015, 17:35) *
Частоты в асинхронном стыке нет, просто сам сигнал физически отсутствует.

Вот тут поподробнее ? Что значит отсутствует ? Не можете словами, тогда приведите код. Тактовую с M9K, при работе, снимать не желательно. Были прецеденты.


--------------------
Go to the top of the page
 
+Quote Post
plis
сообщение Jun 24 2015, 13:10
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Цитата(krux @ Jun 23 2015, 10:12) *
есть такая вероятность.
https://www.altera.com/en_US/pdfs/literatur...s/es_cyciii.pdf


Спасибо, вот это похоже наш случай.
А как можно подобное вылечить или хотябы отследить, ни кто не пробовал к блокам М9К контроль бита четности проводить.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 24 2015, 14:42
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(plis @ Jun 24 2015, 21:10) *
А как можно подобное вылечить или хотябы отследить, ни кто не пробовал к блокам М9К контроль бита четности проводить.

Для начала ИМХО стоило бы определить как в 2015 году вы купили чипы ревизии 2010 года (см. документ).


--------------------
Go to the top of the page
 
+Quote Post
plis
сообщение Jun 25 2015, 06:43
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Цитата(des00 @ Jun 24 2015, 17:42) *
Для начала ИМХО стоило бы определить как в 2015 году вы купили чипы ревизии 2010 года (см. документ).


А кто вам сказал что их в 2015 году купили, и мне кажется вопрос был не в том как работают совковые предприятия, а как решить уже сложившуюся ситуацию.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 25 2015, 14:39
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(plis @ Jun 25 2015, 14:43) *
А кто вам сказал что их в 2015 году купили, и мне кажется вопрос был не в том как работают совковые предприятия, а как решить уже сложившуюся ситуацию.

В еррате же было решение. Альтера предлагала использовать большее количество блоков памяти меньшей разрядности, для этого нужно взять ква, который закрывает проблему конкретной ревизии конкретного чипа (а вот как искать этот конкретный ква, нужно вернуться в 2010 год).
Ну и как самодельный вариант прикрутить того же хэмминга например, правда на это потребуется ресурс. В простейшем случае кода (7,4) расход памяти увеличится в 2 раза, зато кодер и декодер примитивнейшие. Работы на полчаса.


--------------------
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jun 25 2015, 18:13
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(plis @ Jun 25 2015, 09:43) *
А кто вам сказал что их в 2015 году купили, и мне кажется вопрос был не в том как работают совковые предприятия, а как решить уже сложившуюся ситуацию.

Кстати сказать, одним из вариантов решения может быть покупка схем новой ревизии с обоснованием того, что старая содержит ошибки, которые и подтверждаются официальным документом (errata).
Я, конечно, не утверждаю, что это лучшее решение, но это тоже решение.
Go to the top of the page
 
+Quote Post
plis
сообщение Jun 26 2015, 06:26
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-09-06
Пользователь №: 20 821



Цитата(des00 @ Jun 25 2015, 17:39) *
В еррате же было решение. Альтера предлагала использовать большее количество блоков памяти меньшей разрядности, для этого нужно взять ква, который закрывает проблему конкретной ревизии конкретного чипа (а вот как искать этот конкретный ква, нужно вернуться в 2010 год).
Ну и как самодельный вариант прикрутить того же хэмминга например, правда на это потребуется ресурс. В простейшем случае кода (7,4) расход памяти увеличится в 2 раза, зато кодер и декодер примитивнейшие. Работы на полчаса.


Вот я и ищу какойнибудь пример Хэминга, только у меня 16 разрядная шина данных.
Go to the top of the page
 
+Quote Post

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

 


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


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