_4afc_ 47 October 3, 2025 Posted October 3, 2025 · Report post 11 minutes ago, RobFPGA said: Показали бы логи пути крит. тайминга, тогда и не выдумывал бы. Не могу - я их не понимаю. Не знаю, где смотреть и что есть крит. тайминг. Для меня все эти пикосекунды - китайская грамота, потому и смотрю МГц. Вот это вам поможет: MUX16_time.zip Quote Share this post Link to post Share on other sites More sharing options...
dxp 178 October 3, 2025 Posted October 3, 2025 · Report post 3 часа назад, _4afc_ сказал: Что непонятного: Непонятного то, что не ясно, как реализованы пути и какие элементы используются -- я выше спрашивал: MUX2_LUT5/6/7 -- это аппаратные блоки или как-то на LUTах намутили? Ответа из этого схемы нет, т.к. это просто нетлист в графическом виде. 3 часа назад, _4afc_ сказал: Так легче: Нет. Это описание примитивов и нетлист. А как эти примитивы реализованы, из этого не понятно. Понятно сделано у Xilinx на картинке, что я приводил выше. Скорее всего эти упомянутые элементы -- это те же аппаратные муксы, что и у Xilinx. Но может там как-то каскадирование LUT4 сделано прямо внутри CFU. Если так, то это гуд, а если нет, то опять тезис про сложные логические функции обретает значимость, ибо LUT6 тут имеет преимущество перед LUT4. Quote Share this post Link to post Share on other sites More sharing options...
sonycman 2 October 3, 2025 Posted October 3, 2025 · Report post В 03.10.2025 в 16:17, dxp сказал: ибо LUT6 тут имеет преимущество перед LUT4 В новых альтеровских Agilex логические модули могут работать как LUT8. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 47 October 3, 2025 Posted October 3, 2025 · Report post 2 hours ago, dxp said: Скорее всего эти упомянутые элементы -- это те же аппаратные муксы, что и у Xilinx. Но может там как-то каскадирование LUT4 сделано прямо внутри CFU. Некоторое понимание как это было сделано в младшем семействе GW1N-1 даёт документ: A Complete Open Source Design Flow for Gowin FPGAs Quote Share this post Link to post Share on other sites More sharing options...
blackfin 75 October 3, 2025 Posted October 3, 2025 · Report post On 10/3/2025 at 1:26 PM, _4afc_ said: Все сигналы подключены к выводам ПЛИС через двойной буфер, кроме клока. Чисто из любопытства.. Попробуйте добавить регистров по входам: module MUX16_v00 ( C, R, CE, iD, iA, oD); input wire C; input wire R; input wire CE; input wire [15:0] iD; input wire [3:0] iA; output reg oD; reg rCE = 0; reg [15:0] rD = 0; reg [3:0] rA = 0; always @( posedge C) rCE <= CE; always @( posedge C) rD <= iD; always @( posedge C) rA <= iA; always @( posedge C) begin : MUX16 if (!R) oD<=0; else if (rCE) oD<=rD[rA]; end endmodule Как после этого изменится частота проекта? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 47 October 3, 2025 Posted October 3, 2025 · Report post 22 minutes ago, blackfin said: Как после этого изменится частота проекта? Частота упала до 594МГц, доп регистры расположились в других половинах плис. А вот если к rD <= iD; добавить обработку CE и R - частота поднялась до 643МГц. При добавлении и к rA <= iA обработки CE и R - частота поднялась до 720МГц и регистры рядом с лутами. Quote Share this post Link to post Share on other sites More sharing options...
blackfin 75 October 3, 2025 Posted October 3, 2025 · Report post On 10/3/2025 at 6:33 PM, _4afc_ said: Частота упала до 594МГц, доп регистры расположились в других половинах плис. OK. Спасибо. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 47 October 3, 2025 Posted October 3, 2025 · Report post Just now, blackfin said: OK. Спасибо. Если всё засунуть в один always - поднялась ещё до 749МГц Quote Share this post Link to post Share on other sites More sharing options...
dxp 178 October 3, 2025 Posted October 3, 2025 · Report post 39 минут назад, _4afc_ сказал: Если всё засунуть в один always - поднялась ещё до 749МГц Имхо, странное поведение: логика описания та же, а частота так меняется. P.S. Немного в сторону вопрос: а вы рабочие проекты тоже пишете на Verilog-95 (как в этом примере)? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 47 October 3, 2025 Posted October 3, 2025 · Report post 1 hour ago, dxp said: Имхо, странное поведение: логика описания та же, а частота так меняется. Это есть у многих мелких синтезаторов. Тут он пока неправильно размещает регистры на сетку ПЛИС. А я планером пока не пользовался. Плюс сейчас добавились настройки синтезатора - можно ими ещё поиграться. Но и у Xilinx была такая хохма - я в их CPLD64 впихивал проект из 65 регистров, где-то на пятый вариант он вписался. А алгоритм не менялся. 1 hour ago, dxp said: P.S. Немного в сторону вопрос: а вы рабочие проекты тоже пишете на Verilog-95 (как в этом примере)? Чисто теоретически - да. Чисто практически, не помню из-за какой конструкции в GoWin пришлось вкл. режим Verilog-2001. PS: увидел, в 95 не умеют [x +: const] Quote Share this post Link to post Share on other sites More sharing options...
dxp 178 October 4, 2025 Posted October 4, 2025 · Report post А чем Verilog-95 привлекает? Хотя бы по сравнению с тем же Verilog-2001? Ведь этот удобнее -- описание компактнее получается -- те же порты описываются короче и выразительнее (сразу видно и направление, и тип), писанины чуть не в три раза меньше, читать тоже легче. SystemVerilog чем не хорош? Синтез Gowin поддерживает SystemVerilog? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 47 October 4, 2025 Posted October 4, 2025 · Report post 6 hours ago, dxp said: А чем Verilog-95 привлекает? Хотя бы по сравнению с тем же Verilog-2001? Ведь этот удобнее -- описание компактнее получается -- те же порты описываются короче и выразительнее (сразу видно и направление, и тип), писанины чуть не в три раза меньше, читать тоже легче. Я не помню чем Verilog-2001 компактнее описывает порты. Но идеология GoWin любит, не исключая других вариантов, передавать режимы модулей через defparam. И мне так тоже кажется читабельней. Соответственно битность портов и прочее переменно обычно. Ещё, модуль пишется один раз и используется 100500, поэтому довольно просто в первую строку насовать точек и скобок при использовании. 6 hours ago, dxp said: SystemVerilog чем не хорош? Синтез Gowin поддерживает SystemVerilog? Синтез Gowin поддерживает SystemVerilog. Я пишу в Sigasi. Он может нарисовать FSM только от SystemVerilog, поэтому проекты со сложными FSM только ради диаграмм синтезируются в Gowin в режиме SystemVerilog. Мне хватает Verilog-95, С++ стиля со структурами и функциями мне в коде не надо. Quote Share this post Link to post Share on other sites More sharing options...
dxp 178 October 5, 2025 Posted October 5, 2025 · Report post В 04.10.2025 в 16:22, _4afc_ сказал: Я не помню чем Verilog-2001 компактнее описывает порты. Ну как же: в V2001 в описании порта сразу можно указать и направление, и тип: module counter_m ( input wire clk, input wire en, input wire dir, output reg [7:0] val ); и всё. А на V95, насколько помню: module counter_m ( clk, en, dir, val ); input clk; input en; input dir output val; wire clk; wire en; wire dir reg [7:0] val; В 04.10.2025 в 16:22, _4afc_ сказал: Мне хватает Verilog-95, С++ стиля со структурами и функциями мне в коде не надо. C++ там и близко нет (в синтезирумом подмножестве), едва до средств, аналогичных С, дотягивает. Функции есть и в V95, насколько помню (functions, tasks). А структуры чем плохи? Они помогают структурировать (пардон за тавтологию) исходник. Пакованные структуры вообще удобны для описания разного рода регистров, которые объединяют битовые поля (и это хорошо работает в отличие от тех же С/C++, где битовые поля в структурах привносят непреносимость и зависимость от реализации (гарантированное размещение поля в структуре с т.з. битовой позиции). Ну, и интерфейсы -- очень эффективное средство для организации межмодульных связей. Кроме того, SV -- это ещё и верификация (вплоть до UVM)... Ладно, не пристаю больше с этим, вам виднее, как вам лучше. 🙂 Quote Share this post Link to post Share on other sites More sharing options...
HCQ 0 December 1, 2025 Posted December 1, 2025 · Report post On 9/17/2025 at 1:53 PM, StewartLittle said: DK_MOTOR_GW5AS-EV25UG256C2I1_V1.1 Товарищи, добрый день. Подскажите, как на данной отладке подружить встроенный мк и плис? Правильно ли я понимаю, что нужно использовать встроенное Ip AHB-Arbiter? Quote Share this post Link to post Share on other sites More sharing options...
StewartLittle 82 December 1, 2025 Posted December 1, 2025 · Report post В 01.12.2025 в 10:49, HCQ сказал: Товарищи, добрый день. Подскажите, как на данной отладке подружить встроенный мк и плис? Правильно ли я понимаю, что нужно использовать встроенное Ip AHB-Arbiter? Взаимодействие между Артери и ПЛИС у GW5AS-25 осуществляется через блок XMC. Примеры можно посмотреть в SDK для GW5AS-25 : https://cdn.gowinsemi.com.cn/Gowin_EMPU(GW5AS-25)_V1.2.zip Quote Share this post Link to post Share on other sites More sharing options...