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

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

Запись от Hrethgir размещена 12.06.2024 в 19:25
Показов 1632 Комментарии 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
Просмотров: 367
Размер:	12.4 Кб
ID:	8743   Нажмите на изображение для увеличения
Название: Screenshot from 2024-06-14 22-24-41.png
Просмотров: 507
Размер:	32.2 Кб
ID:	8745  
Изображения
Тип файла: jpg Screenshot from 2024-06-12 19-26-07.jpg (79.9 Кб, 364 просмотров)
Тип файла: jpg Screenshot from 2024-06-12 22-02-44.jpg (86.7 Кб, 356 просмотров)
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 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 вне форума
 
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru