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

User Tag List

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

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

  1. #91
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Цитата Сообщение от shurik-ua Посмотреть сообщение
    там же оптимизатор сам вроде сделает побитовое ? да и код читать удобнее всё таки.
    Внутри ПЛИС - да. Но для воплощения "в железе" приходится всё сравнивать выборочно побитово, иначе плата раздуется на много-много корпусов для полноценного сравнения.
    А ты RTL покажи этого узла. И тот же узел в Technology Map. И сразу станет видно.

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

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

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Делаю специально так, что бы потом "в железе" схему составить без проблем для генерации тактов.
    Тогда тебе надо не на HDL писать, а использовать схемный ввод, из кубиков серии 74xxx. Потому что при таком подходе как сейчас ты и возможности HDL/FPGA не используешь нормально, а потом когда это все на логику будешь раскладывать - там свои проблемы вылезут. В итоге это все может отравить тебе фан, имхо.

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Тогда тебе надо не на HDL писать, а использовать схемный ввод, из кубиков серии 74xxx. Потому что при таком подходе как сейчас ты и возможности HDL/FPGA не используешь нормально, а потом когда это все на логику будешь раскладывать - там свои проблемы вылезут. В итоге это все может отравить тебе фан, имхо.
    Сейчас добиваюсь хоть какой-то работы от модели, потом да, буду в "кубики" модель переделывать.
    Рисовать схему сразу в HDL'я - это изврат, который выйдет боком.

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

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    А ты RTL покажи этого узла. И тот же узел в Technology Map. И сразу станет видно.
    Тогда только TechMap. В RTL'е всё упрощено - те же сравнения так и записаны - блок Equal и 2 оператора на входе для сравнения:
    "Байт-48"

  5. #94
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О чем и речь. Жду техмап. Он, кстати, зависим от конкретной FPGA.

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    О чем и речь. Жду техмап. Он, кстати, зависим от конкретной FPGA.
    Это да. В альтерах там просто куча LOGIC_CELL_COMB'ов =/ Зачастую каждый разбит на куски, раскиданные по "схеме". И внутри ещё хрен пойми какая логика - тяжело её вкуривать вообще =/ Приходится каждый элемент на бумажке расписывать.
    Это может ещё от неопытности просто - это ведь мой первый проект на FPGA, lol До этого не в счёт - баловство в виде написания светофора и прочего, без вникания в суть работы.
    "Байт-48"

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

    По умолчанию

    Итак, сегодня весь день "убил" на перевод схемы на однопортовую память, и оно даже заработало. Правда, при частоте процессора 2,5МГц пока что имеются проблемы, но начиная с 3,125МГц (25МГц/8) всё идеально работает. Буду бороться за сокращение переднего фронта сигнала DSYN - он-то и препятствует обращению к памяти...

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

    Итак, решение пока не самое лучшее, но оно работает 100%:
    Код:
    	process (h_cnt(0))
    	begin
    		if (rising_edge(h_cnt(0))) then
    			dsyn_delayed <= dsyn;
    		end if;
    	end process;
    
    
    mem_to_vbuf	<= h_cnt(1) and (not (dsyn or dsyn_delayed));
    
    
    	process (mem_to_vbuf)
    	begin
    		if (rising_edge(mem_to_vbuf)) then
    			vdata <= mem_data1 & mem_data0;
    		end if;
    	end process;
    
    mem_addr <= vaddr when (dsyn = '0')
    				else addr;
    То есть мы по DSYN мультиплексируем шину адреса памяти, а для арбитража данных задерживаем DSYN на 4 такта (25МГц). Если не делать доп. сигнал с задержкой, то бывают ситуации, когда фронт чтения в буфер приходится на спад DSYN и память естественно ещё не успевает считать данные.
    Позже запаяю на макетке подручную SRAM'ку и протестирую без этой задержки с изменением кода на защёлку:
    Код:
    	process (mem_to_vbuf)	begin
    		if (mem_to_vbuf = '1') then
    			vdata <= mem_data1 & mem_data0;
    		end if;
    	end process;
    "Байт-48"

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

    По умолчанию

    Сделал формирователь тактовых импульсов из частоты 25МГц. Выходные частоты - 2.5МГц, 5МГц, 10МГц.
    Для теста снял все варианты анализатором, частота семплирования - 50МГц.
    10МГц: реализовывал как счётчик до 5, но с генерацией импульсов в 0-ой и 2-ой фазах -
    5МГц: счётчик до 5, генерация в 0-ой фазе -
    2.5МГц: счётчик до 10, генерация в 0-ой фазе -
    На частоте 2.5МГц надо задерживать передний фронт DSYN, пока не придумал как. Иначе на изображении постоянные черные полоски бегают из-за конфликта доступа.
    Завтра ещё сперва оптимизирую формирование тактов, потом займусь DSYN...
    Из минусов текущего решения - необходимы 2 раздельных счётчика после кварца для формирования сигналов для видео и для CPU. Но есть сдвоенные на подходящие частоты, можно попробовать.
    "Байт-48"

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

    По умолчанию

    Итак, сделал переключаемую тактовую 2.5/5/10МГц, а так же перевёл память на однопортовую. Пока что реализовано сильно "в лоб", но оно работает надёжно.
    Так же пришлось ввести аналог сигнала CAS, по которому пишется положительный фронт DSYN, благодаря чему убрана цепочка задержки этого сигнала (из кода не убрал, но оно не используется уже).
    "Байт-48"

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

    По умолчанию

    Набросал формирователь видеосигналов из "кубиков" логики.
    В качестве счётчиков использовал ИЕ19 (74393), имеются некоторые погрешности в синхросигналах (ровно на 1 такт, для упрощения логики).
    Логику пока не упрощал, займусь этим только после стабильной работы с остальным компьютером.
    21mux - в железе будет в виде джамперов.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	orion_video_sch.jpg 
Просмотров:	128 
Размер:	83.3 Кб 
ID:	64201  
    "Байт-48"

  11. #100
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нипанятна. Есть оригинал?

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

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

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

Эту тему просматривают: 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

Ваши права

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