User Tag List

Показано с 1 по 10 из 661

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    "Моргать" CE это как-то не согласуется со схемой Ориона - там же ОЗУ всегда выбрано (Активно), а потребитель (ШД/видео) переключаются соответствющими выходными регистрами/буферами. Раз на запись с ШД хватается что-то не то (почему DRAM, в разы более медленные, кстати, так не хватали? Скорость то не на порядок выше) то я бы посмотрел в сторону того как работает буфер ШД, как вариант дополнительно в нужный момент защелкивать правильное состояние ШД латчем, а уже из него писать в ОЗУ. Чем щелкать СЕ дело не в дело, да еще и срезая запасы по времени обращения. Как такой вариант?
    У меня ШД на память и так защёлкивается латчем (самописный аналог АП6, готового в кактусе не было):
    Код:
    -- altera vhdl_input_version vhdl_2008
    
    library ieee;
    use ieee.std_logic_1164.all;
    use IEEE.STD_LOGIC_UNSIGNED.ALL;
    
    
    entity bidir_buf is
    	port (
    		A	: inout std_logic_vector(7 downto 0);
    		B	: inout std_logic_vector(7 downto 0);
    		AB	: in std_logic;
    		OEn: in std_logic;
    		clk: in std_logic
    	);
    end entity;
    
    
    architecture rtl of bidir_buf is
    
    
    begin
    
    
    process (clk)
    begin
    	if (rising_edge(clk)) then
    		if (OEn = '1') then
    			A <= (others => 'Z');
    			B <= (others => 'Z');
    		else
    			if (AB = '0') then
    				B <= (others => 'Z');
    				A <= B;
    			else
    				A <= (others => 'Z');
    				B <= A;
    			end if;
    		end if;
    	end if;
    end process;
    
    
    end rtl;
    Тактирую я его очень высокой частотой (100МГц и более), так что он точно успевает.
    Буду "ковырять" позже, попробую разные варианты...
    А вот участок формирования сигналов для памяти.
    MA16 - это МА16 из ПРОшки. MRDn, MWEn - чтение и запись для памяти, ест, формируются как в ПРОшке, только без различий по банкам - это формируется здесь, в зависимости от типа памяти (для 16 битной - MA16 выбирает половинку слова, а MA19 выбирает чип, для 8 битной - MA16 выбирает чип). clk_mem - тактирование для OnChipMemory, сейчас 250МГц.

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

    По поводу памяти - есть Verilog/VHDL модель от производителя, можно понять внутреннюю логику работы. Как понимаю, она примерно одинакова для всех SRAM.

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

    По записи - надо как минимум восходящий фронт WE делать более ранним, поскольку запись идёт именно по нему - а там адрес ещё защёлкнут старый, но на данных защёлка уже переключилась, из-за чего и возможен мусор.
    Аналогично и с нисходящим фронтом WE - внутри защёлкнут адрес видео-ячейки, появляется WE и данные для записи, МС успевает их записать. Более медленная память просто не успевает этого сделать.
    Всё это моё ИМХО, просьба поправить ошибки - выводы сделал на основании анализа кода модели памяти.
    Последний раз редактировалось andreil; 15.04.2018 в 11:33.
    "Байт-48"

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

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

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

Похожие темы

  1. Эмулятор ZX-Poly
    от Raydac в разделе Эмуляторы
    Ответов: 109
    Последнее: 07.12.2024, 21:42
  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

Ваши права

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