Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167

Отключить оптимизацию модуля

01.05.2025, 14:00. Показов 853. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть такая беда - навязчивая оптимизация.
Нужно её отключить. Что только не пробовал. Документация о синтезе - по сути ни о чём, всё только о оптимизации в каждой дырке, даже в BlackBox, но по сути тот просто не определяет модуль, а не запрещает его оптимизацию, и видимо служит для отладки в симуляторе, но я отлаживаю проект в стороннем сиумляторе и оптимизация навязчивая мне эта - не нужна.
Как её отключить?
Среда разработки Gowin 1.9.11

Создаю файл gsc, пишу в нём
Code
1
INS registrT /*synthesis syn_preserve=1*/;
получаю
ERROR (SC0006) : Syntax error near token "registrT"("/home/andrei-y/Documents/Gowin1.9.11/Gowin_V1.9.11_linux/IDE/bin/new/BlackBox/AsyncCounter/src/mgsc2.gsc":1)
Сам модуль
Code
1
2
3
4
5
6
7
8
9
10
11
module registrT 
(input data_in, direct,reset2, 
 output outputw);
wire n=0;
bufif1 bf1(D1,data_in,direct);
buf b1(outputw, D1);
nor n1(interrupt,direct, reset2);
bufif1 bf2(outputw,outputw,interrupt);
buf b2(reset21, reset2);
bufif1 bf3(outputw,n,reset21);
endmodule
Если сделать буквально как в документации
INS "registrT" /*synthesis syn_preserve=1*/;
, то ошибка сменится на
ERROR (SC0006) : Syntax error near token "/"("/home/andrei-y/Documents/Gowin1.9.11/Gowin_V1.9.11_linux/IDE/bin/new/BlackBox/AsyncCounter/src/mgsc2.gsc":1)
Вложения
Тип файла: zip AsyncCounter.zip (81.1 Кб, 4 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2025, 14:00
Ответы с готовыми решениями:

Нужен микроконтроллер с поддержкой USB -slave, и можно было подключить модуль wifi и модуль 3g
Нужен микроконтроллер с поддержкой USB -slave, и можно было подключить модуль wifi и модуль 3g......

Как можно отключить Интернет на свитче, не отключая LAN-кабель?
просто сосед по комнате отключает инет и не говорит как а кабель был на месте на ноуте тоже ничего...

Как отключить в Атмел Студио проверку Device Signature?
Добрый день!Как отключить в Атмел Студио проверку Device Signature?

8
 Аватар для abit
708 / 489 / 145
Регистрация: 03.02.2013
Сообщений: 1,602
01.05.2025, 16:18
Цитата Сообщение от Hrethgir Посмотреть сообщение
INS "registrT" /*synthesis syn_preserve=1*/
а там разве так атрибут задаётся? что за документация? первый раз такое вижу...

Code
1
registrT -type module -attribute syn_preserve=1
0
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
01.05.2025, 21:25  [ТС]
Цитата Сообщение от abit Посмотреть сообщение
а там разве так атрибут задаётся? что за документация? первый раз такое вижу...
нет, так ошибка.
Вот дока их
https://cdn.gowinsemi.com.cn/SUG550E.pdf

5 Synthesis Constraints Support

в доке вроде так
INS "object" attributeName=value;
, но по факту там хоть что делай, хоть чёрный ящик, хоть что - компилятор только "материться" будет.

А Вы с какой платой работаете?

Добавлено через 2 часа 47 минут
если в gsc написать INS "registrT" syn_preserve=1;
, то ошибка сменится на следующую
ERROR (SC0004) : "registrT" is not declared("/home/andrei-y/Documents/Gowin1.9.11/Gowin_V1.9.11_linux/IDE/bin/new/BlackBox/AsyncCounter/src/mgsc2.gsc":2)
0
 Аватар для abit
708 / 489 / 145
Регистрация: 03.02.2013
Сообщений: 1,602
02.05.2025, 00:52
вот мля не поленился, полистал даташит...
в 5.12 от вас хотят полный путь к экземпляру registrT, а не просто имя модуля и имя должно быть в кавычках
должно это выглядеть примерно так:
Code
1
INS "проект/папка с модулем/registrT" syn_preserve=1;
сейчас мне сложно без Gowin под рукой оценить путь точно... я с ноута

второй вариант, смотрите в файле что вы дали MCounter.v

Code
1
2
3
4
module registrT
(input data_in, direct,reset2, 
 output outputw);
..
вот перед этим куском отключите оптимизацию прям для этого модуля:

Code
1
2
3
4
5
(* syn_preserve = 1 *)
module registrT (
    input data_in, direct, reset2,
    output outputw);
...
А Вы с какой платой работаете?
да тут наша локальная плата, она местной разработки, - ККМ, корректор коэффициента мощности, плиска GW1N-UV4

Добавлено через 2 минуты
но если прям интересно могу попробовать с компа на работе посмотреть что там с путём
1
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
02.05.2025, 08:37  [ТС]
Спасибо за помощь. Попробую. Я английский знаю очень плохо, поэтому читал только через переводчика, и если -бы они давали синтаксис в правильном синтаксисе, а не в их абстрактном выдуманном - то проблемы может и не возникло -бы. А про путь компилятор пишет часто, поэтому я как-то не сильно вникал, просто думал что это подробности, которые можно было и упустить. Тем более, что читаю его через переводчика.

Добавлено через 3 часа 32 минуты
Цитата Сообщение от abit Посмотреть сообщение
должно это выглядеть примерно так
пока нет, сделал как Вы предполагали, создал отдельный файл для модуля и так
Code
1
INS module  "/Gowin1.9.11/Gowin_V1.9.11_linux/IDE/bin/new/BlackBox/AsyncCounter/src/registrT"  syn_preserve=1;
и так
Code
1
INS module  "registrT"  syn_preserve=1;
ошибка одна и та-же
ERROR (SC0006) : Syntax error near token "module"("/home/andrei-y/Documents/Gowin1.9.11/Gowin_V1.9.11_linux/IDE/bin/new/BlackBox/AsyncCounter/src/mgsc2.gsc":2)
.
Проект в зиппапке
Вложения
Тип файла: zip AsyncCounter.zip (5.5 Кб, 0 просмотров)
0
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
02.05.2025, 09:39  [ТС]
Вообще этот модуль рабочий, версия gowin eda 1.9.9.03 не могла его оптимизировать и оставляла таким как он есть. Это выпустили версию с более лютой оптимизацией, видимо подсказал кто-то или сами "нарыли" в сети. А у них правило очевидно у всех - правило рынка: засунуть свою оптимизацию в каждую дырку, даже если дырки нет - "наковырять" дырку.
0
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
03.05.2025, 07:00  [ТС]
Говорят что я не желаю проходить ликбез. На самом деле кто-то не желает чтобы по цифровым продуктам была нормальная документация. Её нет и это и есть правда. Можно перечитать всю документацию, в случае с gowin точно, и найти или её противоречия или недостаточность, причем в ней нет информации даже чтобы сделать вывод первое это или второе. Берём случай с BlackBox, где то пишут что это просто для тестов, где то вскользь упоминают о блокировке оптимизации ей, но полного нет ничего. Приобрести лицензию - не вопрос. Вопрос - на что? На ничего? На ничего они пусть сами приобретают лицензии.
0
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
06.05.2025, 07:31  [ТС]
Хотя нет, я всё же приобрету лицензию, чтобы убедиться лично, что она ничиего не стоит. Это будет правильный шаг. Ломаная версия - точно ничего не стоит, даже установки на компьютер и отнятого времени. Осталось проверить лицензионную с документацией их - проделать все шаги по новой.
0
 Аватар для Hrethgir
290 / 141 / 3
Регистрация: 25.01.2012
Сообщений: 6,062
Записей в блоге: 167
08.05.2025, 19:10  [ТС]
впрочем, с такой документацией - не куплю. Гораздо проще купить уже устаревшее оборудование и делать на нём свои FPGA, пусть
это будут громоздкие платы, или какие-то ещё, возможно появится технология какая-то, но такие консервативные производители или будут продавать заявляемое ими, или уйдут с рынка сами. А именно - технология FPGA описывается как нечто для создания собственных схем, но оказывается - вовсе не собственных, а отключить оптимизацию компилятора в необходимой мере - не всегда возможно: компилятор будет вырезать из схемы всё что ему вздумается. Этого я прочитал в сети более чем достаточно, и начинаю просто думать о производестве самих железок, пусть старых, не навороченных, но которые позволят создавать свои схемы и архитектуры. Если-бы у меня одного не получалось - я бы может и купил бы лицензию, но проблема достаточно распространённая, и идти поперёк просто выкидывая средства на ветер - не метод. Gowin доствидания, здравствуй схемотехника.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2025, 19:10
Помогаю со студенческими работами здесь

Отключить управление с пульта Samsung Smart-TV
Привет всем! Есть ЖК ТВ Samsung 2014 г.в. Нужно сделать так, чтобы при нажатии на кнопку пульта не...

Как отключить RTC_AF1(PC13) от входа.(решено)
Использую вывод как GPIO Одновременно использую внутреннее прерывание от RTC . А по умолчанию при...

Как отключить JTAG в STM32 ?
Всем привет, В последнее время начал ковыряться с STM32, и ВНЕЗАПНО столкнулся с небольшой...

Прошивка Marlin, как отключить прерывание для смены филамента?
Прерывает печать и выскакивает Change filament. Я думал, что это из-за корявой работы датчика...

Power bank на tp4333 отключить step-up
Купил повербанки на этой схеме, хотелось бы чтобы на выходе было просто напряжение батарее, без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
Исследование рантаймов контейнеров Docker, containerd и rkt
Mr. Docker 11.05.2025
Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .
Micronaut и GraalVM - будущее микросервисов на Java?
Javaican 11.05.2025
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .
Инфраструктура как код на C#
stackOverflow 11.05.2025
IaC — это управление и развертывание инфраструктуры через машиночитаемые файлы определений, а не через физическую настройку оборудования или интерактивные инструменты. Представьте: все ваши серверы,. . .
Инъекция зависимостей в ASP.NET Core - Практический подход
UnmanagedCoder 11.05.2025
Инъекция зависимостей (Dependency Injection, DI) — это техника программирования, которая кардинально меняет подход к управлению зависимостями в приложениях. Представьте модульный дом, где каждая. . .
Битва за скорость: может ли Java догнать Rust и C++?
Javaican 11.05.2025
Java, с её мантрой "напиши один раз, запускай где угодно", десятилетиями остаётся в тени своих "быстрых" собратьев, когда речь заходит о сырой вычислительной мощи. Rust и C++ традиционно занимают. . .
Упрощение разработки облачной инфраструктуры с Golang
golander 11.05.2025
Причины популярности Go в облачной инфраструктуре просты и одновременно глубоки. Прежде всего — поразительная конкурентность, реализованная через горутины, которые дешевле традиционных потоков в. . .
Создание конвейеров данных ETL с помощью Pandas
AI_Generated 10.05.2025
Помню свой первый опыт работы с большим датасетом — это была катастрофа из неотформатированных CSV-файлов, странных значений NULL и дубликатов, от которых ехала крыша. Тогда я потратил три дня на. . .
C++ и OpenCV - Гайд по продвинутому компьютерному зрению
bytestream 10.05.2025
Компьютерное зрение — одна из тех технологий, которые буквально меняют мир на наших глазах. Если оглянуться на несколько лет назад, то сложно представить, что алгоритмы смогут не просто распознавать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru