Главная Юзердоски Каталог Трекер NSFW Настройки

Радиотехника

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 526 92 198
ПЛИС FPGA Аноним 06/02/23 Пнд 23:54:40 517577 1
CringeFPGA.webm 24243Кб, 640x360, 00:03:40
640x360
Screenshot 2023[...].png 170Кб, 974x1862
974x1862
1675713668.png 187Кб, 1191x691
1191x691
cl-5a-75b-v61-f[...].jpg 1562Кб, 3017x1851
3017x1851
Погромируем, симулируем, синтезируем
Предыдущий тред: >>397766 (OP)
Аноним 07/02/23 Втр 01:51:31 517590 2
В плисине использую только два банка выводов из четырёх. Незадействованные банки решил не запитывать.
Вопрос, что делать с питанием этих бавнков, оставить болтаться в воздухе, или посадить на землю?
Аноним 07/02/23 Втр 05:33:07 517600 3
>>517590
>Вопрос, что делать с питанием этих бавнков, оставить болтаться в воздухе, или посадить на землю?
Ответ: прочитать соотвествующий аппноут от производителя. Например, Hardware Design Guide Consideration.
Аноним 07/02/23 Втр 19:35:41 517671 4
lfsr.png 111Кб, 575x745
575x745
Как на SystemVerilog реализуются такие схемы? По идее на HDL они должны реализовываться очень легко, но я не представляю, как это сделать. На входе должен быть многочлен степени n (видимо, тип данных logic [3:0]), на выходе многочлен степени n + 3. Там, где отводы вниз, это операция xor. Как это сделать?
Аноним 07/02/23 Втр 21:18:07 517681 5
>>517671
always @(posedge clk) begin
z1 <= input;
z2 <= z1;
z3 <= z2;
end
assign output = input + z1 + z3;
Аноним 07/02/23 Втр 22:21:23 517690 6
>>517681
Можно и параметризовать. Со сдвиговым регистром проблем не должно быть, потом поразрядное и с полиномом, апосле унарный КСОР (т.е. все разряды регистра ксорятся друг с другом).
Аноним 07/02/23 Втр 22:27:31 517692 7
lfsr.png 7Кб, 407x264
407x264
>>517681
>>517690
А у меня правильно сделано?

module shift_reg(input logic clk,
input logic in,
input logic enable,
output logic out);

reg [2:0] data;
always @(posedge clk) begin
if (enable)
data <= { data[1:0], in };
end

assign out = data[2];
endmodule
Аноним 07/02/23 Втр 22:30:24 517693 8
lfsr.png 7Кб, 447x282
447x282
Аноним 07/02/23 Втр 23:01:01 517695 9
lfsr.png 7Кб, 375x350
375x350
>>517693
Как правильно написать тестбенч к этой штуке? У меня сигнал clk при такой реализаици имеет неизвестное значение, не меняется.
Аноним 07/02/23 Втр 23:09:15 517696 10
>>517693
Зачем нужна последняя строчка?
Аноним 07/02/23 Втр 23:56:43 517698 11
>>517696
Да, она лишняя, точно.
А как можно все коэффициенты получившегося полинома вывести на шину? Например, известно, что максимальная степень полинома будет 6, тогда можно сделать шину out logic [5:0] выходной и на нее записывать коэффициенты полинома. Как это делать в этой схеме?
Аноним 08/02/23 Срд 00:07:53 517699 12
Как в тестбенче задавать изменения клока? >>517695
Вот тут, например
Аноним 08/02/23 Срд 00:47:30 517701 13
>>517698
module modulename #(parameter B = 6-1)(...output logic [B:0],...);

>>517699
Смысл? У тебя тестбенч скорее всего функциональный, будет работать на любой частоте клока, хоть там период в фемтосекунду поставь.
Аноним 08/02/23 Срд 07:00:17 517711 14
>>517695
Назначь ему валидное значение в начале. И заодно используй forever, чтобы было яснее, что этот код не описывает железо и не предназначен для синтеза.

initial begin
clk = 1;
forever #5 clk =!clk;
end
Аноним 08/02/23 Срд 12:53:39 517734 15
Что будет если плисину с коммерческим рэнжем температур (от 0 до 70) выставить на небольшой мороз (до -10С). Сильно всё по пизде пойдёт даже если допустим делать все клоки с двойным+ запасом?
Аноним 08/02/23 Срд 14:09:20 517742 16
Как задаются индексы шины при конкатенации шин? Вот например:

wire [1:0] dataIn;
assign dataIn = {d1,d0};

Тут dataIn[0] содержит сигнал d0 или d1? Или это не имеет значения?
Аноним 08/02/23 Срд 14:17:46 517743 17
>>517734
Дубина, если нужен расширенный температурный диапазон, то надо было покупать соответствующую ревизию.

Что будет? Параметры в даташите указаны при определённых температурах. Как минимум генерация поплывёт.
Аноним 08/02/23 Срд 15:18:34 517746 18
>>517743
>генерация поплывёт.
Какая ещё генерация? Ты про тактовый сигнал? Но почти во всех полисах нет встроенного тактового генератора как в микроконтроллерах (когда только кварцевый резонатор снаружи). А есть всего лишь максимум синтезируемые кольцевые генераторы на инверторах, которые почти никто не использует.
Аноним 08/02/23 Срд 15:32:46 517748 19
>>517743
>Дубина, если нужен расширенный температурный диапазон, то надо было покупать соответствующую ревизию.
Зумеры не слышали про дефицит. Ты lead time на диджикее видел?
Аноним 08/02/23 Срд 17:40:03 517754 20
>>517734
>Что будет
С вероятностью 95+% - ничего критичного. Народ вон копеечные ардуины на аэростатах в стратосферу запускает, и ничего, работают.
Аноним 08/02/23 Срд 17:53:31 517755 21
>>517754
У ардуины в спеках температуры от –40°C до +125°C. По меркам FPGA это уже military grade, ваенные технологии.
Аноним 08/02/23 Срд 18:56:44 517757 22
>>517734
Если единичный экземпляр проверь натурно.
Если серия ставь подогрев.
Аноним 08/02/23 Срд 18:57:35 517758 23
>>517742
То что справа то младшее, что слева старшее.
Аноним 09/02/23 Чтв 16:54:05 517855 24
>>517755
Нет, у атмег -40...+85С, это индастриал.
Милитари - это -60...+125 или шире.
Аноним 09/02/23 Чтв 17:09:52 517856 25
.jpg 204Кб, 1433x771
1433x771
>>517855
В даташите у атмеги 328p все зарактеристики даются от -40 до 125, т.е. это не просто absolute maximum rating.
Аноним 09/02/23 Чтв 23:24:55 517883 26
>>517600
Если нетрудно укажи где конкретно смотреть, или ещё лучше запости скриншот. Всё что я смог нагуглить, уже не помню где, это только фразу что
>банки должны быть подключены к какому-то питанию.
Аноним 09/02/23 Чтв 23:52:26 517884 27
>>517883
У меня в китайском нищеплисе явно написано
> The device requires all the I/O's VCCIO to be connected to the power supply.
Плюс для некоторых банок есть ограничение, что питание не должно быть меньше какого-то, потому что от него работает какая-то дополнительная хуйня внутри чипа и она привязана к этой банке.
Аноним 10/02/23 Птн 02:19:23 517885 28
>>517884
Прямо сейчас у нас вообще два банка к питанию не подключены, подключены только их земли к земле, плюсовые выводы болтаются в воздухе и при этом всё работает. Но меня точит червь сомнения что это не правильною В следующей ревизии платы я плюсовые выводы подключил на землю впослед через конденсатор. Вот теперь думаю насколько это адекватно...
Аноним 10/02/23 Птн 03:15:13 517890 29
>>517885
> Прямо сейчас у нас вообще два банка к питанию не подключены
Вам что, жалко дорожку к паду подвести? Или вы пытаетесь впихнуть какой-нибудь BGA780 в двухслойную плату?
Аноним 10/02/23 Птн 17:12:30 517979 30
>>517890
>Или вы пытаетесь впихнуть какой-нибудь BGA780 в двухслойную плату?
Ну почти, + вторичный источник питания главный конструктор нагружать не хочет, а он тот ещё чудило.
Аноним 14/02/23 Втр 18:47:41 518323 31
Аноним 14/02/23 Втр 21:33:30 518347 32
Vivado на линуксах работает?
Аноним 15/02/23 Срд 04:58:37 518365 33
Аноним 15/02/23 Срд 15:24:44 518417 34
>>518365
Почему не устанавливается из aur?

==> Сборка пакета vivado 2022.2-1 (Ср 15 фев 2023 15:23:44)
==> Проверка зависимостей для запуска...
==> Проверка зависимостей для сборки...
==> Получение исходных файлов...
-> Загрузка Xilinx_Unified_2022.2_1014_8888.tar.gz...
curl: (37) Couldn't open file /Xilinx_Unified_2022.2_1014_8888.tar.gz
==> ОШИБКА: Ошибка при загрузке 'file:///Xilinx_Unified_2022.2_1014_8888.tar.gz'
Прерывание...
-> ошибка сборки: vivado
Аноним 15/02/23 Срд 15:37:06 518420 35
>>518417
>Since the download of the installer is locked behind a login wall, it needs to be downloaded manually as outlined above and placed in the same directory as the PKGBUILD.

Ты эту часть прочитал/сделал? (Тебе на самом деле даже не нужен AUR и школоарч как таковой, инсталлятор с сайта Хилых встанет на любые прыщи, но только в обход менеджера пакетов.)
Аноним 15/02/23 Срд 16:21:40 518424 36
плис в россии мертв
Аноним 15/02/23 Срд 16:51:54 518426 37
>>518424
>плис в россии мертв
Дядя Вова сказал в говне-моченым, чтобы сделали красиво!!
Аноним 15/02/23 Срд 20:34:33 518451 38
>>518420
Мне из России доступ с загрузкам на сайте xilinx запрещен, даже через тор браузер не дает скачать. Получается в России остается только качать вивадо с торрентов?
Аноним 16/02/23 Чтв 00:51:17 518504 39
>>518451
Берёшь любой прокси/VPN (плюс фейкомыло), создаёшь фейковый аккаунт какого-нибудь греческого студента Хохлоса Пидороса, чтобы получить URL для скачивания. А потом качаешь каким-нибудь wget непосредственно с https://xilinx-ax-dl.entitlenow.com/ уже напрямую.
Аноним 16/02/23 Чтв 01:41:53 518509 40
У тутошнего анона уровень всё же повыше, потому спрошу тут.

Пристало как-то к моим липким ручонкам советские процессоры
КР1801ВМ1
КР1801ВМ2
КР1810ВМ86
КР580ВМ80А
КР580ИК80А
КР1820ВЕ1А
КР1814ВЕ5

Хотел бы я использовать их в своих ёбаподелках, но им для работы нужны внешние микросхемы оперативной памяти и ПЗУ для хранения программы, да ещё порты ввода-вывода. А их то, как раз, у меня и нет.
Что-то можно подобрать из современной элементной базы для их замены?
Аноним 16/02/23 Чтв 06:47:36 518516 41
>>518509
Дяденька, ты в какой жопе мира обитаешь?

Загляни на тот же Авито со словами 580ВВ51А, 580ВВ55А, 580ВИ53, 580ВН59, 580ГФ24, 580ВК28/38 - рублей по 40 и меньше можно выловить каждую микросхему (новую и не паянную).

По памяти - вообще любая подойдет, хоть на 55(50), что 70 нс - хотя лучше кешпамять на 10-15 нс искать. Главное - напряжение питания 5В должно быть. Для ПЗУ - ищи 28 серию ПЗУ (мало и почти на ходу перешивать можно) или 29F серию - только блоками стирать, записывать можно и по кусочкам. Требования те же - 5В питание.

Что бы не ебаться с кучей рассыпчатой логики - ищи ПЛИС типа EPM7128S (остерегайся подделок/залоченных).

Если прям вообще ничего нет - ищи преобразователи уровней, ПЛИС - будешь использовать в двухпортовом режиме память плис для имитации ОЗУ/ПЗУ/отладки, как и имитировать параллельные порты ввода-вывода.

PS Выбрось каку КР580ИК80А. Это тоже самое что и КР580ВМ80А.
Аноним 16/02/23 Чтв 07:37:13 518518 42
>>518509
>КР580ВМ80А
>КР580ИК80А
Три питания +5, -5, +13. Как делать будешь? Далее, как написал анон выше, мало подрубить память, нужно ещё о прерываниям подумать, о таймерах, uart, собственно сами порты параллельные вв55. Дофига всего. А чего ради? Чтобы получить сильно ухудшенное подобие атмеги? Таким образом если и делать такое, то просто так, для развлечения. Но и то лучше взять вм85, будет намного меньше всего и с питанием проще. Сам вот прям сейчас понемногу паяю на макетке поделку на 8085. Просто так, без каких-либо задач.

>>518509
>КР1814ВЕ5
Это с масочным ПЗУ, оно похоже никак не может выполнять код из внешнего. Можешь выкинуть.

>>518509
>КР1810ВМ86
В целом во многом аналогично вм80. И если я не ошибаюсь, то намного проще на 8088 делать из-за восьмибитной шины, можно такую же восьмиразпядную память использовать, если я не ошибаюсь. С учётом цены всего этого проще тебе взять К1810ВМ86.

>>518509
>КР1801ВМ1
>КР1801ВМ2
Эти интересные конечно, тем что система команд от pdp-11. Но тоже такое себе.

>>518509
>КР1820ВЕ1А
Вот с этими вероятно проще всего, вроде как им только ПЗУ снаружи требуется. Но в них очень мало всего.

И анон выше прав, самое простое это подрубить к плисине. Только некоторая ассиметрия получится, особенно в варианте с fpga с памятью внутри, ведь в такую плисину влезет процессор посущественнее этого раритета.
Аноним 16/02/23 Чтв 07:39:26 518519 43
>>518518
>проще тебе взять К1810ВМ86.
ВМ88, опечатка
Аноним 16/02/23 Чтв 11:22:58 518527 44
>>518518
>анон выше прав, самое простое это подрубить к плисине.
Я тут подумал ещё немного и похоже с современной элементной базой оптимально будет подключать эти древние процессоры к атмегам или ещё каким микроконтроллерам, так будет не только проще, но и дешевле одной только параллельной EEPROM.
Аноним 16/02/23 Чтв 12:10:27 518529 45
>>518527
Звучит хорошо. Собрался использовать мега128 или 256 для эмуляции (если хранить все адресное пространство ПЗУ+ОЗУ во флеше) или мегу послабее если собрался эмулировать например 8килобайт ОЗУ? Убедил.
Как ОЗУ собрался на меге эмулировать? Есть всего килобайт-два ОЗУ в лучшем случае которые будут немного засраны работающей программой эмуляции.
Надо понимать что ОЗУ и ПЗУ - память с произвольным доступом. Как собрался на частоте около 2 МГц быстренько находить что надо и выдавать на шину? Тут конвейеризация или предвыборка не всегда спасет или поможет.
Ну да, у нас для 8080 есть шагатель на триггере с помощью которого можно хоть руками переключателями каждый байт на шине выставлять-читать. Оно надо такое счастье?
Как же хардкор под названием ROM эмулятор на ОЗУ для отладки и выполнения программы на полной скорости процессора?

Параллельный ввод-вывод можно сделать на триггерах(регистрах) - их наверняка в любой жопе мира можно найти и к ним понадобится немного рассыпчатой логики для декодера адресов.
Последовательный ввод-вывод.. Отображать регистр UDR и остальные для юарта меги в адресное пространство процессора? Хитер..

Прерывания? А оно надо на начальном этапе?

Как-то не особо возбуждает. Даже не поФАПаешь на такие извращения. https://habr.com/ru/post/446048/
Аноним 16/02/23 Чтв 12:51:05 518538 46
>>518529
>Как собрался на частоте около 2 МГц быстренько находить что надо и выдавать на шину?
Учти что команды у атмеги выполняются быстрее чем у 8080. Надо такты посчитать, может и на такой частоте будет. Ну и можно микроконтроллер посущественнее взять, если так сильно нужно будет.

>Как-то не особо возбуждает. Даже не поФАПаешь на такие извращения.
Вот именно, поэтому "современная" элементная база тут несколько неуместна.
Аноним 16/02/23 Чтв 13:23:07 518543 47
7395571231401ma[...].jpg 449Кб, 1634x1638
1634x1638
>>518518
> А чего ради?
Ради DAT FEEL чего только не городят: http://www.s100computers.com/My System Index Page.htm

> Только некоторая ассиметрия получится, особенно в варианте с fpga с памятью внутри, ведь в такую плисину влезет процессор посущественнее этого раритета.
Так ПЛИСины разные бывают, не обязательно туда седьмой Кинтекс пихать:https://www.mattmillman.com/projects/8od/
Аноним 16/02/23 Чтв 13:30:07 518547 48
>>518538
Очень давно не писал под AVR.. Давай прикинем условный код:
.org int1_vector
rjmp rom_emul - вход в прерывание 4 такта + прыжок 2 такта
...
.org 280h
rom_emul: in zh,pinA - 1 такт
in zl, pinB - 1 такт
lpm r16,z -3 такта
out portC,r16 - 1 такт
reti - 4 такта
=4+2+1+1+3+1+4= 16 тактов.
Вот и соснул. При 16 МГц тактовой максимум 1МГц (1миллисекунда) в идеальных условиях можно получить (если снаружи повесить логику декодера адресов, RD на отдельный вход прерывания повесить на мелких мегах. на толстых мегах порты уже как ОЗУ и их через in/out не потыкаешь, только через lds/sts которые 2 такта требуют).

Хорошо хоть не бзданул "вручную тактируй". У 8080 есть минимальная частота ниже которой он начнет люто глючить, поэтому менее 500 КГц (кварц 9*500=4.5МГц) ему лучше не подавать, а тормозить шагателем.

> Ну и можно микроконтроллер посущественнее взять, если так сильно нужно будет.
На том же Хабре была статья как кто-то пытался эмулировать в биосе на иса шине жесткий диск. У иса шины тактовая около 8 МГц и все что могло пойти не так - пошло не так..

Так что сильно проще немного порвать пердак и найти реальные микросхемки, а не ебаться с эмуляторами особенно когда хер знает как оно работает и особенности поведения которые в даташите не видны.
Я вот никак 580ВВ79(8279) не запущу кодом с обломков компа. Какую-то херню выдает на индикаторы.
Аноним 16/02/23 Чтв 13:54:58 518549 49
>>518547
>особенно когда хер знает как оно работает
Что именно? ОЗУ и ПЗУ ну и вв55? Анон же не собрался втыкать весь комплект кр580, а вероятно только память и параллельный порт.

>когда хер знает как оно работает и особенности поведения которые в даташите не видны.
Временные диаграммы чтения и записи для 8080 есть, а что тебе ещё нужно чтобы их запустить?

>Хорошо хоть не бзданул "вручную тактируй".
Тоже мне откровения. Также можно задействовать сигнал ready, оно специально для медленной фигни на шине.
Аноним 16/02/23 Чтв 14:15:38 518551 50
>>518549
>Что именно? ОЗУ и ПЗУ ну и вв55?
Попроще ничего не нашел? Например 580ВТ42 и срать что не периферия... Мультиплексор и счетчик внутри. Чего не взял ВТ57, ВГ75, ВВ51, ВИ53 как пример?
Даже сам Интел в руководстве как-то писал - нужен параллельный порт? Берем 589ИР12 (8212) и радуемся жизни. Вот тут точно никаких вопросов нет как он работает.

>Временные диаграммы чтения и записи для 8080 есть, а что тебе ещё нужно чтобы их запустить?
Подключить - да, достаточно. Программировать - нет, недостаточно. В какой регистр что писать? Какие есть запрещенные комбинации которые ломают логику работы? Вот с ходу вопрос - что будет при чтении регистра состояния ВВ55? Такие мелочи надо знать прежде чем писать эмулятор.
http://www.nedopc.org/forum/viewtopic.php?f=91&t=17383

>Тоже мне откровения. Также можно задействовать сигнал ready, оно специально для медленной фигни на шине.
Nice. Немного не в тему, но новые версии старых процессоров/микроконтроллеров иногда имеют приписку "fully static operation" и их реально можно вручную тактировать и смотреть как оно работает в замедленном виде.

Куда делся анон с процессорами? Может прояснит ситуацию что у него есть и что доступно.
Аноним 16/02/23 Чтв 14:32:41 518553 51
>>518551
>Берем 589ИР12
Ну можно и так.

>писать эмулятор.
Вообще то анон с процессорами не упоминал эмуляторы, а лишь бы запустить. Как раз наоборот, упоминал современную элементную базу. Поэтому вероятно не важно все это.
Аноним 17/02/23 Птн 23:27:22 518749 52
Анон с профессорами итт.
Отвечу всем и сразу.

Всякие ПДП и уарты не нужны. Достаточно портов в/в. Их отображать в адресное пространство. Для реализации дешифрации адреса, по теории, даже рассыпухи не нужно, можно использовать старший разряд шины адреса.

Под современной элементной базой имел ввиду микросхемы ОЗУ, ПЗУ совместимые с этими процессорами, но выпускаемые промышленностью на данный момент, это чтобы с поиском советских не ипаться, также важен прайс, он должен быть ниже современных микроконтроллеров, иначе овчинка выделки не стоит.
Если советские ещё можно достать на авите, то, с одной стороны, это хорошо, с другой, никаких гарантий нет, что они рабочие, или, что не кинут.

Эмуляцию на МК или плисине не рассматриваю, ибо экономически не выгодно, любая занюханная Мега по функционалу и стоимости далеко впереди, ну может не далеко, но всё же. Да и как сказано выше, зачем эмулировать обвес на МК/ПЛИС когда там уже есть процессор как минимум не хуже.
Эмуляцию ПЗУ на плисине тут имеет смысл рассматривать только в качестве возможности отладки ПО.
Кстати, под эти профессоры есть ассемблер, о сишном компиляторе я даже не мечтаю, а то в машинных кодах писать не очень хочется?

>>518518
>Три питания +5, -5, +13. Как делать будешь?
Над этим пока не думал. Может удастся обойтись без минусового?
Аноним 18/02/23 Суб 00:11:13 518753 53
.jpg 90Кб, 1771x656
1771x656
>>518749
> Может удастся обойтись без минусового?
Минусовый можно получить из плюсового элементарным buck-конвертером. Выставить в нём резисторами 5В. Входной + подключить правильно, там где должно быть выходное напряжение подключить землю, а из земли брать заветные -5В. Buck-конвертер будет работать на виртуальной земле VGND выставляя её так, чтобы VGND + 5 = 0 (потому что выход подключён к земле). Т.е. на выходе и будут заветные -5В. Пикрил.
Аноним 18/02/23 Суб 03:23:19 518762 54
>>518749
>Под современной элементной базой имел ввиду микросхемы ОЗУ, ПЗУ совместимые с этими процессорами, но выпускаемые промышленностью на данный момент
Взаимоисключающие параграфы. Микросхемы с питанием 5В уже давно не выпускают. Все флеши и память сейчас 3.3, 2.5, 1.8в...
Только "недавнее" старье искать. Что бы не ныл - например A29040B-70F, K6T1008C2E-DB55, AT29C040A (довольно интересная - можно кусками по 256 байт перешивать), DS1245Y-70+ (ОЗУ как ПЗУ если батарея живая).

>>518749
>также важен прайс, он должен быть ниже современных микроконтроллеров, иначе овчинка выделки не стоит.
Ебаный эффективный менеджер? Какого хуя ты забыл? Повыебываться как наебал систему, давайте мне премию, я молодец? Пиздуй шариться по помойкам - там за бесплатно найдешь, время такого биомусора ничего не стоит.
До тебя мудака походу не доходит что "хобби" - здесь эта экономическая составляющая на хую вертится так как в большинстве случаев важен процесс/результат, а не наебалово системы в промышленных масштабах.
Если собрался на продажу делать - просто съеби из этого треда на другие доски и там ной что 5 центов за память - это дораха, мне надо бесплатно пару вагонов.
Аноним 18/02/23 Суб 03:51:07 518764 55
>>518749
Зачем тебе это?
У устройств на таких камнях будут неадекватные габариты и стоимость.
Посмотри в сторону китайских МК, самые дешевые - аналоги stm32f030, risc-v (ch32v00x) и 8051, производителей можно посмотреть на lcsc. Оригинальный stm32f030f4p6 150 руб стоит.
Если дохуя импортозамещение, у ангстрема был контроллер, похожий на древний пик, наверняка он дешевый.
Аноним 18/02/23 Суб 03:53:26 518765 56
>>518749
>также важен прайс, он должен быть ниже современных микроконтроллеров
>ибо экономически не выгодно

