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

 
 
> Вопрос: память M4K, Первый байт не соответстует записываемому
Ttitan
сообщение Apr 13 2010, 12:52
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 30-11-07
Пользователь №: 32 850



Привет Всем!
Постараюсь объяснить проблему.
Имею CycloneII EP2C5Q208, к нему подключена 51 кристалка(с8051f132) через параллельный 8-ми разрядный интерфейс и приближенную шину ISA, проект рисую в QuartusII9.0sp2.

Пытаюсь сообразить канал передачи от с51 -> isa через 1Кбайт RAM M4K. Поскольку с51 - 8 разрядный а isa - 16 разрядная соответственно использую запись 8-мь разрядов, чтение 16-ть разрядов.
Интерфейс с51-ПЛИС:
8 разрядов данные;
8 разрядов адрес;
стробы чтения записи;

Интерфейс ПЛИС - isa:
16 разрядов данные;
4 разрядов адрес;
стробы чтения записи;

Доступ к памяти в ПЛИС организовал следующим образом: в один порт записываю адрес в счетчик, который инкреминтирую по каждой записи байта, во второй порт записываю данные, доступ со стороны isa организавал как и для с51, порт для адреса и порт для данных.

После проверки получил следующую картину:
1. Установил адрес и записываю масив данных всё отлично. Получилось очень быстро и я был счаслив и доволен :-))
2. Но после того когда я начал приближаться к решению своей задачи, а она представляла собой запись разных масивов данных по разным адресам выяснилось не всё так хорошо. После записи двух байт с нулевого адреса, устанавливаю адрес = 2 записываю данные ноль, 0x7f и т.д. получаю вместо нуля еденицу, и как бы я не прыгал не выходит каменный цветок. Правда наблюдается ещё интересные факты: если записывать не во 2-й адрес а в 1 или 3, 4 всё прекрастно.

Откровенно говоря большого опыта работы с Квартусом нет, поэтому прошу разъяснять чуть подробнее. За раннее благодарен за помощь и поддержку
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ttitan
сообщение Apr 14 2010, 06:33
Сообщение #2





Группа: Участник
Сообщений: 9
Регистрация: 30-11-07
Пользователь №: 32 850



Нет проблем, вот проект
XO779QZC1M8495O
http://nukeuploads.com/download/1271227091...overka.zip.html

Я думаю ты прав на 100%, вопрос только где ошибка.

Вот стратегия проверки:

1. Записываю адреса в порт 10 значение 0, сначало младший потом старший;
2. Записываю данные последовательно 0x18 и 0
3. Записываю адреса в порт 11 значение 2, сначало младший потом старший;
4. Записываю данные массивом в следующей последовательности: 0, 0x7f, 0x11, 0x88, 0xaa, 0x55, 0x44, 0x44, 0x55, 0x55

Врядли связано с чтением(проверял с помощью таблицы инициализации)
Вычитываю следующее: 0x18, 0, 0x11, 0x88, 0x11, 0x88, 0xaa, 0x55, 0x44, 0x44, 0x55, 0x55

Ошибкой является 2 и 3 байт должно быть 0, 0x7f. Моё предположение счетчик адреса, но хоть убей не пойму где
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 15 2010, 09:42
Сообщение #3


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

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



Цитата(Ttitan @ Apr 14 2010, 00:48) *
Нет проблем, вот проект

у вас еще и всё в графике, предупреждать надо.

Цитата
Я думаю ты прав на 100%, вопрос только где ошибка.

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

Насчет ошибки у вас весь проект ошибка. Если бы вы были моим подаваном, то за формирование тактового сигнала блоков памяти mk_wr_ram на логике и триггерах inst17/inst129/inst21/inst38 и сигнала cWR[11] на inst11 с использованием мегафункции lpm_decode, да еще и без выходного регистра, на которую подаются сигналы nCRD/CA[4..0], которые идут напрямую с портов плис (и вашего проца), я бы вам руки оторвал, по самую голову (без обид) smile.gif

Мои рекомендации бросить заниматься асинхронщиной, уйти на полностью синхронную схему. Как это сделать многократно обсуждалось.


--------------------
Go to the top of the page
 
+Quote Post



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

 


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


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