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

12 hours ago, StewartLittle said:

Ну, они-то никогда и не скрывали, что фирма основана инженерами-разработчиками, выходцами из Lattice (даже наоборот - подавали это как сильную сторону компании).

А еще, ИМХО, Gowin'у очень сильно поспособствовало то, что у него с самого начала была поддержка со стороны Synopsys'а.

я думаю это был ключевой момент позволивший группе инженеров заявить о себе как о самостоятельной компании. Беда в том что цены на их продукцию растут и стремятся выровняться с XIL/INT, это расстраивает но это больше перекупы думаю. 

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


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

31 минуту назад, LexaryStyle сказал:

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

Это далеко не факт, под это нужно было ещё найти инвестора, готового сыграть вдолгую. Так что сложно сказать, что там было ключевым моментом.

Куда важнее, что они сейчас явно подхватили знамя на той части рынка, которую гранды типа Xilinx/Altera посчитали не интересной, но хорошо что свято место пусто не бывает. Посмотрим, как у них получится расти.

34 минуты назад, LexaryStyle сказал:

Беда в том что цены на их продукцию растут и стремятся выровняться с XIL/INT, это расстраивает но это больше перекупы думаю. 

Цены там явно не рыночные, как и у Xilinx/Altera, порой дававших проектные цены на порядок, а то и на два ниже рыночной розницы. Так что придется искать варианты и договариваться, либо скрести по сусекам и платить. 

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


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

В 28.10.2022 в 09:41, StewartLittle сказал:

"Вы не любите кошек? Вы просто не умеете их готовить!"

Дайте рецепт. Или где почитать как правильно готовить?

Простенький проект, на входе 32 бита данных , на выходе CRC32.

Спойлер
// TOP

module prb(
	clk,
	res,
	DI,
	DO
);


input wire	clk;
input wire	res;
input wire	[31:0] DI;
output wire	[31:0] DO;


CRC32	inst_crc(
	.clk(clk),
	.res(res),
	.DAT(DI),
	.CRC(DO));


endmodule

//***************************************
module CRC32
(
input clk, res, input [31:0]DAT, output reg[31:0]CRC
);

always @(posedge clk) CRC <= res ? 32'hFFFFFFFF : nextCRC32( DAT , CRC );

