|
Вопрос: память M4K, Первый байт не соответстует записываемому |
|
|
|
Apr 13 2010, 12:52
|
Группа: Участник
Сообщений: 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 всё прекрастно.
Откровенно говоря большого опыта работы с Квартусом нет, поэтому прошу разъяснять чуть подробнее. За раннее благодарен за помощь и поддержку
|
|
|
|
|
 |
Ответов
|
Apr 14 2010, 20:27
|
Группа: Участник
Сообщений: 9
Регистрация: 30-11-07
Пользователь №: 32 850

|
sazh, ты прав, в данном случае шина isa является не совсем полноценной, то есть контроллер шины является моей разработкой в которой данный сигнал не используется. IOCS16 формировали когда использовали покупной компьютер(Lippert). Повторюсь, чтение проверил с помощью таблицы инициализации.
ViKo, смотрел 4-х канальным осциллографом 5Гигавыборок с полосой 1ГГц( счетчик адреса[0], дешифрированный строб записи в порт ), сказать что у меня были какие-то сомнения. На ПЛИС заведён клок 40МГц, пробывал тактировать от этого клока, формировать сигнал wren. wrclock, результат аналогичен.
Моё предположение что-то с цепями адреса, такое впечатление адрес не защёлкивается по wrclock или он защёлкивается по сигналу wren
|
|
|
|
|
Apr 15 2010, 09:44
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(Ttitan @ Apr 14 2010, 23:42)  На ПЛИС заведён клок 40МГц, пробывал тактировать от этого клока, формировать сигнал wren. wrclock, результат аналогичен.
Моё предположение что-то с цепями адреса, такое впечатление адрес не защёлкивается по wrclock или он защёлкивается по сигналу wren Такой стиль описания (многоклоковый) без уделения должного внимания констрейнам - не проходит в Квартусе. Посмотрите временной анализ. Посадите все на одноклоковую синхронизацию, контроллер, иса, манчестер (от 40мГЦ до 80) не важно. Организуйте двупортовую память с различной разрядностью (мегафункцию используете, к чему свое мультиплексирование) и все заработает. (Вряд ли кто графику будет смотреть)
|
|
|
|
Сообщений в этой теме
Ttitan Вопрос: память M4K Apr 13 2010, 12:52 des00 Цитата(Ttitan @ Apr 13 2010, 08:07) Откро... Apr 13 2010, 15:40 Ttitan Нет проблем, вот проект
XO779QZC1M8495O
http://nuk... Apr 14 2010, 06:33 sazh Цитата(Ttitan @ Apr 14 2010, 09:48) но хо... Apr 14 2010, 12:06 des00 Цитата(Ttitan @ Apr 14 2010, 00:48) Нет п... Apr 15 2010, 09:42 ViKo Проект не смотрел, но могу предположить - метастаб... Apr 14 2010, 11:22 ViKo У меня был (и есть) проект, где был процессор PIC ... Apr 15 2010, 07:34 Ttitan Прошу извинения des00.
Как говорится опыт не пропь... Apr 16 2010, 04:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|