https://habr.com/ru/post/678330/
"Микроконтроллер PMS152-S08. Всё почти тоже самое, но с большим объёмом памяти программ (1,25 KW), 11 битным ШИМ контроллером SuperLED, двумя пинами внешних прерываний и на 2 ножки больше.
Стоимость: 0,088$ (от 150 штук 0,064$)."

Уважаемый менеджер, примите заказ:
CYRS1645KV18-250GCMB 144-Mbit QDR® II+ SRAM - нужно 20 шт
MT29F128G08AMCABH2-10ITZ:A (Micron NAND Flash SLC 128G 16GX8) - 32 шт
8A34041 (8-Channel Universal Frequency Translator) - 5шт
AD9213 (radio frequency (RF) analog-to-digital converter (ADC)) - 13 шт
ZU48DR-G1517 (Xilinx ZYNQ UltraScale+ RFSoC) - 10 шт
Для пробного заказа хватит. Цена надо понимать должна быть менее 8 центов за чип, если больше - сразу идите нахер.
Жду счет на оплату с ценами, условиями и сроками поставки.
Аноним 18/02/23 Суб 04:06:54 518766 57
>>518764
>и 8051
Не триггери, а? Недавно открыл для себя STC.
Вот это постарались - никаких тебе внешних анальноогороженных погромматоров/отладчиков, достаточно 3.3/5V UART и Keil + ему поебать напряжение питания - и 3.3 и 5В хавает.

https://aliexpress.ru/item/1005004879211209.html
Цена реальная, 1$. Доставили. Его прям не запускал еще, а старую версию https://aliexpress.ru/item/1005005072706151.html запускал (делал через интерфейс внешней памяти загружалку ОЗУ для 580ВМ80А по компорту).
Аноним 18/02/23 Суб 07:52:17 518768 58
>>518749
>также важен прайс, он должен быть ниже современных микроконтроллеров
Посмотри цены на параллельные ПЗУ. Хотя бы 28C64, 27C64 и подобные, анон выше ещё упоминал. Так вот даже распайка на алиэкспрессе сейчас рублей по 50 за штуку. А ещё нужно ОЗУ, регистр для порта и что-то для дешифрации адреса. Это помимо напряжения +12, а -5 можно и не подавать, как-то будет работать, только без гарантий.

Поэтому никак оно не будет дешевле современных микроконтроллеров.
Аноним 18/02/23 Суб 08:42:19 518770 59
>>518768
>цены на параллельные ПЗУ.
И даже последовательные 24C08 и прочие самые дешёвые на lcsc по $0.06 за штуку, при том что микроконтроллеры там же есть по $0.08.
Ну никак не будет дешевле готового микроконтроллера.
Аноним 18/02/23 Суб 09:21:21 518773 60
>>518749
>Кстати, под эти профессоры есть ассемблер
Для 8080 разумеется. Можно ещё от z80 использовать.
Зато
>КР1801ВМ1
>КР1801ВМ2
Это pdp-11, первая сишечка для них и делалась.
Аноним 19/02/23 Вск 04:12:27 518921 61
157847585019414[...].jpg 63Кб, 905x905
905x905
>>518768
>27C64
Может... Нинада? Все столбы в округе погаснут в попытках достать ДРЛ лампу для стирания этой классики.
Почему все забыли про программатор параллельной ПЗУ? Чем код то зашивать для отладки или работы? Сколько программатор стоит? Как или из чего его собирать? Намечается огромная дырень в бюджете как минимум на панельки. Дораха!
Для особо упертых или упоротых - есть и не классика 27 серии с электрическим стиранием, а не ультрафиолетом - "The W27C020 is a high speed, low power Electrically Erasable and Programmable Read Only Memory organized as 262144x8 bits that operates on a single 5 volt power supply, The W27C020 provides an electrical chip erase function."
Аноним 19/02/23 Вск 06:45:02 518924 62
>>518770
>микроконтроллеры там же есть по $0.08
О, щас я тебя обоссу. К этим копеечным мк, которые, кстати, чаще всего OTP, нужен свой программатор. Для отладки требуется дорогая дев. борда, симулирующая работу этих мк. С тулчейном там всё настолько грустно и плохо, что ты охуеешь. Я уж молчу про всратую документацию на чинглише и отсутствие ерраты.
В общем, для говорящих хомяков и т.п. в миллионных тиражах есть смысл поебаться и заморочиться с этими копеечными мк, а для себя, для хобби они совершенно непригодны.
Аноним 19/02/23 Вск 07:54:21 518927 63
>>518921
>Почему все забыли про программатор параллельной ПЗУ?
Потому что настолько очевидно что он необходим, что и писать не нужно. Если программатора нет, то придется разориться, самое простое взять на алиэкспрессе xgecu t48, около 4000 рублей стоит всего лишь.

>ДРЛ лампу для стирания этой классики.
На авито бактерицидную лампу взять. По любому дешевле программатора будет.

>>518924
>которые, кстати, чаще всего OTP
Если брать тот по ссылке выше на хабр (это не я притащил), то у них есть и перезаписываемые чуть дороже.
>Для отладки требуется дорогая дев. борда, симулирующая работу этих мк.
Отлаживайся на перезаписываемых.
>нужен свой программатор.
Для параллельной ПЗУ все равно нужен программатор.
>С тулчейном там всё настолько грустно и плохо, что ты охуеешь.
Для 8080 по сути только ассемблер будет, с ним и сравнивай.
>в миллионных тиражах есть смысл поебаться и заморочиться с этими копеечными мк, а для себя, для хобби они совершенно непригодны.
Опять же сравнивай с КР580.

Не нравится такое, можно сравнить с STM32G030F6P6 за $0.67. Где найдешь дешевле параллельное ПЗУ, ОЗУ, регистр и мелочевку для дешифрации адреса?
Аноним 19/02/23 Вск 10:50:40 518933 64
>>518927
>Не нравится такое, можно сравнить с STM32G030F6P6 за $0.67. Где найдешь дешевле параллельное ПЗУ, ОЗУ, регистр и мелочевку для дешифрации адреса?
Не ебу, к некрофилии отношения не имею.
Я лишь указал, что МК за 8 центов - это бесполезный хлам.
Аноним 19/02/23 Вск 11:34:59 518938 65
samie-umnie-pti[...].jpg 48Кб, 800x400
800x400
Как же хорошо зашел троллинг про 8 центов.
>>518933
>Я лишь указал, что МК за 8 центов - это бесполезный хлам.
Хлам не хлам... Надо ТЗ читать:
>Под современной элементной базой имел ввиду микросхемы ОЗУ, ПЗУ совместимые с этими процессорами, но выпускаемые промышленностью на данный момент, это чтобы с поиском советских не ипаться, также важен прайс, он должен быть ниже современных микроконтроллеров, иначе овчинка выделки не стоит.
>также важен прайс, он должен быть ниже современных микроконтроллеров
>прайс ... ниже современных микроконтроллеров
>прайс ... ниже

Так что пусть не выебывается и берет что есть (предложено) или ищет дешевле 8 центов. Вот и весь посыл. Ой, а про достав.очка он наверное совсем забыл.. Найти ОЗУ или ПЗУ за 8 центов и менее включая достав.очка? Самому интересно - получится у него или нет?

>>518749
Ты где? Народ уже соскучился, нашел и предложил варианты, а ты молчишь..
Дай угадаю - увидев слово "погромматор" уже сразу слился, так как стоит он сильно больше чем самый задроченный современный МК?
Аноним 19/02/23 Вск 11:44:49 518941 66
>>518933
>Не ебу, к некрофилии отношения не имею.
Хоть википедию открыл бы. Этого хватило бы чтобы понять что у них внутри нет ни ОЗУ, ни ПЗУ и нужно лепить снаружи параллельные. И с питанием что-то делать.

>Я лишь указал, что МК за 8 центов - это бесполезный хлам.
Это очевидно всем. Только по сравнению с минимальной системой на КР580 эти микроконтроллеры очень даже ничего. Так что твое высказывание не в тему тут.
Аноним 19/02/23 Вск 11:56:02 518947 67
>>518938
>или ищет дешевле 8 центов.
Даже STM32 из тех что помельче, будут дешевле чем докупать всю обвязку к КР580ВМ80А.
Аноним 19/02/23 Вск 12:05:33 518950 68
>>518947
Пошла подмена понятий?

>Даже STM32 из тех что помельче, будут дешевле чем докупать всю обвязку к КР580ВМ80А.
Как собрался используя STM32 запускать КР580ВМ80А? Схемку нацарапай.
ОЗУ и ПЗУ допустим через wait сделаешь как и порты ввода-вывода. Чем тактировать собрался КР580ВМ80А? Ему 12В по хорошему надо с крутыми фронтами и уже не получится используя выводы с 5volt tolerant качать 12В сигнал.
В system guide написано что сигналы RDY и RESET не просто так идут через системный тактовый генератор - нужна жесткая привязка для синхронизации ибо можно загнать старичка в маразматическое состояние.
Аноним 19/02/23 Вск 12:11:06 518951 69
>>518950
>Как собрался используя STM32 запускать КР580ВМ80А?
Никак. Тут сравнивали цены на готовые микроконтроллеры с ценой на всю минимальную обвязку КР580ВМ80А. Я про это и написал.

И если тебе так неймётся, бери лучше ВМ85.
Аноним 19/02/23 Вск 12:13:52 518952 70
>>518951
А обвязка тут при том что у анона сам ВМ80А уже есть и тратиться ему только на "обвязку". И хочет он чтобы было дешевле готового микроконтроллера. Это если ты не читал обсуждение сначала.
Аноним 19/02/23 Вск 14:58:32 518964 71
199794606childh[...].jpg 398Кб, 1200x900
1200x900
>>518921
> Может... Нинада?
Надо Федя… Надо! (ей обычной бактерицидной лампы хватит https://mysku.club/blog/aliexpress/76928.html )

>>518924
> О, щас я тебя обоссу. К этим копеечным мк, которые, кстати, чаще всего OTP, нужен свой программатор. Для отладки требуется дорогая дев. борда, симулирующая работу этих мк. С тулчейном там всё настолько грустно и плохо, что ты охуеешь.
Конкретно для STC8 отладочная плата стоит в районе десяти баксов (или даже дешевле, но это будет просто кусок тестолита, с припаяным STC8G1), программируется обычным преобразователем USB-UART, а SDCC вообще бесплатен (ну или взять Keil с ближайшего рутрекера). Вот документация, таки да — на редкость всратая.

>>518927
> Для 8080 по сути только ассемблер будет
Ну, вроде, кто-то пытался SDCC допилить, чтобы можно было для 8080 использовать, не боясь попадания Z80-only кода в выхлоп компилятора.

>>518952
Ему, всё-таки, проще просто фапать и не выёбывааться: https://github.com/dekuNukem/FAP80 С аутентичной обвязкой тех времён есть смысл связываться только если хочется вспомнить молодость и DAT FEEL времён УМК-80 и Корвет-06Ц.
19/02/23 Вск 16:05:40 518968 72
IMG20230219927.jpg 1586Кб, 3869x2847
3869x2847
Моя заброшенная цацка.
Питание от 5В (вход снизу справа и там же виден преобразователь 5 в 12), -5 из микросхемки на 8 ног в нижнем левом углу.
Кварц где-то проебан из панельки. Снизу слева - вход для платки с stc8 которая подключает читает-пишет ОЗУ которое работает как ПЗУ.
MAX7128S в PLCC84 - клей для всего этого и декодер адресов.
Сверху типа системная шина для подключения периферии.
Грубые схемотехнические просчеты отправили ее на свалку и переделку.
Неужели это так сложно найти и собрать в нынешнее время то?
Аноним 19/02/23 Вск 16:40:05 518973 73
>>518968
> Неужели это так сложно найти и собрать в нынешнее время то?
Таки да. Потому как регулярно оказывается, что КР1810ГФ84 есть только в одном магазине, том самом где нет КР1810ВН59. И оба с физлицами не работают.
Аноним 19/02/23 Вск 16:54:40 518977 74
19/02/23 Вск 17:35:35 518980 75
IMG20230219.jpg 1491Кб, 4051x1856
4051x1856
>>518973
А некоторые напрягли свою клоаку и собрали маленькую каллекцию которая далеко не в 8 центов обошлась... На бумажке написано ПЛИСАНАМ
ВМ85 в верхнем правом углу. 589ИК03 нет (есть, на работке осталась, по фотке с полным комплектом деанон будет).
Зачем старье типа ВМ80А?
Народ на 589 серии (интеловская 3000) собирал аппаратный эмулятор i8080 который гнался на 10 МГц что ли (те раз в 5 быстрее оригинала). Сиди, собирай процессор на 589 серии. У них полное описание дается - и схема и прошивки и как работает..

На фоне так и недособранный ЮТ-88 какой-то модификации на 580ВМ80А.

Кому интересно отвериложить все это? Да, уйти от физических микросхем и перенести их в ПЛИС как есть, вместе с двунаправленными выводами (знаю что их нет в ПЛИС) так что бы взял любую CPLD и зашил туда любую микросхемку (естественно если она влезет по объему))
Аноним 20/02/23 Пнд 07:10:34 519030 76
>>518973
>КР1810ГФ84
Так это для ВМ86.
А так у меня на работе много 8284, среди хлама который недовыкинули. И КР580 много разных.

>И оба с физлицами не работают.
У anion.ru есть КР1834ГФ84А, КМОП версия этого, если я правильно понял.
Аноним 20/02/23 Пнд 07:12:30 519031 77
>>518980
>вместе с двунаправленными выводами (знаю что их нет в ПЛИС)
Есть. Только на ногах, а не внутри. Так что если не очень много, то снаружи можно ноги соединить для такого.
Аноним 20/02/23 Пнд 07:23:54 519032 78
>>518964
>Ему, всё-таки, проще просто фапать и не выёбывааться: https://github.com/dekuNukem/FAP80 С аутентичной обвязкой тех времён есть смысл связываться только если хочется вспомнить
Нет. Упоминалась минимальная система, ОЗУ+ПЗУ и один порт ногами дрыгать. Ни таймеров ни прерываний не требуется. Так что хватит гф24, ла3, вв55 или регистр, ну и сами памяти. Не упростит в таком случае CPLD ничего.
А ещё проще вм85 взять, тогда отпадает питание и гф24, бонусом получается немного прерываний.
Аноним 20/02/23 Пнд 17:09:36 519063 79
flextri.png 81Кб, 868x412
868x412
>>519031
>Только на ногах, а не внутри.
То что на ногах есть - знаю, это не новость. А вот то что внутри нет - пичалька. Приходится всякие wishbone/avalon/axi/.../ шин изобретать что бы внутри эмулировать общую шину, а так хочется без всяких переходников/оберток/прочего соединять модули между собой как на реальной плате через те же 245 буферы.

https://github.com/1801BM1/vm80a/blob/master/org/rtl/vm80a.v
Очень тихо ФАПаю на это. На мой взгляд самая адекватная моделька где НЕ выкинули "бесполезные" выводы типа wait rdy hold hlda которых нет в "эмуляторе" Радио-86 РК и подобных. Клоака люто полыхает от этой модели - в няшечную FPGA EPF10K10 в PLCC84 не влезает, а в CPLD EPM1270 влетает со свистом.

Может есть отвериложенные модельки ВМ86 ВМ88 и подобных процессоров? Z80 не в счет - их клоакой хуй версий.
Аноним 20/02/23 Пнд 20:01:42 519096 80
Хуйня какой-то этот ваш ПЛИС. Все настолько сложное, что интересный проект будешь делать годами, а всякие триггеры, АЛУ и мультиплексоры нет смысла реализовывать на кристалле и даже нельзя никому показать. Чисто умозрительное задротство.
Аноним 20/02/23 Пнд 20:04:57 519097 81
>>519096
Весь плис это душное сидение в моделсиме. Даже реализовать из рабочего ничего нельзя, все это - какие-то кубики, части одного целого, а все целое - проект на вечность времени. Веб-программирование и то интереснее, там хоть сразу получается что-то рабочее. Оправдывайтесь, говноеды.
Аноним 20/02/23 Пнд 20:11:23 519098 82
изображение.png 8406Кб, 4096x1940
4096x1940
Анон с профессорами итт.

>>518938
>Ты где? Народ уже соскучился, нашел и предложил варианты, а ты молчишь..
Сорямба, сейчас нет возможности отвечать каждый день.
А я смотрю тема животрепещущая.

>>518762
Ну ты чего подорвался на ровном месте?
Как уже говорил, хочу использовать их в своих ебаподелках, а они хоть и ёба, но всё же должны выполнять какую-то полезную функцию, а не быть самими для себя. Дроч ради дроча это не моё. Я понимаю, некоторые угарают по восстановлению ретро копуктеров, времяпрепровождение не хуже других, но это не мой случай. Может быть когда-нибудь потом.


В общем я понял, что со своими микросхемками я соснул. Технологии с тех пор шагнули слишком далеко, чтобы пытаться что-то делать на этом старье.
А погромматор у меня, кстати, есть, Тритон v5.3т. И лампа есть от стиралки.


>>518773
>Это pdp-11, первая сишечка для них и делалась.
Где бы её ещё найти...

>>518753
Не совсем понял, ну пока и не срочно, потом может повнимательнее посмотрю.

>>518968
Что делает? Зачем плис?

>>519063
> Приходится всякие wishbone/avalon/axi/.../ шин изобретать
Чёт ты махнул. Достаточно самого простого арбитра шины.
>Может есть отвериложенные модельки ВМ86 ВМ88 и подобных процессоров?
А в чём сложность? Была бы только исчерпывающая документация.


Ещё тут по сусекам поскрёб, кой чего интересного нашёл. Позже покажу.
Аноним 20/02/23 Пнд 20:14:32 519099 83
>>519096
>>519097
Что ты будешь делать когда тебе потребуется обработать сигналов штук 100 у которых частоты под 50 МГц, м?
Сдрисни отсюда, вебмакака.
Аноним 20/02/23 Пнд 20:42:03 519101 84
>>519099
>потребуется обработать сигналов штук 100 у которых частоты под 50 МГц
Это какой usecase? Откуда сигналы? Какая логика их обработки?
Аноним 20/02/23 Пнд 20:49:27 519102 85
>>519101
Пусть будет стрёмная хуёвая ФАР.
Аноним 20/02/23 Пнд 21:08:33 519106 86
>>519102
В оборонке работаешь?
Аноним 20/02/23 Пнд 21:09:09 519107 87
Какая логика применяется к таким сигналам? Преобразование Фурье?
Аноним 21/02/23 Втр 00:25:41 519137 88
divider.png 8Кб, 480x262
480x262
Почему при помощи этого делителя частоты не получается поморгать диодом? Диод не горит и загорается только при нажатии ресет.
Аноним 21/02/23 Втр 01:07:03 519143 89
>>519137
Ты бы хоть строчки нумеровал.

>загорается только при нажатии ресет
Потому что при ресете твой cnt как раз равен нулю, и срабатывает условие в нижней строчке.

>Диод не горит
Потому что когда твой cnt инкриминируется по кругу, в нулевом состоянии он прибывает всего 1/10000000 от всего времени и ты тупо не видишь такие короткие подмигивания.
Аноним 21/02/23 Втр 07:06:39 519154 90
>>519097
И чё тя не устраивает? Пишешь рандомизированный тестбенч, прогоняешь через него модуль, тест проходит успешно, получаешь свою порцию дофамина вместе с чувством превосходства над перекладывателями JSONов.
Аноним 21/02/23 Втр 07:23:28 519155 91
>>519101
Если не нравится что предложил этот анон, могу предложить свое недавнее. Для видео из КМОП матрицы каждый кадр получать гистограмму, сделать гамма-коррекцию, усиление (умножение) со смещением (для вытягивания контраста), сделать линейный фильтр 5х5 и медианный 3х3 ну и ещё биннинг придется сделать. Автоматическая регулировка длительности экспозиции и установка значений для вытягивания контраста по полученной гистограмме уже в софт-процессоре.
Как будешь делать без ПЛИС? Можно конечно ДСП взять, но и с ними не так просто и я не умею их готовить
Аноним 21/02/23 Втр 07:33:38 519156 92
>>519155
Ты ещё про дебайер забыл. Самая вычислительно сложная часть, если её по уму делать, с адаптивной интерполяцией по контурам изображения.
Аноним 21/02/23 Втр 08:08:37 519158 93
>>519156
У меня монохромная матрица, мне проще. Цветные фигня для большинства задач, пишу как любитель звёзды фотографировать.
Из того что не написал, пришлось сделать ресайзинг. Делалось для замены камеры на другой матрице и нужно было со старыми объективами обеспечить прежние поля зрения. Я бы выбрал матрицу с другим размером пикселя чтобы так не извращаться, но начальник хотел заимствовать все из другого отдела, только прошивку немного скорректировать. Только не получилось, требовались слишком разные форматы на выходе. Да и схему пришлось переделать с импортозамещением всей мелочевки.
Аноним 22/02/23 Срд 02:03:27 519284 94
>>519101
>usecase
Говори по-русски, прошмандовка ты пиндосовская.
100 Гбитый коммутатор. Как тебе такой юзкейс?
Аноним 22/02/23 Срд 06:59:48 519293 95
>>519284
Виваду спиздил уже у кровавых пиндосов, патриот? Ты б лучше начал искоренение пиндосского влияния со своих 100гбитных коммутаторов. Ой, не можешь? ) А чё так? )))
Аноним 22/02/23 Срд 22:35:24 519349 96
>>519284
>100 Гбитый коммутатор
Понятно. Но это все твоя работа, а не хобби. Получается что в качестве хобби на FPGA хуй что сделаешь.
Аноним 22/02/23 Срд 22:43:48 519350 97
Блядь, проектировать дома коммутатор это как играться с радиоактивным цезием дома. Можно оборудовать свою хату под эту задачу, но только нахуя, если цель заняться хобби. Вот сделать SDR-радио на FPGA это уже интереснее и реалистичнее, только нихуя статей об этом нет.
Аноним 22/02/23 Срд 22:48:14 519351 98
>>519350
А нахуя для этого FPGA? Основа любого цифрового радио - это OCHE BYSTRY ADC, прикрутить к нему какой-нибудь мк с USB 3.0 (или даже USB2.0, если скорости хватит) и всё остальное делать на пекарне.
Аноним 23/02/23 Чтв 00:04:35 519356 99
>>519293
Будут и коммутаторы. Всему своё время.

>>519349
>>519350
А кто говорил о хобби?
Если хочется хобби, то эмуляция ретрокомпов и приставок.
Аноним 23/02/23 Чтв 04:10:53 519364 100
>>518765
Уважаемый.. Почему счет еще не выставили?
Кое-как выбил такой невъебенный бюджет в пару баксов из тупых невменяемых безмозглых блядей в бухгалтерии которые трахают мозги за каждую ебучую копейку, а ты.. подводишь.

>>519098
>Что делает? Зачем плис?
>>518968
>MAX7128S в PLCC84 - клей для всего этого и декодер адресов.

>>519098
>Ещё тут по сусекам поскрёб, кой чего интересного нашёл. Позже покажу.
ПокажЫ! Вот тебе реально впадлу найти пару микросхем для запуска классики жанра под названием 580ВМ80А?
Запустить не проблема. О - Отлад.ОЧКА этой системы как будет делаться? На этот моменте завис. Мне видится как отдельный мк который может переводить систему в сброс/захват шин, писать-читать ОЗУ, ПЗУ в системе нинужон как ебаная сова.. Перечитай несколько раз и не вздумай ебашить одну FPGA без CPLD рядом для отладки. Для отладки. В живой системе - можно, в отладочной - нет.