function [31:0] nextCRC32;

  input [31:0] data, crc;
  reg   [31:0] d, c, newcrc;

  begin
    d = data;
    c = crc;
    newcrc[0] = d[31] ^ d[30] ^ d[29] ^ d[28] ^ d[26] ^ d[25] ^ d[24] ^ d[16] ^ d[12] ^ d[10] ^ d[9] ^ d[6] ^ d[0] ^ c[0] ^ c[6] ^ c[9] ^ c[10] ^ c[12] ^ c[16] ^ c[24] ^ c[25] ^ c[26] ^ c[28] ^ c[29] ^ c[30] ^ c[31];
    newcrc[1] = d[28] ^ d[27] ^ d[24] ^ d[17] ^ d[16] ^ d[13] ^ d[12] ^ d[11] ^ d[9] ^ d[7] ^ d[6] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[6] ^ c[7] ^ c[9] ^ c[11] ^ c[12] ^ c[13] ^ c[16] ^ c[17] ^ c[24] ^ c[27] ^ c[28];
    newcrc[2] = d[31] ^ d[30] ^ d[26] ^ d[24] ^ d[18] ^ d[17] ^ d[16] ^ d[14] ^ d[13] ^ d[9] ^ d[8] ^ d[7] ^ d[6] ^ d[2] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[2] ^ c[6] ^ c[7] ^ c[8] ^ c[9] ^ c[13] ^ c[14] ^ c[16] ^ c[17] ^ c[18] ^ c[24] ^ c[26] ^ c[30] ^ c[31];
    newcrc[3] = d[31] ^ d[27] ^ d[25] ^ d[19] ^ d[18] ^ d[17] ^ d[15] ^ d[14] ^ d[10] ^ d[9] ^ d[8] ^ d[7] ^ d[3] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[3] ^ c[7] ^ c[8] ^ c[9] ^ c[10] ^ c[14] ^ c[15] ^ c[17] ^ c[18] ^ c[19] ^ c[25] ^ c[27] ^ c[31];
    newcrc[4] = d[31] ^ d[30] ^ d[29] ^ d[25] ^ d[24] ^ d[20] ^ d[19] ^ d[18] ^ d[15] ^ d[12] ^ d[11] ^ d[8] ^ d[6] ^ d[4] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[8] ^ c[11] ^ c[12] ^ c[15] ^ c[18] ^ c[19] ^ c[20] ^ c[24] ^ c[25] ^ c[29] ^ c[30] ^ c[31];
    newcrc[5] = d[29] ^ d[28] ^ d[24] ^ d[21] ^ d[20] ^ d[19] ^ d[13] ^ d[10] ^ d[7] ^ d[6] ^ d[5] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ^ c[10] ^ c[13] ^ c[19] ^ c[20] ^ c[21] ^ c[24] ^ c[28] ^ c[29];
    newcrc[6] = d[30] ^ d[29] ^ d[25] ^ d[22] ^ d[21] ^ d[20] ^ d[14] ^ d[11] ^ d[8] ^ d[7] ^ d[6] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[7] ^ c[8] ^ c[11] ^ c[14] ^ c[20] ^ c[21] ^ c[22] ^ c[25] ^ c[29] ^ c[30];
    newcrc[7] = d[29] ^ d[28] ^ d[25] ^ d[24] ^ d[23] ^ d[22] ^ d[21] ^ d[16] ^ d[15] ^ d[10] ^ d[8] ^ d[7] ^ d[5] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[5] ^ c[7] ^ c[8] ^ c[10] ^ c[15] ^ c[16] ^ c[21] ^ c[22] ^ c[23] ^ c[24] ^ c[25] ^ c[28] ^ c[29];
    newcrc[8] = d[31] ^ d[28] ^ d[23] ^ d[22] ^ d[17] ^ d[12] ^ d[11] ^ d[10] ^ d[8] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[8] ^ c[10] ^ c[11] ^ c[12] ^ c[17] ^ c[22] ^ c[23] ^ c[28] ^ c[31];
    newcrc[9] = d[29] ^ d[24] ^ d[23] ^ d[18] ^ d[13] ^ d[12] ^ d[11] ^ d[9] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[9] ^ c[11] ^ c[12] ^ c[13] ^ c[18] ^ c[23] ^ c[24] ^ c[29];
    newcrc[10] = d[31] ^ d[29] ^ d[28] ^ d[26] ^ d[19] ^ d[16] ^ d[14] ^ d[13] ^ d[9] ^ d[5] ^ d[3] ^ d[2] ^ d[0] ^ c[0] ^ c[2] ^ c[3] ^ c[5] ^ c[9] ^ c[13] ^ c[14] ^ c[16] ^ c[19] ^ c[26] ^ c[28] ^ c[29] ^ c[31];
    newcrc[11] = d[31] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[20] ^ d[17] ^ d[16] ^ d[15] ^ d[14] ^ d[12] ^ d[9] ^ d[4] ^ d[3] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[3] ^ c[4] ^ c[9] ^ c[12] ^ c[14] ^ c[15] ^ c[16] ^ c[17] ^ c[20] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[31];
    newcrc[12] = d[31] ^ d[30] ^ d[27] ^ d[24] ^ d[21] ^ d[18] ^ d[17] ^ d[15] ^ d[13] ^ d[12] ^ d[9] ^ d[6] ^ d[5] ^ d[4] ^ d[2] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[2] ^ c[4] ^ c[5] ^ c[6] ^ c[9] ^ c[12] ^ c[13] ^ c[15] ^ c[17] ^ c[18] ^ c[21] ^ c[24] ^ c[27] ^ c[30] ^ c[31];
    newcrc[13] = d[31] ^ d[28] ^ d[25] ^ d[22] ^ d[19] ^ d[18] ^ d[16] ^ d[14] ^ d[13] ^ d[10] ^ d[7] ^ d[6] ^ d[5] ^ d[3] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[3] ^ c[5] ^ c[6] ^ c[7] ^ c[10] ^ c[13] ^ c[14] ^ c[16] ^ c[18] ^ c[19] ^ c[22] ^ c[25] ^ c[28] ^ c[31];
    newcrc[14] = d[29] ^ d[26] ^ d[23] ^ d[20] ^ d[19] ^ d[17] ^ d[15] ^ d[14] ^ d[11] ^ d[8] ^ d[7] ^ d[6] ^ d[4] ^ d[3] ^ d[2] ^ c[2] ^ c[3] ^ c[4] ^ c[6] ^ c[7] ^ c[8] ^ c[11] ^ c[14] ^ c[15] ^ c[17] ^ c[19] ^ c[20] ^ c[23] ^ c[26] ^ c[29];
    newcrc[15] = d[30] ^ d[27] ^ d[24] ^ d[21] ^ d[20] ^ d[18] ^ d[16] ^ d[15] ^ d[12] ^ d[9] ^ d[8] ^ d[7] ^ d[5] ^ d[4] ^ d[3] ^ c[3] ^ c[4] ^ c[5] ^ c[7] ^ c[8] ^ c[9] ^ c[12] ^ c[15] ^ c[16] ^ c[18] ^ c[20] ^ c[21] ^ c[24] ^ c[27] ^ c[30];
    newcrc[16] = d[30] ^ d[29] ^ d[26] ^ d[24] ^ d[22] ^ d[21] ^ d[19] ^ d[17] ^ d[13] ^ d[12] ^ d[8] ^ d[5] ^ d[4] ^ d[0] ^ c[0] ^ c[4] ^ c[5] ^ c[8] ^ c[12] ^ c[13] ^ c[17] ^ c[19] ^ c[21] ^ c[22] ^ c[24] ^ c[26] ^ c[29] ^ c[30];
    newcrc[17] = d[31] ^ d[30] ^ d[27] ^ d[25] ^ d[23] ^ d[22] ^ d[20] ^ d[18] ^ d[14] ^ d[13] ^ d[9] ^ d[6] ^ d[5] ^ d[1] ^ c[1] ^ c[5] ^ c[6] ^ c[9] ^ c[13] ^ c[14] ^ c[18] ^ c[20] ^ c[22] ^ c[23] ^ c[25] ^ c[27] ^ c[30] ^ c[31];
    newcrc[18] = d[31] ^ d[28] ^ d[26] ^ d[24] ^ d[23] ^ d[21] ^ d[19] ^ d[15] ^ d[14] ^ d[10] ^ d[7] ^ d[6] ^ d[2] ^ c[2] ^ c[6] ^ c[7] ^ c[10] ^ c[14] ^ c[15] ^ c[19] ^ c[21] ^ c[23] ^ c[24] ^ c[26] ^ c[28] ^ c[31];
    newcrc[19] = d[29] ^ d[27] ^ d[25] ^ d[24] ^ d[22] ^ d[20] ^ d[16] ^ d[15] ^ d[11] ^ d[8] ^ d[7] ^ d[3] ^ c[3] ^ c[7] ^ c[8] ^ c[11] ^ c[15] ^ c[16] ^ c[20] ^ c[22] ^ c[24] ^ c[25] ^ c[27] ^ c[29];
    newcrc[20] = d[30] ^ d[28] ^ d[26] ^ d[25] ^ d[23] ^ d[21] ^ d[17] ^ d[16] ^ d[12] ^ d[9] ^ d[8] ^ d[4] ^ c[4] ^ c[8] ^ c[9] ^ c[12] ^ c[16] ^ c[17] ^ c[21] ^ c[23] ^ c[25] ^ c[26] ^ c[28] ^ c[30];
    newcrc[21] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[24] ^ d[22] ^ d[18] ^ d[17] ^ d[13] ^ d[10] ^ d[9] ^ d[5] ^ c[5] ^ c[9] ^ c[10] ^ c[13] ^ c[17] ^ c[18] ^ c[22] ^ c[24] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[22] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[24] ^ d[23] ^ d[19] ^ d[18] ^ d[16] ^ d[14] ^ d[12] ^ d[11] ^ d[9] ^ d[0] ^ c[0] ^ c[9] ^ c[11] ^ c[12] ^ c[14] ^ c[16] ^ c[18] ^ c[19] ^ c[23] ^ c[24] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[23] = d[31] ^ d[29] ^ d[27] ^ d[26] ^ d[20] ^ d[19] ^ d[17] ^ d[16] ^ d[15] ^ d[13] ^ d[9] ^ d[6] ^ d[1] ^ d[0] ^ c[0] ^ c[1] ^ c[6] ^ c[9] ^ c[13] ^ c[15] ^ c[16] ^ c[17] ^ c[19] ^ c[20] ^ c[26] ^ c[27] ^ c[29] ^ c[31];
    newcrc[24] = d[30] ^ d[28] ^ d[27] ^ d[21] ^ d[20] ^ d[18] ^ d[17] ^ d[16] ^ d[14] ^ d[10] ^ d[7] ^ d[2] ^ d[1] ^ c[1] ^ c[2] ^ c[7] ^ c[10] ^ c[14] ^ c[16] ^ c[17] ^ c[18] ^ c[20] ^ c[21] ^ c[27] ^ c[28] ^ c[30];
    newcrc[25] = d[31] ^ d[29] ^ d[28] ^ d[22] ^ d[21] ^ d[19] ^ d[18] ^ d[17] ^ d[15] ^ d[11] ^ d[8] ^ d[3] ^ d[2] ^ c[2] ^ c[3] ^ c[8] ^ c[11] ^ c[15] ^ c[17] ^ c[18] ^ c[19] ^ c[21] ^ c[22] ^ c[28] ^ c[29] ^ c[31];
    newcrc[26] = d[31] ^ d[28] ^ d[26] ^ d[25] ^ d[24] ^ d[23] ^ d[22] ^ d[20] ^ d[19] ^ d[18] ^ d[10] ^ d[6] ^ d[4] ^ d[3] ^ d[0] ^ c[0] ^ c[3] ^ c[4] ^ c[6] ^ c[10] ^ c[18] ^ c[19] ^ c[20] ^ c[22] ^ c[23] ^ c[24] ^ c[25] ^ c[26] ^ c[28] ^ c[31];
    newcrc[27] = d[29] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[23] ^ d[21] ^ d[20] ^ d[19] ^ d[11] ^ d[7] ^ d[5] ^ d[4] ^ d[1] ^ c[1] ^ c[4] ^ c[5] ^ c[7] ^ c[11] ^ c[19] ^ c[20] ^ c[21] ^ c[23] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[29];
    newcrc[28] = d[30] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[24] ^ d[22] ^ d[21] ^ d[20] ^ d[12] ^ d[8] ^ d[6] ^ d[5] ^ d[2] ^ c[2] ^ c[5] ^ c[6] ^ c[8] ^ c[12] ^ c[20] ^ c[21] ^ c[22] ^ c[24] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[30];
    newcrc[29] = d[31] ^ d[29] ^ d[28] ^ d[27] ^ d[26] ^ d[25] ^ d[23] ^ d[22] ^ d[21] ^ d[13] ^ d[9] ^ d[7] ^ d[6] ^ d[3] ^ c[3] ^ c[6] ^ c[7] ^ c[9] ^ c[13] ^ c[21] ^ c[22] ^ c[23] ^ c[25] ^ c[26] ^ c[27] ^ c[28] ^ c[29] ^ c[31];
    newcrc[30] = d[30] ^ d[29] ^ d[28] ^ d[27] ^ d[26] ^ d[24] ^ d[23] ^ d[22] ^ d[14] ^ d[10] ^ d[8] ^ d[7] ^ d[4] ^ c[4] ^ c[7] ^ c[8] ^ c[10] ^ c[14] ^ c[22] ^ c[23] ^ c[24] ^ c[26] ^ c[27] ^ c[28] ^ c[29] ^ c[30];
    newcrc[31] = d[31] ^ d[30] ^ d[29] ^ d[28] ^ d[27] ^ d[25] ^ d[24] ^ d[23] ^ d[15] ^ d[11] ^ d[9] ^ d[8] ^ d[5] ^ c[5] ^ c[8] ^ c[9] ^ c[11] ^ c[15] ^ c[23] ^ c[24] ^ c[25] ^ c[27] ^ c[28] ^ c[29] ^ c[30] ^ c[31];
    nextCRC32 = newcrc;
  end
