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

RS триггер в GOWIN IDE (пока что такой).

Запись от Hrethgir размещена 12.06.2024 в 19:25
Показов 1700 Комментарии 4

Заморочался с Xilinx, потратил впустую много времени, и устанавливал на убунту, и что только не делал - графического редактора в ISE не нашёл, возможно криво взломал лицензию (если это можно назвать взломом - подсунул ключи от другой IDE этой-же фирмы, что-то она съела, выдала таблицу что у меня будет работать, в общем : хакинг - не моё). Поняв бесполезность затеи перключился на другую плату - GOWIN, там всё намного проще, как мне показалось - ничего не надо взламывать, санкций пока нет.

Сначала сгенерировал RS триггер используя базовые логические элементы - схема рисорвалась в вьювере, но при синтезе были предупреждения. Тогда нашёл в белорусском журнале 2012 года, что подобный трюк работать не будет, хоть и синтезируется для разных плат, про предупреждение там тоже писалось.

Подумал ещё о вариантах, понял что трюки тут на вентильном уровне не пройдут, и написал от себя (с помощью книги основы языка проектирования цифровой аппаратуры VERILOG, так как в этом ЯП я вообще нуб и не умею вообще ничего без книг) так:
[CODE]module Trs
(input S, R,
output reg Q);
always @(*) begin
Q =0;
if (S==1) Q=1;
if (R==1) Q=0;
end
endmodule [/CODE]
Сгенерировало вроде нормально, похоже что работать должно, хотя не факт. Смотрел документацию по примитивам...не нашёл такого...хотя тут он есть...
Скорее всего попробую новый модуль, с испольованием этого примитива... В качестве эксперимента мне однозначно создавать внешний модуль с стилем описания на вентильном уровне. Вентильный уровень мне нужен для того, чтобы для данной схемы испольщовать статическую - асинзронную логику. И тогда снова упрусь в то, что не умею при условных операторах осуществлять несколько действий сразу. Но это не долго попробовать. А так - это просто запись о том, что начал пользоваться хоть какой-то IDE, которой уже смогу прошивать свою плату.
В общем пока ни о чём.
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=8742&stc=1&d=1718209635[/IMG]

Да, их полный вариант с проверкой условия дороже выходит по средствам
[CODE]module Trs
(input S, R,
output reg Q, NQ);
always @(*) begin
Q = 0;
NQ = 1;
if (S==1) begin
Q=1;
NQ=0;
end
if (R==1) begin
Q=0;
NQ=1;
end
end
endmodule[/CODE]
, проще вставить в новый модуль, описанный на вентильном уровне, с ответвлением выхода на инвертор, первый вариант, будет почти в два раза дешевле.
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=8743&stc=1&d=1718212010[/IMG].
Очень надеюсь, что моя статическая память для кэша, работающая в режиме без счётчка команд - удастся.
Доделал всё-таки триггер.
Но чего-то ещё не так как я ожидал...что-то тут лишнее в коде, жаль что мне он малопонятен.
[CODE] module MyRS
(input S, R,
output Q,NQ);
wire q1;
Trs sum0(S,R,q1);
assign Q = q1;
assign NQ = ! q1;
endmodule;[/CODE]

Есть такое дело
[QUOTE]WARN (EX2810) : Extra semicolon in $unit (global) scope("/home/andrei/Documents/DebianCopy/MyGW/MyCell/src/MyRS.v":8)[/QUOTE]
, но вроде как работать должно. В разных вариантах кода генерит одну и ту-же схему...
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=8744&stc=1&d=1718219246[/IMG]

Это будет следующий этап
[IMG]https://www.cyberforum.ru/blog_attachment.php?attachmentid=8745&stc=1&d=1718393319[/IMG]
описаний на Verilog начнётся с описания проходящих линий - иначе никак логически не описать.
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot from 2024-06-12 20-05-11.png
Просмотров: 387
Размер:	12.4 Кб
ID:	8743   Нажмите на изображение для увеличения
Название: Screenshot from 2024-06-14 22-24-41.png
Просмотров: 528
Размер:	32.2 Кб
ID:	8745  
Изображения
Тип файла: jpg Screenshot from 2024-06-12 19-26-07.jpg (79.9 Кб, 375 просмотров)
Тип файла: jpg Screenshot from 2024-06-12 22-02-44.jpg (86.7 Кб, 360 просмотров)
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 4
Комментарии
  1. Старый комментарий
    Завтра просто на выход Q попробую инвертор и выход NQ подключить, без промежуточного сигнала.
    Запись от Hrethgir размещена 12.06.2024 в 22:55 Hrethgir вне форума
  2. Старый комментарий
    Попробовал, буфер перед выходом Q не пропадает при синтезе даже если убрать выход NQ . Вернул как было, вероятно это особенность IDE или кода который пишу, потом разберусь с этим.
    Запись от Hrethgir размещена 13.06.2024 в 20:21 Hrethgir вне форума
  3. Старый комментарий
    Как вариант самому прописать инвертор в конечном проекте и не делать вложние компонентов. Так наверное даже будет правильнее. Похоже что так и сделаю. В общем как синтез пойдёт
    Запись от Hrethgir размещена 13.06.2024 в 20:33 Hrethgir вне форума
  4. Старый комментарий
    Проанализировал схему, первое что логично описывать в Verilog - проходящие линии ячейки, с их промежуточными переменными. Линии я выделил красными окружениями на последнем изображении в записи.
    Запись от Hrethgir размещена 14.06.2024 в 22:28 Hrethgir вне форума
 
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru