User Tag List

Страница 10 из 17 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 163

Тема: Радио-86РК: Реализация компьютера на ПЛИС

  1. #91

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    оставлю нижние 16 Кб в SDRAM, а верхние надо затолкать в ПЛИС
    Так и сделал, вроде работает (директивами монитора пишет и читает, ксоникс немного погонял). Пользуясь случаем, хочу передать большой фак уроду из терасик, который решил ставить на новые DE1 уродские SRAM IS61WV25616EDBLL

    ---------- Post added at 01:12 ---------- Previous post was at 00:29 ----------

    Вопрос про spiton.gam (идет в комплекте с emu) - в emu он показывает заставку, а на DE1 - нет. Это я что-то поломал или так и было? Сама игрушка работает, контрольная сумма при чтении совпала.

    ---------- Post added at 01:25 ---------- Previous post was at 01:12 ----------

    С питоном разобрался. Не знал, что на РК были игрушки, которые меняли адрес экранной области.

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Пользуясь случаем, хочу передать
    Не стреляйте в пианиста, он играет как умеет.

    Просто времянки надо в проекте учитывать. Ты бы лучше попытался разобраться, как заставить работать SRAM. Времени-то там дофига, процессору вообще по барабану, что память чуть медленнее, он всё равно за 3 цикла (по 25 тактов) читает/пишет. А вот в ВТ57 можно попытаться добавить ещё 1-2 состояния, чтобы запрос на чтение на 1-2 такта дольше был.

  4. #93

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Ты бы лучше попытался разобраться, как заставить работать SRAM.
    Лучше, но сложнее.

    ---------- Post added at 10:00 ---------- Previous post was at 09:28 ----------

    Экспресс-тест по допустимой частоте cpu_ce в текущем состоянии. Только я немного переделал
    Код:
    reg cpu_ce2;
    wire cpu_ce = cpu_ce2;
    always @(posedge clk50mhz) begin
    //internal ram (cpu and video) works fine with cpu_cnt!=3
    //sdram (cpu) works fine with cpu_cnt!=9
    	if(cpu_cnt!=9) begin cpu_cnt <= cpu_cnt + 11'd1; cpu_ce2<=0; end
    	else begin cpu_cnt<=0; cpu_ce2<=1; end
    	startup <= reset|(startup&~addrbus[15]);
    end
    "Тестировал" в мониторе, заполняя соответственно 4000,40FF и 0,FF значениями 00,55,AA,FF и потом смотрел дамп.

    ---------- Post added at 11:43 ---------- Previous post was at 10:00 ----------

    Вроде и SRAM нормально заработал, по крайней мере монитором, ксониксом и супер питоном проверку проходит. Взял все тот же контроллер SDRAM (очень вдохновляющий пример, b2m - еще раз спасибо) и сократил до двух состояний (читал про такое на форуме минимига, но не мог нормально сделать)
    1. первый такт выставляем адрес и управляющие сигналы
    2. второй такт - еще и читаем или пишем.
    Только это вариант с раздельным доступом, переделанный из SDRAM, т.е. SRAM по адресам 0-3FFF и обращается к ней только проц.
    Надо бы еще наверно что-то вроде теста ОЗУ наваять, но очень похоже, что все работает.
    Последний раз редактировалось ivagor; 24.01.2014 в 08:23. Причина: докопировал строку

  5. #94

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Только это вариант с раздельным доступом, переделанный из SDRAM, т.е. SRAM по адресам 0-3FFF и обращается к ней только проц.
    Надо бы еще наверно что-то вроде теста ОЗУ наваять, но очень похоже, что все работает.
    А если взять мой проект, и просто перенести 4000-7FFF внутрь ПЛИС, то ведь тоже должно работать? Тогда ведь к SRAM будет только процессор обращаться, а он делает это достаточно долго.

    Я вот думаю, если HOLD/HLDA номально реализовать, в том числе и в процессоре, то должно работать даже с памятью, которая хоть в 10 раз медленнее. Т.е. проблема не в железе, а в исходниках проекта. Другое дело, что мой проект не единственный, который рассчитывает на быструю SRAM. Ты пробовал запускать Вектор,БК,Корвет,MSX?

  6. #95

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А если взять мой проект, и просто перенести 4000-7FFF внутрь ПЛИС, то ведь тоже должно работать?
    Я так и сделал Как раз это позволило мне спокойно организовать работу с SDRAM а потом со SRAM по адресам 0000-3FFF. Меня только одно смущает - неужели я так невнятно пишу, что даже ты не понял


    Цитата Сообщение от b2m Посмотреть сообщение
    Другое дело, что мой проект не единственный, который рассчитывает на быструю SRAM. Ты пробовал запускать Вектор,БК,Корвет,MSX?
    Твой проект как раз в том ряду, который полагается на простой доступ к SRAM и не работает на новых DE1 с той самой "новой" SRAM (формальные отличия во времянках небольшие, сам я думаю, что основная проблема в том, что она с ECC). Проблемы с этой сраминой не только у меня, читал про это и на буржуинских форумах. Не работают вектор (я долго доставал svofski на эту тему), БК, спектрум, Б2М. Вернее степень неработоспособности разная - что-то вобще не работает, что-то частично работает. MSX завелся с полоборота, т.к. использует SDRAM.
    Т.е. РК - это второй ретрокомп, который у меня заработал (но только после доработки напильником).


    Цитата Сообщение от b2m Посмотреть сообщение
    Я вот думаю, если HOLD/HLDA номально реализовать, в том числе и в процессоре, то должно работать даже с памятью, которая хоть в 10 раз медленнее.
    Про это я ничего сейчас не могу сказать. Четкий доступ к моей SRAMине, как я уже написал, получился после разделения обращения на 2 этапа - в первом такте выставляем адрес и управляющие сигналы, во втором читаем или пишем. Т.е. проблема, конечно, не в скорости, а в том, что нужно все делать аккуратно.
    Последний раз редактировалось ivagor; 24.01.2014 в 18:10. Причина: попутал адреса - исправил

  7. #96

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    неужели я так невнятно пишу, что даже ты не понял
    Я имел ввиду: не трогать ту часть, которая работает с SRAM (ты, как я понял, дополнительный контроллер для SRAM сделал). Только добавить новое устройство по адресам 4000-7FFF вместо SRAM.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Четкий доступ к моей SRAMине, как я уже написал, получился после разделения обращения на 2 этапа - в первом такте выставляем адрес и управляющие сигналы, во втором читаем или пишем.
    Чтение по-любому обычно так и делается. А вот при записи надо бы откладывать сигнал активации записи на второй такт и снимать его в третьем, т.к. SRAM тут асинхронный, и если сигнал записи прийдёт раньше чем изменится шина адреса, то запись произойдёт не туда, куда надо.

    Другой вариант: попробуй ничего не менять, кроме одного - простробировать сигнал записи глобальным клоком:
    Код:
    assign SRAM_WE_N = vid_rd|cpu_wr_n|addrbus[15]|hlda|clk50mhz;
    SRAM_WE_N будет полклока в длинну (надеюсь его хватит), и будет активироваться через полклока после того, как всё остальное начнёт меняться.

  8. #97

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Я имел ввиду: не трогать ту часть, которая работает с SRAM (ты, как я понял, дополнительный контроллер для SRAM сделал). Только добавить новое устройство по адресам 4000-7FFF вместо SRAM.
    А, так я тоже делал. Оно частично работает, но все равно сбоит.

    Цитата Сообщение от b2m Посмотреть сообщение
    Чтение по-любому обычно так и делается.
    Так почему же практически везде не так? Читал, что в последних версиях минимига так стало, а еще где?

    Цитата Сообщение от b2m Посмотреть сообщение
    А вот при записи надо бы откладывать сигнал активации записи на второй такт и снимать его в третьем,
    Сначала я сделал доступ к SRAM в три такта
    1. выставляем адрес, WE_N и OE_N =1
    2. и 3. как уже написал выше.
    Так заработало, но раз заработало и с двумя (без п.1.), я пока с двумя и оставлю. Может при 100 МГц или более пришлось бы в 3 такта.

    Цитата Сообщение от b2m Посмотреть сообщение
    Другой вариант: попробуй ничего не менять, кроме одного - простробировать сигнал записи глобальным клоком:
    К сожалению это не сработало, как и много других "простых" вариантов, которые я пробовал с v06cc и rk

    ---------- Post added at 21:14 ---------- Previous post was at 20:53 ----------

    Цитата Сообщение от b2m Посмотреть сообщение
    не трогать ту часть, которая работает с SRAM
    Кстати, еще могу немного сказать на эту тему. В v06cc отключал видео, оставляя доступ только проца - не заработало. Контролировал по наличию звука и миганию светодиода (полученные с использованием неодобренного svofski вудуизма почти рабочие версии v06cc кое-что могут запускать и с видео и со звуком).
    Последний раз редактировалось ivagor; 24.01.2014 в 19:03.

  9. #98

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    будет ли версия полностью на SDRAM
    В смысле и без ОЗУ внутри ПЛИС? Наверняка будет, только пока непонятно, кто ее первым сделает Сегодня я без DE1, надумал многаидей, завтра может хоть что-то заработает. Правда у меня SDRAM сейчас не на первом месте.
    По поводу исходников - в соответствии с моими нулевыми знаниями и мои вставки в исходники b2m или очевидные или непотребные. Тем не менее, если неожиданно "полный SDRAM" заработает, то я, наверно, ключевой фрагмент прямо сюда запощу, или ссылку на него.

  10. #99

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    В смысле совсем без SRAM, как бы ее и нет совсем!) а уж будет ли часть внутри плис или нет - это второй вопрос.
    Тогда такой вариант уже есть, но при модификации исходника b2m мозг я практически не использовал:
    1. С помощью визарда создал блок двухпортового ОЗУ в ПЛИСине. Прописал обращение в головном файле по адресам 4000-7FFF. Один порт - читает видеоконтроллер, второй - читает и пишет проц. Уже можно запустить и проверить работу директив монитора.
    2. Прописал обращение к контроллеру SDRAM, забытому b2mом, по адресам 0000-3FFF. Доступ имеет только проц. Это несколько уменьшает совместимость, т.к. есть программы, которые меняют адрес ВидеоОЗУ в первую половину. Но вроде их мало.

    Про "полный SDRAM" напишу, если получится. Если b2m или кто-то еще сделает раньше - с интересом посмотрю.

  11. #100

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если b2m не против (лицензию не читал, каюсь), то я завтра могу прислать измененный главный файл исходника и .sof.

    Цитата Сообщение от zebest Посмотреть сообщение
    DE1 глЮчит
    Маркировка SRAM случайно не
    Цитата Сообщение от ivagor Посмотреть сообщение
    IS61WV25616EDBLL
    ?

Страница 10 из 17 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Радио-86РК: Разное
    от Titus в разделе Радио-86РК
    Ответов: 351
    Последнее: 05.04.2018, 16:19
  2. Ответов: 65
    Последнее: 14.11.2014, 08:05
  3. Ответов: 92
    Последнее: 19.02.2009, 17:33
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •