Перейти к содержанию
    

9 hours ago, zombi said:

что такое кор? и зачем туда чегото впендюривать?

Если работаете в 8-ми битном режиме, то считайте что пин DQ15/A-1 это адрес А0, пин A0 это А1, ..., А25 это А26

итого получаете А[26..0] (27 бит необходимых для адресации 128 МегаБайт) 

На этом пине DQ15/A-1 нужно ведь физически выставить LSB. В моем случае память подключена к FPGA и там вся логика для младших чипов, не учитывает этот пин. Там интерфейс крученый через WISHBONE шину. чтоб сделать изменения в коре нужно постараться.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, jenya7 said:

 там вся логика для младших чипов, не учитывает этот пин. 
 

С каким чипом сейчас реально работает FPGA?

Куда физически подключен вывод памяти DQ15/A-1?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

С каким чипом сейчас реально работает FPGA?

Куда физически подключен вывод памяти DQ15/A-1?

там абстракция через WISHBONE шину. пользователь не обращается напрямую к пинам.

wb_nor_flash.vhd

 

физически шина подключена через буфер

DQ <= (others => 'Z') when DQ_ena='0' else DQ_buf when WORD_BYTEn='1' else ("ZZZZZZZZ" & DQ_buf(7 downto 0));

а буфер принимает разные значения в зависимости от команды

например

when cnt_sector_erase_0=> --//sector erase command 1st cycle
        cnt_code<="10";
        if(WORD_BYTEn='1') then
           inner_addr(sector_addr_width+other_addr_width-1 downto 12)<=(others => '0');
           inner_addr(11 downto 0)<=x"555";
        else
           inner_addr(sector_addr_width+other_addr_width-1 downto 12)<=(others => '0');
           inner_addr(11 downto 0)<=x"aaa";
        end if;--              //command address
        DQ_buf<=x"00aa";  --//command data
        if(cnt_done='1') then
          cnt_state<=cnt_sector_erase_1;
          cnt_start<='0';
        else
          cnt_state<=cnt_sector_erase_0;
          cnt_start<='1';
        end if;  

и так далее

 

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я не силён в языках, но вроде шина данных обьявлена 16 бит 

Quote

DQ: inout  std_logic_vector(15 downto 0)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, zombi said:

я не силён в языках, но вроде шина данных обьявлена 16 бит 

 

да. в чипе DQ 16 бит.

nor_flash.png

 

то есть получается мне нужно как то привинтить

A (25 downto 10) <= other_address(other_addr_width-1 downto 1);

DQ(15) <= other_address(0);

так что ли?

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

Что означает эта строчка в VHD ?

constant WORD_BYTEn:std_logic:='1';  --1 word; 0 byte 

это выбор ширины данных (DQ) - WORD BYTEn = 1 - 16 бит,  WORD BYTEn = 0 - 8 бит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если в VHD предусмотрена возможность задать ширину шины мс flash определением константы WORD_BYTEn,

то значит должно быть реализовано и управление пинами EMIF_A25.BYTE# и EMIF_A25.DQ15

или я чего не понимаю.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

Если в VHD предусмотрена возможность задать ширину шины мс flash определением константы WORD_BYTEn,

то значит должно быть реализовано и управление пинами EMIF_A25.BYTE# и EMIF_A25.DQ15

или я чего не понимаю.

 

 

на пин EMIF_A25.BYTE# приходит правильный сигнал. но я не вижу в драйвере распределения адреса а точнее его LSB на пин DQ15 при условии что WORD BYTEn = 0.

драйвер наверное предназначен для чипов с денсити меньше 1 гига.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 minutes ago, jenya7 said:

денсити меньше 1 гига.

Ёмкость чипа здесь ни причём.

Существует много чипов флеш памяти разных производителей и разных объёмов которые имеют пин BYTE# для выбора шины данных 8 или 16 бит.

И все они работают одинаково в способе выбора ширины шины (BYTE#=0 -> 8) (BYTE#=1 -> 16)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

Ёмкость чипа здесь ни причём.

Существует много чипов разных производителей и разных объёмов которые имеют пин BYTE# для выбора шины данных 8 или 16 бит.

И все они работают одинаково в способе выбора ширины шины (BYTE#=0 -> 8) (BYTE#=1 -> 16)

 

 

я говорю про драйвер со стороны FPGA. он может по разному обратиться к пинам памяти. как написали, с учетом DQ15 или без. для младших чипов DQ15 не нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, jenya7 said:

для младших чипов DQ15 не нужен.

какие чипы вы называете младшими?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

какие чипы вы называете младшими?

ааа. а ведь и правда

Quote

A-1 is the least significant address bit in x8 mode.

мне просто нужно этот пин подключить к адресной шине как LSB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, jenya7 said:

мне просто нужно этот пин подключить к адресной шине как LSB.

А зачем нужен именно 8-ми битный режим?

Если 16-ти битный режим работы полностью реализован, вот и работайте в нём? не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, zombi said:

А зачем нужен именно 8-ми битный режим?

Если 16-ти битный режим работы полностью реализован, вот и работайте в нём? не?

я еще не уверен. пакеты данных шлются байтовыми массивами. окончательное решение не от меня зависит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...