endfunction

endmodule


 

Пины, кроме clk, не подключал и констрейны для них не задавал.

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

Получил:

для MAX10 Fmax = 171.23 MHz

для ГОВИН Fmax = 138,318 MHz

Означает ли это что говин выполнить функцию "nextCRC32" быстрее чем за 7.23 нс в принципе не сможет?

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


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

8 минут назад, Freibier сказал:

Означает ли это что говин выполнить функцию "nextCRC32" быстрее чем за 7.23 нс в принципе не сможет?

Приведённую вами реализацию - скорее всего не сможет. Gowin имеет более толстый техпроцесс и, как следствие, большие задержки.

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


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

В 29.10.2022 в 16:05, makc сказал:

Gowin имеет более толстый техпроцесс и, как следствие, большие задержки.

Не совсем так.

Если сравнивать MAX 10 и GW1N - то и там, и там 55 nm Embedded Flash TSMC.

Если сравнивать MAX 10 и GW2A - то  55 nm Embedded Flash TSMC у первого и 55 nm SRAM TSMC у второго.

 

Но ведь получаемая скорость определяется не только проектной нормой, но и архитектурой, и возможностями цепей разводки чипа. У MAX 10 оно все, имхо, получше.

 

А если сравниваем реализации одного и того же исходника в альтере и говине, то давайте отделять мух от котлет.  Вы что хотите сравнить - скоростные возможности кремния, или QoR среды разработки? Потому как сильно влиять может и то, и другое. И что влияет сильнее - это еще большой вопрос...

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


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

8 минут назад, StewartLittle сказал:

Не совсем так.

Если сравнивать MAX 10 и GW1N - то и там, и там 55 nm Embedded Flash TSMC.

Да, действительно у них одни и те же нормы. Но я грешным делом подумал, что у GW1N 65 нм, судя по их тормознутости. Луты и там, и там 4х-входовые... Хотя архитектура у MAX10 действительно более навороченная.

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


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

25 минут назад, StewartLittle сказал:

Вы что хотите сравнить

Сравнивать ради сравнения у меня желания нет.

И мне абсолютно по барабану какой там толстый/тонкий техпроцесс и прочие QoR.

Нужно просто в существующем проекте заменить макс на говин.

Полный проект для говина дает практически вдвое меньшую максимальную частоту чем для макса.

Но прежде чем пытаться в коде чего-то менять надо понять что, вот и решил, для начала, с блоком расчета КС поиграться.

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


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

29 минут назад, Freibier сказал:

Полный проект для говина дает практически вдвое меньшую максимальную частоту чем для макса.

И это неудивительно, т.к. даже на вашем тестовом проекте CRC32 (я его попробовал собрать для GW1N-UV9UG256C6/I5) задержки в цепях (tNET) получаются какие-то совсем большие:

image.thumb.png.abef09520bf37e6db1543a76491c631b.png

И это при том, что PnR всё собрал в кучку:
image.thumb.png.667c7e9cf8be963604f486a1cbd1f0d8.png

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


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

30 минут назад, makc сказал:

И это неудивительно, т.к. даже на вашем тестовом проекте CRC32 (я его попробовал собрать для GW1N-UV9UG256C6/I5) задержки в цепях (tNET) получаются какие-то совсем большие:

У меня чип GW1N-UV9UG169C6/I5 clk подключен к пину H6, хотя это и не принципиально наверное.

А почему в цепях tNET такие задержки и как их уменьшить? и что это за цепи? в проекте нет таких имён...

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


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

Только что, Freibier сказал:

У меня чип GW1N-UV9UG169C6/I5 clk подключен к пину H6, хотя это и не принципиально наверное.

Я пробовал разные пины, результаты получаются сходные.

1 минуту назад, Freibier сказал:

А почему в цепях tNET такие задержки и как их уменьшить? и что это за цепи? в проекте нет таких имён...

Это внутренние цепи ПЛИС и их задержки определяются конструкцией самой ПЛИС. Мне кажется их уменьшить не получится, если только тут нет ошибки в оценке со стороны Gowin, которые могут выпустить обновленную версию среды разработки с меньшими значениями этих задержек.

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


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

20 часов назад, makc сказал:

Это внутренние цепи ПЛИС и их задержки определяются конструкцией самой ПЛИС.

Продолжил эксперимент. В квартусе обнаружил ошибочное FAST_INPUT_REGISTER для DI[*]. Убрал.

В .sdc добавил констрейн для входов.

set_input_delay -clock clk 1.0 [get_ports {DI[*]}]

В итоге получил такие максимальные частоты:

MAX10 - 232.07 MHz

GOWIN - 116.409 MHz

Из чего делаю вывод - говнин практически в два раза хуже по частоте чем макс 

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


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

32 минуты назад, Freibier сказал:

Из чего делаю вывод - говнин практически в два раза хуже по частоте чем макс 

А по доставаемости? 😉

PS: Я не в восторге от Gowin, но для некоторых решений ему альтернативы сейчас нет. 

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


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

29 минут назад, makc сказал:

А по доставаемости? 😉

а может какая никакая но доставаемость и обусловлена именно тем что они не очень то и нужны 🤣

Но многие купят (и я в их числе) чуток камней и пр. чисто на попробовать 😎

Печально это всё.

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


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

8 минут назад, Freibier сказал:

а может какая никакая но доставаемость и обусловлена именно тем что они не очень то и нужны 🤣

Ирония понятна, но по-моему она неуместна. Вы много знаете небольших ПЛИС (замена CPLD) в небольших корпусах типа QFP или QFN? Или вам WLCSP по душе? 😉

11 минут назад, Freibier сказал:

Но многие купят (и я в их числе) чуток камней и пр. чисто на попробовать 😎

Не всё, есть и другие примеры. Они идут в серию, почитайте про Яндекс и Gowin на Хабре.

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


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

11 минут назад, makc сказал:

Ирония понятна, но по-моему она неуместна.

возможно, я просто со своей колокольни 😎

12 минут назад, makc сказал:

почитайте про Яндекс и Gowin на Хабре

про Gowin вроде что-то есть, а Яндекс здесь причем?

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


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

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

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

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

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

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

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

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

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

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