Важная информация

User Tag List

Страница 8 из 67 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 661

Тема: Еще один Орион на ПЛИС

  1. #71
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кое-как подключил клавиатуру, скопировав почти весь код с другого клона Ориона...
    Оно даже заработало, но не на 100% ещё - осталось только понять, куда все доп. сигналы заводить

    - - - Добавлено - - -

    Итак, запустил Монитор-3.1, который с ROM-диска стартанул ORDOS. Итого - базисный компьютер вроде готов к дальнейшим улучшениям
    Сперва - буду добивать и оптимизировать вывод видео, потом займусь портами ВВ55 - сейчас они вообще эмулируюся самым тупым кодом:
    Код:
    	process (clk)	begin
    		if (rising_edge(clk) and (ports_cs(1) = '1')) then
    			if (rd = '1') then
    				case addr(1 downto 0) is
    					when "00" =>	data <= rom_data;
    					when others =>	data <= (others => 'Z');
    				end case;
    			elsif (wr = '1') then
    				case addr(1 downto 0) is
    					when "00" =>	NULL;
    					when "01" =>	rom_addr( 7 downto 0) <= data;
    					when "10" =>	rom_addr(15 downto 8) <= data;
    					when "11" =>	NULL;
    				end case;
    			else
    				data <= (others => 'Z');
    			end if;
    		end if;
    	end process;
    Оно хоть и работает, но выглядит не очень =/
    Так же планирую сделать Z80-CadrII - она, как и видеорежимы, будет включаться переключателями (в железе - джамперы или DIP-переключатели).

    - - - Добавлено - - -

    Как я понимаю, ВГ93 до сих пор не реверснули полностью, поэтому остаётся только реальная плата...

    - - - Добавлено - - -

    Актуализировал проект на гитхабе.
    Статистика по ресурсам:

    В PIO-модуле есть что оптимизировать ещё, поскольку при синтезе там получилась просто прорва мультиплексоров.
    Структура компьютера по модулям уже обрисовывается - https://image.prntscr.com/image/lwyw...BdJ1UR6H7Q.png
    Последний раз редактировалось andreil; 02.02.2018 в 21:56.
    "Байт-48"

  2. #72
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, добавил разрешение 640х480@60Hz. Переключается по SW8.
    Разрешение 640х350@70Hz на разных мониторах интерпретируется по-разному - на рабочем словило именно 640х350@70Hz, а на домашнем его видит как 720х400@70Hz.
    "Байт-48"

  3. #73
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Появились вопросы по организации памяти и тактированию процессора:
    1) Какие тактовые частоты валидны? 2,5МГц базово, 5МГц, 10МГц - вроде бы всё? (Включая схемы с Z80, ест.);
    2) Какой объём памяти достаточен для 99% программ на Орионе? 256Кб или 512Кб? Просто думаю, как организовывать память, с учётом двухпортового банка для арбитража видеопамяти - однопортовая на таких частотах пиксельклока (25Мгц) уже не справляется, из-за циклов четния/записи процессора будет теряться до 2-х пакетов с пикселями (то есть 8 или 16 пикселей).
    "Байт-48"

  4. #74
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,673
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    323
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Разрешение 640х350@70Hz на разных мониторах интерпретируется по-разному - на рабочем словило именно 640х350@70Hz
    у меня на двух мониторах именно так и есть.
    Компилилось 2:27, но ячеек побольше получилось, видимо без оптимизации.
    Profi v3.2 -=- Speccy2010,r2

  5. #75
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    у меня на двух мониторах именно так и есть.
    Компилилось 2:27, но ячеек побольше получилось, видимо без оптимизации.
    Я вроде бы всё по дефолту сбрасывал уже пару раз параметры сборки, так что вряд ли.
    Да и в проекте сейчас побольше логики чутка, чем в той картинке было. Сейчас у меня весь проект в 766 ALMs влез.
    "Байт-48"

  6. #76
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,673
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    323
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну если по памяти вспомню, то относительно картинки orion cpu:cpu - 312, у меня же 500, ну и се ост. так же немного побольше
    Profi v3.2 -=- Speccy2010,r2

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

  8. #77
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    ну если по памяти вспомню, то относительно картинки orion cpu:cpu - 312, у меня же 500, ну и се ост. так же немного побольше
    Странно. Видимо это вообще без оптимизаций. В оригинале корка ВМ80А занимала около 670LE, в 5-ом циклоне ячейки грубо в 2 раза "жирнее", отсюда и 312 ячеек (из которых сколько-то ещё и на организацию портов и ПЗУ отводится).
    "Байт-48"

  9. #78
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Неспешно оптимизирую формирователь видео-сигнала. Очень сильно усложняет логику наличие аж 4-х режимов - 384/480 столбцов, 640х480/640х350.
    Вот пример формирования горизонтального синхроимпульса:
    Код:
    h_sync_pol_sig <= H_SYNC_POL_WS when (wide_scr_en='1')				 else H_SYNC_POL;
    -- начало горизонтального синхроимпульса
    h_sync_4_start		<= h_cnt(9) and h_cnt(6) and (not h_cnt(7)) and h480en;
    h_sync_3_start		<= h_cnt(9) and h_cnt(4) and (h_cnt(7) nor h_cnt(8)) and (not h480en);
    h_sync_start		<= h_sync_3_start or h_sync_4_start;
    
    
    -- конец горизонтального синхроимпульса
    h_sync_end_mid		<= h_cnt(9) and h_cnt(5);
    h_sync_4_end		<= h_sync_end_mid and h_cnt(7) and h480en;
    h_sync_3_end		<= h_sync_end_mid and h_cnt(6) and h_cnt(4) and (not h480en);
    h_sync_end			<= h_sync_3_end or h_sync_4_end;
    
    
    	process (h_sync_3_start, h_sync_3_end)
    	begin
    		if (h_sync_end = '1') then
    			h_sync <= not h_sync_pol_sig;
    		elsif (h_sync_start = '1') then
    			h_sync <= h_sync_pol_sig;
    		end if;
    	end process;
    Минимизировал как мог, но дальше уже некуда
    В некоторых местах при подобной оптимизации сразу "уходит" стабильность, выраженная в том, что перестаёт считать счётчик по вертикали - меняю формирование сигнала BLANK, а летит счётчик =/
    "Байт-48"

  10. #79
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Очень сильно усложняет логику наличие аж 4-х режимов
    Под условную компиляцию их (`ifdef). Или очень хочется переключение режимов рантайм? Оно конечно заманчиво выглядит, только нечасто кто на лету переключает телевизоры/мониторы. Прикрутил телик/моник, подобрал режим перепрошивками, если вдруг несколько вариантов может подойти, и все - дальше оно так живет. Ну это у тех неленивых кто с реальными железками любит возиться.

  11. #80
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Под условную компиляцию их (`ifdef). Или очень хочется переключение режимов рантайм? Оно конечно заманчиво выглядит, только нечасто кто на лету переключает телевизоры/мониторы. Прикрутил телик/моник, подобрал режим перепрошивками, если вдруг несколько вариантов может подойти, и все - дальше оно так живет. Ну это у тех неленивых кто с реальными железками любит возиться.
    Я хочу хотя бы для себя собрать такой вариант "в железе", потому оптимизирую под такую реализацию. Но да - можно сделать просто отдельными МС на плате это всё и банально написать "для такого-то режима запаиваем такие-то детали". Но всё равно это всё надо сейчас минимизировать, ведь условия вида `elsif (((h_cnt = 10D"392") and (h480en = '0')) or ((h_cnt = 10D"488") and (h480en = '1'))) then` в железо воплотить будет очень дорого по корпусам "рассыпухи"
    "Байт-48"

Страница 8 из 67 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор ZX-Poly
    от Raydac в разделе Эмуляторы
    Ответов: 106
    Последнее: 24.01.2024, 11:52
  2. ОРИОН-2010 на ПЛИС.
    от Ewgeny7 в разделе Орион
    Ответов: 447
    Последнее: 23.11.2016, 12:27
  3. Еще один Ленинград 48
    от Ewgeny7 в разделе Ленинград
    Ответов: 0
    Последнее: 16.10.2007, 22:31
  4. Ещё один Д.Р.
    от GNTB в разделе Поздравления
    Ответов: 4
    Последнее: 19.07.2006, 01:52
  5. Ещё один подраздел
    от CityAceE в разделе Форум
    Ответов: 2
    Последнее: 22.05.2005, 11:57

Ваши права

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