>>519137
Лол. Тоже так соснул когда пробовал писать часы в попытке вывести секунды. Ебнул еще триггер - заработало.
Аноним 23/02/23 Чтв 06:33:51 519366 101
react15.png 983Кб, 1920x1080
1920x1080
>>519356
>Всему своё время.

Ага. Время нелепой хуйне — всегда "сейчас". Время хорошим вещам — всегда "скоро". И с ходом времени, что характерно, это не меняется.
Аноним 23/02/23 Чтв 07:31:59 519367 102
>>519364
>Мне видится как отдельный мк который может переводить систему в сброс/захват шин, писать-читать ОЗУ,
>ПЗУ в системе нинужон как ебаная сова..
Не обязателен микроконтроллер для такого. Один раз пишешь бутлоадер в ПЗУ и далее им пользуешься без навешивания лишнего. Да, конечно адреса немного меняются, но это мелочи.
Аноним 23/02/23 Чтв 07:43:06 519368 103
>>519351
>какой-нибудь мк с USB 3.0 (или даже USB2.0,
Это cypress infineon fx2lp и fx3, наверное единственный вариант для такого. Или ты знаешь другие микроконтроллеры которые нормально подходят для такого? Только когда начнёшь реально что-то на них делать, то поймёшь что очень многое так просто к ним напрямую не подключить, нужно хотя бы мелкую плисину.
Это даже если ты уверен что нет задачи сделать автономный приемник и твой комп потянет все необходимое (если задача несколько больше чем послушать ментов или дедов).
Аноним 23/02/23 Чтв 08:08:39 519369 104
/ra/даны, а что применяют в дешёвых и не только гигабитных коммутаторах/свичах? Какие-то ASIC'и или ПЛИСины?
Аноним 23/02/23 Чтв 08:48:30 519371 105
IMG20230202.jpg 1574Кб, 2927x2552
2927x2552
>>519367
Gotcha! Это один из жестких моих просчетов на первой версии.
Про Sprinter и подобные не надо.. Там Z80 со своими особенностями.
Когда нихуя не знаешь и облучение идет методом тыка - переконфигурация ПЛИС начисто валит всю систему когда процессор охуеет от непойми чего на входе из-за наводок Ставь pullup-pulldown? хуй там. Ну задашь NOPы - счетчик команд улетит в бесконечность, когда FPGA прогрущится - хер пойми с какого адреса будет читаться команда/данные.. С жалким подобием контроллЕра на CPLD - можно повесить триггер на захват шин или дернуть вейт - переконфигурить фпга и продолжить выполнение программы далее.

По поводу бутлоадера - не катит. На огрызках найденных плат весь код начинается с 0 адреса и у одной потом идет ремап на 0xF000. Как полезная побочка - внешний МК никак не дает о себе знать основной системе и не занимает никаких ресурсов (типа того же ПЗУ) и например компорта (это каждый раз дрочить-перетыкать кабель если в реальной программе используется компорт и он дк для общения с бутлоадером? ну нахер как и допаивать еще одну вв51а+ви53.)

>>519368
>Или ты знаешь другие микроконтроллеры которые нормально подходят для такого?
Органическими мозгами поделишься как всю эту парашу погроммировать особенно под винду (и драйвера под все это) для проституток?
Выбирай: FX3, FT601Q от FTDI, CH569W от WCH.
Фотки нет - платка с Али с аррия5 и 2 портами 10G + сетевая карточка в комп и DAC кабели. 2 шланга и считай 20 гигабит можно гнать.
PCI-Express (тред ниже) - тестовая утилитка на говнокомпе на аррия5 показывала около 1.2/1.8 гига в секунду что ли. Чет некогда им заниматься.
Аноним 23/02/23 Чтв 09:03:58 519373 106
>>519371
Ты какой-то странный.

>На огрызках найденных плат
При чем тут это? Обсуждали вроде как не огрызки.

>>519371
>мозгами поделишься
Ты накупил говна и не знаешь что с ним делать?
>FT601Q
Не стоит это трогать, оно так себе.
>CH569W
Этот, судя по описанию, уже многое может. Не знал.
Аноним 23/02/23 Чтв 09:20:45 519374 107
>>519373
>>На огрызках найденных плат
>При чем тут это? Обсуждали вроде как не огрызки.
Ответь про компорт... Когда он один в системе и надо подключить матричный принтер, что-то по модбасу или еще что работающее по компорту. Как в таком случае через бутлоадер отлаживаться, а не тупо залил код и все? При чем без допайки дополнительного компорта.

>>519373
>Ты накупил говна и не знаешь что с ним делать?
Выдает эффективного менеджера. Про тесты ни разу не слышал или работаем по принципу хуя-хуяк и в продакшен? Особенно когда на тестах всплывают неописанные в даташитах/еррате косяки, несовместимость/отсутствие драйверов/подписей и подобное что нельзя учесть, а в ответ тебе - сам выбирал и жри это говно лишая выбора наиболее подходящего под конкретные условия решения?
А так да. Лежат, жрать не просят. Если интересный проект будет или руководство для проституток - можно попробовать на вкус и посравнивать. Меня останавливает именно говнокодинг под винду и драйвера когда надо пройти кучу кругов ада, ебаные кольца защиты и прочую залупу что бы просто взять и записать-прочитать ебаный байт через PCI шину по адресу устройства которое ему выдалось.. Банальное и простое действие которое хер сделаешь без огроменной анальной боли на пустом месте.

>>FT601Q
>Не стоит это трогать, оно так себе.
Что с ним не так?
Чем лучше/хуже те же 2232H и 4232H? У них есть синхронное фифо и можно мегабайт 30 выжать. в свете эмулятора у них интересен режим эмуляции мастера 8051.

>>CH569W
>Этот, судя по описанию, уже многое может. Не знал.
Осторожно.. Говнецом попахивает. Даташита НЕТ! Есть огрызок где практически ничего не написано. Например покажи описание двух ДМА контроллеров внутри или сердес - только отсылка в лучшем случае - смотрите примеры на гитхабе.
Можно попробовать отсюда начать если будет что-то полезное:
https://hydrabus.com/hydrausb3-v1-0-specifications
Аноним 23/02/23 Чтв 10:56:57 519378 108
>>519374
Ты странный, высрал кучу малосвязного текста невпопад.
Аноним 23/02/23 Чтв 15:40:28 519393 109
>>519369
> ASIC'и или ПЛИСины
Оно.

>>519366
>Время хорошим вещам — всегда "скоро"
Потому-что хорошие вещи быстро не делаются.

>И с ходом времени, что характерно, это не меняется.
Ну в рамках импортозамещения много что появилось, даже перечислять не буду, сам найдёшь если захочешь.
Скажу что уже сейчас есть 100Мб коммутаторы с 1Гб оптикой для связи между собой. И это то что лично видел, может есть ещё что-то.
Также на hh видел вакансию на плисовода в контору которая как раз занимается высокоскоростными коммутаторами, сейчас вакансия уже закрыта, видимо нашли.
Аноним 24/02/23 Птн 07:16:27 519461 110
>>519393
>Ну в рамках импортозамещения много что появилось
"Импортозамещено 99% компонентов" где 99% — это всякая обвязка и рассыпуха, а 1% — центральный чип, который не будет повторён никогда. Зато можно отчитаться с красивыми цифрами, создающими впечатление, что вот-вот всё импортозаместим на 100%, если не вдаваться в подробности

>вакансию на плисовода в контору которая как раз занимается высокоскоростными коммутаторами
На виртексах, которые удалось скрысить у пиндосов (по "параллельному импорту").
Аноним 25/02/23 Суб 17:30:51 519659 111
top.png 12Кб, 458x270
458x270
Почему здесь возникает эта ошибка? Как ее убрать? Пример из книги Панчула "Цифровой синтез".

Error (12014): Net "ledr[1]", which fans out to "ledr[1]", cannot be assigned more than one value
Error (12015): Net is fed by "GND"
Error (12015): Net is fed by "sr_latch:sr_latch|p"
Аноним 25/02/23 Суб 17:32:40 519660 112
>>519659
А, в книге не так немного, лол.
Аноним 25/02/23 Суб 17:36:22 519661 113
>>519660
>cannot be assigned more than one value
Оно тебе пишет человеческим языком, только не русским.
А именно ты более одного раза присваиваешь. Пятую строку убери.
Аноним 25/02/23 Суб 19:01:24 519680 114
>>519659
А что означает вот этот синтаксис с точкой .s(key[0]) и в чем его отличие от s(key[0])?
Аноним 26/02/23 Вск 01:59:27 519726 115
Где взять лицензию/кряк для gowin eda?
Хочу tang nano 9 k пощупать.
Аноним 26/02/23 Вск 02:26:56 519728 116
>>519680
>что означает вот этот синтаксис с точкой .s(key[0])
Подключение проводов к твоему модулю по имени.
s - название входа модуля,
key - имя провода который подключается к входу s.

>чем его отличие от s(key[0])
Тем что так компилятор выдаст ошибку.
Аноним 27/02/23 Пнд 04:14:54 519855 117
>>519726
> Хочу tang nano 9 k пощупать.
Она educatioinal version поддерживается.
Аноним 28/02/23 Втр 14:42:56 519948 118
Мне пришла Tang Nano 9k. Где у нее клок и как в Gowin IDE вызвать Pin Planner как в квартусе, чтобы задать соответствие между портами и пинами?
Аноним 01/03/23 Срд 15:25:01 520064 119
>>518509
>>519098
Манагер, ты где??? Когда заявку >>518765 обработаешь?
Проект горит! СРОЧНА НАДА! Еще неделю назад!

Дай счет на оплату!
Xilinx или Altera? Аноним 01/03/23 Срд 15:54:45 520067 120
то есть "AMD или Intel?"

посоны, хочу вкатиться в ПЛИС, на раёне можно урвать примерно за одинаковую цену дев плату со Spartan 6 или со Stratix IV
стратикс новее, в несколько раз мощнее спартана, и круче в плане поддержки периферии, но меня намного больше волнует наличие софта под Linux и отсутствие всяких анальных огороженностей.
что из этих двух ПЛИСов удобнее в этом плане?
Аноним 01/03/23 Срд 15:59:03 520068 121
>>520067
если это важно, модели плат - Xilinx Spartan 6 SP605 и Altera Stratix IV EP4SGX230
нужна именно PCI-express плата, юсб затычку не хочу
Аноним 01/03/23 Срд 16:26:31 520071 122
заебал этот квартус. поставил 21.1 квартус прайм, попытался запустить симулятор --- хуй, ошибка была типа nativelink missgin ", оказалось надо было пофиксить строчку в скрипте для nativelink. потом questa стала требовать лицензию, зашёл на сайт получения файла лицензии, попросили зарегаться. заполнил поля, нажал "подтвердить почту", выдало ошибку "Password does not match pattern", нахуй удалил из поля ввода паттерн, прислали код на почту, ввёл, выдало "Password does not match pattern". достал регексп с формы ввода, сгенерил по нему пароль, вставил, рега прошла. пиздец просто.
Аноним 01/03/23 Срд 17:09:56 520072 123
В каких документах для Tang Nano 9k надо смотреть, к каким пинам чипа привязан клок, светодиоды и кнопки?
Аноним 01/03/23 Срд 17:40:26 520074 124
Аноним 01/03/23 Срд 18:04:27 520076 125
>>520074
Как этим пользоваться? Где посмотреть, например, на каком пине клок, а где кнопки s1 и s2?
Аноним 01/03/23 Срд 18:24:04 520077 126
>>520076
> Как этим пользоваться?
Открываешь и читаешь, блять.
Аноним 01/03/23 Срд 18:44:50 520079 127
Аноним 01/03/23 Срд 21:12:51 520086 128
Пасаны, а как в целом китайцы по сравнению с синими и красными? Софт норм, багов много, стоит перекатываться если есть выбор?
Аноним 02/03/23 Чтв 01:36:10 520109 129
>>519461
>всякая обвязка и рассыпуха
По-твоему не нужна?

>центральный чип
Есть и чипы и процессоры и микроконтроллеры. Производства своего пока нет, но опять таки, это временно.

>На виртексах, которые удалось скрысить у пиндосов (по "параллельному импорту")
Пока да. Пока своих плисин нет можно софт отрабатывать, а там глядишь и элементная база подтянется.
Аноним 02/03/23 Чтв 06:22:09 520119 130
>>520109
>Есть и чипы и процессоры и микроконтроллеры. Производства своего пока нет
Лол.

>но опять таки, это временно
Тебе сколько лет, пять? Мне давно уже не пять лет, увы.
Аноним 03/03/23 Птн 00:53:25 520188 131
>>520119
>Лол.
Хуёл.

>Мне давно уже не пять лет
А ума так и нет.
Аноним 03/03/23 Птн 10:30:15 520211 132
>>520067
>>520068
отвечу сам себе: поддержка Stratix IV есть только в платной версии софта Intel® Quartus® Prime Standard Edition Software

а есть опенсорц или хотя бы бесплатное IDE с поддержкой Stratix IV?
Аноним 03/03/23 Птн 10:32:21 520212 133
>>520211
> а есть опенсорц или хотя бы бесплатное IDE с поддержкой Stratix IV?
С какого перепугу?
Аноним 03/03/23 Птн 10:39:21 520213 134
scr.png 143Кб, 1022x704
1022x704
>>520211
кароч если очень хочется интел, то нужно искать дев кит с одним из этих чипов
Аноним 03/03/23 Птн 10:40:38 520214 135
>>520212
да хз, я чото думал, что c FPGA так же, как с ардуиной - скачал бесплатное иде, хуяк-хуяк и мигаешь лампочками, а тут пиздецы какие-то с downloads по 25 гигабайт и анальными регистрациями.

с Xilinx всё так же плохо?
Аноним 03/03/23 Птн 12:47:53 520227 136
1306556149.zamb[...].jpg 215Кб, 1000x948
1000x948
Аноним 03/03/23 Птн 12:59:02 520228 137
scr.png 110Кб, 1030x312
1030x312
>>520227
мда пздц.
спасибо, буду искать интелы/альтеры.
Аноним 03/03/23 Птн 13:09:03 520230 138
в интернетах вроде пишут, что Lattice - нарм FPGA без анального рабства ну разве что самую малость, это правда?
чем они лучше/хуже по сравнению с Xilinx/Altera?
Аноним 03/03/23 Птн 15:07:56 520244 139
>>520228
Ты идиот? На рутрекере забанен?
Аноним 03/03/23 Птн 15:27:47 520246 140
>>520244
🤔 я так давно пользуюсь линуксом, что уже забыл про существование торрентов, лол
Аноним 03/03/23 Птн 16:21:19 520247 141
>>520246
И не то что в игрушки не играешь, так ещё даже кинцо спираченное смотришь?
С опенсурсными сапрами все очень плохо, нечего тут удивляться. Даже чертить как следует не в чем. Фрикад это максимум, для любителей как я оно сойдёт, но оно же безнадежно сольет компасу например. И с остальными сапрами аналогично.
Аноним 03/03/23 Птн 17:33:23 520251 142
>>520247
>кинцо
Почти никогда не стоит потраченного времени.

>игрушки
У Габена тупо удобнее. Не просто исталл в один клик, но и весь пердолинг с wine/proton выполняется автоматически без вмешательства пользователя.
Аноним 03/03/23 Птн 18:18:31 520252 143
>>520247
> кинцо
не смотрю
>>520251
> игрушки
почти не играю что пару часов перед сном поаутировать в майнкрафт не считается
Аноним 04/03/23 Суб 11:32:32 520311 144
>>520213
погуглив ещё немного, я узнал, что огромное количество логических элементов не нужно - для реализации софтового процессора типа https://github.com/f32c/f32c достаточно и спартана 6 или циклона 4.
гуглю дальше.
думаю, остановлюсь на циклоне 4 или 5.

>>520230
бамп вопросу
Аноним 05/03/23 Вск 16:00:14 520474 145
>>518749
Уважаемый менеджер, Вы куда пропали?
Заказ горит, а Вы еще счет на оплату и согласование не выставили. Что мне говорить за проеб сроков из-за Вашей нерасторопности?
СРОЧНО НУЖЕН СЧЕТ НА СОГЛАСОВАНИЕ!!!! СРОЧНА!!!
>>518765
Аноним 05/03/23 Вск 21:54:37 520514 146
20230305213711.jpg 2957Кб, 4128x1956
4128x1956
20230305213815.jpg 3513Кб, 4128x1956
4128x1956
20230305213836.jpg 3849Кб, 4128x1956
4128x1956
Анон с профессорами репортинг.

>>519364
>Вот тебе реально впадлу найти пару микросхем для запуска классики жанра под названием 580ВМ80А?
Моет быть, когда-нибудь, но это не точно. Дел и без этого хватает.
>ПокажЫ!
Немного разобрал своё барахлишко, осталась мелкая рассыпуха и импортная база.
В общем вот чем располагаю на данный момент.

>>520474
>>518765
>Уважаемый менеджер, примите заказ:
>CYRS1645KV18-250GCMB 144-Mbit QDR® II+ SRAM - нужно 20 шт
>MT29F128G08AMCABH2-10ITZ:A (Micron NAND Flash SLC 128G 16GX8) - 32 шт
И где это можно купить?

>8A34041 (8-Channel Universal Frequency Translator)
Для генерации частоты чтоль? Не проще на рассыпухе собрать?

>AD9213 (radio frequency (RF) analog-to-digital converter (ADC)) - 13 шт
>ZU48DR-G1517 (Xilinx ZYNQ UltraScale+ RFSoC) - 10 шт
Это ещё зачем?
Аноним 06/03/23 Пнд 03:31:27 520530 147
>>520514
Да вы батенька мажор... Есть же игрушки из 580 серии.
Например 580ВИ53 - таймер и рядом 580ВВ51А - компорт можно собрать (и написать бутлоадер как завещал анон >>519367 )
589ИР12 - порт ввода ИЛИ вывода (только одно направление навсегда) или его в мусор (ладно, к 580ВТ57 приделаешь и получишь 4х анальный ДМА) и взять 580ВВ55А - получишь целых 3 порта по 8 бит.
537РУ10 - внезапно ОЗУ на целых 2 килообайта!
Если любишь аборты и прерывания - 1810ВН59А.

Во всякие хххРЕхх (программируемые ПЗУ) не вникал - вряд ли есть чем их погроммировать и могут быть нестандартные напряжения питания. Остальные микросхемки тоже позже посмотрю - вдруг что вкусное есть.

Системного контроллера не увидел как и генератора.
Не собирал, один из вариантов замены на рассыпчатой логике здесь -> http://rw6hrm.qrz.ru/8080.htm

По поводу поста >>518765
> И где это можно купить?
Ты же менеджер по продажам, сам должен найти где купить и главное - менее чем 8 центов за чип да еще и с учетом доставки!!!

>>8A34041 (8-Channel Universal Frequency Translator)
>Для генерации частоты чтоль? Не проще на рассыпухе собрать?
Почитал бы что за ядреная херня. Вряд ли на рассыпухе такое соберешь если это вообще возможно.

>>AD9213 (radio frequency (RF) analog-to-digital converter (ADC)) - 13 шт
>>ZU48DR-G1517 (Xilinx ZYNQ UltraScale+ RFSoC) - 10 шт
>Это ещё зачем?
BMS на литиевую батарейку делать. Процессы там медленные и нужны медленные АЦП что бы записывать и смотреть как идет заряд-разряд батареи. Судя по параметрам этих АЦП их с огромным скрипом и натягом должно хватить на жалкое подобие детекторного приемника с околонулевой селективностью.
И вообще - какая разница менеджеру куда и зачем такие детальки? Его задача найти где купить, накрутить цену и продать. Когда счет выставишь то? Долго еще ждать? Начальство уже все злое ходит из-за срыва сроков поставок..
Аноним 06/03/23 Пнд 04:59:41 520531 148
О
Аноним 06/03/23 Пнд 11:48:37 520544 149
Аноним 06/03/23 Пнд 15:17:15 520558 150
А что за клоны хилых есть у китайцев и сколько они стоят?
С pango еще никто не работал?
Аноним 06/03/23 Пнд 16:33:58 520571 151
Аноним 07/03/23 Втр 08:05:04 520623 152
Аноним 07/03/23 Втр 12:31:29 520631 153
Аноним 07/03/23 Втр 14:27:48 520641 154
>>520631
Смотри лучше. 3 страница нижний левый угол. Читаем название выводов и идем на правую часть 1й страницы. Сопоставляем.
Аноним 08/03/23 Срд 14:59:11 520757 155
Как в FPGA реализуется получение, хранение, коммутирование и выдача данных, например, при решении уравнений?
Аноним 08/03/23 Срд 15:47:13 520758 156
>>520757
На мутный и общий вопрос мутный и общий ответ в Альтеровской нотации.
> получение
> выдача данных
Через блоки вводы-вывода. Можно параллельно или последовательно в виде униполярных или дифференциальных сигналов, можно через блоки SERDES (только в последовательном виде).

>хранение
На триггерах и/или в блоках памяти (MLAB, EAB, M4K, M9K, M144K.. которые работают как двухпортовая память или как FIFO). Можно хранить и в триггерах блоков ввода-вывода - например при реализации DDR памяти и оттуда читать-писать.

> коммутирование
Внутренние матрицы межсоединений/коммутации. Надо смотреть описание LAB и как они между собой соединяются - это если на уровне кристалла и напрямую недоступно. На уровне описания аппаратуры в большинстве случаев - мультиплексор. Самый обычный мультиплексор (да и то не всегда нужен если например выход регистра результата сразу выдавать на внешние контакты)

https://marsohod.org/11-blog/265-fpga
Аноним 08/03/23 Срд 15:58:53 520759 157
>>520758
Я имел в виду, как все это делается на той стороне, с которой работает инженер. Как инженер загружает данные в ПЛИС, как эти данные там хранятся, как они выгружаются обратно. Типа как база данных и бизнес-логика для обработки данных на бэкэнде джава.
Аноним 08/03/23 Срд 16:10:55 520760 158
>>520759
Ну вот например, можно загрузить данные для обработки по uart или как-то еще? Хранить их в регистрах, массивах или писать какой-то буффер типа очереди или стека? Вот это меня интересует
Аноним 08/03/23 Срд 16:54:33 520766 159
>>520760
Берёшь ip ядро уарта, или делаешь свой. Пользуешься.
Аноним 08/03/23 Срд 18:28:19 520773 160
>>520760
У тебя странные рассуждения. Там ведь по сути схема создаётся, пусть из одинаковых ячеек. И рассуждать нужно применительно к схеме, а не языку программирования. Это если про синтезируемый код конечно.
>массивах
Для начала ответь на вопрос о том как это будет выглядеть внутри плисину, что будет задействовано и в каком количестве. И про остальные буферы то же самое. Как начнёшь понимать вот это, то и твой вопрос сам отпадет.
Аноним 08/03/23 Срд 19:19:25 520785 161
>>520760
> можно загрузить данные для обработки по uart или как-то еще?
Можно и по uart. Из распространённых протоколов есть ещё Ethernet и по желанию стек tcp/ip.
>Хранить их в регистрах, массивах или писать какой-то буффер типа очереди или стека?
Можно и в регистрах, если массив небольшой. А можно и в ОЗУ - если большой. Очередь или стек, если опять таки большие, делаются на базе ОЗУ, а что именно из этого это уже по ситуации, что удобнее.
Аноним 08/03/23 Срд 20:52:47 520794 162
Есть один кинтекс7, точнее не есть, а будет через пару недель. Но к тому моменту нужен минимально рабочий проект. В проекте понадобятся встроенные dsp. Я с ними ни разу не работал, да и вообще в плисах опыт совсем чуть больше нуля и только со спартанами6. Так что реквестирую способы симуляции для него.
Могу ли я поставить принудительно лицензированную виваду и посмотреть там RTL того, что понапишу на верилоге? Увижу ли я в этой RTL, что dsp48e1 используется? Есть ли у неё встроенный симулятор как у ISE, и что он симулирует, только поведение модуля, описанного верилогом, или прям полностью то что есть в ПЛИС?
Аноним 08/03/23 Срд 22:25:10 520807 163
>>520794
>реквестирую способы симуляции для него
В коде пишешь m <= a * b; и симулируешь. В редакторе схем смотришь, что оно синтезируется в DSP48.

>Могу ли я поставить принудительно лицензированную виваду и посмотреть там RTL того, что понапишу на верилоге? Увижу ли я в этой RTL, что dsp48e1 используется? Есть ли у неё встроенный симулятор как у ISE, и что он симулирует, только поведение модуля, описанного верилогом, или прям полностью то что есть в ПЛИС?

Да, да, да, да, ни то ни другое, а собственную модель, которая по задумке должна совпадать и с поведением кода, и с поведением блока в плис. Если то, что ты написал, невозможно синтезировать в DSP48 (например, требует больше бит, чем есть), синтезатор не будет пытаться изменить поведение кода, чтобы впихнуть его в DSP48, а просто сделает простыню из LUTов. В таком случае надо открывать даташит/гайдлайны и искать, какие части переписать.
Аноним 09/03/23 Чтв 16:16:18 520861 164
>>520807
О, класс. Спасибо!
Аноним 10/03/23 Птн 22:19:58 521040 165
1.png 15Кб, 593x311
593x311
2.png 10Кб, 499x141
499x141
Почему в тестбенче в переменной q всегда значение 'x'? Оно должно меняться при изменении состояния триггера.
Аноним 10/03/23 Птн 22:34:01 521046 166
>>521040
Потому что у тебя описан триггер с динамическим управлением, т.е. оно должно срабатывать при изменении clk с 0 на 1. А такое изменение у тебя в тестбенче только в одном месте - 11 и 12 строки, но там у тебя j=k=1, а значит оно должно проинвертировать свое состояние там. Только начальное значение у тебя неопределенно, т.е. 1'bx, соответственно инверсия также даёт 2'bx. Измени тестбенч, можешь ещё задать начальное состояние триггера.

Также jk триггеров со статическим управлением (то есть как предусматривает твой тестбенч) не бывает толком, потому что при j=k=1 оно превратиться в генератор. Конечно есть варианты, но пока не стоит рассматривать их.
Аноним 10/03/23 Птн 22:35:21 521047 167
>>521046
>также даёт 2'bx
1'bx, по кнопке промазал.
Аноним 10/03/23 Птн 22:42:22 521048 168
1.png 18Кб, 628x329
628x329
>>521046
Это вот так делается, чтобы был переход clk с 0 на 1? Все равно в q находится x.
Аноним 10/03/23 Птн 22:51:16 521051 169
>>521048
Задержку добавь после clk=0 везде.
Аноним 11/03/23 Суб 23:00:21 521161 170
почему пишет
Error (10734): Verilog HDL error at qqq.v(17): i is not a constant


module cgncgh(output reg [31:0]REG, input [1:0]L, input [7:0]D, input C);

reg [7:0]REGA[3:0];

always @(posedge C)
case(L)
2'd0: REGA[0] <= D;
2'd1: REGA[1] <= D;
2'd2: REGA[2] <= D;
2'd3: REGA[3] <= D;
endcase

always @(ж)
begin
integer i;
for(i=0; i<=3; i=i+1)
REG[8i+7:8i] = REGA[7:0];
end
endmodule
Аноним 11/03/23 Суб 23:01:53 521163 171
>>521161
>REG[8i+7:8i] = REGA[7:0];
REG[8✶i+7:8✶i] = REGA[7:0];
Аноним 11/03/23 Суб 23:19:48 521164 172
>>521161
Можно было бы подумать, что с массивами так не работает, но нет, такой код вполне компилится:

И в чём между ними принципиальная разница?

module cgncgh(output reg [31:0]REG, input [1:0]L, input [7:0]D, input C);

reg [7:0]REGA[3:0];
reg [7:0]REGB[3:0];

always @(posedge C)
begin
case(L)
2'd0: REGA[0] <= D;
2'd1: REGA[1] <= D;
2'd2: REGA[2] <= D;
2'd3: REGA[3] <= D;
endcase
end

always @(✶)
begin
integer i, j;
for(j=0; j<=3; j=j+1)
for(i=0; i<=7; i=i+1)
REGB[j] = REGA[j][7-i];
end

always @(✶) REG = {REGB[3], REGB[2], REGB[1], REGB[0]};

endmodule
Аноним 12/03/23 Вск 17:42:50 521213 173
>>521164
Верилог не может выбирать подмассивы с границами, которые заданы переменными. Даже если код написан так, что ширина подмассива всегда постоянна.

Понять и простить.

То, что ты хочешь, можно сделать при помощи genvar/generate — это тоже переменная, но все её значения обсчитываются только при синтезе схемы, и для каждого варианта генерируется собственный блок.

genvar group_idx;
generate
for (group_idx=0; group_idx<4; group_idx=group_idx+1) begin : connecting_subarray_groups
always @(×) EG[8×group_idx +: 8] = REGA[0 +: 8];
end
endgenerate
Аноним 12/03/23 Вск 18:00:18 521217 174
>>521213
>Верилог не может выбирать подмассивы с границами, которые заданы переменными. Даже если код написан так, что ширина подмассива всегда постоянна.
Всё равно не понял.

Здесь >>521161
>REG[8✶i+7:8✶i] = REGA[7:0];

и здесь >>521164
>REGB[j] = REGA[j][7-i];

используется переменная в индексе массивов, но один код компилится, другой почему-то нет.
Аноним 12/03/23 Вск 18:08:13 521219 175
>>521164
Тут не происходит выбора подмассива с некоторой вычисляемой (и поэтому формально неизвестной) шириной. Либо выбор элемента из массива, либо выбор одного бита.

И КСТАТИ НЕ ОРИ КОГДА ДАЁШЬ НАЗВАНИЯ ЦЕПЯМ И РЕГИСТРАМ, ЭТО СМОТРИТСЯ СТРАННО. ОРУТ ОБЫЧНО КОГДА НАЗЫВАЮТ ПАРАМЕТРЫ МОДУЛЯ
Аноним 12/03/23 Вск 18:57:54 521225 176
>>521219
>Тут не происходит выбора подмассива с некоторой вычисляемой (и поэтому формально неизвестной) шириной. Либо выбор элемента из массива, либо выбор одного бита.
Как-то ты витиевато пишешь.
В общем я разобрался, вот так работает
for(i=0; i<=31; i=i+1)
REG = REGA[i/8][i%8];

Недопустимы переменные в левой части присвоения.
Аноним 12/03/23 Вск 20:31:09 521229 177
>>521225
Во-первых, не работает. У тебя всё присваивается в младший бит.

Во-вторых, это какой-то пиздец и клоунада, а не код. Попробуй так штоле:

for(i=0; i<4; i=i+1)
for(j=0; j<8; j=j+1)
REG[i*8+j] = REGA[j];
Аноним 12/03/23 Вск 21:17:16 521230 178
>>521229
Очепятался мальца
>>521225
>REG = REGA[i/8][i%8];
REG = REGA[i/8][i%8];

И оговорился в добавок
>Недопустимы переменные в левой части присвоения.
Недопустимы вычисления в левой части присвоения.


У тебя как раз вычисления
>REG[i*8+j] = REGA[j];
так не сработает.
Аноним 12/03/23 Вск 21:19:29 521231 179
>>521230
сука, мамка разметку жрёт
REG[ i ] = REGA[i/8][i%8];
Аноним 12/03/23 Вск 21:57:13 521232 180
reactnisekoi.png 425Кб, 2221x1790
2221x1790
>>521230
>так не сработает.
Чел, ты попробуй.
Аноним 12/03/23 Вск 22:07:27 521233 181
>>521231
> мамка
ты ещё и с мобилы капчуешь?
Аноним 12/03/23 Вск 22:12:11 521234 182
>>521231
>мамка разметку жрёт
Ага, по ней это сразу видно)))
Аноним 12/03/23 Вск 23:08:15 521237 183
>>521233
>>521234
Вообще пиздец.

>>521232
Попробовал
Warning (10230): Verilog HDL assignment warning at cgncgh.v(22): truncated value with size 8 to match size of target (1)
Error (10251): Verilog HDL error at cgncgh.v(22): index 4 cannot fall outside the declared range [3:0] for dimension 0 of array "REGA"
Аноним 13/03/23 Пнд 06:43:11 521259 184
>>521237
Так, секунду. Мамка сожрала разметку)))

for(i=0; i<4; i=i+1)
for(j=0; j<8; j=j+1)
REG[i*8+j] = REGA[i][j];
Аноним 13/03/23 Пнд 20:13:33 521316 185
1.png 24Кб, 495x363
495x363
2.png 12Кб, 391x254
391x254
Почему этот счетчик не считает и модуль не мигает диодом?
Аноним 13/03/23 Пнд 21:15:24 521319 186
Аноним 14/03/23 Втр 01:29:13 521340 187
>>521259
А, ты хочешь сказать что НЕдопустимы вычисления в диапазонах?
Т.е. REGA[xy] допустимо, а REGA[xy:x*y+1] уже нет?

Ну хорошо, а чем тебе мой >>521231 вариант не угодил?
Аноним 14/03/23 Втр 01:33:50 521341 188
>>521340
>Т.е. REGA[xy] допустимо, а REGA[xy:x*y+1] уже нет?
Оу уж эта мамка

Т.е. REGA[x✶y] допустимо, а REGA[x✶y:x✶y+1] уже нет?

Или даже может так
REGA[x:x+1] - недопустимо?
Аноним 14/03/23 Втр 05:42:29 521348 189
>>521340
Ну вот, ты понял. А всего-то надо было чуть-чуть вчитаться, если сходу не дошло.

>Ну хорошо, а чем тебе мой >>521231 вариант не угодил?
Тем, что это нечитаемо и неподдерживаемо. Если через месяц тебе надо будет что-нибудь там подправить, то вспомнить, что ты имел в виду, потребует больше времени, чем нужно было, чтобы это придумать и написать.
Аноним 14/03/23 Втр 06:15:42 521352 190
Есть ещё варик, когда вычисляется одна граница, а ширина явно даётся константой: REG[8*j +: 8] = REGA[j];

В икарусе это поддерживается. Тут надо иметь в виду, что в разных инструментах одна и та же конструкция может поддерживаться, а может и нет.
Аноним 14/03/23 Втр 20:42:29 521386 191
Аноним 14/03/23 Втр 23:10:39 521393 192
>>521386
Ищи с циклоном 4, первый циклон совсем уж днище. А периферия тут обычная, за такие деньги богаче не найдёшь.
Аноним 15/03/23 Срд 09:50:53 521418 193
Screenshot2023-[...].png 5Кб, 164x224
164x224
Аноним 15/03/23 Срд 09:57:21 521419 194
>>521418
>Tang Nano 9K
Уж лучше древний квартус из 2003, чем говеновское еда.
Аноним 15/03/23 Срд 11:01:46 521423 195
Кстати, Gowin умеет в Ethernet MAC?
Какой DDR можно к нему подцепить?
Аноним 15/03/23 Срд 13:33:19 521428 196
Аноним 15/03/23 Срд 15:40:18 521436 197
Аноним 15/03/23 Срд 15:42:50 521437 198
Аноним 15/03/23 Срд 16:51:34 521439 199
1.png 11Кб, 414x278
414x278
Почему схема не работает? Сигнал clk подсоединен к кнопке, сигналы lfsr[0]-lfsr[7] соединены с диодами. Диоды должны загораться случайно при нажатии на кнопку, а они горят все одновременно. Плата C4E6/E10-CORE
Аноним 15/03/23 Срд 17:51:16 521443 200
1.png 15Кб, 637x406
637x406
>>521439
А в ввиваде lfsr8 нормально симулируется, случайные числа генерируются.
Аноним 15/03/23 Срд 17:57:39 521444 201
1.png 19Кб, 785x236
785x236
>>521443
Вот что у меня в пин планнере.
Аноним 15/03/23 Срд 18:48:19 521449 202
>>521439
Открой implemented design→schematic и проверь, что схема соответствует ожидаемому.
Аноним 15/03/23 Срд 19:04:38 521450 203
1.png 13Кб, 774x437
774x437
>>521449
Вроде соответствует. Три xor гейта и регистр сдвига (7 триггеров)
Аноним 15/03/23 Срд 19:15:52 521451 204
>>521439
1. Не факт что присвоение в шапке модуля синтезируемо.
2. Куда у тебя подключена кнопка, к clk чтоль?
Аноним 15/03/23 Срд 19:25:23 521453 205
>>521450
Ресет возник из ниоткуда, куда он выведен? Он наводки не ловит? Попробуй пару диодов отсоединить от регистра и подключить к clk и reset, чтобы смотреть, что на них происходит.
Аноним 15/03/23 Срд 19:42:22 521455 206
1.png 13Кб, 475x320
475x320
>>521451
>Куда у тебя подключена кнопка, к clk чтоль?
Да, тактирую руками

>>521453
>Ресет возник из ниоткуда, куда он выведен?
Дописал потом. Выведен на вторую кнопку.
Аноним 15/03/23 Срд 20:09:20 521459 207
>>521455
1. Убедись что кнопка в отжатом состоянии даёт 0, очень может быть что наоборот.

2. По ресету у тебя регистр обнуляется, после этого работать уже не будет, при нулях сумма по модулю даёт 0.

3. Попробуй присвоение в шапке убрать и заменить на
initial lfsr <= 8'd255;

4. Кнопка даёт дребезг, но сейчас это значение не имеет.
Аноним 15/03/23 Срд 20:12:11 521460 208
>>521459
>initial lfsr <= 8'd255;
Спасибо, помогло.
Аноним 15/03/23 Срд 20:12:11 521461 209
>>521459
>Убедись что кнопка
Кнопка ресета.
Аноним 15/03/23 Срд 20:50:26 521474 210
Задам пару нубских вопросов.

1) ПЛИС можно программировать, вроде, без написания кода собирая цифровое устройство визуально - соединяя отдельные логические элементы между собой? Потом они "прожигаются" уже в самой ПЛИС и по итогу получается нечто похожее на изготовленню на заводе микросхему? В смысле получается устройство как обычные микросхемы двоичной логики - счетчики всякие, дешифраторы и прочее.

2) Так как ПЛИС это не микропроцессор то стабильность работы у нее будет выше? Ведь вероятность глюка в жесткой логике куда ниже - нечему зависнуть в отличие от целого микроконтроллера с постоянной и оперативной памятью, АЛУ с его вычислениями и прочим. Это похоже на зависания контроллеров китайских для елочных гирлянд и дубовой стабильной работе простых мигалок для тех же гирялнд по схемах из нескольких деталей.
Аноним 15/03/23 Срд 22:03:37 521486 211
>>521348
>А всего-то надо было чуть-чуть вчитаться, если сходу не дошло.
Просто ты витиевато пишешь, сказал бы сразу
>в диапазонах недопустимо

>неподдерживаемо
Кактус вполне синтезит.

>потребует больше времени
Для этого не скупиться на жирные комментарии.

Слушай, раз такое дело, может ещё подскажешь
Чем отличаются записи
-4'd5 от -4'sd5
Я отличий не заметил.

И ещё, решил полистать стандарт на верилог и не нашёл где указывается разрядность переменных типа integer и time. Я не думаю, что это оставили на усмотрение разработчикам компиляторов, во всех книжках пишут, что integer это 32 разряда.
Аноним 15/03/23 Срд 22:57:27 521490 212
Есть какие-нибудь возможности программировать FPGA на си или C++? Вроде в виваде есть какой-то HLS. Было бы интересно писать параллельные алгоритмы на высокоуровневом языке.
Аноним 15/03/23 Срд 23:05:16 521492 213
>>521474
> ПЛИС можно программировать, вроде, без написания кода собирая цифровое устройство визуально
Да. Только зачем? Что-то стоящее таким образом не соберёшь - устанешь. Для этого придумали автоматизацию, называется HDL, оно же языки проектирования аппаратуры. Грубо говоря, если тебе нужно нарисовать счётчик на 64 разряда, то ты бы все 64 разряда рисовал руками, на HDL достаточно создать один разряд и поставить его в цикл на 64 раза.

>Потом они "прожигаются" уже в самой ПЛИС и по итогу получается нечто похожее на изготовленню на заводе микросхему? В смысле получается устройство как обычные микросхемы двоичной логики - счетчики всякие, дешифраторы и прочее.
До переброса питания. ПЛИС типа FPGA свою прошивку хранит во внешней флешке, и по подаче питания начинает процесс инициализации, переписывает прошивку из флешки себе во внутреннюю энергоЗависимую память.

>>521474
>Так как ПЛИС это не микропроцессор то стабильность работы у нее будет выше?
Не факт.
В старом железе, где процессор и ОЗУ были связаны между собой шиной проходящей по печатной плате, на эту шину можно было легко навести помеху от чего программа сбоила. Там да, стабильность была низкая.
Микроконтроллеры это тоже схема из
>счетчики всякие, дешифраторы и прочее
вместе с ОЗУ выполненные интегрально и навести туда помеху уже не так просто.
Так что скорее всего на ровне.
Аноним 15/03/23 Срд 23:07:27 521493 214
>>521490
Копай в сторону SystemC
О нём давно говорят, но что-то как средство синтеза, как и прочее на эту тему, пока не взлетает.
Аноним 15/03/23 Срд 23:10:31 521494 215
>>521492
> Да. Только зачем? Что-то стоящее таким образом не соберёшь - устанешь. Для этого придумали автоматизацию, называется HDL, оно же языки проектирования аппаратуры. Грубо говоря, если тебе нужно нарисовать счётчик на 64 разряда, то ты бы все 64 разряда рисовал руками, на HDL достаточно создать один разряд и поставить его в цикл на 64 раза.
Да не умею я просто в программирование. Вот и подумал что можно было бы что-то не сильно сложное запрограммирвать визуальным соединением блоков.

> До переброса питания. ПЛИС типа FPGA свою прошивку хранит во внешней флешке, и по подаче питания начинает процесс инициализации, переписывает прошивку из флешки себе во внутреннюю энергоЗависимую память.
Хм, вот как.

> Не факт.
> В старом железе, где процессор и ОЗУ были связаны между собой шиной проходящей по печатной плате, на эту шину можно было легко навести помеху от чего программа сбоила. Там да, стабильность была низкая.
> Микроконтроллеры это тоже схема из
> вместе с ОЗУ выполненные интегрально и навести туда помеху уже не так просто.
> Так что скорее всего на ровне.
Спасибо.
Аноним 16/03/23 Чтв 00:42:17 521509 216
>>521494
>Да не умею я просто в программирование. Вот и подумал что можно было бы что-то не сильно сложное запрограммирвать визуальным соединением блоков.
тогда бери owen logic
Аноним 16/03/23 Чтв 01:04:25 521516 217
Аноним 16/03/23 Чтв 01:30:57 521521 218
>>521494
>Да не умею я просто в программирование.
Ну чё, в Квартусе есть графический редактор.

А вообще можешь начать
https://www.youtube.com/@Jack0v/playlists
Аноним 16/03/23 Чтв 05:57:27 521531 219
>>521486
>Кактус вполне синтезит.
"Поддерживаемость кода" это про другое — https://www.brcline.com/blog/5-tips-write-maintainable-code

>Для этого не скупиться на жирные комментарии.
Не стоит ходить по граблям и изобретать велосипед, написанием кода человечество занимается не первое десятилетие и более-менее разобралось, как это целесообразно делать.

>Я отличий не заметил.
Отличий нет потому что старший бит равен нулю. Знаковость определяет, как интерпретируется единица в старшем бите. Например, -3'd5 и -3'sd5 имели бы уже разные значения (-5 и +1).
Аноним 16/03/23 Чтв 06:20:24 521532 220
>>521490
Эти возможности не особо популярны потому что они пока не могут сравниться с RTL по скорости работы и ресурсоэффективности. А если инженеру скорость работы и ресурсоэффективность не важны, он справедливо первым делом выкидывает ПЛИС, ставит вместо неё процессор и пишет на Питоне, получая возможность решить 10 задач за то время, за какое на ПЛИС он решил бы одну (буквально).

>>521474
>нечему зависнуть в отличие от целого микроконтроллера
Мигалки на микроконтроллерах тоже не виснут. А в ПЛИС, как только дело дойдёт до конечных автоматов, они тоже охотно начнут виснуть. Железные проблемы в причинах зависаний играют куда меньшую роль, чем способность продумать все сочетания состояний и условий в достаточно сложных системах (или простая криворукость).
Аноним 16/03/23 Чтв 06:34:30 521533 221
>>521531
>имели бы уже разные значения (-5 и +3)
Фиксед
Аноним 16/03/23 Чтв 07:19:18 521534 222
>>521474
>нечему зависнуть в отличие от целого микроконтроллера
Ошибаешься. Нечему может быть только в двоичном счётчике, потому что как конечный автомат он бывает во всех возможных состояниях и соответственно выходит из них. А если взять счётчик считающий как-то особо, например выше был пример сдвигового регистра с обратной связью (М-последовательности генерит), то если регистр в нем сбросится в 0 из-за помехи или ещё какого сбоя, то из этого состояния он уже не выйдет. То же и с двоично-десятичными счётчиками может быть, в зависимости от их схемы, да наверное почти во всех более-менее сложных схемах есть возможность подзависнуть при возникновении таких явлений.
Это даже если не рассматривать внутренности плисин и другие явления.
Аноним 16/03/23 Чтв 07:57:06 521536 223
>>521532
>Эти возможности не особо популярны потому что они пока не могут сравниться с RTL по скорости работы и ресурсоэффективности.
Я конечно не в теме, но мне кажется что ты ошибаешься. Как пример - chisel, там не какой попало код на скале, а код написанный с использованием соответствующих классов. В результате это почти тот же верилог, только поверх скалы. Вот только скала существенно сложнее верилога будет. Из такого популярного на этом чизеле сделали несколько RISC-V ядер, которые как видно по ресурсам ничем не уступают верилоговским.
Аноним 16/03/23 Чтв 08:45:30 521538 224
>>521536
>В результате это почти тот же верилог, только поверх скалы
Вот именно. Chisel это не HLS, то есть не описание алгоритма, которое синтезируется в схему, а описание схемы.
Аноним 16/03/23 Чтв 19:40:32 521605 225
Аноним 16/03/23 Чтв 21:28:39 521632 226
Аноним 16/03/23 Чтв 23:19:30 521647 227
Аноним 16/03/23 Чтв 23:53:46 521651 228
>>521531
>>521533
>-3'd5 и -3'sd5 имели бы уже разные значения (-5 и +3)
Как -3'd5 даст -5, когда пятёрка требует три разряда? Какой смысл вообще с такой записи, для знакового бита места же нет.
Аноним 17/03/23 Птн 07:01:09 521666 229
Аноним 17/03/23 Птн 07:03:25 521667 230
>>521666
Бля, обосрался с недосыпу…
Аноним 17/03/23 Птн 07:34:12 521669 231
>>521651
>Как -3'd5 даст -5, когда пятёрка требует три разряда? Какой смысл вообще с такой записи, для знакового бита места же нет.
Это может быть какой-нибудь дефайн, который в одном месте используется без минуса для присваивания в регистр шириной 3 бита, а в другом — с минусом вычитается из числа размером 10 бит. В любом случае, исходный вопрос был "чем отличается", а не "какой смысл".
Аноним 22/03/23 Срд 13:30:38 522212 232
VHDL был придуман во времена, когда казалось, что если инженера много пиздить, он будет писать более качественный код.

Со временем выяснилось, что это только снижает производительность, а качество разработки достигается автоматическим тестированием.

VHDL должен быть запрещён как способ бесчеловечного обращения.
Аноним 22/03/23 Срд 13:34:10 522213 233
Когда в Таиланде обезьян заставляют собирать кокосы, держа их на цепи, защитники прав животных бойкотируют добытое ими кокосовое молоки. Но VHDL продолжает использоваться на живых людях.
Аноним 22/03/23 Срд 16:58:19 522220 234
Как на FPGA сделать паузу/задержку сигнала с заданной длительностью? Например, чтобы по нажатию на кнопку сразу загорелся один диод, а спустя секунду (или другой период времени) - второй диод.
Аноним 22/03/23 Срд 18:57:40 522229 235
>>522220
Счётчик+компаратор. По нажатию кнопки — сброс в ноль, по отпусканию — счёт до нужного значения, по достижении значения — включение светодиода и остановка счёта.
Аноним 22/03/23 Срд 19:10:54 522230 236
>>522229
Нажание и отпускание это always @(posedge) и always @(negedge) соответственно?
Аноним 22/03/23 Срд 19:29:21 522231 237
>>522230
Ненененене. Даже не думай. Posedge и negedge для другого (для тактирования). Почитай, что такое комбинационная логика, последовательная логика, синхронная логика. Вообще забудь, что внутри always @(posedge ...) может быть что-то кроме clk, и забудь, что существует negedge, мой тебе добрый совет. Когда поймёшь, что кроме always @(posedge clk) тебе больше ничего и не требуется, можешь на секунду вспомнить про negedge и асинхронные резеты, а потом снова забыть про них нахуй.
Аноним 22/03/23 Срд 19:31:49 522232 238
>>522230
Нет. Сначала надо на кнопке подавить дребезг, потом выделить фронт, потом сохранить фронт как событие в триггер, и уже этим триггером инкриминировать счётчик.
https://youtu.be/PdfDkC3Jbpk
Аноним 22/03/23 Срд 21:11:50 522234 239
1.png 15Кб, 492x463
492x463
Аноним 22/03/23 Срд 21:54:14 522236 240
>>522234
Я ж тебе сказал — забудь, что внутри always @(posedge ...) может быть что-то кроме clk. Но ты проигнорировал, и поэтому тебя ждёт расплата — то, что ты написал, не синтезируется. Добавь во второй блок always ещё один if, который будет обнулять счётчик, stop и led_state, а первый блок выкинь, чё ты.
Аноним 22/03/23 Срд 22:06:53 522239 241
>>522234
И ещё одно правило: забудь, что внутри always @(posedge clk) могут смешиваться <= и =. Всегда используй <= и только <=. Это поможет избежать трудноуловимых проблем, когда симулятор и железо работают по-разному. Использовать = внутри блоков always можно только c @(*), которые синтезируются в комбинационную логику (и там, в свою очередь, нельзя использовать <= )
Аноним 22/03/23 Срд 23:57:41 522251 242
1.png 14Кб, 440x445
440x445
У меня на плаче 6 диодов, все они подключены к сигналам leds. Почему мой код зажигает их через один? То есть 2, 4, 6, а 1 и 3 не горят?
Аноним 23/03/23 Чтв 00:51:36 522255 243
>>522251
>20 строка
Тебе же анон говорил
>Вообще забудь, что внутри always @(posedge ...) может быть что-то кроме clk
Ты тактируешь сдвиговый регистр по сути выходом комбинационной схемы.
Аноним 23/03/23 Чтв 08:52:42 522295 244
>>522255
>Тебе же анон говорил
А как тогда использовать делители частоты?
Аноним 23/03/23 Чтв 08:55:34 522297 245
1.png 13Кб, 432x395
432x395
>>522295
Получается, что лучше делать вот так?
Аноним 23/03/23 Чтв 09:10:25 522298 246
>>522295
>А как тогда использовать делители частоты?

В большинстве случаев, когда тебе кажется, что тебе надо always @(posedge some_nonclk_signal), то, что тебе реально надо — это always @(posedge clk) if (some_nonclk_signal).

В оставшейся части случаев тебе надо что-то вроде

reg some_nonclk_delayed;
always @(posedge clk) some_nonclk_delayed <= some_nonclk_signal;
wire some_nonclk_front_detected = some_nonclk_signal && !some_nonclk_delayed;

always @(posedge clk) if (some_nonclk_front_detected) begin ...
Аноним 25/03/23 Суб 01:09:19 522426 247
>>522297
11 строчка не нужна, по умолчанию и так 0 будет.
Буттон и tick-хуик вообще не используются.
А так с виду код рабочий.
Аноним 25/03/23 Суб 17:11:34 522476 248
Аноним 25/03/23 Суб 17:29:10 522479 249
>>522476
Посоветуешь дев плату lattice на али экспресс?
Аноним 25/03/23 Суб 19:29:14 522492 250
>>522479
Уровня двух вышеуказанных моделей? Нет.
Аноним 25/03/23 Суб 19:46:51 522495 251
>>522492
>Уровня двух вышеуказанных моделей?
Любую, на которой можно диодом помигать.
Вот это хорошая плата? https://aliexpress.ru/item/1005005307666482.html?algo_pvid=null&algo_expid=null&spm=a2g2w.productlist.search_results.0.65c1448famHu9v&sku_id=12000032572212017

Что у нее за контакты такие? Штыревых контактов вообще нет. Как ее программировать и подключать к ней периферию?
Аноним 25/03/23 Суб 20:23:50 522498 252
1.png 11Кб, 401x379
401x379
Аноним 25/03/23 Суб 21:08:06 522511 253
>>522495
В шапке плата с 25к LUT со штырями. За 1к рублей можно на алике найти. Со штырями. На гитхабе есть репозиторий с описанием и мануалом по работе с ней.
Аноним 25/03/23 Суб 21:14:05 522513 254
Есть книги по цифровой обработке сигналов на FPGA? Что почитать по этой теме?
Аноним 25/03/23 Суб 23:12:48 522525 255
image 616Кб, 923x1251
923x1251
>>522498
Держи ебать.
Только твой скрин вообще не похож на твою ссылку.
Аноним 26/03/23 Вск 13:05:56 522560 256
1.png 22Кб, 649x510
649x510
2.png 22Кб, 651x524
651x524
Почему так получилось, что после выполнения строки code <= codeword слева от присваивания стало 0x55, а справа 0x5C? Должно быть равенство.
Аноним 26/03/23 Вск 16:46:47 522585 257
1.png 23Кб, 768x529
768x529
Почему подсвечивается ворнинг?
Аноним 26/03/23 Вск 19:13:49 522610 258
>>522560
Ещё раз предлагаю тебе почитать про комбинационную логику, последовательную логику, синхронную логику.

HDL это не ещё один язык программирования, его не получится освоить, просто запомнив синтаксис.
Аноним 26/03/23 Вск 19:17:28 522611 259
>>522525
А если скормить ему сделанное им же описание (заменив "этот код описывает модуль, который" на "напиши на верилоге модуль, который"), напишет чего-нибудь?
Аноним 26/03/23 Вск 21:59:07 522638 260
image 780Кб, 880x2714
880x2714
0citbt9pqmja1.mp4 206Кб, 360x298, 00:00:04
360x298
Аноним 26/03/23 Вск 22:23:52 522641 261
>>522638
rst_s лбъявлять нужно было как wire и похоже что он генерить будет.
Аноним 27/03/23 Пнд 05:56:43 522668 262
>>522641
>и похоже что он генерить будет

Три модуля — три мигалки. "Тот, у кого из инструментов есть только счётчик с компаратором, склонен рассматривать любую проблему как деление частоты."
Аноним 27/03/23 Пнд 06:16:13 522669 263
>>522668
"Тот, у кого из инструментов есть только делитель частоты, склонен рассматривать любую проблему как мигалку светодиодом."
Аноним 30/03/23 Чтв 00:25:24 522908 264
1.png 31Кб, 551x469
551x469
Анон, как на верилоге реализуется этот переключатель с двумя положениями "вверх-вниз"? Вроде как-то при помощи элементов "и" можно его реализовать. Как вообще в целом эта схема реализуется? С регистром сдвига все понятно, но этот переключатель взрывает мне мозг.
Аноним 30/03/23 Чтв 00:44:35 522909 265
1.png 10Кб, 394x387
394x387
>>522908
Почему у меня кодер с первой картинки кодирует неправильно? Появляются иксы в последовательности: xx1xx11001001011

ВРоде сам по себе кодер я правильно реализовал, это тестбенч кривой. Что я сделал не так?

module hamming_coder_nonsystematic_tb();

logic clk;
logic reset;
logic in;
logic out;

initial begin
clk = 0;
forever #5 clk = ~clk;
end

hamming_coder_nonsystematic uut(clk, reset, in, out);

initial begin
// Тест 11111000001
// Должно кодироваться в x^14+x^13+x^12+x^10+x^6+x^4+x+1 = 11101001010011
#1 reset = 1; #10
reset = 0; #10
in = 1; #10
in = 1; #10
in = 1; #10
in = 1; #10
in = 1; #10
in = 0; #10
in = 0; #10
in = 0; #10
in = 0; #10
in = 0; #10
in = 1; #10
in = 0; #10
in = 0; #10
in = 0; #10
in = 0;
$stop;
end

always @(posedge clk)
#2 $write(out);
endmodule
Аноним 30/03/23 Чтв 00:50:56 522910 266
Аноним 30/03/23 Чтв 01:26:31 522911 267
1.png 13Кб, 375x458
375x458
Как сделать, чтобы после поступления очередного бита из сигнала in увеличивался счетчик counter на единицу?
Аноним 30/03/23 Чтв 06:10:05 522923 268
>>522908
wire result = (bit_counter > 11) ? lower_datapath : higher_datapath;

И заодно верхний переключатель, поскольку в ПЛИС нет такой функции, как "открыто", то неявно предполагаем, что переключение происходит между сигналом и нулём.

wire feedback = (counter > 11) ? higher_datapath : 0;
Аноним 30/03/23 Чтв 10:13:34 522937 269
>>522908
Я вторую схему попытался сделать https://pastebin.com/bKr67ZtH

>>522923
Что-то не вычисляются проверочные символы, в конце выводятся все нули. Где я ошибся?
Аноним 30/03/23 Чтв 10:18:06 522939 270
1.png 19Кб, 503x584
503x584
Аноним 30/03/23 Чтв 13:39:43 522958 271
>>522939
У тебя счётчик делает 16 отсчётов, хотя слово+проверочный код имеют длину 15, т.е. счётчик должен проходить значения 1-15 или 0-14, как тебе удобнее, только сравнение bit_counter > 11 поправь на bit_counter >= 11

Ещё у тебя на нулевом значении счётчика обнуляются регистры. Если при этом на входе считывается бит, то он пропадает вникуда.
Аноним 30/03/23 Чтв 13:58:44 522959 272
1.png 25Кб, 637x735
637x735
>>522958
Как-то так получается? Счет сделал 0-14.

Как вот это лучше инициализировать? Так как у меня или в блоке initial?

logic [3:0] divider = 4'b0000;
logic [3:0] buffer = 4'b0000;
logic [3:0] bit_counter = 4'b0000;
Аноним 30/03/23 Чтв 14:01:17 522960 273
1.png 29Кб, 645x738
645x738
>>522959
Точнее, вот так вот?
Аноним 30/03/23 Чтв 15:04:39 522964 274
>>522960
Смотри на симуляторе. На нём виднее.
Аноним 30/03/23 Чтв 15:12:18 522970 275
>>522959
>Как вот это лучше инициализировать? Так как у меня или в блоке initial?
Лучше резетом. Всегда полезно иметь резет для логики, которую требуется инициализировать (обычно это только часть логики, к тому же небольшая, поэтому много ресурсов не уходит).
Аноним 30/03/23 Чтв 16:31:45 522974 276
1.png 16Кб, 581x491
581x491
>>522970
А лучше делать отдельными if'ами или одним целым if-else if - else? Если подать сразу два сигнала reset и enable, может быть путаница.
Аноним 30/03/23 Чтв 18:56:54 523002 277
>>522974
Я всегда делаю только через цепочку if-else, чтобы однозначно понимать, что конкретно является результатом на данном такте. Выполняться должна только одна ветка. Сперва идут проверки условий с наиболее высоким приоритетом, потом, соответственно, в порядке уменьшения.
Аноним 30/03/23 Чтв 20:00:49 523012 278
>>523002
То есть не должно быть нескольких if-else, if-else, if-else в одном блоке always @(posedge clk)?
Аноним 30/03/23 Чтв 20:15:54 523013 279
>>523012

Я имею в виду, что если есть, например, bit_counter, то он должен описываться как-то так:

always @(posedge clk)
if (reset) bit_counter <= 0; // резет имеет максимальный приоритет и не зависит от других сигналов
else if (enable && bit_counter == MAX_VALUE) bit_counter <= 0; // если достигли максимума, обнуляемся
else if (enable) bit_counter <= bit_counter + 1; // иначе инкрементируемся

На каждом такте posedge clk выполняется только одна ветка, происходит только одно присвоение <=.
Аноним 02/04/23 Вск 03:39:59 523250 280
>>520514
Уважаемый менеджер! Вы куда делись?
Начальник уже начинает натягивать на огромный хер с узлом за тотальный срыв сроков поставки деталек под проект.

Когда выставишь счет на оплату по заявке? >>518765
СРОЧНО! План горит!
Аноним 02/04/23 Вск 18:36:53 523293 281
>>523250
Мы же уже всё обсудили, данная комплектация не имеет под собой разумного технико-экономического обоснования, да ещё и поставщики так и не найдены.
Аноним 03/04/23 Пнд 03:58:16 523334 282
>>523293
>Мы же уже всё обсудили
Когда и с кем? Менеджеру должно быть поебать что продавать, а вот насяльника - согласована пара вариантов на пробу для сравнения на практике какой из вариантов будет лучше.

>данная комплектация не имеет под собой разумного технико-экономического обоснования
См выше. Руководство согласовало, а менеджеру по продажам похуй - его задача продавать, а не лезть в залупу и заниматься консультационными услугами по теме в которой он вряд ли разбирается.

>поставщики так и не найдены
Это точно косяк менеджера по продажам.. Когда найдутся? Реально, очень надо! уже больше месяца ждем!! Проект горит!!
Как-то не очень возбуждает когда тебя чуть ли не каждый день ебут в жопу за срыв сроков. Платы уже закоксовались под толстенным слоем пыли.
Аноним 04/04/23 Втр 15:27:39 523434 283
1.png 21Кб, 520x566
520x566
Как вывести такой синусовый сигнал на динамик? В динамике только два провода, а компонентов сигнала целых 8!
Аноним 04/04/23 Втр 15:38:10 523436 284
>>523434
Дельту-сигму делай.
Аноним 04/04/23 Втр 18:33:22 523453 285
>>523434
>case на 256 вариантов

Выглядит пиздец стрёмно. Подозреваю, это синтезируется в восемь 256-входовых ЛУТов. Если вивадо догадается это синтезировать в один BRAM — моё увожение, но что-то мне подсказывает, что нет.
Аноним 05/04/23 Срд 02:50:49 523501 286
>>523434
Нужен цифро-аналоговый преобразователь, АЦП - микросхема специальная, преобразующая двоичный код в аналоговый сигнал.
Аноним 05/04/23 Срд 02:51:11 523502 287
Аноним 05/04/23 Срд 06:36:41 523514 288
>>523501
Не нужен. Точнее, не необходим. Есть дельта-сигма, есть ШИМ.
Аноним 12/04/23 Срд 20:43:23 524198 289
image.png 67Кб, 1304x936
1304x936
image.png 60Кб, 840x800
840x800
Господа, прошу помощи.
Кусок кода работает не так, как я хочу. Почему - не понимаю.
Я, условно, хочу считать 15 байт информации(120 тактов) с двунаправленной шины, присвоить это одной переменной и сравнить с тем, что мне необходимо получить.

В уме это у меня так:
buff[120] <= i2c_sdat;
buff[119] <= i2c_sdat;
...
buff[0] <= i2c_sdat;

в коде я сделал так:
buff[buff_counter] <= i2c_sdat;
buff_counter <= buff_counter - 1'd1;

это считается комбинационной петлей ? (или нет?)



buff_counter у меня стоит начальное значение 120.
На вейвформе видно, что buff начинает принимать значение на втором маркере 3,090us а не на 465us.

Кусок кода прикладываю. Если я что-то глупое написал сильно не ругайте, это моя первая поделка.
Аноним 12/04/23 Срд 22:47:44 524209 290
>>524198
>В уме это у меня так: buff[120]

Симулятор говорит, что он у тебя размер имеет только [6:0]
Но это самая меньшая проблема этого кода.
Аноним 13/04/23 Чтв 21:23:30 524287 291
>>524209
А в чем я еще ошибся ? То что код можно сократить я знаю. Я именно про перспективные ошибки.
Аноним 30/04/23 Вск 00:30:02 525630 292
У меня на плате xilinx cmod a7 диод тускло горит между нажатиями на кнопку. Почему так? Должны быть четко выделены состояния горит/погас. Когда работает дефолтная прошивка, тусклого свечения нет.
Аноним 30/04/23 Вск 02:43:54 525636 293
>>525527 →
Я давно говорю, плисоводам нужно свой профсоюз организовывать.
Аноним 30/04/23 Вск 13:42:49 525662 294
>>525636
Существует ровно 1 (один) правильный метод бойкотирования работодателя, безо всякой коммипетушиной хуйни — найм к другому работодателю. При необходимости в другом государстве. Если зарплата везде кал, а не только в богоспасаемой импортозамещающей — значит, перекат в другую профессию и перевод предыдущей в разряд хобби. Ничто другое решением не является.
Аноним 30/04/23 Вск 18:58:27 525694 295
Существует ровно 1 (один) правильный метод бойкотирования тян, безо всякой маскулистской хуйни - переход к другой тян. При необходимости в другом государстве. Если тян везде кал, а не только в богоспасаемой импортозамещающей - значит, перекат в трансы (пидоры) и перевод тян в разряд хобби. Ничто другое решением не является.
Аноним 30/04/23 Вск 19:13:15 525695 296
Чмошники, каких денег вам в России не хватает? Сижу в одном чате по FPGA, там каждый второй зарабатывает по 350к в месяц, некоторые по 500к.
Аноним 30/04/23 Вск 19:55:28 525697 297
>>525695
Все пхд по electrical engineering?
а как вкатиться?
Аноним 30/04/23 Вск 20:05:39 525699 298
>>525662
нет, они просто сговорятся не платиь больше Х.
и ты пойдешь за Х, вместо тогго чтобы работаьна ферме грузчиком. твои навыки узкие, визу в европу не получишь просто так. у тебя выбор: или работаь за Х, или идти на ферму.
Мой вариант: требовать себе з/п как у замдира. Работа у тебя важная, у тебя есть базис для таких требований. Сервер на готовых библиотеках можно научится поднимать за 6 месяуцев, а делать процессоры - хуй
Аноним 30/04/23 Вск 20:14:47 525701 299
>>525695
Дед на приеме у сексопатолога:
— Доктор, больше 3-х раз в неделю с женой не получается.
— Дед, а лет тебе сколько?
— 85.
— Дед, ну это же превосходно!
— Да? А мой сосед говорит, что с женой ежедневно, а ему 95!
— Ну так и вы говорите!
Аноним 30/04/23 Вск 22:20:09 525707 300
>>525695
>чате по FPGA
Это который FPGA-system других то нет? Там то конечно, все до последнего наносеки.
Аноним 01/05/23 Пнд 07:06:56 525720 301
>>525699
>Мой вариант: требовать себе з/п как у замдира.
А то что?

Ну ответили тебе "ваша зп на уровне рынка, поднимать её нецелесообразно (нахуй пошёл)", твои действия?
Аноним 01/05/23 Пнд 08:54:36 525722 302
>>525720
Иди нахуй, пиши всем ребятам из ПЛИС-чата чтоыб не шли к тому работдателю.
Он банкротится, я курьером подрабатываю.
Аноним 01/05/23 Пнд 11:39:42 525731 303
Почему во всех научных исследованиях с реализацией алгоритма на FPGA прикладывают только вейвформы, а код не показывают?
Аноним 01/05/23 Пнд 11:57:55 525732 304
>>525722
> Иди нахуй, пиши всем ребятам из ПЛИС-чата чтоыб не шли к тому работдателю.
Ещё немного и зумеры изобретут профсоюз.
Аноним 01/05/23 Пнд 14:33:30 525742 305
>>525731
Меня больше волнует, что российские учёные пишут свои статьи на английском. Пущай западные пидоры учут наш язык, если хотят наши технологии. Как санкции накладывать, так быстро оборачиваются.
Аноним 01/05/23 Пнд 14:56:56 525743 306
изображение.png 7Кб, 270x120
270x120
>>525742
Учёному важно публиковаться, чтобы степени не лишили ему нужно сколько-то патентов или статей писать. Вот пишут где публикуют, + засветить своё имя, чтобы в случае чего было куда завести трактор.
Аноним 01/05/23 Пнд 15:01:30 525744 307
Верилог.
Есть параметризируемый модуль.
Хочу сделать проверку параметра на допустимые значения.
Передаю значение через открытый параметр, он попадет в функцию, там проходит проверки и результат уже присваивается в localparam.
Вопрос в том, как в случае если проверки не прошли остановить синтез и по возможности выдать сообщение в консоль Кактуса?
Аноним 01/05/23 Пнд 15:24:34 525748 308
>>525742
Вот ты и пиши свои статьи на русском, если тебя это так беспокоит. Сам-то разработал хоть одну технологию?
Аноним 01/05/23 Пнд 16:09:43 525754 309
anime0.png 1051Кб, 850x1214
850x1214
>>525744
generate if (is_based(PARAM) != 1488) begin
parameter_param_is_not_based_and_probably_zashquared error();
end endgenerate

Если проверка не проходит, попытается сделать инстанс несуществующего модуля.
Аноним 01/05/23 Пнд 17:22:10 525760 310
>>525754
Да, вызов несуществующего модуля работает.

А вот как вывести сообщение в консоль?
Аноним 01/05/23 Пнд 17:40:32 525761 311
>>525754
>>525760
Сейчас попробовал как ты написал
>parameter_param_is_not_based_and_probably_zashquared error();
И это работает! Вот только я не понимаю как.
С error() работает, а без - нет. Как это понимать?
Аноним 01/05/23 Пнд 17:45:32 525763 312
>>525754
>>525761
В принципе можно написать любую несуществующую функцию и будет синтезить. Но почему с функцией он не ругается на не объявленную переменную, а без уже не хочет синтезить?
Аноним 01/05/23 Пнд 17:56:10 525765 313
anime13.jpg 127Кб, 868x1228
868x1228
>>525760
>А вот как вывести сообщение в консоль?
Ошибка содержит имя несуществующего модуля, если сделать его информативным (как у меня в примере), сообщение об ошибке будет информативным.

>>525761
>С error() работает, а без - нет. Как это понимать?
Потому что когда ты объявляешь инстанс, ты сначала пишешь имя модуля, а затем имя инстанса (и список соединений в скобках). Это синтаксис верилога. Синтаксис должен быть корректным, чтобы линтер не считал тебя петухом.

>>525763
О какой переменной речь? ЯННП. Вставляй код для наглядности.
Аноним 01/05/23 Пнд 18:06:04 525767 314
>>525760
>вызов несуществующего модуля
Кстати, чел, модули не вызывают.
Аноним 01/05/23 Пнд 18:15:11 525768 315
>>525765
А всё, я понял что ты сделал.
Ты просто экземпляр модуля назвал error. А ведь ещё есть системная функция $error(), вот я и подумал что ты функцию вызываешь, и в этом случае перед ней имя несуществующей переменной стоит.

>>525767
Да я знаю, я по привычке с сишником.
Аноним 02/05/23 Втр 09:16:32 525820 316
Мне гугл по "verilog static assert" нашел упоминание того что в SystemVerilog есть $assert(). Может это вам нужно?
Но сам я sv не знаю и не касался.
Аноним 02/05/23 Втр 10:42:39 525823 317
anime1.jpg 227Кб, 1000x1000
1000x1000
>>525820
Это для симуляции. При синтезе они тупо игнорируются. По крайней мере, так было, когда я искал способ валидации параметров во время синтеза.
Аноним 03/05/23 Срд 15:34:33 525930 318
Анон, посоветуй рабочее IP-ядро, не очень тяжëлое (до 6000 элементов) и чтобы под него был компилятор (ебал я писать потом на асме). Плату буду использовать альтеровскую. Тот же Amber ARM, например, мне не пойдëт, потому что лутов там 10К.
Аноним 03/05/23 Срд 18:30:35 525938 319
>>525930
Стандартный Ниос?
Аноним 04/05/23 Чтв 09:02:41 525965 320
>>525938
А он как по числу лутов?
Аноним 04/05/23 Чтв 10:18:18 525971 321
Аноним 04/05/23 Чтв 11:57:16 525972 322
>>525965
Зависит от комплектации, но у меня оно в текущей поделке занимает 3500 LE вместе с uart и i2c.

>>525971
Я не он, но все это хуже ниоса тем, что для ниоса большую часть всего необходимого можно натыкать мышкой в квартусе, uart там, i2c и прочую ерунду. Все готовое уже. А тут придется состыковывать самостоятельно, адреса назначать опять же вручную и прочее.

PicoRV32 смущает тем что автор чулочный пидор.
Аноним 04/05/23 Чтв 13:05:28 525973 323
я бы тоже не стал пользоваться библиотекой от пидора
к: ИСТИНА, двачую капчу
Аноним 04/05/23 Чтв 13:50:59 525981 324
>>525973
Я против пидоров ничего не имею, если не выделяются и к окружающим не пристают. Но этот трансвеститом заделался или вовсе даже женские гормоны начал упарывать. И в твиттере своем срет пидорством. Причем количество коммитов от него резко упало как раз когда он по пидорской теме кукухой поехал. А ещё, если я правильно помню, он был чуть ли не основным разработчиком yosis.
Аноним 04/05/23 Чтв 13:51:42 525982 325
>>525973
Кстати, разгадывая капчу ты проходишь тест Тьюринга, а Тьюринг был пидр, поэтому не забудь купить пасскод.
Аноним 04/05/23 Чтв 14:06:19 525983 326
>>525981
Мда, сложный выбор — софт-процессор от чувака, который(ая) помимо этого запилил(а) единственную в своём роде открытую систему логического синтеза, или от какого-нибудь унылого гетераста.
Аноним 04/05/23 Чтв 14:13:43 525984 327
>>525983
Нет никакого выбора. Ниос элементарно намного быстрее воткнуть в проект, к тому же отладка будет работать.

>запилил(а)
Это в прошлом, теперь оно ничего не пилит, только здоровье разрушает гормонами.
Аноним 04/05/23 Чтв 19:11:07 526006 328
Аноним 04/05/23 Чтв 23:25:11 526027 329
>>526006
Мог бы и сам найти, через репозиторий PicoRV32 на гитхабе.
Собственно его гитхаб было https://github.com/cliffordwolf а стало https://github.com/clairexen там же найдешь ссылки на твиттер.

Ничего такого, таких чулочных множество, в этом он ничем не выделяется. А выделился этот тип в разработке yosis, в своем роде уникальный проект. Только сейчас от него коммиты можно считать что отсутствуют, видно трапование не особо совместимо с серьезной мозговой деятельностью.
Аноним 04/05/23 Чтв 23:37:32 526028 330
>>526027
>видно трапование не особо совместимо с серьезной мозговой деятельностью
Чувак осознал свое пидорство, принял себя и стал счастлив от ебли в очко. Программирование для него было лишь средство ухода от психологических проблем.
Аноним 06/05/23 Суб 02:08:16 526095 331
Чекнул тут скиллы GPT-4 в верилоге:

"Напиши мне на языке Verilog модуль дешифратора с 8-разрядным входом"

"Вот пример 8-разрядного дешифратора на языке Verilog:

```verilog
module decoder_8to256 (
input wire [7:0] address,
output wire [255:0] out
);

generate
genvar i;
for (i = 0; i < 256; i = i + 1) begin : generate_outputs
assign out = (address == 8'd{i}) ? 1'b1 : 1'b0;
end
endgenerate

endmodule
```

В данном примере используется структура generate, чтобы проходить по всем возможным адресам на 8-разрядном входе (256 различных значений). Цикл for генерирует 256 отдельных выходных проводников (out[0] до out[255]), которые устанавливаются в 1, только если текущее значение `address` соответствует значению в итерации цикла. В противном случае выход остается равным 0."

Кажется, анон, мы пока в безопасности
Аноним 06/05/23 Суб 23:26:21 526194 332
>>526095
Ну не так сильно и ошибся кста.
Аноним 07/05/23 Вск 19:20:36 526252 333
>>526194
В этом "не так сильно" — ключевое отличие между кодом, который выглядит как настоящий, и кодом, который делает то, что надо.
Аноним 07/05/23 Вск 21:00:26 526266 334
>>526252
Тому что он ошибается в мелочах сильно радоваться не надо, это всего лишь дело времени.
Тут дело в другом. Все боятся что нейронки заменят прогеров - не заменят никогда. Да, скоро их обучат до такой степени, что они смогут писать сложные алгоритмы. Вот только нейронка - не телепат, она не знает что ты хочешь. И чтобы она смогла сделать всё правильно этот сложный алгоритм для неё придётся расписать словами во всех подробностях, а это сложнее чем просто взять и закодить его напрямую.
Так что да, мы можем спать спокойно.
Аноним 10/05/23 Срд 17:54:57 526490 335
Пытаюсь запустить софт процессор PicoRV32 https://github.com/YosysHQ/picorv32 в квартусе, потом - на плате. Вообще не понимаю, как тут действовать. Ок, подключил к проекту файл picorv32.v. В модуле picorv32 пинов дохера, это всякие внутренние интерфейсы типа памяти, их явно надо подключать. Рисовать надо, что ли? Ладно, создаю bdf, из picorv32.v создаю символ и помещаю. Куда подключать - нашлось только у какого-то самодельного интерфейса PCPI, дополнительный символ есть, а остальную хуеву гору подключать некуда. Что с ними делать?
А где ввод-вывод? На гите также лежала папка picosoc, вроде как это СнК. Хорошо, добавляем и символы оттуда. А это всë хозяйство как подключать к ядру?
Что, блять, вообще происходит? Где вообще объясняется, как что и к чему подключать? Анон, я, видимо, чего-то не знаю, но я даже не знаю, где копать.
Аноним 11/05/23 Чтв 07:47:45 526549 336
>>526490
>PicoRV32
Пидорская поделка.
>Вообще не понимаю, как тут действовать.
Тогда зачем хватаешься?

>это всякие внутренние интерфейсы типа памяти, их явно надо подключать.
Там на все это есть описание о том что это и для чего нужно. Так вот нужен только интерфейс памяти, тактовый сигнал и сброс. Прерывания ещё могут понадобиться. Остальное подключать не нужно, это понятно из описания. Look-Ahead Interface это всего лишь показывает что будет на шине памяти на следующий такт через комбинационную логику, разумеется оно не нужно. PCPI тем более не нужно. Все, там больше ничего нет.

>Рисовать надо, что ли? Ладно, создаю bdf
Рисовать то зачем? Код проще и нагляднее чем это. Впрочем, как хочешь, так тоже можно.

>На гите также лежала папка picosoc, вроде как это СнК.
Так там же оно из spi берет код. Нафиг оно такое тебе нужно, когда в плисине есть блочная память? Это просто бред будет воткнуть в fpga этот сок, а потом использовать под ОЗУ блочную память.

>А где ввод-вывод?
Сам делаешь. Как иначе? Ведь всем эта обвязка разная нужна. Если только светодиодом поминать, то это просто нужно сделать сравнение адреса на шине и регистр.

Вроде все просто. Какие ещё вопросы остались?
Аноним 11/05/23 Чтв 07:51:21 526550 337
Аноним 11/05/23 Чтв 08:02:25 526552 338
>>526490
>А где ввод-вывод?
Где он уже написал. Дополню только что именно поэтому для дела стоит брать ниос. Или микроблейз, LatticeMico32, вобщем то что уже в ide приготовлено.
Аноним 11/05/23 Чтв 09:33:56 526556 339
>>526552
Я нагуглил, что Ниос из-за демки будет отрубаться, если плис работает без JTAG. Купить ядро у Майкрософт сейчас, очевидно, не получится, но и как крякнуть я тоже не понял. Я не увидел подтверждения, что в Prime Edition этого ограничения не будет.
>>526549
>Тогда зачем хватаешься?
Чтобы понять.
Ладно, попробую сам прикрутить к интерфейсу памяти какую-нибудь периферию. Спасибо за пояснения, стало понятнее.
>>526550
Да, он
Аноним 11/05/23 Чтв 11:17:57 526562 340
>>526556
Ты все перепутал.
>Ниос из-за демки будет отрубаться
Не будет. Есть два варианта ниоса.
Nios II/e - бесплатный, будет работать с бесплатным квартусом без ограничений.
Nios II/f - требует денег. Пожирнее немного, есть MMU, чтобы полноценно линуксы гонять там.

>Майкрософт
Интел.

>но и как крякнуть я тоже не понял.
Оно конечно тебе не нужно, но крякается оно элементарно. В одной длл-ке (со-шке для линукса) подправить несколько байт и подсунуть файл лицензии.
Я так делал:
gdb libsys_cpt.so
info address l_pubkey_verify
И оно напишет позицию по которой нужно править байтики. Далее правим что нужно (то есть вставляем инструкции xor eax, eax; ret):
sudo printf "\x33\xc0\xc3" | sudo dd conv=trunc of=libsys_cpt.so bs=1 seek=$((0xcef80))
0xcef80 - подставить позицию в файле которую ранее узнали, это значение для версии 21.1.0.842.
Далее берём файл лицензии с рутрекера, от любой версии (тут только не все IP могут быть прописаны, но в целом все будет работать) и далее по инструкции оттуда же, меняем в файле лицензии мак адрес сетевухи и так далее.

Поэтому ещё раз советую ниос, бесплатный вариант.
Аноним 11/05/23 Чтв 11:25:44 526563 341
>>526562
>Интел
Проорал с себя. Видимо, не проснулся.
>Nios II/e - бесплатный, будет работать с бесплатным квартусом без ограничений.
Тогда его сперва и заюзаю. Потом, науки ради, разберусь и с picorv. Благодарю, анон!
Аноним 11/05/23 Чтв 11:42:04 526565 342
>>526562
>sudo printf
проорал с мамкиного убунтовода
Аноним 11/05/23 Чтв 11:47:12 526566 343
>>526563
Забыл упомянуть что в Nios II/e аппаратного умножения нет. Это довольно существенно.

>разберусь и с picorv.
Осторожнее, оно пидорское.
Аноним 11/05/23 Чтв 11:48:37 526567 344
>>526565
Ну лишнее вставил, ничего страшного не произойдет. Ещё бы к орфографии придирался.
Аноним 12/05/23 Птн 22:11:57 526694 345
Нужен модуль, в который параллельно приходят 12 16-битных чисел. Как это адекватно описать в верилоге? Не input x0 [15:0], input x1[15:0]... и т.д. же.
Аноним 12/05/23 Птн 22:38:24 526695 346
>>526694
>Не input x0 [15:0], input x1[15:0]... и т.д. же.
А почему нет? Другой вариант это х[191:0]. Все, больше способов вроде как нет. Либо бери системверилог.
Аноним 13/05/23 Суб 01:09:39 526700 347
Аноним 13/05/23 Суб 06:08:21 526709 348
>>526700
Такое в верилоге не работает. За этим нужно системверилог брать.
Аноним 13/05/23 Суб 18:40:03 526740 349
Аноним 15/05/23 Пнд 15:06:10 526844 350
>>526740
Привыкай. ¯\_(ツ)_/¯ Тут тебе не хипстерские язычки для зумеров.
Аноним 18/05/23 Чтв 07:51:22 527005 351
Господа ПЛИСоводы, такой вопрос.
Мне необходимо написать модуль на языке VERILOG, на вход которого идёт поток видеоданных(пусть будет 8 бит) и сигналы вертикальной и горизонтальной синхронизации. На выход идёт поток видеоданных из размерностью в 16 бит(два одинаковых пикселя).
Необходимо увеличить разрешение входного изображения в два раза, без всяких интерполяций. То есть каждый пиксель увеличить в два раза, тем самым мы получаем, что каждый входной пиксель становится выходным пикселем размером 2 на 2 пикселя.

С увеличением разрешения по горизонтали абсолютно никаких проблем, но если увеличивать разрешение по вертикали, необходимо дублировать строки. Я пытался запоминать в BRAM и дублировать их из памяти, но тогда потребуется что-то около трёх килобайт, при условии, что исходное разрешение у нас 640 на 480 пикселей с глубиной в 8 бит. А я работаю с гораздо большим разрешением и глубиной цвета, так что не могу позволить себе такие затраты по памяти.

Подскажите как это можно реализовать? Было бы приятно, если бы кто-то набросал черновые варианты кода
Аноним 18/05/23 Чтв 09:05:47 527012 352
>>526695
Можно же сделать reg [15:0] x [11:0], будет у тебя шина из шин и просто по адресу обращаешься к нужной. Как двойной массив
Аноним 18/05/23 Чтв 10:34:16 527021 353
>>527012
Не прокатит в качестве порта модуля.

>>527005
Никак. Если требуется повторять строку — её требуется где-то хранить. Но откуда 3кБ? 640 столбцов по 8б — это 640Б (надеюсь, очевидно, что удваивать строки надо до того, как удваивать столбцы).

>Было бы приятно, если бы кто-то набросал черновые варианты кода
$500
раздайте пожалуйста Аноним 03/06/23 Суб 16:29:51 528544 354
Аноним 03/06/23 Суб 18:07:28 528561 355
Аноним 03/06/23 Суб 20:36:48 528562 356
>>527021
так пока одна строка передается два раза уже надо куда-то записывать следующую, поетому как минимум 640х2
Аноним 04/06/23 Вск 02:14:47 528590 357
>>528562
В случае конкретно удвоения есть варик. Поскольку вычитывание идёт вдвое быстрее, чем запись, то при приходе новой строки нужно быстро начать вычитывать старую, параллельно записывая новую. Когда старая строка будет вычитана, новая запишется наполовину. После этого надо начать вычитывать новую с тем расчётом, что когда вычитывание дойдёт до конца, вторая половина уже будет полностью записана в память.

У этой схемы есть проблема в начале кадра ("старые" данные — это то, что осталось с прошлого кадра), поэтому самую первую строку получится передать только один раз ну и для сохранения размера последнюю строку придётся повторить дважды.
Аноним 04/06/23 Вск 08:00:45 528601 358
>>528590
Тебе новую надо будет вычитывать повторно, когда середина старой наступит
Аноним 04/06/23 Вск 11:55:07 528620 359
>>528601
Янипонел, разверни мысль плес.
Аноним 05/06/23 Пнд 07:03:37 528704 360
>>528620
Да не, всё норм ты написал, просто надо будет начало кадра сместить на 1 строку. Так задержка даже меньше чем если хранить честный второй буфер
Аноним 06/06/23 Втр 07:08:26 528803 361
Пацаны! Подскажите наименее глючную и самую быструю версию ise, блевады-вивады под некрофильский 4й Virtex LX.
Аноним 06/06/23 Втр 11:15:02 528813 362
Аноним 07/06/23 Срд 09:21:18 528895 363
>>528813
Спасибо! Правда пришлось искать свежую лицензию.
Аноним 07/06/23 Срд 10:08:51 528898 364
FPGA-фаги!
Как можно максимально бюджетно потестировать Zynq-7000?
Конкретно XC7Z030/
Аноним 07/06/23 Срд 11:30:36 528912 365
Аноним 07/06/23 Срд 11:38:33 528913 366
>>528912
Я неверно выразился. У меня их сотня из разных источников, нужно все проверить
Аноним 07/06/23 Срд 11:44:23 528915 367
>>528913
посадить студента, который за зачёт будет заливать на все чипы BIST или твою программу.
Аноним 07/06/23 Срд 11:49:43 528916 368
>>528915
железа нет
нужен бюджетный вариант именно железа
Аноним 07/06/23 Срд 12:15:06 528919 369
Аноним 07/06/23 Срд 12:52:36 528923 370
>>528919
ок, что мне нужно купить на Али, чтобы подключать к компу и тестить ебучие СнК?
Аноним 07/06/23 Срд 13:04:33 528925 371
dlc10.jpg 211Кб, 1600x1199
1600x1199
jtag hs3.jpg 35Кб, 500x375
500x375
Аноним 07/06/23 Срд 13:08:31 528927 372
>>528925
Мне очень нравится твой вариант.
Однако, разве он не требует наличия контактной панели?
Аноним 07/06/23 Срд 13:25:14 528929 373
>>528927
второй вариант требует JTAG коннектора, с первым вариантом можно подпаяться напрямую к пинам.
Аноним 07/06/23 Срд 13:30:04 528931 374
>>528929
там шарики(
не мог бы ты поделиться ссылкой?
Аноним 07/06/23 Срд 13:34:15 528933 375
XC7Z015.png 224Кб, 500x521
500x521
>>528931
на твоих платах нет JTAG контактов?
Аноним 07/06/23 Срд 14:24:47 528950 376
>>528933
у меня нет плат, голые SoC
Аноним 07/06/23 Срд 14:36:21 528953 377
>>528950
пиздец. ну тогда купи одну плату и перепаивай чипы на неё.
Аноним 07/06/23 Срд 14:46:33 528954 378
>>528953
паять нельзя - потом плохо припаяются в изделии
Аноним 07/06/23 Срд 15:02:24 528955 379
1 bottle bga re[...].jpg 45Кб, 720x720
720x720
>>528954
купи 1 девелопмент боард, выпаяй из неё чип, на его место наложи свежих шариков, и все последующие чипы просто прижимай, а не припаивай.
Аноним 07/06/23 Срд 19:40:15 528988 380
>>528955
>>528954
Где-то видел панельки специальные под это дело есть.
Аноним 07/06/23 Срд 22:45:10 529014 381
image.png 140Кб, 938x536
938x536
Аноним 07/06/23 Срд 23:05:58 529017 382
Аноним 08/06/23 Чтв 06:00:03 529031 383
>>529017
тред зажил своей жизнью)
Спасибо за ответы.
Аноним 08/06/23 Чтв 10:14:08 529054 384
>>528544
спасибо анону из Тулы, скачал.
Аноним 08/06/23 Чтв 10:26:32 529056 385
>>529017
Эти штуки никогда дешевыми не были, под qfn8 около сотки бачей стоит, впринципи тут масштаб соответствующий
Аноним 08/06/23 Чтв 12:50:46 529060 386
>>529056
комплект под 30корпусов - 30$ на Али
Аноним 08/06/23 Чтв 15:06:27 529066 387
Аноним 09/06/23 Птн 07:11:52 529132 388
Аноним 09/06/23 Птн 13:20:27 529176 389
>>529132
по ссылке программатор флеш чипов, а не корпуса для BGA
Аноним 09/06/23 Птн 17:36:59 529195 390
>>529014
Ну да, оно все дорогое. Панельки под большие tqfp и то дорогие.
Однако при этом сокеты для интеловских процессоров в материнках относительно дешёвые. Стоит сравнить шаг выводов, может получится процессорные приспособить.
Аноним 09/06/23 Птн 20:01:01 529202 391
>>529195
так то массовый продукт,
Аноним 12/06/23 Пнд 12:33:44 529346 392
image1.png 94Кб, 1056x518
1056x518
image2.png 44Кб, 1019x493
1019x493
>>528813
Подскажешь как читать даташиты на хиленьких?
Смотрел UG070 + UG075 не вкурил про PLL. Как они правильно называются и главное - где у них физические входы-выходы?
У альтеры в даташите явно рисуется - вот входы (выводы с именем CLK) и выход можно выводить наружу (выводы с именем PLL_OUT).
Как найти выводы у хиленьких куда подавать тактовый сигнал? Выводы с GC в названии?
Как найти выводы у хиленьких откуда можно брать(выдавать) выходную частоту с ФАПчи наружу и фапать на нее?
Аноним 26/06/23 Пнд 19:23:30 530438 393
На плисе можно спроектировать свою архитектуру, необязательно проектировать свою ИС?
Аноним 27/06/23 Втр 03:09:17 530452 394
Аноним 27/06/23 Втр 03:36:39 530453 395
>>530452
Подскажи, если сделать цп на плисе и ос на нем попытаться запустить, роль гп для вывода видео кто будет исполнять или гп нужно отдельно проектировать?
Аноним 27/06/23 Втр 06:02:49 530461 396
>>530438
>>530453
Что-то ты странное пишешь. Советую сначала нормально вопрос задать.
>спроектировать свою архитектуру
Что это значит? Что ты называешь архитектурой? Дело в том что этим словом можно назвать всякое, даже если только применительно к цифровым устройствам.

>роль гп для вывода видео кто будет исполнять или гп нужно отдельно проектировать?
Опять что-то непонятное. ца и гп какое-то. И совершенно непонятно откуда зачем и почему вывод видео приплел.
Расшифруй пожалуйста что ты имел в виду и зачем тебе все это.
Аноним 27/06/23 Втр 18:39:39 530482 397
>>530453
>если сделать цп
Подумой, цопэ лучше не делать, посадить могут.

>роль гп для вывода видео кто будет исполнять
Чужой дядя, блять, придёт и исполнит! Кто ж ещё то?! - устройство. Где ты его возьмёшь думай сам, также на плисине бахнешь или какое-то готовое возьмёшь.
Аноним 27/06/23 Втр 18:40:06 530483 398
чего.mp4 112Кб, 640x360, 00:00:01
640x360
>>530438
>На плисе можно спроектировать свою архитектуру, необязательно проектировать свою ИС?
Аноним 28/06/23 Срд 06:18:35 530511 399
Аноним 28/06/23 Срд 07:19:37 530512 400
>>530511
Хреново ты расшифровал.
>https://en.wikipedia.org/wiki/Processor_design
Слово "design" вряд ли переводится как архитектура, чаще по смыслу это "разработка". И когда кто-то пишет допустим про архитектуру х86, то это явно не про схему, а про ISA, которое к схеме непосредственно никаким боком.
>https://en.wikipedia.org/wiki/Central_processing_unit
Про цэпэ тебе уже писали. Осторожнее, за цп статья есть в УК, за это сажают.
>https://en.wikipedia.org/wiki/Graphics_processing_unit
А это, как написано по твоей ссылке, для ускорения обсчета графики. Для задачи "просто вывести картинку" оно никаким боком.

>Спроектировать свой процессор на fpga.
Еслина гитхабе лежат тысячи их, то логично предположить что это возможно.
И при создании всякой фигни на fpga их используют повсеместно. Например, делаем мы цифровой радиоприемник с дисплейчиком и крутилками. Так вот основная обработка сигналов разумеется будет не на процессоре, а зато обработку всяких кнопочек и вывод на дисплей удобно делать на процессоре.

Однако вряд ли ты справишься с такой задачей, хотя бы потому что без внятного ТЗ - результат ХЗ.
Аноним 28/06/23 Срд 10:45:22 530522 401
Аноним 28/06/23 Срд 18:36:59 530536 402
>>530522
>>529346
Не знаю, xilinx почти не касался, да и тогда это были готовые девборды, и то крайний раз это был artix-7. Однако гугл мне пишет:
>GC pin has dedicated routing to global resources (BUFGMUX, DCM, PLL) and the CC pin has dedicated routing to local resources (BUFR, BUFIO).
Я бы в этом направлении читал документацию. Хотя может ты это уже видел.
Аноним 29/06/23 Чтв 00:08:07 530562 403
Кто-нибудь работал с софтовым процом от хилых? Есть вопросы.
Аноним 29/06/23 Чтв 06:59:40 530564 404
>>530562
>Кто-нибудь работал с софтовым процом от хилых?
Да.

>Есть вопросы.
Ты уже потратил свою возможность задать вопрос.
Аноним 29/06/23 Чтв 20:22:09 530595 405
>>530564
>Ты уже потратил свою возможность задать вопрос.
Очень смешно.

В общем суть в чём. Стою сейчас на распутье. Или всю логику мутить на конечных автоматах, что для меня хорошо знакомо и проблем не составляет, просто объём работ большой.
Или же бахнуть софтовый проц. Но опыта нет совсем и отсюда возникают вопросы.
В какой среде пишется код? Знаю у альтеры там какой-то эклипс. Что тут?
Каким образом и куда прошивается прошивка? Предполагаю, что во флешку рядом с проектом. Но как потом из флешки прошивка перемещается в плис? Процессор не прямо же из флешки исполняет программу, или да?
Есть ли отладчик, чтобы можно было ходить по программе по шагам и смотреть содержимое регистров?
Аноним 29/06/23 Чтв 20:54:55 530596 406
>>530595
Я не он, но отвечу, хотя почти не касался xilinx. По моему тебе стоит уточнить вивада или ise у тебя, а то мало ли.
>В какой среде пишется код?
Эклипс там.
>Знаю у альтеры там какой-то эклипс.
Хотя там и идёт эклипс в комплекте, но зато генератор мейкфайлов можно использовать из командной строки без эклипса, поэтому код удобно писать в чем угодно. Собственно я так и делал, без кривых и тормозных эклипсов.

>Каким образом и куда прошивается прошивка?
А откуда может выполняться программа? Очевидно в первую очередь из блочной памяти, которую очевидно можно инициализировать как обычно (т е. без процессора).
>во флешку рядом с проектом.
А это если программа будет выполняться из внешней памяти (ОЗУ). При этом в блочной памяти должен быть бутлоадер. Но это явно не твой случай.

>Есть ли отладчик
Да, он у всех есть.
Аноним 29/06/23 Чтв 22:36:44 530603 407
>>530595
Прошивка запекается внутрь битстрима, при загрузке плисины (из флешки или по жтагу) кладётся в предназначенный для неё блок BRAM, и процессор начинает её оттуда выполнять. Это в самом простом случае, когда программа целиком помещается в то количество BRAM, которое ты готов ей выделить.

Пошаговая отладка есть, но при работе с эмбеддедом показала себя максимально бесполезно (пока ты во время брейкпоинта втыкаешь в переменные, проебались все сигналы, запросы, ответы, прерывания, вочдоги и т.д.), так что готовься поднимать UART и отлаживать printf'ами, как диды. В Vitis есть специальный xil_printf, который хватает первый найденный на шине процессора UART и пишет туда. На компе понадобится адаптер USB-UART (бывают JTAG-программаторы, куда он встроен, и бывают отладочные платы, куда он встроен вместе с JTAG).
Аноним 30/06/23 Птн 03:40:26 530623 408
>>530603
>>530596
>уточнить вивада или ise
ise

>Хотя там и идёт эклипс в комплекте
Это ты про хилых?

>из блочной памяти, которую очевидно можно инициализировать как обычно (т е. без процессора)
>Прошивка запекается внутрь битстрима, при загрузке плисины (из флешки или по жтагу) кладётся в предназначенный для неё блок BRAM
Т.е. заранее засунуть туда инициализирующий файл, по типу .mif как у альтеры?
Ну тогда как писать ПО, по каждому пуку в коде придётся перекомпилить весь проект? А это мягко говоря не быстро. Или тут на помощь должна придти инкрементальная компиляция?
Помню у альтеры была возможность с помощью внутрисхемной отладки прямо на работающем проекте залить в ОЗУ файл с компа через житаг. Тут такое есть?

>>530603
>Пошаговая отладка есть, но при работе с эмбеддедом показала себя максимально бесполезно (пока ты во время брейкпоинта втыкаешь в переменные, проебались все сигналы, запросы, ответы, прерывания, вочдоги и т.д.),
Ну это стандартная проблема для связки ПЛИС - процессор, к этому можно привыкнуть.

>эмбеддедом
Это ещё что?
Аноним 30/06/23 Птн 04:24:58 530624 409
>>530623
И ещё.
Если пошаговая отладка через жытаг таки есть, то за счёт чего она работает? Это же процессор должен иметь доступ к соответстующим ногам плис? А доступа из проекта, на сколько я знаю, к ним нет.
Аноним 30/06/23 Птн 05:24:47 530626 410
>>530453
Если поместится, то можно и на плисине. Но по вместительности элементов плисина это 0.0001% от проца современного уровня, так что не разгуляешься
Аноним 30/06/23 Птн 05:29:53 530627 411
>>530623
>Т.е. заранее засунуть туда инициализирующий файл
Нет, когда собирается конфигурация ПЛИС, память оставляется пустой. Потом битстрим передаётся в SDK, а SDK знает, где надо подправить битстрим, чтобы память была проинициализирована прошивкой.

>Это ещё что?
"Встраиваемая система". Подход, когда вычислитель общего назначения (процессор) встраивается внутрь устройства, где навсегда получает специализированный набор задач по обеспечению работы этого устройства.

>Если пошаговая отладка через жытаг таки есть, то за счёт чего она работает?
Подключается к тому же жтагу, который используется для программирвания. В настройках процессора галочкой включается отладочный интерфейс, инструменты сами знают, куда что подключить, чтобы процессор обнаруживался по жтагу, и SDK мог его там найти.
Аноним 30/06/23 Птн 07:16:52 530629 412
>>530627
>память оставляется пустой.
Вовсе не обязательно, можно и сразу с прошивкой собирать.

>>530623
>Это ты про хилых?
Это я про альтеру. Я с ней без всяких эклипсов обхожусь.

>залить в ОЗУ файл с компа через житаг. Тут такое есть?
Да, это возможно везде (или почти везде) где отладка работает. Это нормальный вариант, в большинстве случаев ничуть не хуже обновления данных блочной памяти в битстриме, как анон выше предлагает.

>Или тут на помощь должна придти инкрементальная компиляция?
Анон выше уже написал. Только это к инкрементальной компиляции не имеет отношения.

В любом случае на любой плисине для любого софт-процессора в большинстве случаев программа (или хотя бы бутлоадер) будет в блочной памяти, которая инициализируется самым обычным способом.
Аноним 30/06/23 Птн 08:25:46 530631 413
>>530629
Чел, ты, мне кажется, не очень помогаешь. Анон ни разу в жизни микроблейз и ниос, видимо, тоже не трогал, а ты ему рассказываешь, что прошивку можно вставлять пересборкой битстрима, компилировать написанием мейкфайлов в виме, а обновлять редактированием памяти в режиме отладки. Ну это же явно не та инфа, которая ему нужна.
Аноним 30/06/23 Птн 09:00:18 530632 414
>>530631
>обновлять редактированием памяти в режиме отладки.
Уже не помню как у xilinx, но у альтеры-интела это одной кнопкой в эклипсе делается.

>написанием мейкфайлов
Это я не советовал, а только написал что оно там есть. И не надо их самому писать, оно генерится само, в том числе при создании проекта в эклипсе.
>в виме
Это тем более мимо, никому такое не посоветую.
Аноним 30/06/23 Птн 16:32:47 530646 415
посоны, поясните по хардкору про микроблейзы и ниосы, на каком процессоре проще запустить линукс и поиграть в дум?
Аноним 30/06/23 Птн 20:30:20 530653 416
Аноним 01/07/23 Суб 16:05:19 530680 417
Возможно платиновый вопрос, но какие у вас прикладные задачи под фпга? Личрали не могу придумать, для чего вам не хватит какой-нибудь ардуины.
Аноним 01/07/23 Суб 17:01:32 530683 418
>>530680
моргать светодиодом в 300000 раз быстрее, чем на ардуине.
Аноним 01/07/23 Суб 18:17:52 530688 419
>>530680
>какие у вас прикладные задачи под фпга?
Процессоры делают наверное. Мне попадалась статья на петухабре, про видеоконтроллер на фпга для старых матриц. У меня валяется такая матрица от допотопной Тошибы, но используемая в статье девборда, стоила под 150к и у меня к хуям всё обвисло.
Аноним 01/07/23 Суб 18:22:51 530690 420
>>530688
Ну вот я тоже слышал про лоулатенси видеообработку на фпга, но это ж явно околопромышленная задача, это уже не уровень бытовых свистоперделок.
Аноним 01/07/23 Суб 18:28:40 530695 421
>>530690
Дохуя чего можно делать. Всякие цифровые фильтры и прочий DSP
Аноним 01/07/23 Суб 18:38:59 530698 422
>>530695
Да я догадываюсь, что если бы не было задач, то и не было бы этой темы. Но вот конкретно можешь назвать, зачем тебе заниматься фпга как хобби?
Аноним 01/07/23 Суб 18:50:33 530705 423
>>530698
>зачем тебе
Да я и не занимаюсь. Хотел замутить частотомер на альтеровском чипе, да чот остоебало разбираться в етом квактусе и я забил. Купил осциллограф, он и частоту показывает.
Аноним 01/07/23 Суб 19:24:11 530709 424
>>530680
>Личрали не могу придумать, для чего вам не хватит какой-нибудь ардуины.
DDC приемник например. Или видеокамеру сделать. Да множество вариантов.

>>530688
>Процессоры делают наверное.
Это только для обучения нормально, для практических задач это ни к чему.

>>530705
>Хотел замутить частотомер на альтеровском чипе
Но зачем? Микроконтроллера же хватит.
Аноним 01/07/23 Суб 19:58:01 530710 425
>>530688
На алике есть борды с fpga + stm32 , 15к стоит
Аноним 01/07/23 Суб 21:57:16 530713 426
>>530710
Что толку с твоего ссаного стм32, если он сравним с софт-процессором? Более того, плату с цинком от майнера можно за 3 тыс. рублей купить, куда там какому-то стм32.
Аноним 02/07/23 Вск 15:15:29 530758 427
Аноним 02/07/23 Вск 18:56:41 530764 428
>>530627
>SDK
Ещё один незнакомый термин.

>Подключается к тому же жтагу, который используется для программирвания.
Хорошо если так.

>>530629
>Только это к инкрементальной компиляции не имеет отношения.
А почему через инкрементальную компиляцию этот вопрос нельзя решить?
Аноним 02/07/23 Вск 19:12:49 530766 429
>>530764
>Ещё один незнакомый термин.
Это уже даже не сленг. Может, для разнообразия пропробуешь спросить у гугла?
Аноним 03/07/23 Пнд 07:41:47 530803 430
>>530764
>А почему через инкрементальную компиляцию этот вопрос нельзя решить?
Надеюсь ты не путаешь это с инкрементальным синтезом? Сама по себе инкрементальная компиляция не особо что ускорит. А так есть способ в битстриме почти мгновенно заменить начальные значения для блочной памяти. В квартусе такое тоже есть.
Но по моему для отладки обычно удобнее по jtag в процессор заливать.
Аноним 03/07/23 Пнд 11:54:08 530830 431
>>530764
> > SDK
> Ещё один незнакомый термин.

пчел ти вобще с кокой плонеты
Аноним 05/07/23 Срд 02:57:25 530955 432
Безымянный1.png 91Кб, 1128x827
1128x827
>>530830
>пчел ти вобще с кокой плонеты
>>530766
>Это уже даже не сленг
Эти ваши буржуазные термины не использую. Сказали бы "САПР" сразу стало бы понятно.

>>530803
>Надеюсь ты не путаешь это с инкрементальным синтезом?
В данном контексте не вижу разницы. Инкрементальная компиляция позволяет откомпилировать только ту часть проекта где произошли изменения, что ускоряет сам процесс. И если изменения только в содержимом ОЗУ то перекомпиляция будет почти моментальной, ну или должна быть.


В общем набросал тестовый проектик, даже сумел запустить эклипс методом тыка.
На пике корка процессора. Вопросы пока такие:
1. GPO/GPI это порты ввода вывода?
2. Порты группы IO это что? Интерфейс для подключения памяти, т.е. через неё можно отобразить регистры пользовательских устройств в адресное пространство, или что-то другое?
3. Где и как искать инфу по процессору? Что там где по каким адресам?
4. В попытках найти эклипс наткнулся ещё на одну софтину Xilinx Platform Studio. Что это и зачем?
Аноним 05/07/23 Срд 05:25:01 530958 433
>>530955
SDK это не САПР, мань.
Аноним 05/07/23 Срд 07:27:13 530960 434
>>530955
>В данном контексте не вижу разницы.
Это плохо. Но что либо объяснять тебе похоже бессмысленно.

>Где и как искать инфу по процессору?
Очевидно в документации от xilinx.
>Что там где по каким адресам?
Ну вообще в ниосе все адреса (базовые, для каждого периферийного блочка) назначаются либо руками, либо автоматически если нажать соответствующую кнопку. Ну а sdk уже генерирует необходимые заголовочные файлы. Логично предположить что у тебя в ISE будет аналогично.

А в виваде, насколько я помню, ip-ядро microblaze шло без ОЗУ, uart и портов, все это снаружи самому подключать требовалось.
Аноним 05/07/23 Срд 09:20:59 530968 435
>>530960
>в виваде, насколько я помню, ip-ядро microblaze шло без ОЗУ, uart и портов
Не путай Microblaze и Microblaze MCS.
Аноним 06/07/23 Чтв 02:44:26 531017 436
>>530960
>Это плохо. Но что либо объяснять тебе похоже бессмысленно.
Траллировать изволите, мил человек?

>Очевидно в документации от xilinx.
Что-то непросто там у них соорентироваться, пока смог нагуглить только
https://inst.eecs.berkeley.edu/~cs150/fa13/resources/ds865_microblaze_mcs.pdf
И этого явно недостаточно.

>Логично предположить что у тебя в ISE будет аналогично
Да вот ничего подобного не наблюдаю, постом выше пик прикрепил, никаких назначений адресов там нет. Есть только небольшой выбор из таймеров, уарта, портов ввода вывода, прерываний, загадочной шины trace и и непонятной IO.

>>530968
>Не путай Microblaze и Microblaze MCS.
Я, так понимаю, у меня как раз MCS, и другого нет, хотя ise вроде с кряком. И вроде как к такому нельзя внешнее ОЗУ приделать для хранения программы, что начинает напрягать.
Аноним 06/07/23 Чтв 03:04:08 531020 437
>>530958
>SDK (сокращение от англ. software development kit — переводится как «комплект для разработки программного обеспечения»[1]) — это набор инструментов для разработки программного обеспечения в одном устанавливаемом пакете.
А что?
Аноним 06/07/23 Чтв 03:53:44 531021 438
>>531020
а то. Хоть какая-нибудь САПР в состав SDK входит а-атнюдь не обязательно. В целом нормальное явление, когда тебе дают компилятор и ворох хидеров (скажем, GCC и CMSIS для какого-нибудь ARM-а) даже без системы сборки, и все, ебаться подано.
Аноним 06/07/23 Чтв 20:28:43 531043 439
>>531017
>И вроде как к такому нельзя внешнее ОЗУ приделать для хранения программы, что начинает напрягать.
Если у тебя задача уровня нескольких конечных автоматов, то тебе и одной BRAM будет много.
Аноним 08/07/23 Суб 05:44:06 531100 440
изображение.png 151Кб, 1804x617
1804x617
изображение.png 175Кб, 1745x725
1745x725
изображение.png 154Кб, 1760x668
1760x668
Сап, анончики.
В этом году поступаю в вуз и планирую попробовать ПЛИСы.
Ну и встал вопрос в выборе направления: информатика и вычислительная техника, радиотехника или проектирование микросхем.
На проектировании микросхем вообще нет цифровой обработки сигналов и слишком много физики (даже квантовую механику и оптику влепили, лел), так что лучше всего на радиотехнику или информатику и вычислительную технику, как я понимаю (правда на ИВТ может баллов не хватить).
Ну и собсна куда податься, чтобы программа была максимально близка к профессии разработчика ПЛИС? Почему-то все толковые ПЛИСовики, которых я встречал в жизни или Интернете, - поголовно все отучились на радиотехнике.
1 пик - программа ИВТ
2 пик - программа радиотехники
3 пик - программа проектирования микросхем
Ну и извиняйте за оффтоп, да, на уначе вообще толковых ответов нет >_<
Аноним 08/07/23 Суб 11:50:29 531111 441
>>531100
Радиотехнику выбирай. Матаппарат, который используется в ЦОС — в практически неизменном виде используется для аналоговых цепей и систем автоматического управления, которыми там будут грузить по полной программе. Так что на радиотехнике тебя как следует надрючат брать преобразование Фурье, а теорию кодирования и криптографию как-нибудь сам по онлайн-курсам освоишь. На преподаваемые язычки и пакеты софта даже не смотри, тебя должно интересовать только какие разделы математики ты по итогу освоишь.
Аноним 09/07/23 Вск 08:22:46 531163 442
>>531111
Спасибо большое за ответ :3
Аноним 09/07/23 Вск 15:19:38 531175 443
>>531043
Ну как сказать, надо разбор езернет-кадров делать. У нас там свой собственный протокол по верх езенета реализован.

Посмотрел доку, что выше кидал и не нашёл там инфы по прерываниям. По каким адресам переходит, как туда обработчик положить? Вот это вот всё.
Аноним 10/07/23 Пнд 23:12:03 531278 444
Добавил в проект этот ваш микроблейз. Выполнил скрипт microblaze_mcs_setup.tcl, как написано тут >>530955 на пике. И, при компиляции, соснул бибу:

ERROR:NgdBuild:989 - Failed to process BMM information ipcore_dir/microblaze.bmm
INTERNAL_ERROR::45 - Memory allocation leak of 112 bytes at 0x07120C38 for a 'AddressMappingType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 54 bytes at 0x07143420 for a StrNew.
INTERNAL_ERROR::45 - Memory allocation leak of 88 bytes at 0x071E2728 for a 'AddressMapType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 40 bytes at 0x07143398 for a 'symbol_context' record.
INTERNAL_ERROR::45 - Memory allocation leak of 34 bytes at 0x06E42D50 for a StrDup.
INTERNAL_ERROR::45 - Memory allocation leak of 16 bytes at 0x06E41F60 for a 'DataFileNameListType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 24 bytes at 0x06E42C48 for a 'AddressSpaceLinkType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 96 bytes at 0x071E27F0 for 'void ⚹' data.
Аноним 17/07/23 Пнд 03:31:34 531819 445
Как следует понимать эту главу из стандарта на верилог?

3.12 Name spaces
In Verilog HDL, there are seven name spaces; two are global and five are local. The global name spaces are definitions and text macros. The definitions name space unifies all the module (see 12.1), macromodule (see 12.1), and primitive (see 8.1) definitions. Once a name is used to define a module, macromodule, or primitive, the name shall not be used again to declare another module, macromodule, or primitive.
The text macro name space is global. Since text macro names are introduced and used with a leading ‘ character, they remain unambiguous with any other name space (see 19.3). The text macro names are defined in the linear order of appearance in the set of input files that make up the description of the design unit. Subsequent definitions of the same name override the previous definitions for the balance of the input files.
There are five local name spaces: block, module, port, specify block, and attribute. Once a name is defined within one of the five name spaces, it shall not be defined again in that space (with the same or a different type).
The block name space is introduced by the named block (see 9.8), function (see 10.3), and task (see 10.2) constructs. It unifies the definitions of the named blocks, functions, tasks, parameters, named events and the variable type of declaration (see 3.2.2). The variable type of declaration includes the reg, integer, time, real, and realtime declarations.
The module name space is introduced by the module, macromodule, and primitive constructs. It unifies the definition of functions, tasks, named blocks, instance names, parameters, named events, net type of declaration, and variable type of declaration. The net type of declaration includes wire, wor, wand, tri, trior, triand, tri0, tri1, trireg, supply0, and supply1 (see 3.7).
The port name space is introduced by the module, macromodule, primitive, function, and task constructs.
It provides a means of structurally defining connections between two objects that are in two different name spaces. The connection can be unidirectional (either input or output) or bidirectional (inout). The port name space overlaps the module and the block name spaces. Essentially, the port name space specifies the type of connection between names in different name spaces. The port type of declarations include input, output, and inout (see 12.3). A port name introduced in the port name space may be reintroduced in the module name space by declaring a variable or a wire with the same name as the port name.
The specify block name space is introduced by the specify construct (see 14.2).
The attribute name space is enclosed by the ( and ) constructs attached to a language element (see 2.8). An attribute name can be defined and used only in the attribute name space. Any other type of name cannot be defined in this name space.
Аноним 18/07/23 Втр 00:11:01 531905 446
>>531278
Ну же анончики. В чём тут дело?
Аноним 22/07/23 Суб 10:28:13 532240 447
Аноним 22/07/23 Суб 10:38:55 532241 448
>>532240
>ttps://marsohod.org/projects/plata1/232-posoh
И еще, почему у автора два клока - clk и mclk? ЧТо такое mclk? Почему для tang nano 9k на схеме несколько клоков типа MCLK, GCLK, GCLKT? ЧТо это такое?
Аноним 22/07/23 Суб 11:29:35 532246 449
По какой книге или онлайн-курсу можно освоить преобразование Фурье как ему учат на факультете радиотехники?
Аноним 22/07/23 Суб 20:50:05 532265 450
>>532241
>И еще, почему у автора два клока - clk и mclk? ЧТо такое mclk?
В глаза долбишься?
>Единственная тонкость - светодиоды у меня подключенны прямо к выходам платы. По идее их нужно было бы подключить через резисторы, чтобы они случайно не сгорели, нужно было бы как-то ограничить ток. Я же сделал проще, модулирую управляющий сигнал частотой mclk вот так: f0 = bits[0] & mclk, чтобы светодиод не постоянно горел, а очень быстро моргал. Это такая своего рода защита.
Аноним 23/07/23 Вск 11:02:33 532279 451
>>532246
В вузах это изучают на куче разных курсов. В начале на курсе линейной алгебры, потом на курсе РЦС, потом ещё могут коснуться реализации на разных курсах по цифровым устройствам, цифровой обработке сигналов.
Основной учебник по этому делу это однозначно РЦС Баскакова. Но осилить такое может быть тяжеловато. Однако в том что касается именно реализации БПФ и быстрой свертке на его основе изучают довольно поверхностно, да и все равно у выпускников вся эта муть из головы очень быстро вылетает.
Аноним 23/07/23 Вск 13:02:41 532281 452
>>532246
Учут так себе, поверхностно. Потому используй стандартное готовое, а не еби себе мозг. Будь инженером, а не учёным.
Аноним 23/07/23 Вск 17:31:11 532292 453
>>532279
>потом на курсе РЦС
И ещё на курсах ТОЭ и ТАУ. На ТАУ оно даже прикольнее всего, потому что там никто не срёт в эфир синусоидами, и все интересующие процессы по сути переходные. Но они всё равно раскладываются по спектру, такой-то майндфак.
Аноним 23/07/23 Вск 17:46:57 532294 454
>>532246
>По какой книге или онлайн-курсу можно освоить преобразование Фурье как ему учат на факультете радиотехники?
Зависит от твоей текущей подготовки. Знаешь ряды, комплексные числа, собственные векторы и значения, дифференциальные уравнения? Изучение ДПФ желательно совместить с Z-преобразованием (т.к. это основной способ реализации дискретных линейных стационарных систем в частности фильтров, для анализа которых и используется ДПФ), а это комплексный функциональный анализ и комплексные ряды. Если честно, единственный реальный способ постичь это и не забить на 1/10 пути — отучиться в вузике. Да и параллельно всяким другим прикольным вещам обучат, статистике там, численным методам.
Аноним 23/07/23 Вск 17:49:35 532295 455
>>532292
Да я подзабыл уже, давно это было.

>ТОЭ
У меня оно называлось иначе. И я уже не помню, были ли там задачи с преобразованием Фурье, вроде были, но минимально.

>ТАУ
Тоже называлось иначе. И если я правильно помню, то там операторным методом обходились.

>Но они всё равно раскладываются по спектру, такой-то майндфак.
Это ты про спектральную плотность? Так это в курсе РЦС.
Аноним 23/07/23 Вск 23:29:39 532309 456
>>532295
>И если я правильно помню, то там операторным методом обходились.
Везде, где используется частотная характеристика, используется преобразование Фурье и его свойства (типа перемножению в частотной области соответствует свёртка во временной). Оператор Лапласа — тоже преобразование Фурье на области s = jω
Аноним 23/07/23 Вск 23:33:19 532310 457
>>532309
>Оператор Лапласа
Преобразование Лапласа, фиксед.
Аноним 10/08/23 Чтв 22:44:58 533386 458
Чем отличается
@(posedge йух);
от
wait(йух);
?
Аноним 12/09/23 Втр 14:33:45 535787 459
image.png 1381Кб, 1280x720
1280x720
Странного хочу

Проектирую процессор на смеси гидравлики и пневматики. Ну как процессор, это даже громко сказано: очень мелкий АЛУ и немного Тьюринг-полноты

Вопрос: как мне в HDL (изучаю сейчас SystemVerilog) пометить что вывод логики водяной нельзя напрямую соединить с выводом логики пневматики, и наоборот. Как изловчиться и дать понять это синтезатору?
Аноним 12/09/23 Втр 15:37:40 535792 460
>>535787
не соединяй их в коде
Аноним 12/09/23 Втр 16:37:44 535797 461
>>535792
>не соединяй их в коде

У них там логика должна соединяться, в том-то и дело, с соответствующими задержками
Аноним 12/09/23 Втр 16:40:52 535798 462
3j6r12dxrk3a1.jpg 238Кб, 1535x2154
1535x2154
>>535792
То есть, не соединять-то я могу, но могу ведь и ошибиться!..
Аноним 12/09/23 Втр 18:07:58 535805 463
>>535787
>синтезатору
У тебя есть синтезатор у которого на выходе
>смеси гидравлики и пневматики.
Разве такие существуют?

>>535797
Так почти во всех плисах, может быть за исключением совсем древних cpld по выходам есть буферы, которые дают задержку. Разумеется это учитывается.

Ну и ты наркоман разумеется. Самое большое в любом процессоре это память. Как ты ее будешь делать?
Аноним 12/09/23 Втр 18:21:01 535807 464
678082249aitasc[...].jpg 2784Кб, 4725x2834
4725x2834
>>535805
> Разве такие существуют?
Существовать то существуют, но о практическом применении гидравлической логики (пневматика изредка использовалась во всяких взрывоопасных местах, куда совать реле и прочие электрические искрообразователи чревато) мне не попадалось.
Аноним 12/09/23 Втр 21:14:15 535819 465
>>535787
>вывод логики
Что ещё за вывод? В верилоге есть входы и выходы. Ты что с чем соединить не хочешь, чудик?
Аноним 12/09/23 Втр 22:05:16 535820 466
>>535807
Ты похоже не совсем правильно меня понял. Я не про саму логику, а про синтезатор у которого на выходе будет такое.

В любом случае, в чем вопрос то? Тебе нужна задержка при симуляции? Да пожалуйста, оно в верилоге есть.
Аноним 13/09/23 Срд 11:31:05 535846 467
>>535805
>>>535787
>>синтезатору
>У тебя есть синтезатор у которого на выходе
>>смеси гидравлики и пневматики.
>Разве такие существуют?

Конечно! Любой HDL описывает логику и соединения безотносительно среды, в которой всё это будет исполняться

>>>535797 (You)
>Так почти во всех плисах, может быть за исключением совсем древних cpld по выходам есть буферы, которые дают задержку

Но тут среды передачи разные. Нельзя просто воду соединить с воздухом, должен быть обязательных конвертирующий элемент.

Представь что ты делаешь компьютер на элементах, которые питаются от 3.3В (CMOS) и на элементах, которые питаются от 12В (реле) - напрямую соединять это нельзя

>Ну и ты наркоман разумеется. Самое большое в любом процессоре это память. Как ты ее будешь делать?

В моём памяти надо будет чуть совсем
Аноним 13/09/23 Срд 11:46:19 535848 468
>>535820
> В любом случае, в чем вопрос то? Тебе нужна задержка при симуляции?
А я то причём? Я всего лишь комментировал про пневматическую и гидравлическую логику.

>>535846
> Конечно! Любой HDL описывает логику и соединения безотносительно среды, в которой всё это будет исполняться
И толку то от этого описания? Как ты его в железе то претворять будешь? Вон, погляди как народ извращался, чтобы на HDL печатки с дисретной логикой генерировать:
https://hackaday.io/project/180839-vhdlverilog-to-discrete-logic-flow
Аноним 13/09/23 Срд 13:32:36 535851 469
>>535848
>> Конечно! Любой HDL описывает логику и соединения безотносительно среды, в которой всё это будет исполняться
>И толку то от этого описания? Как ты его в железе то претворять будешь?

Руками. Сначала убежусь что всё работает, потом выведу схему поблочно и вперёд

У меня получается около 400 элементов, может даже "в железе" сделаю
Аноним 13/09/23 Срд 13:34:50 535853 470
>>535848
>Вон, погляди как народ извращался, чтобы на HDL печатки с дисретной логикой генерировать:
>https://hackaday.io/project/180839-vhdlverilog-to-discrete-logic-flow

Кстати, неплохо, возможно что-то такое запилю если встроенного в yosys маппинга не хватит
Аноним 13/09/23 Срд 16:34:48 535859 471
>>535846
>Конечно! Любой HDL описывает логику и соединения безотносительно среды, в которой всё это будет исполняться
Тогда ты путаешь термины.
1) Синтезатор это такая штука которая берет код и на выходе выдает битстрим и не лист из примитивов, ну или не битстрим а схему или ещё что.
2) А есть симуляторы - они тупо выполняют код на компе. В симулятор можно запихнуть не лист из синтезатора и промоделировать все с задержками.
Не путай!

>Но тут среды передачи разные. Нельзя просто воду соединить с воздухом, должен быть обязательных конвертирующий элемент.
Так значит напиши соответствующий модуль и всех делов то. В чем проблема то?
Аноним 13/09/23 Срд 16:35:21 535860 472
Аноним 13/09/23 Срд 16:46:54 535861 473
16852876560243.jpg 172Кб, 600x800
600x800
>>535859
>>Но тут среды передачи разные. Нельзя просто воду соединить с воздухом, должен быть обязательных конвертирующий элемент.
>Так значит напиши соответствующий модуль и всех делов то. В чем проблема то?

Ты имеешь ввиду "модуль" в терминах HDL?

Так я и спрашиваю: как мне в этом модуле пометить пневматические и гидравлические входы и выходы так, чтобы их снаружи нельзя между собой было соединить неправильно
Аноним 13/09/23 Срд 17:24:46 535863 474
>>535861
>чтобы их снаружи нельзя между собой было соединить неправильно
У тебя их так много что можно запутаться?
В VHDL это легко делается, просто новый тип определить и все. В верилоге такого нет, а systemverilog я не знаю.

В любом случае ты наркоман.
Аноним 13/09/23 Срд 18:04:40 535865 475
>>535863
>>чтобы их снаружи нельзя между собой было соединить неправильно
>У тебя их так много что можно запутаться?

Обидно будет запилить на станке байду а там окажется 2 дорожки неверно идут или типа того

>В VHDL это легко делается, просто новый тип определить и все. В верилоге такого нет, а systemverilog я не знаю.

В верилоге есть типы проводов? Например, этот тип 12В, а этот 3В, а это вообще гидромагистраль?

>В любом случае ты наркоман.

Ничего страшного
Аноним 13/09/23 Срд 18:42:38 535866 476
>>535865
Я так понял, что синтезатора (который на выходе даёт чертеж) у тебя нет и переводить код в элементную базу ты будешь руками? А тебя в таком случае не смущает, то что в верилоге есть синтезируемые и несинтезируемое подмножество?

>В верилоге есть типы проводов?
Если не касаться системверилога, то там есть signal strength Но я не видел чтобы этим пользовались и вряд ли оно тебе подойдёт.
Аноним 13/09/23 Срд 19:00:38 535868 477
>>535866
>Я так понял, что синтезатора (который на выходе даёт чертеж) у тебя нет и переводить код в элементную базу ты будешь руками?

Это не проблема, гейты ведь типовые

>А тебя в таком случае не смущает, то что в верилоге есть синтезируемые и несинтезируемое подмножество?

Первый раз слышу, я ещё только размышляю и языка не знаю (изучать буду послезавтра)

>>535866
>>В верилоге есть типы проводов?
>Если не касаться системверилога, то там есть signal strength Но я не видел чтобы этим пользовались и вряд ли оно тебе подойдёт.

Близко, но не то

Verilog has 4 driving strengths, 3 capacitive strengths and high impedance. This is not a strength. The strength of a net is derived dynamically from the strenght of the net driver(s) and will get the strength of the strongest driver. The words strenght0 specifies the strength when the net drivers drive the value 0; strength1 specifies the strength when the net drivers drive the value 1. The cap_strength is for trireg nets only.
Аноним 13/09/23 Срд 19:14:35 535870 478
>>535868
>я ещё только размышляю
По моему ты ерунду хочешь. Конечно на верилоге ты можешь описать вентили и потом их соединять, но только зачем? Схематик для такого нагляднее будет. Верилог все же заметно более высокоуровневый чтобы так его использовать при написании кода руками.

Если бы передо мной стояла такая задача, то я бы просто нарисовал схему руками, можно даже с получением нетлиста на верилоге.

>Близко, но не то
Так и я о том же.
Аноним 13/09/23 Срд 19:21:59 535871 479
>>535861
>как мне в этом модуле пометить пневматические и гидравлические входы и выходы так, чтобы их снаружи нельзя между собой было соединить неправильно
К названиям добавляй суффиксы-префиксы, чтобы сразу видеть что есть что, делов то.
Аноним 13/09/23 Срд 19:25:45 535872 480
>>535871
>>как мне в этом модуле пометить пневматические и гидравлические входы и выходы так, чтобы их снаружи нельзя между собой было соединить неправильно
>К названиям добавляй суффиксы-префиксы, чтобы сразу видеть что есть что, делов то.

Да, пока это основной планируемый способ
Аноним 13/09/23 Срд 20:04:25 535875 481
>>535872
А я тебе ещё раз напишу что соединять на верилоге твои гейты это бессмысленно. Попробуй сам нарисовать схему сумматора на 2nand, а потом те же самые соединения примитивов описать на верилоге.
Аноним 13/09/23 Срд 21:29:50 535884 482
16438330765572.gif 3991Кб, 442x266
442x266
>>535875
Ну вот у меня полный сумматор будет сразу использовать воздух и гидравлику

Как мне не напутать его входы и выходы когда я соберу его в 4-битную пачку?
Аноним 14/09/23 Чтв 07:49:21 535898 483
>>535884
Ну вот пользовательские типы данных есть в VHDL, там ты сможешь сделать как хочешь. В системверилоге тоже есть, но по нему подробностей не подскажу.
На простом верилоге такого не сделать.
Аноним 14/09/23 Чтв 08:48:01 535900 484
>>535898
Ок, спасибо вам. Дождусь книгу по SV, прочитаю, там уже дальше буду двигаться
Аноним 14/09/23 Чтв 20:40:32 535947 485
>>535900
Что за книга хоть?
Аноним 15/09/23 Птн 12:11:10 535959 486
image.png 1326Кб, 718x1000
718x1000
>>535947
>Что за книга хоть?
Аноним 15/09/23 Птн 23:00:57 536012 487
>>535959
Я её в сети находил. Мне не очень понравилась, как-то всё разбросанно, не систематизировано.
Аноним 18/09/23 Пнд 15:09:34 536160 488
геи программисты.jpg 92Кб, 750x600
750x600
>>536012
>Я её в сети находил. Мне не очень понравилась, как-то всё разбросанно, не систематизировано.

Обзорно, для новичка сойдёт

Что не понравилось: передний фронт/задний фронт (вместо фронта и спада), в середине автор или переводчик выдохлись и начали халтурить, даже синтаксические ошибки попались. Конкретно забыли написать про разницу между module и program

Но как обзорная для неофита с багажом паяльщика, LogiSim и обычного программирования - норм

А какую ты порекомендуешь?

Этот >>535959
Аноним 18/09/23 Пнд 22:00:26 536181 489
>>536160
>вместо фронта и спада
Фронта и СРЕЗА, быдло необразованное.
Аноним 19/09/23 Втр 00:29:37 536188 490
>>536181
>СРЕЗА
Это что-то аналоговое, фильтры и тому подобное
Аноним 19/09/23 Втр 02:20:05 536191 491
изображение.png 2397Кб, 863x1300
863x1300
изображение.png 154Кб, 758x1211
758x1211
изображение.png 95Кб, 923x1305
923x1305
>>536160
>передний фронт/задний фронт (вместо фронта и спада)
Мне как раз больше нравится передний фронт/задний фронт.

>А какую ты порекомендуешь?
На русиче один кал, хороших нет. А из них более-менее см. пики.

И как по мне, на SystemVerilog лучше сразу не кидаться, а начать с простого Verilog-а. А там уже и на System переключится. Verilog и SystemVerilog это примерно как С и С++. При изучении языка никто же сразу не начинает с объектов и классов, начинают со структурного программирования. Вот так и тут.
Аноним 19/09/23 Втр 07:56:43 536205 492
>>536188
Ты путаешь срез импульса и частоту среза. Что, конечно же, неудивительно для недоучки.
Аноним 19/09/23 Втр 13:41:09 536236 493
>>536191
>
>И как по мне, на SystemVerilog лучше сразу не кидаться, а начать с простого Verilog-а. А там уже и на System переключится. Verilog и SystemVerilog это примерно как С и С++. При изучении языка никто же сразу не начинает с объектов и классов, начинают со структурного программирования. Вот так и тут.

Мне проще оказалось сразу с тестированием, потому что я по работе в обычном императивном программировании тестирование широко применяю

Само же создание схем оказалось простым. Единственное что я пока чужой код на SV не очень воспринимаю, не вижу типовых приёмов, наверное
Аноним 25/09/23 Пнд 19:42:07 536676 494
Аноним 26/09/23 Втр 15:12:14 536746 495
>>517577 (OP)
Как вкатиться в программирование контроллеров?
Аноним 27/09/23 Срд 00:26:09 536792 496
Кто-нибудь делал езернет на уровне MII?
Приёмник выдаёт двухразрядную шину данных и сигнал валид. Как я понимаю валид держится на протяжении приёма всего кадра.
Вопрос в том, как определить конец поля данных и начала контрольной суммы?
1. По полю размера? Но оно на фактический размер кадра не указывает.
2. По возникновению нуля при подсчёте контрольной суммы? А не получится ли что ноль возникнет где-нибудь в середине поля данных?
3. И ещё. В конце приёма каждого кадра сигнал валид даёт какой-то дребезг. Как это понимать?
Аноним 04/10/23 Срд 15:32:38 537581 497
>>536792
>Как я понимаю валид держится на протяжении приёма всего кадра.
Необязательно. Он может падать в любой момент, в этом его функция. Твоя задача в этот момент — остановиться и ждать.

>По полю размера? Но оно на фактический размер кадра не указывает.
Да. Пересчитывай нефактический в фактический.

>В конце приёма каждого кадра сигнал валид даёт какой-то дребезг. Как это понимать?
Понимать так, что нулевое значение валид = приёмник занят своими делами и говорит тебе подождать.
Аноним 06/10/23 Птн 01:02:43 537691 498
>>537581
За ответ благодарен, но ты мне втираешь какую-то дичь.

>нулевое значение валид = приёмник занят своими делами и говорит тебе подождать
>Он может падать в любой момент, в этом его функция. Твоя задача в этот момент — остановиться и ждать.
Какими таким делами он может быть занят? У него одно дело - принимать поток данных кадра. Передатчик выдаёт поток непрерывно в течении всего кадра. Тактовые частоты у передатчика и приёмника одинаковые (я пока закольцевал передачу на прём). Да даже если и не закольцовывать, приёмник работает на 50 МГц и выдаёт по два бита за такт, на другие дела у него просто нет времени.

>Пересчитывай нефактический в фактический.
Что значит? Я вот, например, в поле размера вообще ноль записал. А WireShark всё равно принял ровно столько байт сколько я передал по факту.
Аноним 13/10/23 Птн 11:37:44 538207 499
Посоны, есть ли какой-нибудь SoC типа fpga+CortexM4F. У альтеры и ксайлинкса там A9 и его очень геморно программировать барметал. У Gowin прикольная серия LittleBee, но там контроллер слабоват, боюсь не хватит для моей задачи. У микрочипа вроде SmartFusion 2 есть, и вроде подходит, но отладки чет дорогие. Еще есть варианты?
Аноним 15/10/23 Вск 11:41:51 538374 500
>>536191
>На русиче один кал, хороших нет. А из них более-менее см. пики.
Тогда посоветуйте книги по Verilog/SystemVerilog на английском.
Аноним 15/10/23 Вск 22:51:56 538426 501
>>538207
>SoC типа fpga+CortexM4F

Может быть есть такая готовая FPGA-микросхема? Искал?
Аноним 01/11/23 Срд 10:13:08 540124 502
Как написать подобное в одну строку?

//SV code

logic[31:0][7:0] mem;
logic[31:0] rom[];

c.mem[n + 0] = rom[0 +: 8];
c.mem[n + 1] = rom[8 +: 8];
c.mem[n + 2] = rom[16 +: 8];
c.mem[n + 3] = rom[24 +: 8];

Всё работает, но выглядит как-то неаккуратно
Аноним 01/11/23 Срд 10:17:32 540125 503
>>540124
Тот код не работает, такой работает (забыл у rom индекс дописать):

c.mem[n + 0] = rom[0 +: 8];
c.mem[n + 1] = rom[8 +: 8];
c.mem[n + 2] = rom[16 +: 8];
c.mem[n + 3] = rom[24 +: 8];
Аноним 01/11/23 Срд 10:18:03 540126 504
индекс съедает вакаба?!

c.mem[n + 0] = rom[0 +: 8];
c.mem[n + 1] = rom[8 +: 8];
c.mem[n + 2] = rom[16 +: 8];
c.mem[n + 3] = rom[24 +: 8];
Аноним 02/11/23 Чтв 07:42:16 540199 505
Анон, как ты свои проекты Вивадо хранишь в гите? Я бугурчу со своими коллегами-плисовщиками, что они без стеснения коммитят все файлы сборки, и репозиторий на 6 коммитов весит 600 мегабайт.

Сюда же вопрос: после долгого процесса синтеза, или как он там называется под конкретную плис, есть ли файл нетлист?, который содержит трассировку? Возможно ли с использованием этого файла быстро создать файл прошивки, зашиваемый в ПЗУ? Будет ли он идентичен от сборки е сборке?
Аноним 02/11/23 Чтв 15:40:06 540246 506
Аноним 05/11/23 Вск 19:52:10 540548 507
Душа компании46[...].mp4 4413Кб, 460x816, 00:00:40
460x816
Как на Verilog или SystemVerilog описать анонимную структуру или union?

Почему-то по сишному не получается, но судя по коду верилятора анонимность допустима.
Аноним 07/11/23 Втр 16:23:44 540773 508
>>540548
> Как на Verilog или SystemVerilog описать анонимную структуру или union?
Занести IEEE много деняк, чтобы они добавили это в стандарт языка?
Аноним 07/11/23 Втр 22:43:14 540844 509
>>540773
Можно же как-то биты соединять по рандому не?
Аноним 08/11/23 Срд 07:15:35 540870 510
Аноны, столкнулся с тем что в старом qsys отсутствует i2c. У меня уже есть готовый код для max 10, который нужно воткнуть в третий циклон и пока все упирается в отсутствие i2c. Получится ли взять код из квартуса поновее и воткнуть в старый? Код вроде как не зашифрован.
Аноним 08/11/23 Срд 07:18:14 540872 511
>>540870
>взять код
В смысле код этого ip altera_avalon_i2c.
Аноним 08/11/23 Срд 16:32:28 540926 512
>>540870
Ну что, вроде бы получилось. Пришлось только подправить файл altera_avalon_i2c_hw.tcl - просто закомментировал строки на которых были ошибки (некоторые тиклевские процедуры отсутствовали в старой версии).
Аноним 27/11/23 Пнд 01:49:35 542866 513
Подскажите начинающему плиз плисину (готовую плату), в которую поместился бы RISCV.
Аноним 27/11/23 Пнд 06:34:20 542872 514
>>542866
Если по минимуму, то хватит около 1000...1500 LUT в зависимости от внутренностей плисины (LUT отличаются по количеству входов и прочее). Памяти хватит той что внутри FPGA.
Так что хватит даже самых мелких FPGA, только совсем старье не бери. Если altera(intel), то по минимуму это EP4CE6, у xilinx ниже 7-ой серии опускаться не стоит, т.к. они ise выкинули и сделали vivado.

Ну а если ты хотел там линуксы запускать, то требования будут немного выше, память ещё будет нужна снаружи.
Аноним 27/11/23 Пнд 13:14:19 542895 515
>>542872
Готовую плату посоветуй? С алика, грубо говоря
Аноним 27/11/23 Пнд 14:27:24 542909 516
>>542895
Так для чего тебе? Ещё раз повторю, одно дело минимальный процессор с минимальной периферией (на уровне gpio и uart) и совсем другое дело если ты задумал запускать там полноценный линукс и иметь ethernet, hdmi и все такое.

Если по минимуму то, например https://aliexpress.ru/item/32949281189.html и не забудь https://aliexpress.ru/item/1005001848932516.html
Аноним 27/11/23 Пнд 21:21:24 542935 517
dc42c55df83ac94[...].jpg 193Кб, 1000x1414
1000x1414
>>542909
Хочу попробовать поиграться с RISCV. Свой проц (контроллер) на нем слепить, например. Как вариант - просто свой проц на верилоге сбыдлокодить шутки ради.

>минимальный процессор с минимальной периферией (на уровне gpio и uart)
Ну вот что-то такое, да. SPI, I2C, I2S, PWM. Грубо говоря, пердуину на проце в плисине.

Вот эта штуковина нормальная? Даже написано RISCV, кек
https://aliexpress.ru/item/1005005667896010.html
Аноним 28/11/23 Втр 06:16:50 542976 518
>>542935
>Вот эта штуковина нормальная?
Не советую, потому что у них IDE слаборазвитая.
Если брать altera(intel), xilinx, lattice то будет намного удобнее и проще, там тебе и довольно много готовых ip ядер. И вообще с альтерой сможешь просто в qsys мышкой накидать весь процессор (nios) с периферией. Или возьмёшь отсюда скрипты для qsys чтобы туда вставить risc-v https://github.com/ARIES-Embedded/riscv-on-max10/tree/master/Cores Но оно не только этим лучше китайцев, там ещё и всякий анализ результата удобнее.

А если возьмёшь ту китайскую плисину, то тебе все эти
>SPI, I2C, I2S, PWM
Придется еще отдельно искать или писать самому. А потом ещё все соединять руками, что тоже кстати не совсем элементарно.
Аноним 29/11/23 Срд 05:53:23 543083 519
Screenshot2023-[...].png 70Кб, 399x683
399x683
>>542976
> Придется еще отдельно искать или писать самому
Ну, разве что если его встроенные не устроят (пикрелейтед из Educational-версии говиновского IDE).
Аноним 08/12/23 Птн 07:43:42 543868 520
Pcm-ru.png 194Кб, 1058x453
1058x453
А где тактовые импульсы, чтобы различать 0/1 внутри синхропромежутков? Как это работает?

Картинка из википедии.
Аноним 08/12/23 Птн 16:52:57 543894 521
>>543868
Точно также ка и в уарте. Синхронизируешся по оранжевому сигналу, а дальше за счёт внутренней синхры.
Аноним 21/12/23 Чтв 16:44:29 544798 522
>>543868
Написано же — импульсы синхронизации
Аноним 22/12/23 Птн 12:51:57 544822 523
>>542935
>Хочу попробовать поиграться с RISCV. Свой проц (контроллер) на нем слепить, например. Как вариант - просто свой проц на верилоге сбыдлокодить шутки ради.

О, сейм

Я сейчас пилю RISC-V 32i с прицелом на минимальный footprint

Конечная цель сделать его на транзисторах. По прикидкам выходит около 1200 транзисторов, что по нынешним временам звучит реалистично

На пенсию выйду буду вместо мозаики собирать потихоньку
Аноним 23/12/23 Суб 09:56:48 544952 524
photo2023-12-22[...].jpg 104Кб, 1280x960
1280x960
1.png 15Кб, 421x508
421x508
Как реализовать схему с рисунка в книге? Я реализовал ее вот так, но почему-то кодирует неправильно. Результаты кодирования схемой и путем умножения информационного слова на порождающую матрицу кода разные.
Аноним 23/12/23 Суб 13:36:45 544956 525
>>544952
>12 стр
Может не стейт3, а стейт2?
Аноним 06/02/24 Втр 20:30:45 548018 526
Короче мне тут видимо против своей воли но придётся вкатываться в ПЛИСы. Хуле с вашим говном делать? Дали Spartan 6 со словами - ну изучай. Светодиодом помигал, калькулятор на конченном автомате написал, через писие светодиодом помигал. Че можно сделать чтоб нормально изучить pci-e? Че-то я никаких внятных хелловордов не нашёл в интернете, только что ну вот можно писать и читать в BAR через PCITree/RW-everything/lspci.
Бекгаунд у меня ближайшее это микроконтроллеры и ардуина со всякими HALами IDF и прочей высокоуровневщеной. Что такое драйвер в компе с точки зрения его написания и адресное пространство - я не ебу от слова совсем.
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов