Maverick_ 15 17 апреля, 2008 Опубликовано 17 апреля, 2008 · Жалоба Доброго времени суток!!! Пожалуйста, помогите в архиве Mem_test.zip проект для Xilinx ISE 8.02.03 в котором есть два модуля: 1) модуль для работы с SRAM памятью cy7c1061av33 (файл mem.vhd) Циклограмма работы в приложенном даташите страницы 5 -> (Read Cycle No. 2 (OE Controlled)) 6 -> (Write Cycle No. 1 (CE1 or CE2 Controlled)) 2) попытка сделать модуль для проверки работы с памятью ( файл count_pwm.vhd), но из-за того что не могу точно определить задержку данных в тактах - то цифровой компаратор еще не вставлял. Идея заключается в следующем, записать определенное количество данных(у меня реализовано циклическая запись и считывания 1023 значения инкрементируемого счетчика), а потом при считывании проверять компаратором значения записанных и прочитанных данных. Собственно в чем вопрос проверить правильность модуля работы с SRAM памятью т.к. на плате практически все дорожки идут под микросхемой SRAM и есть большая вероятность, что могут быть зацепки между проводниками. Оборудование у меня имеющиеся мне кажется не позволит достоверно сказать о правильности работы с SRAM (в наличии только 4-х канальный осцилограф) - мое мнение. Хотелось бы быть полностью уверенным хотя бы в логическом уровне. С моей стороны к mem.vhd по результатам моделирования вопросов нет, если у Вы скажите что все хорошо в логическом уровне, тогда буду пытаться в железе писать и читать и искать ошибки в плате. Чуть не забыл упомянуть :) , что работа с SRAM будет происходить не более, чем на 32 МГц. P. S. Понимаю, что Вы не учителя в школе и проверять не обязаны, но я просто не знаю к кому обратиться за помощью. С уважением Maverick!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 17 апреля, 2008 Опубликовано 17 апреля, 2008 · Жалоба Доброго времени суток!!! я так понимаю, контроллер для этой памяти вы ещё не написали(?). я бы посоветовал озаботиться данной проблемой сначала. корректность работы контроллера будет проверить достаточно легко, а сам котроллер пригодится для проекта в дальнейшем. а уж потом к этому контроллеру со внятным интерфейсов прикручивать тесты. модульность должна быть. а то вы вот этот простенький "железный" тестик написали, потом его можно будет выкинуть. потерянного времени на такие точечные удары не жалко? ЗЫ: память, как я понимаю, ассинхронная? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 апреля, 2008 Опубликовано 18 апреля, 2008 · Жалоба ИМХО маетесь дурью. 1. Где то вы брали модель памяти. Сомневаюсь что кипарисы не вложили к этой памяти простой тестик для понимания транзакций к памяти (у микрона например всегда такие тесты идут). 2. SRAM настолько простая память что сделать для нее простейший контроллер дело не более часа, двух. И смысл тестировать есть уже контроллер, а не память. 3. В сети много реализаций контроллеров, возьмите готовый и модифицируйте тестбенч для него. Удачи !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 18 апреля, 2008 Опубликовано 18 апреля, 2008 · Жалоба К сожалению, и к моему стыду я не пишу программы для микроконтроллеров, и такого человека нет рядом, конечно если бы был, то совсем другое дело - не стал бы выдумывать модуль для проверок на ПЛИС. а причём здесь программы для микроконторллеров? у вас вообще какая задача стоит? только проверка дорожек на плате? Извини, но в первом топике я пишу: с этим утверждением не поспорить. то что вы это писали в первом посте бесспорно и что? я читать умею, если вам кажется, что я чего-то не улавливаю в вашем посте, по поясните, а не цитируйте себя самого Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 18 апреля, 2008 Опубликовано 18 апреля, 2008 · Жалоба Может быть я не корректно поставил вопрос, но я просто прошу проверить мою программу (на VHDL) для ПЛИС. ИЗВИНИТЕ, что ввел ВАС в заблуждение!!! Основное это научиться работать с SRAM. И вот тут я прошу помощи, чтобы знающие люди ответили про корректность создания контролера для работы с SRAM в ПЛИС (даташит на память и код программы я выложил). Микроконтроллер (или компьютер) нужен я так подозреваю для полной проверки работы с памятью на плате, который управляя котроллером работы с SRAM в ПЛИС будет подавать заранее известные данные и принимать данные и сравнивать их между собой, сообщая результат сравнения. Модуль который это делает в ПЛИС я выложил (смотри вложения выше), но не могу разобраться с задержками. Если кто-то знает другие пути проверок работы, пожалуйста, расскажите. Там у Вас черт ногу сломит. Организовать цикл чтения данных из памяти, записи данных в память по конкретному адресу. Да при этом двунаправленной шиной управлять. Это же пара строчек текста. А автомат создали. И фиг разберешься при этом. Посомтрите на блок диаграмму памяти. Нет там триггеров по управлению двунаправленной шиной данных. Вот так и у себя сделайте. в соответствии только лишь сигналов управления этой памяти.А регистры могут быть только на данных. И все сразу проще станет. (Отдельно вне процесса по клоку описывается управление буферами по третьему состоянию). И осциллограф Вам не нужен. Обрывы и короткое на плате просто определяется. Записывается линейный код в память, считывается линейный код из памяти. По ренакции определяется исправность шины адреса. А шина данных - по бегущему нулю или единицы. Какой там нафиг тестбенчь для статической памяти. Будьте проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 18 апреля, 2008 Опубликовано 18 апреля, 2008 · Жалоба Может быть я не корректно поставил вопрос, но я просто прошу проверить мою программу (на VHDL) для ПЛИС. ИЗВИНИТЕ, что ввожу ВАС в заблуждение!!! ничего страшного в этом нет, просто если вы хотите получить быструю и качественную помощь вам нужно стараться максимально точно формулировать вашу проблему. (терминологию тоже хорошо использовать правильную, если не уверены как что-то называется, описывайте простыми словами, иначе можете запутать собеседника: то что вы пишите на VHDL обычно не называют программой, это либо "описание", либо "модуль", "устройство", "модель", "дизайн") Основное это научиться работать с SRAM. И вот тут я прошу помощи, чтобы знающие люди ответили про корректность создания контролера для работы с SRAM в ПЛИС (даташит на память и код программы я выложил). Микроконтроллер (или компьютер) нужен я так подозреваю для полной проверки работы с памятью на плате, который управляя котроллером работы с SRAM в ПЛИС будет подавать заранее известные данные и принимать данные и сравнивать их между собой, сообщая результат сравнения. думаю создание проекта для проверки корректности работы памяти не есть сама цель проекта. хорошо бы представлять что вы делаете и для чего делаете, хорошо бы также представлять архитектуру системы в которойц работаете. из уже сказанного вами можно понять, что у вас есть ПЛИС и память соединённые друг с другом. из этого ясно что управление памятью будет осуществлятся контроллером расположенным внупри ПЛИС. естественно, что контроллер памяти не есть "вещь в себе", и какой-то вычислитель будет обращатся к нему с запросами обращения к памяти. отсюда следует, что конторллер должен обладать как минимум 2-мя интерфейсами: интерфейс к микросхеме памяти (он у вас определён документацией на память); интерфейс к вычислителю (пока неизвестен). так вот я вам советую (как я понимаю и уважаемый des00 тоже), вместо того чтобы писать модуль исключительно для теста дорожек на плате, написать сразу контроллер памяти, а к нему уже прикручивать тест модуль (контроллер позволит вам перейти на более высокий уровень абстракции, то есть иpбавит вас от необходимости учитывать физические задержки SRAM). для этого вам нужно проконсультироваться с координатором проекта и выработать требования к интерфейсу к контроллеру со стороны вычислителя (отсюда уже пойдет вся остальная работа, потому как контроллер- это всего лишь мост между 2мя типами интерфейсов) Модуль который это делает в ПЛИС я выложил (смотри вложения выше), но не могу разобраться с задержками. Если кто-то знает другие пути проверок работы, пожалуйста, расскажите. теперь по сути работы с асинхронными интерфейсами (независимо будете ли вы следовать совету создавать полноценный контроллер или нет). мы уже достаточно давно(с расспространения шины PCI) живём в эпоху синхронных интерфейсов. современные архитектуры и методики пректирования на ПЛИС предполагают практически исключительное проектирование синхронных схем. как быть с асинхронными интерфейсами? у вас в ВХДЛ есть возможность задания параметров дизайна (generic). эти параметры используются на этапе компиляции проекта. если вы зададате абсолютные физические (временные) величины интерфейса и период тактового сигнала конторллера у вас появится возможность автоматической конфигурации контроллера на этапе компиляции для различных временных параметров. так например в асинхронных интерфейсах у нас определяющую роль играют времена предустановки и удержания сигнала. естественно в синхронных дизайнах нет возможности задания точной физической величины задержки сигнала, но зато можно создать машину состояний, которая будет иммитировать подобные временные состояния. так например нам известно что сигнал А должен быть выставлен за время Т до выставления сигнала Б. нам также известен период тактового сигнала П. величины Т и П мы задаём как параметры проекта и получаем что если поделить truncate(Т/П)+1, отбросить дробную часть и прибавить единицу, то мы получим число тактов которое должно пройти после выставления сигнала А до выставления сигнала Б. т.е. наша машина состояний будет содержать уже 3 состояния : set_A, wait_T, set_B, где в состояние wait_T(idle wait) автомат будет находится до команды со счётчика подсчитывающего такты задержки. (всё понятно?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 21 апреля, 2008 Опубликовано 21 апреля, 2008 · Жалоба Всем спасибо, сам разобрался!! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться