Форум программистов, компьютерный форум, киберфорум
Hrethgir
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Gowin EDA или Verilog...пока не ясно, но есть строка которая в корне меняет и массив и быстродействие и визуализацию..

Запись от Hrethgir размещена 08.11.2024 в 13:41
Показов 1375 Комментарии 0

В коде есть строка, которая логически не меняет ничего, но зато меняет всё в плане визуализации и быстродействия.
То что меняется массив - следует из того, что меняется визуализация, а что там меняется ещё - трудно сказать, но тестбенчи показали, что при неправильной визуализации всё работает, хоть на вьювере и отображается что ничего работать не должно как задумано (асинхронный счётчик, быть точнее - согласно визуализации вообще ничего работать не должно).
Код при котором всё правильно во вьювере
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9030&stc=1&d=1731062632[/IMG]
и быстродействие тоже
[CODE]
//Copyright (C)2014-2024 Gowin Semiconductor Corporation.
//All rights reserved.
//File Title: IP file
//Tool Version: V1.9.9.03 Education
//Part Number: GW1NR-LV9QN88PC6/I5
//Device: GW1NR-9
//Device Version: C
//Created Time: Sat Nov 2 20:39:09 2024

module Gowin_OSC (oscout);

output oscout;

OSC osc_inst (
.OSCOUT(oscout)
);

defparam osc_inst.FREQ_DIV = 2;
defparam osc_inst.DEVICE = "GW1NR-9C";

endmodule //Gowin_OSC

module Trs
(input S, R,
output Q);
not n1(R1,R);
and a1(G,S,R1);
DLC dlc1 (Q,G,G,R);
endmodule

module pprobe1 ( output out); // 6 LEDS pin);
genvar i;
wire [30:0] w;
wire restT;
generate
not (w[0],w[29]);
for (i=0; i<29; i=i+1 ) begin:pprobe1_generation
Trs tr(w[i],w[29],w[i+1]);
end
endgenerate
assign out= w[29];
//Gowin_OSC GwOsc(oscout);
endmodule
[/CODE]
.
Правильным это всё делает третья с конца строка, а именно эта
[CODE]assign out= w[29];[/CODE]
.
Если её закомментировать, то во вьювере будет всё замкнуто
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=9029&stc=1&d=1731062680[/IMG] , но оно работает со скоростью которая в два раза меньше чем скорости работы первого кода. Ранее вознкла серьёзная трудность из-за особенностей работы с массивами в блоках генерации схемы - но теперь её нет (там просто замыкались провода). Имея ввиду это, теперь я проведу тестбенч порядка от тысячи до нескольких тысяч в последовательно подключённой цепи электронных ключей, чьи транзисторы находятся в насыщенном состоянии (думаю что всё-же там используются биполярники, которые банально отвечают за наложении битстрима на вентильную матрицу), и после этого выложу все тестбенчи с расчётами из прошлой публикации на Хабр, которую я удалил, и чтобы показать мощность асинхронной логики (там я пока этого не делал). Задержка у асинхронных триггеров конечно есть, но они работают без тактирования. Имеет-ли место возникающий из ниоткуда такт (это не относится к цепи электронных ключей, это относится к кодерам "богословам", которые невнятно что-то лепечут о идеалах и о том что ничего сделать не получится, ну или крайне трудно, а точнее - почти невозможно) - теперь я тоже могу проверить, так как разобрался с особенностью среды разработки или языка Verilog, и с блоками генерации схем и циклами могу проверить теперь вообще что захочу.
Не привожу тестбенчи тут, потому что делаю их на другом ПК (мини), с которого в инет не выхожу.
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot from 2024-11-08 13-28-18.png
Просмотров: 410
Размер:	10.2 Кб
ID:	9029   Нажмите на изображение для увеличения
Название: Screenshot from 2024-11-08 13-20-28.png
Просмотров: 407
Размер:	10.8 Кб
ID:	9030  
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru