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

12 hours ago, dtmf73 said:

Спасибо! Полезная ссылка. Плата уже мигает светодиодом.

Не так чтобы выдающееся достижение, но проверил :acute:

 

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


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

Какие SPI FLASH подходят для GW2A в качестве загрузочных ?

Минимальный размер, фирмы производители, ограничения может есть какие ?

Искал в разделе документации на сайте и не нашел...

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


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

5 часов назад, cpl сказал:

Какие SPI FLASH подходят для GW2A в качестве загрузочных ?

Минимальный размер, фирмы производители, ограничения может есть какие ?

Искал в разделе документации на сайте и не нашел...

Любые стандартные Serial NOR Flash достаточного объема, любого производителя - от Adesto и Atmel до Winbond и Zbit.

См. "Gowin FPGA Programming and Configuration User Guide": https://gowinsemi.com/en/document/chkLogin/?a=upload%2Fdatabase_doc%2F1130%2Fdocument%2F61f165a8c4122.pdf

параграф 10 SPI Flash Selection.

Ну или запустите программер, и посмотрите, какие готовые варианты SPI Flash там предлагаются для External Flash Mode.

На отладочных платах Gowin, как правило, стоит Winbond.

Я пробовал Adesto и Zbit (и того и другого в предлагаемом списке программера нет, выбирал Generic Flash) - и то, и другое успешно работает.

Я поставляю Zbit как самый недорогой вариант: http://zbitsemi.com/en/info.php?class_id=102101

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


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

Для GW2A-LV18PG256S.

А как определить достаточный объем SPI FLASH, если в документации не указано ?

К примеру у меня есть M25P80 (1M x 8), её хватит или нет ?

 

Разобрался, нашел, таблицу с указанием объема необходимой конфигурационной флеши.

 

gowin.png

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


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

On 2/9/2022 at 2:07 PM, StewartLittle said:

почему нет? Законстрейнить его на глобальную линию.

Есть проект в котором частота клоков после DQCE теряется в V1.9.8.03 по сравнению с V1.9.7Beta.

Идея такая: 64MHz -> PLL -> 48MHz -> DQCE -> модули.

Spoiler

//---------------------------------------------------------------------------------------------------
// Device: QFN88 GW1N-9C LUT=8640, FF=6840, SSRAM=2kB, BSRAM=468kB, Flash=608kB, DSP=20, Pll=2, Dll=4
//---------------------------------------------------------------------------------------------------
module TST_TOP (
    input  wire         CLK64M,
    input  wire         DC, 

    output wire [7:0]   D,
    output wire         DS
);

//--- PLL -------------------------------------------------------------------------------------------
PLL48 PLL48_1(.CLKi(CLK64M), .RSTn(~DC), .Lock(D[0]), .CLKO(DS), .CLKO_P(), .CLKO_D(), .CLKO_D3() );

//--
wire CLK48;

//BUFG Pll_BUFG ( .I(DS), .O(CLK48) );
DQCE Pll_DQCE (.CLKIN(DS), .CE(1), .CLKOUT(CLK48) );


reg [7:0] Cycle=0;

always @(posedge CLK48 /*DS*/) Cycle <= Cycle + 8'd1;

assign D[7:1] = Cycle[7:1];

endmodule

//===================================================================================================
module PLL48 (
    input  wire     CLKi,
    input  wire     RSTn,

    output wire     Lock,
    output wire     CLKO,
    output wire     CLKO_P,
    output wire     CLKO_D,
    output wire     CLKO_D3
);

rPLL rpll_inst (
    .CLKOUT(CLKO),
    .LOCK(Lock),
    .CLKOUTP(CLKO_P),
    .CLKOUTD(CLKO_D),
    .CLKOUTD3(CLKO_D3),
    .RESET(RSTn),
    .RESET_P(1'b0),
    .CLKIN(CLKi),
    .CLKFB(1'b0),
    .FBDSEL(6'd0),
    .IDSEL(6'd0),
    .ODSEL(6'd0),
    .PSDA(4'd0),
    .DUTYDA(4'd0),
    .FDLY(4'd0)
);

defparam rpll_inst.FCLKIN = "64";
defparam rpll_inst.DYN_IDIV_SEL = "false";
defparam rpll_inst.IDIV_SEL = 3;
defparam rpll_inst.DYN_FBDIV_SEL = "false";
defparam rpll_inst.FBDIV_SEL = 2;
defparam rpll_inst.DYN_ODIV_SEL = "false";
defparam rpll_inst.ODIV_SEL = 16;
defparam rpll_inst.PSDA_SEL = "0000";
defparam rpll_inst.DYN_DA_EN = "true";
defparam rpll_inst.DUTYDA_SEL = "1000";
defparam rpll_inst.CLKOUT_FT_DIR = 1'b1;
defparam rpll_inst.CLKOUTP_FT_DIR = 1'b1;
defparam rpll_inst.CLKOUT_DLY_STEP = 0;
defparam rpll_inst.CLKOUTP_DLY_STEP = 0;
defparam rpll_inst.CLKFB_SEL = "internal";
defparam rpll_inst.CLKOUT_BYPASS = "false";
defparam rpll_inst.CLKOUTP_BYPASS = "false";
defparam rpll_inst.CLKOUTD_BYPASS = "false";
defparam rpll_inst.DYN_SDIV_SEL = 2;
defparam rpll_inst.CLKOUTD_SRC = "CLKOUT";
defparam rpll_inst.CLKOUTD3_SRC = "CLKOUT";
defparam rpll_inst.DEVICE = "GW1N-9C";

endmodule //PLL48 

 

 

При переносе на новую версию IDE частота после DQCE стала 50МГц и цепь после PLL обозначаться как
"No timing paths to get frequency..."

dqce.thumb.png.56d308ceaeea02ea65f0c5262f5f9282.png

 

Задано create_clock -name Clock64M -period 15.625 -waveform {0 7.812} [get_ports {CLK64M}] -add

что ещё надо добавить в новом IDE?

 

PS: Ещё иерархия не отображается даже без DQCE в V1.9.8.03...

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


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

1. Про клоки:

Добавил пару create_generated_clock - получилось:

create_clock           -name Clock64M  -period 15.625 -waveform {0 7.812} [get_ports {CLK64M}] 
create_generated_clock -name Clock48M  -source [get_pins {CLK64M_ibuf/I}] -divide_by 4 -multiply_by 3 [get_pins {PLL48_1/rpll_inst/CLKOUT}]
create_generated_clock -name Clock48CE -source [get_pins {PLL48_1/rpll_inst/CLKOUT}]   -multiply_by 1 [get_pins {Pll_DQCE/CLKOUT}]

 

тогда для версии V1.9.7Beta получается

old.thumb.png.c16ce4c133883b1480155878db260a56.png

 

а для версии V1.9.8.03 получается

new.thumb.png.22bd0d33421df7c134ae366df5b4cdbd.png

т.е. create_generated_clock конечно что-то исправляет но только на этапе P&R.

Почему раньше Pll нормально цеплялась и что теперь делать?

 

2. иерархия - в IDE она не появляется, хотя в файле CLK_TST_syn_resource.html она есть

если в конфигурации проекта - задать имя модуля - он становится топовым, но не подключается в иерархию всё равно.

res.thumb.png.c3c809eef33d4bde90b4d18c4eef9f3e.png

 

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


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

Добрый день.

Безуспешно пытаемся загрузить прошивку в ПЛИС GW1-LV9PG256 в режиме SSPI. По JTAG процесс загрузки проходит нормально.
Как мы пытаемся прошить по SSPI (в соответствии с документом TN652 Gowin FPGA Products Slave SPI Configuration Manual):

1. M[2:0] = 'b001, CLKHOLD_N = 1
2. Импульс (1 -> 0 -> 1) RECONFIG_N длительностью 400ns, дожидаемся READY = 1
3. ID-код не опрашиваем
4. Отправляется команда 0x15, 0x00, 0x00, 0x00 (4 байта). Если верить документации, после нее нужно выдержать паузу 4ms. Пробовали как с этой задержкой, так и без нее.
5. Отправляется команда 0x3B (1 байт).
6. Отправляются данные из файла прошивки (пробовали и .bin, и .fs)
7. Отправляется команда 0x3A, 0x00, 0x00, 0x00
После выполнения этой последовательности действий не видим перехода DONE в 1.

Можете ли подсказать, что мы делаем не так?

Еще пара вопросов.

1. В документе TN652-1.3E Gowin FPGA Products Slave SPI Configuration Manual есть такая фраза

Quote

Note! SCLK dirve rule. In CS high level, more than two clocks are needed to give SCLK to dirive FPGA to recognize CS signal. Sending other instructions also confirm to this rule.

Правильно ли понимаю, что после того как передача каких-либо данных закончилась при сигнале CS = 1 нужно на вход SCLK подать минимум 2 тактовых импульса?

 

2. Допускает ли команда 0x3B запись более одного байта?

 

3. Какой все-таки файл нужно заливать по SPI .fs или .bin?

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


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

38 minutes ago, Alex_AZ said:

Правильно ли понимаю, что после того как передача каких-либо данных закончилась при сигнале CS = 1 нужно на вход SCLK подать минимум 2 тактовых импульса?

Да, правильно. Китайский SPI он такой )))

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


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

59 minutes ago, Realking said:

Да, правильно. Китайский SPI он такой )))

ну сделали они детектор фронта, который требует пары дополнительных тактов, зато работает же, без всякой асинхронщины))))

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


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

на сахаре гонят волну, что gowin все (типа там американская доля есть)

прокомментируйте официально, плиз

 

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


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

17 minutes ago, yes said:

на сахаре гонят волну, что gowin все (типа там американская доля есть)

прокомментируйте официально, плиз

 

 за информацией о текущей ситуации можно обратиться в личку к StewartLittle 

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


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

7 hours ago, Alex11 said:

Сообщение от официального поставщика: GoWin прекращает работу в РФ.

Нет слов

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


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

6 минут назад, Realking сказал:

Нет слов

В продуктах Gowin, по-видимому используются технологии США и всё, что попадает в эту категорию находится под запретом поставок. :-(

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


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

9 часов назад, Alex11 сказал:

Сообщение от официального поставщика: GoWin прекращает работу в РФ.

Если быть точным, то не прекращает, а приостанавливает - цитата (уж прошу прощения за стиль, но времена не вегатариантские): "Ай эм вери сорри ту адвайз дет ви хэв тейкен де десижен ту суспенд олл бизнес активитиз ин Руссиа антил фурзер нотисе".

Но, конечно, для нас хрен редьки не слаще. Когда случится этот  further notice, и случится ли он вообще - это большой вопрос.
О причинах могу только гадать. Но свои соображения (их есть у меня) выскажу только в личке.

 

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


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

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

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

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

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

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

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

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

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

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