ПЛИС FPGA 517577 В конец треда | Веб
Погромируем, симулируем, синтезируем
Предыдущий тред: >>397766 (OP)
2 517590
В плисине использую только два банка выводов из четырёх. Незадействованные банки решил не запитывать.
Вопрос, что делать с питанием этих бавнков, оставить болтаться в воздухе, или посадить на землю?
3 517600
>>17590

>Вопрос, что делать с питанием этих бавнков, оставить болтаться в воздухе, или посадить на землю?


Ответ: прочитать соотвествующий аппноут от производителя. Например, Hardware Design Guide Consideration.
lfsr.png111 Кб, 575x745
4 517671
Как на SystemVerilog реализуются такие схемы? По идее на HDL они должны реализовываться очень легко, но я не представляю, как это сделать. На входе должен быть многочлен степени n (видимо, тип данных logic [3:0]), на выходе многочлен степени n + 3. Там, где отводы вниз, это операция xor. Как это сделать?
5 517681
>>17671
always @(posedge clk) begin
z1 <= input;
z2 <= z1;
z3 <= z2;
end
assign output = input + z1 + z3;
6 517690
>>17681
Можно и параметризовать. Со сдвиговым регистром проблем не должно быть, потом поразрядное и с полиномом, апосле унарный КСОР (т.е. все разряды регистра ксорятся друг с другом).
lfsr.png7 Кб, 407x264
7 517692
>>17681
>>17690
А у меня правильно сделано?

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
lfsr.png7 Кб, 447x282
8 517693
>>17692
Или вот так?
lfsr.png7 Кб, 375x350
9 517695
>>17693
Как правильно написать тестбенч к этой штуке? У меня сигнал clk при такой реализаици имеет неизвестное значение, не меняется.
10 517696
>>17693
Зачем нужна последняя строчка?
11 517698
>>17696
Да, она лишняя, точно.
А как можно все коэффициенты получившегося полинома вывести на шину? Например, известно, что максимальная степень полинома будет 6, тогда можно сделать шину out logic [5:0] выходной и на нее записывать коэффициенты полинома. Как это делать в этой схеме?
12 517699
Как в тестбенче задавать изменения клока? >>17695
Вот тут, например
13 517701
>>17698
module modulename #(parameter B = 6-1)(...output logic [B:0],...);

>>17699
Смысл? У тебя тестбенч скорее всего функциональный, будет работать на любой частоте клока, хоть там период в фемтосекунду поставь.
14 517711
>>17695
Назначь ему валидное значение в начале. И заодно используй forever, чтобы было яснее, что этот код не описывает железо и не предназначен для синтеза.

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

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

Тут dataIn[0] содержит сигнал d0 или d1? Или это не имеет значения?
17 517743
>>17734
Дубина, если нужен расширенный температурный диапазон, то надо было покупать соответствующую ревизию.

Что будет? Параметры в даташите указаны при определённых температурах. Как минимум генерация поплывёт.
18 517746
>>17743

>генерация поплывёт.


Какая ещё генерация? Ты про тактовый сигнал? Но почти во всех полисах нет встроенного тактового генератора как в микроконтроллерах (когда только кварцевый резонатор снаружи). А есть всего лишь максимум синтезируемые кольцевые генераторы на инверторах, которые почти никто не использует.
19 517748
>>17743

>Дубина, если нужен расширенный температурный диапазон, то надо было покупать соответствующую ревизию.


Зумеры не слышали про дефицит. Ты lead time на диджикее видел?
20 517754
>>17734

>Что будет


С вероятностью 95+% - ничего критичного. Народ вон копеечные ардуины на аэростатах в стратосферу запускает, и ничего, работают.
21 517755
>>17754
У ардуины в спеках температуры от –40°C до +125°C. По меркам FPGA это уже military grade, ваенные технологии.
22 517757
>>17734
Если единичный экземпляр проверь натурно.
Если серия ставь подогрев.
23 517758
>>17742
То что справа то младшее, что слева старшее.
24 517855
>>17755
Нет, у атмег -40...+85С, это индастриал.
Милитари - это -60...+125 или шире.
.jpg204 Кб, 1433x771
25 517856
>>17855
В даташите у атмеги 328p все зарактеристики даются от -40 до 125, т.е. это не просто absolute maximum rating.
26 517883
>>17600
Если нетрудно укажи где конкретно смотреть, или ещё лучше запости скриншот. Всё что я смог нагуглить, уже не помню где, это только фразу что

>банки должны быть подключены к какому-то питанию.

27 517884
>>17883
У меня в китайском нищеплисе явно написано

> The device requires all the I/O's VCCIO to be connected to the power supply.


Плюс для некоторых банок есть ограничение, что питание не должно быть меньше какого-то, потому что от него работает какая-то дополнительная хуйня внутри чипа и она привязана к этой банке.
28 517885
>>17884
Прямо сейчас у нас вообще два банка к питанию не подключены, подключены только их земли к земле, плюсовые выводы болтаются в воздухе и при этом всё работает. Но меня точит червь сомнения что это не правильною В следующей ревизии платы я плюсовые выводы подключил на землю впослед через конденсатор. Вот теперь думаю насколько это адекватно...
29 517890
>>17885

> Прямо сейчас у нас вообще два банка к питанию не подключены


Вам что, жалко дорожку к паду подвести? Или вы пытаетесь впихнуть какой-нибудь BGA780 в двухслойную плату?
30 517979
>>17890

>Или вы пытаетесь впихнуть какой-нибудь BGA780 в двухслойную плату?


Ну почти, + вторичный источник питания главный конструктор нагружать не хочет, а он тот ещё чудило.
31 518323
>>518316 →
По верилогу вот есть
https://www.youtube.com/playlist?list=PL4UMfOeGYsvblwrP3VYKHq11xgkxVqoUj

По виваде хз.
32 518347
Vivado на линуксах работает?
34 518417
>>18365
Почему не устанавливается из 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
35 518420
>>18417

>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 и школоарч как таковой, инсталлятор с сайта Хилых встанет на любые прыщи, но только в обход менеджера пакетов.)
36 518424
плис в россии мертв
37 518426
>>18424

>плис в россии мертв


Дядя Вова сказал в говне-моченым, чтобы сделали красиво!!
38 518451
>>18420
Мне из России доступ с загрузкам на сайте xilinx запрещен, даже через тор браузер не дает скачать. Получается в России остается только качать вивадо с торрентов?
39 518504
>>18451
Берёшь любой прокси/VPN (плюс фейкомыло), создаёшь фейковый аккаунт какого-нибудь греческого студента Хохлоса Пидороса, чтобы получить URL для скачивания. А потом качаешь каким-нибудь wget непосредственно с https://xilinx-ax-dl.entitlenow.com/ уже напрямую.
40 518509
У тутошнего анона уровень всё же повыше, потому спрошу тут.

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

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

Загляни на тот же Авито со словами 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А.
42 518518
>>18509

>КР580ВМ80А


>КР580ИК80А


Три питания +5, -5, +13. Как делать будешь? Далее, как написал анон выше, мало подрубить память, нужно ещё о прерываниям подумать, о таймерах, uart, собственно сами порты параллельные вв55. Дофига всего. А чего ради? Чтобы получить сильно ухудшенное подобие атмеги? Таким образом если и делать такое, то просто так, для развлечения. Но и то лучше взять вм85, будет намного меньше всего и с питанием проще. Сам вот прям сейчас понемногу паяю на макетке поделку на 8085. Просто так, без каких-либо задач.

>>18509

>КР1814ВЕ5


Это с масочным ПЗУ, оно похоже никак не может выполнять код из внешнего. Можешь выкинуть.

>>18509

>КР1810ВМ86


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

>>18509

>КР1801ВМ1


>КР1801ВМ2


Эти интересные конечно, тем что система команд от pdp-11. Но тоже такое себе.

>>18509

>КР1820ВЕ1А


Вот с этими вероятно проще всего, вроде как им только ПЗУ снаружи требуется. Но в них очень мало всего.

И анон выше прав, самое простое это подрубить к плисине. Только некоторая ассиметрия получится, особенно в варианте с fpga с памятью внутри, ведь в такую плисину влезет процессор посущественнее этого раритета.
43 518519
>>18518

>проще тебе взять К1810ВМ86.


ВМ88, опечатка
44 518527
>>18518

>анон выше прав, самое простое это подрубить к плисине.


Я тут подумал ещё немного и похоже с современной элементной базой оптимально будет подключать эти древние процессоры к атмегам или ещё каким микроконтроллерам, так будет не только проще, но и дешевле одной только параллельной EEPROM.
45 518529
>>18527
Звучит хорошо. Собрался использовать мега128 или 256 для эмуляции (если хранить все адресное пространство ПЗУ+ОЗУ во флеше) или мегу послабее если собрался эмулировать например 8килобайт ОЗУ? Убедил.
Как ОЗУ собрался на меге эмулировать? Есть всего килобайт-два ОЗУ в лучшем случае которые будут немного засраны работающей программой эмуляции.
Надо понимать что ОЗУ и ПЗУ - память с произвольным доступом. Как собрался на частоте около 2 МГц быстренько находить что надо и выдавать на шину? Тут конвейеризация или предвыборка не всегда спасет или поможет.
Ну да, у нас для 8080 есть шагатель на триггере с помощью которого можно хоть руками переключателями каждый байт на шине выставлять-читать. Оно надо такое счастье?
Как же хардкор под названием ROM эмулятор на ОЗУ для отладки и выполнения программы на полной скорости процессора?

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

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

Как-то не особо возбуждает. Даже не поФАПаешь на такие извращения. https://habr.com/ru/post/446048/
46 518538
>>18529

>Как собрался на частоте около 2 МГц быстренько находить что надо и выдавать на шину?


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

>Как-то не особо возбуждает. Даже не поФАПаешь на такие извращения.


Вот именно, поэтому "современная" элементная база тут несколько неуместна.
7395571231401mainframebyidioticbat.jpg449 Кб, 1634x1638
47 518543
>>18518

> А чего ради?


Ради DAT FEEL чего только не городят: http://www.s100computers.com/My System Index Page.htm

> Только некоторая ассиметрия получится, особенно в варианте с fpga с памятью внутри, ведь в такую плисину влезет процессор посущественнее этого раритета.


Так ПЛИСины разные бывают, не обязательно туда седьмой Кинтекс пихать:https://www.mattmillman.com/projects/8od/
48 518547
>>18538
Очень давно не писал под 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) не запущу кодом с обломков компа. Какую-то херню выдает на индикаторы.
49 518549
>>18547

>особенно когда хер знает как оно работает


Что именно? ОЗУ и ПЗУ ну и вв55? Анон же не собрался втыкать весь комплект кр580, а вероятно только память и параллельный порт.

>когда хер знает как оно работает и особенности поведения которые в даташите не видны.


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

>Хорошо хоть не бзданул "вручную тактируй".


Тоже мне откровения. Также можно задействовать сигнал ready, оно специально для медленной фигни на шине.
50 518551
>>18549

>Что именно? ОЗУ и ПЗУ ну и вв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" и их реально можно вручную тактировать и смотреть как оно работает в замедленном виде.

Куда делся анон с процессорами? Может прояснит ситуацию что у него есть и что доступно.
51 518553
>>18551

>Берем 589ИР12


Ну можно и так.

>писать эмулятор.


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

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

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

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

>>18518

>Три питания +5, -5, +13. Как делать будешь?


Над этим пока не думал. Может удастся обойтись без минусового?
.jpg90 Кб, 1771x656
53 518753
>>18749

> Может удастся обойтись без минусового?


Минусовый можно получить из плюсового элементарным buck-конвертером. Выставить в нём резисторами 5В. Входной + подключить правильно, там где должно быть выходное напряжение подключить землю, а из земли брать заветные -5В. Buck-конвертер будет работать на виртуальной земле VGND выставляя её так, чтобы VGND + 5 = 0 (потому что выход подключён к земле). Т.е. на выходе и будут заветные -5В. Пикрил.
54 518762
>>18749

>Под современной элементной базой имел ввиду микросхемы ОЗУ, ПЗУ совместимые с этими процессорами, но выпускаемые промышленностью на данный момент


Взаимоисключающие параграфы. Микросхемы с питанием 5В уже давно не выпускают. Все флеши и память сейчас 3.3, 2.5, 1.8в...
Только "недавнее" старье искать. Что бы не ныл - например A29040B-70F, K6T1008C2E-DB55, AT29C040A (довольно интересная - можно кусками по 256 байт перешивать), DS1245Y-70+ (ОЗУ как ПЗУ если батарея живая).

>>18749

>также важен прайс, он должен быть ниже современных микроконтроллеров, иначе овчинка выделки не стоит.


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

>также важен прайс, он должен быть ниже современных микроконтроллеров


>ибо экономически не выгодно



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 центов за чип, если больше - сразу идите нахер.
Жду счет на оплату с ценами, условиями и сроками поставки.
57 518766
>>18764

>и 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А по компорту).
58 518768
>>18749

>также важен прайс, он должен быть ниже современных микроконтроллеров


Посмотри цены на параллельные ПЗУ. Хотя бы 28C64, 27C64 и подобные, анон выше ещё упоминал. Так вот даже распайка на алиэкспрессе сейчас рублей по 50 за штуку. А ещё нужно ОЗУ, регистр для порта и что-то для дешифрации адреса. Это помимо напряжения +12, а -5 можно и не подавать, как-то будет работать, только без гарантий.

Поэтому никак оно не будет дешевле современных микроконтроллеров.
59 518770
>>18768

>цены на параллельные ПЗУ.


И даже последовательные 24C08 и прочие самые дешёвые на lcsc по $0.06 за штуку, при том что микроконтроллеры там же есть по $0.08.
Ну никак не будет дешевле готового микроконтроллера.
60 518773
>>18749

>Кстати, под эти профессоры есть ассемблер


Для 8080 разумеется. Можно ещё от z80 использовать.
Зато

>КР1801ВМ1


>КР1801ВМ2


Это pdp-11, первая сишечка для них и делалась.
1578475850194145642.jpg63 Кб, 905x905
61 518921
>>18768

>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."
62 518924
>>18770

>микроконтроллеры там же есть по $0.08


О, щас я тебя обоссу. К этим копеечным мк, которые, кстати, чаще всего OTP, нужен свой программатор. Для отладки требуется дорогая дев. борда, симулирующая работу этих мк. С тулчейном там всё настолько грустно и плохо, что ты охуеешь. Я уж молчу про всратую документацию на чинглише и отсутствие ерраты.
В общем, для говорящих хомяков и т.п. в миллионных тиражах есть смысл поебаться и заморочиться с этими копеечными мк, а для себя, для хобби они совершенно непригодны.
63 518927
>>18921

>Почему все забыли про программатор параллельной ПЗУ?


Потому что настолько очевидно что он необходим, что и писать не нужно. Если программатора нет, то придется разориться, самое простое взять на алиэкспрессе xgecu t48, около 4000 рублей стоит всего лишь.

>ДРЛ лампу для стирания этой классики.


На авито бактерицидную лампу взять. По любому дешевле программатора будет.

>>18924

>которые, кстати, чаще всего OTP


Если брать тот по ссылке выше на хабр (это не я притащил), то у них есть и перезаписываемые чуть дороже.

>Для отладки требуется дорогая дев. борда, симулирующая работу этих мк.


Отлаживайся на перезаписываемых.

>нужен свой программатор.


Для параллельной ПЗУ все равно нужен программатор.

>С тулчейном там всё настолько грустно и плохо, что ты охуеешь.


Для 8080 по сути только ассемблер будет, с ним и сравнивай.

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


Опять же сравнивай с КР580.

Не нравится такое, можно сравнить с STM32G030F6P6 за $0.67. Где найдешь дешевле параллельное ПЗУ, ОЗУ, регистр и мелочевку для дешифрации адреса?
64 518933
>>18927

>Не нравится такое, можно сравнить с STM32G030F6P6 за $0.67. Где найдешь дешевле параллельное ПЗУ, ОЗУ, регистр и мелочевку для дешифрации адреса?


Не ебу, к некрофилии отношения не имею.
Я лишь указал, что МК за 8 центов - это бесполезный хлам.
samie-umnie-ptici-voron-vorona-2.jpg48 Кб, 800x400
65 518938
Как же хорошо зашел троллинг про 8 центов.
>>18933

>Я лишь указал, что МК за 8 центов - это бесполезный хлам.


Хлам не хлам... Надо ТЗ читать:

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


>также важен прайс, он должен быть ниже современных микроконтроллеров


>прайс ... ниже современных микроконтроллеров


>прайс ... ниже



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

>>18749
Ты где? Народ уже соскучился, нашел и предложил варианты, а ты молчишь..
Дай угадаю - увидев слово "погромматор" уже сразу слился, так как стоит он сильно больше чем самый задроченный современный МК?
66 518941
>>18933

>Не ебу, к некрофилии отношения не имею.


Хоть википедию открыл бы. Этого хватило бы чтобы понять что у них внутри нет ни ОЗУ, ни ПЗУ и нужно лепить снаружи параллельные. И с питанием что-то делать.

>Я лишь указал, что МК за 8 центов - это бесполезный хлам.


Это очевидно всем. Только по сравнению с минимальной системой на КР580 эти микроконтроллеры очень даже ничего. Так что твое высказывание не в тему тут.
67 518947
>>18938

>или ищет дешевле 8 центов.


Даже STM32 из тех что помельче, будут дешевле чем докупать всю обвязку к КР580ВМ80А.
68 518950
>>18947
Пошла подмена понятий?

>Даже STM32 из тех что помельче, будут дешевле чем докупать всю обвязку к КР580ВМ80А.


Как собрался используя STM32 запускать КР580ВМ80А? Схемку нацарапай.
ОЗУ и ПЗУ допустим через wait сделаешь как и порты ввода-вывода. Чем тактировать собрался КР580ВМ80А? Ему 12В по хорошему надо с крутыми фронтами и уже не получится используя выводы с 5volt tolerant качать 12В сигнал.
В system guide написано что сигналы RDY и RESET не просто так идут через системный тактовый генератор - нужна жесткая привязка для синхронизации ибо можно загнать старичка в маразматическое состояние.
69 518951
>>18950

>Как собрался используя STM32 запускать КР580ВМ80А?


Никак. Тут сравнивали цены на готовые микроконтроллеры с ценой на всю минимальную обвязку КР580ВМ80А. Я про это и написал.

И если тебе так неймётся, бери лучше ВМ85.
70 518952
>>18951
А обвязка тут при том что у анона сам ВМ80А уже есть и тратиться ему только на "обвязку". И хочет он чтобы было дешевле готового микроконтроллера. Это если ты не читал обсуждение сначала.
199794606childhoodbyTaniDaReal.jpg398 Кб, 1200x900
71 518964
>>18921

> Может... Нинада?


Надо Федя… Надо! (ей обычной бактерицидной лампы хватит https://mysku.club/blog/aliexpress/76928.html )

>>18924

> О, щас я тебя обоссу. К этим копеечным мк, которые, кстати, чаще всего OTP, нужен свой программатор. Для отладки требуется дорогая дев. борда, симулирующая работу этих мк. С тулчейном там всё настолько грустно и плохо, что ты охуеешь.


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

>>18927

> Для 8080 по сути только ассемблер будет


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

>>18952
Ему, всё-таки, проще просто фапать и не выёбывааться: https://github.com/dekuNukem/FAP80 С аутентичной обвязкой тех времён есть смысл связываться только если хочется вспомнить молодость и DAT FEEL времён УМК-80 и Корвет-06Ц.
IMG20230219927.jpg1,5 Мб, 3869x2847
sage 72 518968
Моя заброшенная цацка.
Питание от 5В (вход снизу справа и там же виден преобразователь 5 в 12), -5 из микросхемки на 8 ног в нижнем левом углу.
Кварц где-то проебан из панельки. Снизу слева - вход для платки с stc8 которая подключает читает-пишет ОЗУ которое работает как ПЗУ.
MAX7128S в PLCC84 - клей для всего этого и декодер адресов.
Сверху типа системная шина для подключения периферии.
Грубые схемотехнические просчеты отправили ее на свалку и переделку.
Неужели это так сложно найти и собрать в нынешнее время то?
73 518973
>>18968

> Неужели это так сложно найти и собрать в нынешнее время то?


Таки да. Потому как регулярно оказывается, что КР1810ГФ84 есть только в одном магазине, том самом где нет КР1810ВН59. И оба с физлицами не работают.
74 518977
>>18968
Кокая няша
IMG20230219.jpg1,5 Мб, 4051x1856
sage 75 518980
>>18973
А некоторые напрягли свою клоаку и собрали маленькую каллекцию которая далеко не в 8 центов обошлась... На бумажке написано ПЛИСАНАМ
ВМ85 в верхнем правом углу. 589ИК03 нет (есть, на работке осталась, по фотке с полным комплектом деанон будет).
Зачем старье типа ВМ80А?
Народ на 589 серии (интеловская 3000) собирал аппаратный эмулятор i8080 который гнался на 10 МГц что ли (те раз в 5 быстрее оригинала). Сиди, собирай процессор на 589 серии. У них полное описание дается - и схема и прошивки и как работает..

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

Кому интересно отвериложить все это? Да, уйти от физических микросхем и перенести их в ПЛИС как есть, вместе с двунаправленными выводами (знаю что их нет в ПЛИС) так что бы взял любую CPLD и зашил туда любую микросхемку (естественно если она влезет по объему))
76 519030
>>18973

>КР1810ГФ84


Так это для ВМ86.
А так у меня на работе много 8284, среди хлама который недовыкинули. И КР580 много разных.

>И оба с физлицами не работают.


У anion.ru есть КР1834ГФ84А, КМОП версия этого, если я правильно понял.
77 519031
>>18980

>вместе с двунаправленными выводами (знаю что их нет в ПЛИС)


Есть. Только на ногах, а не внутри. Так что если не очень много, то снаружи можно ноги соединить для такого.
78 519032
>>18964

>Ему, всё-таки, проще просто фапать и не выёбывааться: https://github.com/dekuNukem/FAP80 С аутентичной обвязкой тех времён есть смысл связываться только если хочется вспомнить


Нет. Упоминалась минимальная система, ОЗУ+ПЗУ и один порт ногами дрыгать. Ни таймеров ни прерываний не требуется. Так что хватит гф24, ла3, вв55 или регистр, ну и сами памяти. Не упростит в таком случае CPLD ничего.
А ещё проще вм85 взять, тогда отпадает питание и гф24, бонусом получается немного прерываний.
flextri.png81 Кб, 868x412
79 519063
>>19031

>Только на ногах, а не внутри.


То что на ногах есть - знаю, это не новость. А вот то что внутри нет - пичалька. Приходится всякие 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 не в счет - их клоакой хуй версий.
80 519096
Хуйня какой-то этот ваш ПЛИС. Все настолько сложное, что интересный проект будешь делать годами, а всякие триггеры, АЛУ и мультиплексоры нет смысла реализовывать на кристалле и даже нельзя никому показать. Чисто умозрительное задротство.
81 519097
>>19096
Весь плис это душное сидение в моделсиме. Даже реализовать из рабочего ничего нельзя, все это - какие-то кубики, части одного целого, а все целое - проект на вечность времени. Веб-программирование и то интереснее, там хоть сразу получается что-то рабочее. Оправдывайтесь, говноеды.
изображение.png8,2 Мб, 4096x1940
82 519098
Анон с профессорами итт.

>>18938

>Ты где? Народ уже соскучился, нашел и предложил варианты, а ты молчишь..


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

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

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

>>18773

>Это pdp-11, первая сишечка для них и делалась.


Где бы её ещё найти...

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

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

>>19063

> Приходится всякие wishbone/avalon/axi/.../ шин изобретать


Чёт ты махнул. Достаточно самого простого арбитра шины.

>Может есть отвериложенные модельки ВМ86 ВМ88 и подобных процессоров?


А в чём сложность? Была бы только исчерпывающая документация.

Ещё тут по сусекам поскрёб, кой чего интересного нашёл. Позже покажу.
изображение.png8,2 Мб, 4096x1940
82 519098
Анон с профессорами итт.

>>18938

>Ты где? Народ уже соскучился, нашел и предложил варианты, а ты молчишь..


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

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

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

>>18773

>Это pdp-11, первая сишечка для них и делалась.


Где бы её ещё найти...

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

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

>>19063

> Приходится всякие wishbone/avalon/axi/.../ шин изобретать


Чёт ты махнул. Достаточно самого простого арбитра шины.

>Может есть отвериложенные модельки ВМ86 ВМ88 и подобных процессоров?


А в чём сложность? Была бы только исчерпывающая документация.

Ещё тут по сусекам поскрёб, кой чего интересного нашёл. Позже покажу.
83 519099
>>19096
>>19097
Что ты будешь делать когда тебе потребуется обработать сигналов штук 100 у которых частоты под 50 МГц, м?
Сдрисни отсюда, вебмакака.
84 519101
>>19099

>потребуется обработать сигналов штук 100 у которых частоты под 50 МГц


Это какой usecase? Откуда сигналы? Какая логика их обработки?
85 519102
>>19101
Пусть будет стрёмная хуёвая ФАР.
86 519106
>>19102
В оборонке работаешь?
87 519107
Какая логика применяется к таким сигналам? Преобразование Фурье?
divider.png8 Кб, 480x262
88 519137
Почему при помощи этого делителя частоты не получается поморгать диодом? Диод не горит и загорается только при нажатии ресет.
89 519143
>>19137
Ты бы хоть строчки нумеровал.

>загорается только при нажатии ресет


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

>Диод не горит


Потому что когда твой cnt инкриминируется по кругу, в нулевом состоянии он прибывает всего 1/10000000 от всего времени и ты тупо не видишь такие короткие подмигивания.
90 519154
>>19097
И чё тя не устраивает? Пишешь рандомизированный тестбенч, прогоняешь через него модуль, тест проходит успешно, получаешь свою порцию дофамина вместе с чувством превосходства над перекладывателями JSONов.
91 519155
>>19101
Если не нравится что предложил этот анон, могу предложить свое недавнее. Для видео из КМОП матрицы каждый кадр получать гистограмму, сделать гамма-коррекцию, усиление (умножение) со смещением (для вытягивания контраста), сделать линейный фильтр 5х5 и медианный 3х3 ну и ещё биннинг придется сделать. Автоматическая регулировка длительности экспозиции и установка значений для вытягивания контраста по полученной гистограмме уже в софт-процессоре.
Как будешь делать без ПЛИС? Можно конечно ДСП взять, но и с ними не так просто и я не умею их готовить
92 519156
>>19155
Ты ещё про дебайер забыл. Самая вычислительно сложная часть, если её по уму делать, с адаптивной интерполяцией по контурам изображения.
93 519158
>>19156
У меня монохромная матрица, мне проще. Цветные фигня для большинства задач, пишу как любитель звёзды фотографировать.
Из того что не написал, пришлось сделать ресайзинг. Делалось для замены камеры на другой матрице и нужно было со старыми объективами обеспечить прежние поля зрения. Я бы выбрал матрицу с другим размером пикселя чтобы так не извращаться, но начальник хотел заимствовать все из другого отдела, только прошивку немного скорректировать. Только не получилось, требовались слишком разные форматы на выходе. Да и схему пришлось переделать с импортозамещением всей мелочевки.
94 519284
>>19101

>usecase


Говори по-русски, прошмандовка ты пиндосовская.
100 Гбитый коммутатор. Как тебе такой юзкейс?
95 519293
>>19284
Виваду спиздил уже у кровавых пиндосов, патриот? Ты б лучше начал искоренение пиндосского влияния со своих 100гбитных коммутаторов. Ой, не можешь? ) А чё так? )))
96 519349
>>19284

>100 Гбитый коммутатор


Понятно. Но это все твоя работа, а не хобби. Получается что в качестве хобби на FPGA хуй что сделаешь.
97 519350
Блядь, проектировать дома коммутатор это как играться с радиоактивным цезием дома. Можно оборудовать свою хату под эту задачу, но только нахуя, если цель заняться хобби. Вот сделать SDR-радио на FPGA это уже интереснее и реалистичнее, только нихуя статей об этом нет.
98 519351
>>19350
А нахуя для этого FPGA? Основа любого цифрового радио - это OCHE BYSTRY ADC, прикрутить к нему какой-нибудь мк с USB 3.0 (или даже USB2.0, если скорости хватит) и всё остальное делать на пекарне.
99 519356
>>19293
Будут и коммутаторы. Всему своё время.

>>19349
>>19350
А кто говорил о хобби?
Если хочется хобби, то эмуляция ретрокомпов и приставок.
100 519364
>>18765
Уважаемый.. Почему счет еще не выставили?
Кое-как выбил такой невъебенный бюджет в пару баксов из тупых невменяемых безмозглых блядей в бухгалтерии которые трахают мозги за каждую ебучую копейку, а ты.. подводишь.

>>19098

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


>>18968

>MAX7128S в PLCC84 - клей для всего этого и декодер адресов.



>>19098

>Ещё тут по сусекам поскрёб, кой чего интересного нашёл. Позже покажу.


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

>>19137
Лол. Тоже так соснул когда пробовал писать часы в попытке вывести секунды. Ебнул еще триггер - заработало.
react15.png983 Кб, 1920x1080
101 519366
>>19356

>Всему своё время.



Ага. Время нелепой хуйне — всегда "сейчас". Время хорошим вещам — всегда "скоро". И с ходом времени, что характерно, это не меняется.
102 519367
>>19364

>Мне видится как отдельный мк который может переводить систему в сброс/захват шин, писать-читать ОЗУ,


>ПЗУ в системе нинужон как ебаная сова..


Не обязателен микроконтроллер для такого. Один раз пишешь бутлоадер в ПЗУ и далее им пользуешься без навешивания лишнего. Да, конечно адреса немного меняются, но это мелочи.
103 519368
>>19351

>какой-нибудь мк с USB 3.0 (или даже USB2.0,


Это cypress infineon fx2lp и fx3, наверное единственный вариант для такого. Или ты знаешь другие микроконтроллеры которые нормально подходят для такого? Только когда начнёшь реально что-то на них делать, то поймёшь что очень многое так просто к ним напрямую не подключить, нужно хотя бы мелкую плисину.
Это даже если ты уверен что нет задачи сделать автономный приемник и твой комп потянет все необходимое (если задача несколько больше чем послушать ментов или дедов).
104 519369
/ra/даны, а что применяют в дешёвых и не только гигабитных коммутаторах/свичах? Какие-то ASIC'и или ПЛИСины?
IMG20230202.jpg1,5 Мб, 2927x2552
105 519371
>>19367
Gotcha! Это один из жестких моих просчетов на первой версии.
Про Sprinter и подобные не надо.. Там Z80 со своими особенностями.
Когда нихуя не знаешь и облучение идет методом тыка - переконфигурация ПЛИС начисто валит всю систему когда процессор охуеет от непойми чего на входе из-за наводок Ставь pullup-pulldown? хуй там. Ну задашь NOPы - счетчик команд улетит в бесконечность, когда FPGA прогрущится - хер пойми с какого адреса будет читаться команда/данные.. С жалким подобием контроллЕра на CPLD - можно повесить триггер на захват шин или дернуть вейт - переконфигурить фпга и продолжить выполнение программы далее.

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

>>19368

>Или ты знаешь другие микроконтроллеры которые нормально подходят для такого?


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

>На огрызках найденных плат


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

>>19371

>мозгами поделишься


Ты накупил говна и не знаешь что с ним делать?

>FT601Q


Не стоит это трогать, оно так себе.

>CH569W


Этот, судя по описанию, уже многое может. Не знал.
107 519374
>>19373

>>На огрызках найденных плат


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


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

>>19373

>Ты накупил говна и не знаешь что с ним делать?


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

>>FT601Q


>Не стоит это трогать, оно так себе.


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

>>CH569W


>Этот, судя по описанию, уже многое может. Не знал.


Осторожно.. Говнецом попахивает. Даташита НЕТ! Есть огрызок где практически ничего не написано. Например покажи описание двух ДМА контроллеров внутри или сердес - только отсылка в лучшем случае - смотрите примеры на гитхабе.
Можно попробовать отсюда начать если будет что-то полезное:
https://hydrabus.com/hydrausb3-v1-0-specifications
108 519378
>>19374
Ты странный, высрал кучу малосвязного текста невпопад.
109 519393
>>19369

> ASIC'и или ПЛИСины


Оно.

>>19366

>Время хорошим вещам — всегда "скоро"


Потому-что хорошие вещи быстро не делаются.

>И с ходом времени, что характерно, это не меняется.


Ну в рамках импортозамещения много что появилось, даже перечислять не буду, сам найдёшь если захочешь.
Скажу что уже сейчас есть 100Мб коммутаторы с 1Гб оптикой для связи между собой. И это то что лично видел, может есть ещё что-то.
Также на hh видел вакансию на плисовода в контору которая как раз занимается высокоскоростными коммутаторами, сейчас вакансия уже закрыта, видимо нашли.
110 519461
>>19393

>Ну в рамках импортозамещения много что появилось


"Импортозамещено 99% компонентов" где 99% — это всякая обвязка и рассыпуха, а 1% — центральный чип, который не будет повторён никогда. Зато можно отчитаться с красивыми цифрами, создающими впечатление, что вот-вот всё импортозаместим на 100%, если не вдаваться в подробности

>вакансию на плисовода в контору которая как раз занимается высокоскоростными коммутаторами


На виртексах, которые удалось скрысить у пиндосов (по "параллельному импорту").
top.png12 Кб, 458x270
111 519659
Почему здесь возникает эта ошибка? Как ее убрать? Пример из книги Панчула "Цифровой синтез".

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"
112 519660
>>19659
А, в книге не так немного, лол.
113 519661
>>19660

>cannot be assigned more than one value


Оно тебе пишет человеческим языком, только не русским.
А именно ты более одного раза присваиваешь. Пятую строку убери.
114 519680
>>19659
А что означает вот этот синтаксис с точкой .s(key[0]) и в чем его отличие от s(key[0])?
115 519726
Где взять лицензию/кряк для gowin eda?
Хочу tang nano 9 k пощупать.
116 519728
>>19680

>что означает вот этот синтаксис с точкой .s(key[0])


Подключение проводов к твоему модулю по имени.
s - название входа модуля,
key - имя провода который подключается к входу s.

>чем его отличие от s(key[0])


Тем что так компилятор выдаст ошибку.
117 519855
>>19726

> Хочу tang nano 9 k пощупать.


Она educatioinal version поддерживается.
118 519948
Мне пришла Tang Nano 9k. Где у нее клок и как в Gowin IDE вызвать Pin Planner как в квартусе, чтобы задать соответствие между портами и пинами?
119 520064
>>18509
>>19098
Манагер, ты где??? Когда заявку >>18765 обработаешь?
Проект горит! СРОЧНА НАДА! Еще неделю назад!

Дай счет на оплату!
Xilinx или Altera? 120 520067
то есть "AMD или Intel?"

посоны, хочу вкатиться в ПЛИС, на раёне можно урвать примерно за одинаковую цену дев плату со Spartan 6 или со Stratix IV
стратикс новее, в несколько раз мощнее спартана, и круче в плане поддержки периферии, но меня намного больше волнует наличие софта под Linux и отсутствие всяких анальных огороженностей.
что из этих двух ПЛИСов удобнее в этом плане?
121 520068
>>20067
если это важно, модели плат - Xilinx Spartan 6 SP605 и Altera Stratix IV EP4SGX230
нужна именно PCI-express плата, юсб затычку не хочу
122 520071
заебал этот квартус. поставил 21.1 квартус прайм, попытался запустить симулятор --- хуй, ошибка была типа nativelink missgin ", оказалось надо было пофиксить строчку в скрипте для nativelink. потом questa стала требовать лицензию, зашёл на сайт получения файла лицензии, попросили зарегаться. заполнил поля, нажал "подтвердить почту", выдало ошибку "Password does not match pattern", нахуй удалил из поля ввода паттерн, прислали код на почту, ввёл, выдало "Password does not match pattern". достал регексп с формы ввода, сгенерил по нему пароль, вставил, рега прошла. пиздец просто.
123 520072
В каких документах для Tang Nano 9k надо смотреть, к каким пинам чипа привязан клок, светодиоды и кнопки?
125 520076
>>20074
Как этим пользоваться? Где посмотреть, например, на каком пине клок, а где кнопки s1 и s2?
126 520077
>>20076

> Как этим пользоваться?


Открываешь и читаешь, блять.
127 520079
>>20076
Эта ссыль, наверно, более лучще подойдет https://dl.sipeed.com/shareURL/TANG/Nano%209K/2_Schematic
128 520086
Пасаны, а как в целом китайцы по сравнению с синими и красными? Софт норм, багов много, стоит перекатываться если есть выбор?
129 520109
>>19461

>всякая обвязка и рассыпуха


По-твоему не нужна?

>центральный чип


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

>На виртексах, которые удалось скрысить у пиндосов (по "параллельному импорту")


Пока да. Пока своих плисин нет можно софт отрабатывать, а там глядишь и элементная база подтянется.
130 520119
>>20109

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


Лол.

>но опять таки, это временно


Тебе сколько лет, пять? Мне давно уже не пять лет, увы.
131 520188
>>20119

>Лол.


Хуёл.

>Мне давно уже не пять лет


А ума так и нет.
132 520211
>>20067
>>20068
отвечу сам себе: поддержка Stratix IV есть только в платной версии софта Intel® Quartus® Prime Standard Edition Software

а есть опенсорц или хотя бы бесплатное IDE с поддержкой Stratix IV?
133 520212
>>20211

> а есть опенсорц или хотя бы бесплатное IDE с поддержкой Stratix IV?


С какого перепугу?
scr.png143 Кб, 1022x704
134 520213
>>20211
кароч если очень хочется интел, то нужно искать дев кит с одним из этих чипов
135 520214
>>20212
да хз, я чото думал, что c FPGA так же, как с ардуиной - скачал бесплатное иде, хуяк-хуяк и мигаешь лампочками, а тут пиздецы какие-то с downloads по 25 гигабайт и анальными регистрациями.

с Xilinx всё так же плохо?
1306556149.zambukazambukacomputerwolf.jpg215 Кб, 1000x948
136 520227
>>20214

> да хз, я чото думал, что c FPGA так же, как с ардуиной


Здеся вам не тута. Там всё анально огорожено, единственное исключение: https://github.com/YosysHQ/nextpnr

> с Xilinx всё так же плохо?


Там ещё хуже: https://docs.xilinx.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices
Плюс

> Xilinx Unified Installer 2022.2 SFD (TAR/GZIP - 89.4 GB)

scr.png110 Кб, 1030x312
137 520228
>>20227
мда пздц.
спасибо, буду искать интелы/альтеры.
138 520230
в интернетах вроде пишут, что Lattice - нарм FPGA без анального рабства ну разве что самую малость, это правда?
чем они лучше/хуже по сравнению с Xilinx/Altera?
139 520244
>>20228
Ты идиот? На рутрекере забанен?
140 520246
>>20244
🤔 я так давно пользуюсь линуксом, что уже забыл про существование торрентов, лол
141 520247
>>20246
И не то что в игрушки не играешь, так ещё даже кинцо спираченное смотришь?
С опенсурсными сапрами все очень плохо, нечего тут удивляться. Даже чертить как следует не в чем. Фрикад это максимум, для любителей как я оно сойдёт, но оно же безнадежно сольет компасу например. И с остальными сапрами аналогично.
142 520251
>>20247

>кинцо


Почти никогда не стоит потраченного времени.

>игрушки


У Габена тупо удобнее. Не просто исталл в один клик, но и весь пердолинг с wine/proton выполняется автоматически без вмешательства пользователя.
143 520252
>>20247

> кинцо


не смотрю
>>20251

> игрушки


почти не играю что пару часов перед сном поаутировать в майнкрафт не считается
144 520311
>>20213
погуглив ещё немного, я узнал, что огромное количество логических элементов не нужно - для реализации софтового процессора типа https://github.com/f32c/f32c достаточно и спартана 6 или циклона 4.
гуглю дальше.
думаю, остановлюсь на циклоне 4 или 5.

>>20230
бамп вопросу
145 520474
>>18749
Уважаемый менеджер, Вы куда пропали?
Заказ горит, а Вы еще счет на оплату и согласование не выставили. Что мне говорить за проеб сроков из-за Вашей нерасторопности?
СРОЧНО НУЖЕН СЧЕТ НА СОГЛАСОВАНИЕ!!!! СРОЧНА!!!
>>18765
146 520514
Анон с профессорами репортинг.

>>19364

>Вот тебе реально впадлу найти пару микросхем для запуска классики жанра под названием 580ВМ80А?


Моет быть, когда-нибудь, но это не точно. Дел и без этого хватает.

>ПокажЫ!


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

>>20474
>>18765

>Уважаемый менеджер, примите заказ:


>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 шт


Это ещё зачем?
147 520530
>>20514
Да вы батенька мажор... Есть же игрушки из 580 серии.
Например 580ВИ53 - таймер и рядом 580ВВ51А - компорт можно собрать (и написать бутлоадер как завещал анон >>19367 )
589ИР12 - порт ввода ИЛИ вывода (только одно направление навсегда) или его в мусор (ладно, к 580ВТ57 приделаешь и получишь 4х анальный ДМА) и взять 580ВВ55А - получишь целых 3 порта по 8 бит.
537РУ10 - внезапно ОЗУ на целых 2 килообайта!
Если любишь аборты и прерывания - 1810ВН59А.

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

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

По поводу поста >>18765

> И где это можно купить?


Ты же менеджер по продажам, сам должен найти где купить и главное - менее чем 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 на литиевую батарейку делать. Процессы там медленные и нужны медленные АЦП что бы записывать и смотреть как идет заряд-разряд батареи. Судя по параметрам этих АЦП их с огромным скрипом и натягом должно хватить на жалкое подобие детекторного приемника с околонулевой селективностью.
И вообще - какая разница менеджеру куда и зачем такие детальки? Его задача найти где купить, накрутить цену и продать. Когда счет выставишь то? Долго еще ждать? Начальство уже все злое ходит из-за срыва сроков поставок..
148 520531
О
149 520544
>>20530

>580ВИ53


Можно синтезатор собрать:
https://www.youtube.com/watch?v=dFLmm1hbago
150 520558
А что за клоны хилых есть у китайцев и сколько они стоят?
С pango еще никто не работал?
151 520571
>>20558

> А что за клоны хилых есть у китайцев


Вам не дадут. Это для солидных людей с юридическим еблом, а не для гаражных ниггеров: https://electronix.ru/forum/index.php?controller=topic&id=165881
152 520623
>>20230
да, они не очень огорожены - раздают бесплатные лицензии для iCE40
https://www.latticesemi.com/Products/DesignSoftwareAndIP/FPGAandLDS/Radiant

если есть какие-то неочевидные нюансы - напишите, пожалуйста.
153 520631
У меня есть плата cmod A7 35T. Нашел schematic к ней, а там у диодов не подписаны пины, к которым они соединены. Может я слепой, где тут указаны пины для кнопок и диодов?

https://digilent.com/reference/_media/reference/programmable-logic/cmod-a7/cmod_a7_sch.pdf
154 520641
>>20631
Смотри лучше. 3 страница нижний левый угол. Читаем название выводов и идем на правую часть 1й страницы. Сопоставляем.
155 520757
Как в FPGA реализуется получение, хранение, коммутирование и выдача данных, например, при решении уравнений?
156 520758
>>20757
На мутный и общий вопрос мутный и общий ответ в Альтеровской нотации.

> получение


> выдача данных


Через блоки вводы-вывода. Можно параллельно или последовательно в виде униполярных или дифференциальных сигналов, можно через блоки SERDES (только в последовательном виде).

>хранение


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

> коммутирование


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

https://marsohod.org/11-blog/265-fpga
157 520759
>>20758
Я имел в виду, как все это делается на той стороне, с которой работает инженер. Как инженер загружает данные в ПЛИС, как эти данные там хранятся, как они выгружаются обратно. Типа как база данных и бизнес-логика для обработки данных на бэкэнде джава.
158 520760
>>20759
Ну вот например, можно загрузить данные для обработки по uart или как-то еще? Хранить их в регистрах, массивах или писать какой-то буффер типа очереди или стека? Вот это меня интересует
159 520766
>>20760
Берёшь ip ядро уарта, или делаешь свой. Пользуешься.
160 520773
>>20760
У тебя странные рассуждения. Там ведь по сути схема создаётся, пусть из одинаковых ячеек. И рассуждать нужно применительно к схеме, а не языку программирования. Это если про синтезируемый код конечно.

>массивах


Для начала ответь на вопрос о том как это будет выглядеть внутри плисину, что будет задействовано и в каком количестве. И про остальные буферы то же самое. Как начнёшь понимать вот это, то и твой вопрос сам отпадет.
161 520785
>>20760

> можно загрузить данные для обработки по uart или как-то еще?


Можно и по uart. Из распространённых протоколов есть ещё Ethernet и по желанию стек tcp/ip.

>Хранить их в регистрах, массивах или писать какой-то буффер типа очереди или стека?


Можно и в регистрах, если массив небольшой. А можно и в ОЗУ - если большой. Очередь или стек, если опять таки большие, делаются на базе ОЗУ, а что именно из этого это уже по ситуации, что удобнее.
162 520794
Есть один кинтекс7, точнее не есть, а будет через пару недель. Но к тому моменту нужен минимально рабочий проект. В проекте понадобятся встроенные dsp. Я с ними ни разу не работал, да и вообще в плисах опыт совсем чуть больше нуля и только со спартанами6. Так что реквестирую способы симуляции для него.
Могу ли я поставить принудительно лицензированную виваду и посмотреть там RTL того, что понапишу на верилоге? Увижу ли я в этой RTL, что dsp48e1 используется? Есть ли у неё встроенный симулятор как у ISE, и что он симулирует, только поведение модуля, описанного верилогом, или прям полностью то что есть в ПЛИС?
163 520807
>>20794

>реквестирую способы симуляции для него


В коде пишешь m <= a * b; и симулируешь. В редакторе схем смотришь, что оно синтезируется в DSP48.

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



Да, да, да, да, ни то ни другое, а собственную модель, которая по задумке должна совпадать и с поведением кода, и с поведением блока в плис. Если то, что ты написал, невозможно синтезировать в DSP48 (например, требует больше бит, чем есть), синтезатор не будет пытаться изменить поведение кода, чтобы впихнуть его в DSP48, а просто сделает простыню из LUTов. В таком случае надо открывать даташит/гайдлайны и искать, какие части переписать.
164 520861
>>20807
О, класс. Спасибо!
165 521040
Почему в тестбенче в переменной q всегда значение 'x'? Оно должно меняться при изменении состояния триггера.
166 521046
>>21040
Потому что у тебя описан триггер с динамическим управлением, т.е. оно должно срабатывать при изменении clk с 0 на 1. А такое изменение у тебя в тестбенче только в одном месте - 11 и 12 строки, но там у тебя j=k=1, а значит оно должно проинвертировать свое состояние там. Только начальное значение у тебя неопределенно, т.е. 1'bx, соответственно инверсия также даёт 2'bx. Измени тестбенч, можешь ещё задать начальное состояние триггера.

Также jk триггеров со статическим управлением (то есть как предусматривает твой тестбенч) не бывает толком, потому что при j=k=1 оно превратиться в генератор. Конечно есть варианты, но пока не стоит рассматривать их.
167 521047
>>21046

>также даёт 2'bx


1'bx, по кнопке промазал.
1.png18 Кб, 628x329
168 521048
>>21046
Это вот так делается, чтобы был переход clk с 0 на 1? Все равно в q находится x.
169 521051
>>21048
Задержку добавь после clk=0 везде.
170 521161
почему пишет
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
171 521163
>>21161

>REG[8i+7:8i] = REGA[7:0];


REG[8✶i+7:8✶i] = REGA[7:0];
172 521164
>>21161
Можно было бы подумать, что с массивами так не работает, но нет, такой код вполне компилится:

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

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
172 521164
>>21161
Можно было бы подумать, что с массивами так не работает, но нет, такой код вполне компилится:

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

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
173 521213
>>21164
Верилог не может выбирать подмассивы с границами, которые заданы переменными. Даже если код написан так, что ширина подмассива всегда постоянна.

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

То, что ты хочешь, можно сделать при помощи 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
174 521217
>>21213

>Верилог не может выбирать подмассивы с границами, которые заданы переменными. Даже если код написан так, что ширина подмассива всегда постоянна.


Всё равно не понял.

Здесь >>21161

>REG[8✶i+7:8✶i] = REGA[7:0];



и здесь >>21164

>REGB[j] = REGA[j][7-i];



используется переменная в индексе массивов, но один код компилится, другой почему-то нет.
175 521219
>>21164
Тут не происходит выбора подмассива с некоторой вычисляемой (и поэтому формально неизвестной) шириной. Либо выбор элемента из массива, либо выбор одного бита.

И КСТАТИ НЕ ОРИ КОГДА ДАЁШЬ НАЗВАНИЯ ЦЕПЯМ И РЕГИСТРАМ, ЭТО СМОТРИТСЯ СТРАННО. ОРУТ ОБЫЧНО КОГДА НАЗЫВАЮТ ПАРАМЕТРЫ МОДУЛЯ
176 521225
>>21219

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


Как-то ты витиевато пишешь.
В общем я разобрался, вот так работает
for(i=0; i<=31; i=i+1)
REG = REGA[i/8][i%8];

Недопустимы переменные в левой части присвоения.
177 521229
>>21225
Во-первых, не работает. У тебя всё присваивается в младший бит.

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

for(i=0; i<4; i=i+1)
for(j=0; j<8; j=j+1)
REG[i*8+j] = REGA[j];
178 521230
>>21229
Очепятался мальца
>>21225

>REG = REGA[i/8][i%8];


REG = REGA[i/8][i%8];

И оговорился в добавок

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


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

У тебя как раз вычисления

>REG[i*8+j] = REGA[j];


так не сработает.
179 521231
>>21230
сука, мамка разметку жрёт
REG[ i ] = REGA[i/8][i%8];
reactnisekoi.png425 Кб, 2221x1790
180 521232
>>21230

>так не сработает.


Чел, ты попробуй.
181 521233
>>21231

> мамка


ты ещё и с мобилы капчуешь?
182 521234
>>21231

>мамка разметку жрёт


Ага, по ней это сразу видно)))
183 521237
>>21233
>>21234
Вообще пиздец.

>>21232
Попробовал
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"
184 521259
>>21237
Так, секунду. Мамка сожрала разметку)))

for(i=0; i<4; i=i+1)
for(j=0; j<8; j=j+1)
REG[i*8+j] = REGA[i][j];
185 521316
Почему этот счетчик не считает и модуль не мигает диодом?
186 521319
>>21316
Та же проблема, что >>19137
187 521340
>>21259
А, ты хочешь сказать что НЕдопустимы вычисления в диапазонах?
Т.е. REGA[xy] допустимо, а REGA[xy:x*y+1] уже нет?

Ну хорошо, а чем тебе мой >>21231 вариант не угодил?
188 521341
>>21340

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


Оу уж эта мамка

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

Или даже может так
REGA[x:x+1] - недопустимо?
189 521348
>>21340
Ну вот, ты понял. А всего-то надо было чуть-чуть вчитаться, если сходу не дошло.

>Ну хорошо, а чем тебе мой >>21231 вариант не угодил?


Тем, что это нечитаемо и неподдерживаемо. Если через месяц тебе надо будет что-нибудь там подправить, то вспомнить, что ты имел в виду, потребует больше времени, чем нужно было, чтобы это придумать и написать.
190 521352
Есть ещё варик, когда вычисляется одна граница, а ширина явно даётся константой: REG[8*j +: 8] = REGA[j];

В икарусе это поддерживается. Тут надо иметь в виду, что в разных инструментах одна и та же конструкция может поддерживаться, а может и нет.
191 521386
Хорошая плата? Хочу себе плату с переключателями, индикаторами и периферией.

https://aliexpress.ru/item/1005003530412307.html?sku_id=12000029522416357&spm=a2g2w.productlist.search_results.10.5b324aa6LGogUI
192 521393
>>21386
Ищи с циклоном 4, первый циклон совсем уж днище. А периферия тут обычная, за такие деньги богаче не найдёшь.
Screenshot2023-03-1511-43-36.png5 Кб, 164x224
193 521418
>>21386

> EP1C3T144


Как там у вас, в 2003?

> Хочу себе плату с переключателями, индикаторами и периферией.


Накинь тысчёнку другую и«Get a real computer!»:
https://aliexpress.ru/item/4000837637863.html
https://aliexpress.ru/item/1005004653308809.html

Ну или возьми Tang Nano 9K, вдвое дешевле и для хлебницы :
https://www.aliexpress.ru/item/1005003803994525.html
194 521419
>>21418

>Tang Nano 9K


Уж лучше древний квартус из 2003, чем говеновское еда.
195 521423
Кстати, Gowin умеет в Ethernet MAC?
Какой DDR можно к нему подцепить?
196 521428
>>21418

>https://aliexpress.ru/item/4000837637863.html


Для этой штуки схема есть? Посмотреть, куда подключаются семисегментные индикаторы.
197 521436
>>21428

> Для этой штуки схема есть?


А хуйЪ его знает. На их сайте только для варианта с шестым спартаном: http://piswords.com/pix16.html

P.S. На вот эту плату https://aliexpress.ru/item/1005002986003759.html точно есть: https://github.com/jvitkauskas/Altera-Cyclone-IV-board-V3.0
198 521437
>>21423

> Кстати, Gowin умеет в Ethernet MAC?


В теории — да: http://cdn.gowinsemi.com.cn/IPUG538E.pdf
1.png11 Кб, 414x278
199 521439
Почему схема не работает? Сигнал clk подсоединен к кнопке, сигналы lfsr[0]-lfsr[7] соединены с диодами. Диоды должны загораться случайно при нажатии на кнопку, а они горят все одновременно. Плата C4E6/E10-CORE
1.png15 Кб, 637x406
200 521443
>>21439
А в ввиваде lfsr8 нормально симулируется, случайные числа генерируются.
1.png19 Кб, 785x236
201 521444
>>21443
Вот что у меня в пин планнере.
202 521449
>>21439
Открой implemented design→schematic и проверь, что схема соответствует ожидаемому.
1.png13 Кб, 774x437
203 521450
>>21449
Вроде соответствует. Три xor гейта и регистр сдвига (7 триггеров)
204 521451
>>21439
1. Не факт что присвоение в шапке модуля синтезируемо.
2. Куда у тебя подключена кнопка, к clk чтоль?
205 521453
>>21450
Ресет возник из ниоткуда, куда он выведен? Он наводки не ловит? Попробуй пару диодов отсоединить от регистра и подключить к clk и reset, чтобы смотреть, что на них происходит.
1.png13 Кб, 475x320
206 521455
>>21451

>Куда у тебя подключена кнопка, к clk чтоль?


Да, тактирую руками

>>21453

>Ресет возник из ниоткуда, куда он выведен?


Дописал потом. Выведен на вторую кнопку.
207 521459
>>21455
1. Убедись что кнопка в отжатом состоянии даёт 0, очень может быть что наоборот.

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

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

4. Кнопка даёт дребезг, но сейчас это значение не имеет.
208 521460
>>21459

>initial lfsr <= 8'd255;


Спасибо, помогло.
209 521461
>>21459

>Убедись что кнопка


Кнопка ресета.
210 521474
Задам пару нубских вопросов.

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

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

>А всего-то надо было чуть-чуть вчитаться, если сходу не дошло.


Просто ты витиевато пишешь, сказал бы сразу

>в диапазонах недопустимо



>неподдерживаемо


Кактус вполне синтезит.

>потребует больше времени


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

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

И ещё, решил полистать стандарт на верилог и не нашёл где указывается разрядность переменных типа integer и time. Я не думаю, что это оставили на усмотрение разработчикам компиляторов, во всех книжках пишут, что integer это 32 разряда.
212 521490
Есть какие-нибудь возможности программировать FPGA на си или C++? Вроде в виваде есть какой-то HLS. Было бы интересно писать параллельные алгоритмы на высокоуровневом языке.
213 521492
>>21474

> ПЛИС можно программировать, вроде, без написания кода собирая цифровое устройство визуально


Да. Только зачем? Что-то стоящее таким образом не соберёшь - устанешь. Для этого придумали автоматизацию, называется HDL, оно же языки проектирования аппаратуры. Грубо говоря, если тебе нужно нарисовать счётчик на 64 разряда, то ты бы все 64 разряда рисовал руками, на HDL достаточно создать один разряд и поставить его в цикл на 64 раза.

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


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

>>21474

>Так как ПЛИС это не микропроцессор то стабильность работы у нее будет выше?


Не факт.
В старом железе, где процессор и ОЗУ были связаны между собой шиной проходящей по печатной плате, на эту шину можно было легко навести помеху от чего программа сбоила. Там да, стабильность была низкая.
Микроконтроллеры это тоже схема из

>счетчики всякие, дешифраторы и прочее


вместе с ОЗУ выполненные интегрально и навести туда помеху уже не так просто.
Так что скорее всего на ровне.
214 521493
>>21490
Копай в сторону SystemC
О нём давно говорят, но что-то как средство синтеза, как и прочее на эту тему, пока не взлетает.
215 521494
>>21492

> Да. Только зачем? Что-то стоящее таким образом не соберёшь - устанешь. Для этого придумали автоматизацию, называется HDL, оно же языки проектирования аппаратуры. Грубо говоря, если тебе нужно нарисовать счётчик на 64 разряда, то ты бы все 64 разряда рисовал руками, на HDL достаточно создать один разряд и поставить его в цикл на 64 раза.


Да не умею я просто в программирование. Вот и подумал что можно было бы что-то не сильно сложное запрограммирвать визуальным соединением блоков.

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


Хм, вот как.

> Не факт.


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


> Микроконтроллеры это тоже схема из


> вместе с ОЗУ выполненные интегрально и навести туда помеху уже не так просто.


> Так что скорее всего на ровне.


Спасибо.
216 521509
>>21494

>Да не умею я просто в программирование. Вот и подумал что можно было бы что-то не сильно сложное запрограммирвать визуальным соединением блоков.


тогда бери owen logic
217 521516
>>21509
Спасибо.
218 521521
>>21494

>Да не умею я просто в программирование.


Ну чё, в Квартусе есть графический редактор.

А вообще можешь начать
https://www.youtube.com/@Jack0v/playlists
219 521531
>>21486

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


"Поддерживаемость кода" это про другое — https://www.brcline.com/blog/5-tips-write-maintainable-code

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


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

>Я отличий не заметил.


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

>>21474

>нечему зависнуть в отличие от целого микроконтроллера


Мигалки на микроконтроллерах тоже не виснут. А в ПЛИС, как только дело дойдёт до конечных автоматов, они тоже охотно начнут виснуть. Железные проблемы в причинах зависаний играют куда меньшую роль, чем способность продумать все сочетания состояний и условий в достаточно сложных системах (или простая криворукость).
221 521533
>>21531

>имели бы уже разные значения (-5 и +3)


Фиксед
222 521534
>>21474

>нечему зависнуть в отличие от целого микроконтроллера


Ошибаешься. Нечему может быть только в двоичном счётчике, потому что как конечный автомат он бывает во всех возможных состояниях и соответственно выходит из них. А если взять счётчик считающий как-то особо, например выше был пример сдвигового регистра с обратной связью (М-последовательности генерит), то если регистр в нем сбросится в 0 из-за помехи или ещё какого сбоя, то из этого состояния он уже не выйдет. То же и с двоично-десятичными счётчиками может быть, в зависимости от их схемы, да наверное почти во всех более-менее сложных схемах есть возможность подзависнуть при возникновении таких явлений.
Это даже если не рассматривать внутренности плисин и другие явления.
223 521536
>>21532

>Эти возможности не особо популярны потому что они пока не могут сравниться с RTL по скорости работы и ресурсоэффективности.


Я конечно не в теме, но мне кажется что ты ошибаешься. Как пример - chisel, там не какой попало код на скале, а код написанный с использованием соответствующих классов. В результате это почти тот же верилог, только поверх скалы. Вот только скала существенно сложнее верилога будет. Из такого популярного на этом чизеле сделали несколько RISC-V ядер, которые как видно по ресурсам ничем не уступают верилоговским.
224 521538
>>21536

>В результате это почти тот же верилог, только поверх скалы


Вот именно. Chisel это не HLS, то есть не описание алгоритма, которое синтезируется в схему, а описание схемы.
225 521605
>>21536

>скала


?
227 521647
>>21521
>>21532
>>21534
Спасибо.
228 521651
>>21531
>>21533

>-3'd5 и -3'sd5 имели бы уже разные значения (-5 и +3)


Как -3'd5 даст -5, когда пятёрка требует три разряда? Какой смысл вообще с такой записи, для знакового бита места же нет.
229 521666
>>21651

> Как -3'd5 даст -5, когда пятёрка требует три разряда?


А вот так и даст: https://verilogguide.readthedocs.io/en/latest/verilog/datatype.html#number-representation
230 521667
>>21666
Бля, обосрался с недосыпу…
231 521669
>>21651

>Как -3'd5 даст -5, когда пятёрка требует три разряда? Какой смысл вообще с такой записи, для знакового бита места же нет.


Это может быть какой-нибудь дефайн, который в одном месте используется без минуса для присваивания в регистр шириной 3 бита, а в другом — с минусом вычитается из числа размером 10 бит. В любом случае, исходный вопрос был "чем отличается", а не "какой смысл".
232 522212
VHDL был придуман во времена, когда казалось, что если инженера много пиздить, он будет писать более качественный код.

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

VHDL должен быть запрещён как способ бесчеловечного обращения.
233 522213
Когда в Таиланде обезьян заставляют собирать кокосы, держа их на цепи, защитники прав животных бойкотируют добытое ими кокосовое молоки. Но VHDL продолжает использоваться на живых людях.
234 522220
Как на FPGA сделать паузу/задержку сигнала с заданной длительностью? Например, чтобы по нажатию на кнопку сразу загорелся один диод, а спустя секунду (или другой период времени) - второй диод.
235 522229
>>22220
Счётчик+компаратор. По нажатию кнопки — сброс в ноль, по отпусканию — счёт до нужного значения, по достижении значения — включение светодиода и остановка счёта.
236 522230
>>22229
Нажание и отпускание это always @(posedge) и always @(negedge) соответственно?
237 522231
>>22230
Ненененене. Даже не думай. Posedge и negedge для другого (для тактирования). Почитай, что такое комбинационная логика, последовательная логика, синхронная логика. Вообще забудь, что внутри always @(posedge ...) может быть что-то кроме clk, и забудь, что существует negedge, мой тебе добрый совет. Когда поймёшь, что кроме always @(posedge clk) тебе больше ничего и не требуется, можешь на секунду вспомнить про negedge и асинхронные резеты, а потом снова забыть про них нахуй.
238 522232
>>22230
Нет. Сначала надо на кнопке подавить дребезг, потом выделить фронт, потом сохранить фронт как событие в триггер, и уже этим триггером инкриминировать счётчик.
https://youtu.be/PdfDkC3Jbpk
1.png15 Кб, 492x463
239 522234
>>22231
Не так примерно?
240 522236
>>22234
Я ж тебе сказал — забудь, что внутри always @(posedge ...) может быть что-то кроме clk. Но ты проигнорировал, и поэтому тебя ждёт расплата — то, что ты написал, не синтезируется. Добавь во второй блок always ещё один if, который будет обнулять счётчик, stop и led_state, а первый блок выкинь, чё ты.
241 522239
>>22234
И ещё одно правило: забудь, что внутри always @(posedge clk) могут смешиваться <= и =. Всегда используй <= и только <=. Это поможет избежать трудноуловимых проблем, когда симулятор и железо работают по-разному. Использовать = внутри блоков always можно только c @(*), которые синтезируются в комбинационную логику (и там, в свою очередь, нельзя использовать <= )
1.png14 Кб, 440x445
242 522251
У меня на плаче 6 диодов, все они подключены к сигналам leds. Почему мой код зажигает их через один? То есть 2, 4, 6, а 1 и 3 не горят?
243 522255
>>22251

>20 строка


Тебе же анон говорил

>Вообще забудь, что внутри always @(posedge ...) может быть что-то кроме clk


Ты тактируешь сдвиговый регистр по сути выходом комбинационной схемы.
244 522295
>>22255

>Тебе же анон говорил


А как тогда использовать делители частоты?
1.png13 Кб, 432x395
245 522297
>>22295
Получается, что лучше делать вот так?
246 522298
>>22295

>А как тогда использовать делители частоты?



В большинстве случаев, когда тебе кажется, что тебе надо 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 ...
247 522426
>>22297
11 строчка не нужна, по умолчанию и так 0 будет.
Буттон и tick-хуик вообще не используются.
А так с виду код рабочий.
248 522476
>>20067
Lattice.
249 522479
>>22476
Посоветуешь дев плату lattice на али экспресс?
250 522492
>>22479
Уровня двух вышеуказанных моделей? Нет.
251 522495
>>22492

>Уровня двух вышеуказанных моделей?


Любую, на которой можно диодом помигать.
Вот это хорошая плата? https://aliexpress.ru/item/1005005307666482.html?algo_pvid=null&algo_expid=null&spm=a2g2w.productlist.search_results.0.65c1448famHu9v&sku_id=12000032572212017

Что у нее за контакты такие? Штыревых контактов вообще нет. Как ее программировать и подключать к ней периферию?
1.png11 Кб, 401x379
252 522498
Для чего этот код? Взял его здесь https://github.com/wuxx/Colorlight-FPGA-Projects/blob/master/src/5a-75b-v7.0/blink/blink.v
253 522511
>>22495
В шапке плата с 25к LUT со штырями. За 1к рублей можно на алике найти. Со штырями. На гитхабе есть репозиторий с описанием и мануалом по работе с ней.
254 522513
Есть книги по цифровой обработке сигналов на FPGA? Что почитать по этой теме?
image616 Кб, 923x1251
255 522525
>>22498
Держи ебать.
Только твой скрин вообще не похож на твою ссылку.
256 522560
Почему так получилось, что после выполнения строки code <= codeword слева от присваивания стало 0x55, а справа 0x5C? Должно быть равенство.
1.png23 Кб, 768x529
257 522585
Почему подсвечивается ворнинг?
258 522610
>>22560
Ещё раз предлагаю тебе почитать про комбинационную логику, последовательную логику, синхронную логику.

HDL это не ещё один язык программирования, его не получится освоить, просто запомнив синтаксис.
259 522611
>>22525
А если скормить ему сделанное им же описание (заменив "этот код описывает модуль, который" на "напиши на верилоге модуль, который"), напишет чего-нибудь?
261 522641
>>22638
rst_s лбъявлять нужно было как wire и похоже что он генерить будет.
262 522668
>>22641

>и похоже что он генерить будет



Три модуля — три мигалки. "Тот, у кого из инструментов есть только счётчик с компаратором, склонен рассматривать любую проблему как деление частоты."
263 522669
>>22668
"Тот, у кого из инструментов есть только делитель частоты, склонен рассматривать любую проблему как мигалку светодиодом."
1.png31 Кб, 551x469
264 522908
Анон, как на верилоге реализуется этот переключатель с двумя положениями "вверх-вниз"? Вроде как-то при помощи элементов "и" можно его реализовать. Как вообще в целом эта схема реализуется? С регистром сдвига все понятно, но этот переключатель взрывает мне мозг.
1.png10 Кб, 394x387
265 522909
>>22908
Почему у меня кодер с первой картинки кодирует неправильно? Появляются иксы в последовательности: 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
1.png10 Кб, 394x387
265 522909
>>22908
Почему у меня кодер с первой картинки кодирует неправильно? Появляются иксы в последовательности: 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
266 522910
>>22909
Поправил тестбенч, но все равно последовательность генерируется не та https://pastebin.com/6sdm4HTd
1.png13 Кб, 375x458
267 522911
Как сделать, чтобы после поступления очередного бита из сигнала in увеличивался счетчик counter на единицу?
268 522923
>>22908
wire result = (bit_counter > 11) ? lower_datapath : higher_datapath;

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

wire feedback = (counter > 11) ? higher_datapath : 0;
269 522937
>>22908
Я вторую схему попытался сделать https://pastebin.com/bKr67ZtH

>>22923
Что-то не вычисляются проверочные символы, в конце выводятся все нули. Где я ошибся?
1.png19 Кб, 503x584
270 522939
>>22937
Вот скрин кода
271 522958
>>22939
У тебя счётчик делает 16 отсчётов, хотя слово+проверочный код имеют длину 15, т.е. счётчик должен проходить значения 1-15 или 0-14, как тебе удобнее, только сравнение bit_counter > 11 поправь на bit_counter >= 11

Ещё у тебя на нулевом значении счётчика обнуляются регистры. Если при этом на входе считывается бит, то он пропадает вникуда.
1.png25 Кб, 637x735
272 522959
>>22958
Как-то так получается? Счет сделал 0-14.

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

logic [3:0] divider = 4'b0000;
logic [3:0] buffer = 4'b0000;
logic [3:0] bit_counter = 4'b0000;
1.png29 Кб, 645x738
273 522960
>>22959
Точнее, вот так вот?
274 522964
>>22960
Смотри на симуляторе. На нём виднее.
275 522970
>>22959

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


Лучше резетом. Всегда полезно иметь резет для логики, которую требуется инициализировать (обычно это только часть логики, к тому же небольшая, поэтому много ресурсов не уходит).
1.png16 Кб, 581x491
276 522974
>>22970
А лучше делать отдельными if'ами или одним целым if-else if - else? Если подать сразу два сигнала reset и enable, может быть путаница.
277 523002
>>22974
Я всегда делаю только через цепочку if-else, чтобы однозначно понимать, что конкретно является результатом на данном такте. Выполняться должна только одна ветка. Сперва идут проверки условий с наиболее высоким приоритетом, потом, соответственно, в порядке уменьшения.
278 523012
>>23002
То есть не должно быть нескольких if-else, if-else, if-else в одном блоке always @(posedge clk)?
279 523013
>>23012

Я имею в виду, что если есть, например, 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 выполняется только одна ветка, происходит только одно присвоение <=.
280 523250
>>20514
Уважаемый менеджер! Вы куда делись?
Начальник уже начинает натягивать на огромный хер с узлом за тотальный срыв сроков поставки деталек под проект.

Когда выставишь счет на оплату по заявке? >>18765
СРОЧНО! План горит!
281 523293
>>23250
Мы же уже всё обсудили, данная комплектация не имеет под собой разумного технико-экономического обоснования, да ещё и поставщики так и не найдены.
282 523334
>>23293

>Мы же уже всё обсудили


Когда и с кем? Менеджеру должно быть поебать что продавать, а вот насяльника - согласована пара вариантов на пробу для сравнения на практике какой из вариантов будет лучше.

>данная комплектация не имеет под собой разумного технико-экономического обоснования


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

>поставщики так и не найдены


Это точно косяк менеджера по продажам.. Когда найдутся? Реально, очень надо! уже больше месяца ждем!! Проект горит!!
Как-то не очень возбуждает когда тебя чуть ли не каждый день ебут в жопу за срыв сроков. Платы уже закоксовались под толстенным слоем пыли.
1.png21 Кб, 520x566
283 523434
Как вывести такой синусовый сигнал на динамик? В динамике только два провода, а компонентов сигнала целых 8!
284 523436
>>23434
Дельту-сигму делай.
285 523453
>>23434

>case на 256 вариантов



Выглядит пиздец стрёмно. Подозреваю, это синтезируется в восемь 256-входовых ЛУТов. Если вивадо догадается это синтезировать в один BRAM — моё увожение, но что-то мне подсказывает, что нет.
286 523501
>>23434
Нужен цифро-аналоговый преобразователь, АЦП - микросхема специальная, преобразующая двоичный код в аналоговый сигнал.
287 523502
>>23501

>АЦП


*ЦАП
288 523514
>>23501
Не нужен. Точнее, не необходим. Есть дельта-сигма, есть ШИМ.
289 524198
Господа, прошу помощи.
Кусок кода работает не так, как я хочу. Почему - не понимаю.
Я, условно, хочу считать 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.

Кусок кода прикладываю. Если я что-то глупое написал сильно не ругайте, это моя первая поделка.
290 524209
>>24198

>В уме это у меня так: buff[120]



Симулятор говорит, что он у тебя размер имеет только [6:0]
Но это самая меньшая проблема этого кода.
291 524287
>>24209
А в чем я еще ошибся ? То что код можно сократить я знаю. Я именно про перспективные ошибки.
292 525630
У меня на плате xilinx cmod a7 диод тускло горит между нажатиями на кнопку. Почему так? Должны быть четко выделены состояния горит/погас. Когда работает дефолтная прошивка, тусклого свечения нет.
293 525636
>>525527 →
Я давно говорю, плисоводам нужно свой профсоюз организовывать.
294 525662
>>25636
Существует ровно 1 (один) правильный метод бойкотирования работодателя, безо всякой коммипетушиной хуйни — найм к другому работодателю. При необходимости в другом государстве. Если зарплата везде кал, а не только в богоспасаемой импортозамещающей — значит, перекат в другую профессию и перевод предыдущей в разряд хобби. Ничто другое решением не является.
295 525694
Существует ровно 1 (один) правильный метод бойкотирования тян, безо всякой маскулистской хуйни - переход к другой тян. При необходимости в другом государстве. Если тян везде кал, а не только в богоспасаемой импортозамещающей - значит, перекат в трансы (пидоры) и перевод тян в разряд хобби. Ничто другое решением не является.
296 525695
Чмошники, каких денег вам в России не хватает? Сижу в одном чате по FPGA, там каждый второй зарабатывает по 350к в месяц, некоторые по 500к.
297 525697
>>25695
Все пхд по electrical engineering?
а как вкатиться?
298 525699
>>25662
нет, они просто сговорятся не платиь больше Х.
и ты пойдешь за Х, вместо тогго чтобы работаьна ферме грузчиком. твои навыки узкие, визу в европу не получишь просто так. у тебя выбор: или работаь за Х, или идти на ферму.
Мой вариант: требовать себе з/п как у замдира. Работа у тебя важная, у тебя есть базис для таких требований. Сервер на готовых библиотеках можно научится поднимать за 6 месяуцев, а делать процессоры - хуй
299 525701
>>25695
Дед на приеме у сексопатолога:
— Доктор, больше 3-х раз в неделю с женой не получается.
— Дед, а лет тебе сколько?
— 85.
— Дед, ну это же превосходно!
— Да? А мой сосед говорит, что с женой ежедневно, а ему 95!
— Ну так и вы говорите!
300 525707
>>25695

>чате по FPGA


Это который FPGA-system других то нет? Там то конечно, все до последнего наносеки.
301 525720
>>25699

>Мой вариант: требовать себе з/п как у замдира.


А то что?

Ну ответили тебе "ваша зп на уровне рынка, поднимать её нецелесообразно (нахуй пошёл)", твои действия?
302 525722
>>25720
Иди нахуй, пиши всем ребятам из ПЛИС-чата чтоыб не шли к тому работдателю.
Он банкротится, я курьером подрабатываю.
303 525731
Почему во всех научных исследованиях с реализацией алгоритма на FPGA прикладывают только вейвформы, а код не показывают?
304 525732
>>25722

> Иди нахуй, пиши всем ребятам из ПЛИС-чата чтоыб не шли к тому работдателю.


Ещё немного и зумеры изобретут профсоюз.
305 525742
>>25731
Меня больше волнует, что российские учёные пишут свои статьи на английском. Пущай западные пидоры учут наш язык, если хотят наши технологии. Как санкции накладывать, так быстро оборачиваются.
изображение.png7 Кб, 270x120
306 525743
>>25742
Учёному важно публиковаться, чтобы степени не лишили ему нужно сколько-то патентов или статей писать. Вот пишут где публикуют, + засветить своё имя, чтобы в случае чего было куда завести трактор.
307 525744
Верилог.
Есть параметризируемый модуль.
Хочу сделать проверку параметра на допустимые значения.
Передаю значение через открытый параметр, он попадет в функцию, там проходит проверки и результат уже присваивается в localparam.
Вопрос в том, как в случае если проверки не прошли остановить синтез и по возможности выдать сообщение в консоль Кактуса?
308 525748
>>25742
Вот ты и пиши свои статьи на русском, если тебя это так беспокоит. Сам-то разработал хоть одну технологию?
anime0.png1 Мб, 850x1214
309 525754
>>25744
generate if (is_based(PARAM) != 1488) begin
parameter_param_is_not_based_and_probably_zashquared error();
end endgenerate

Если проверка не проходит, попытается сделать инстанс несуществующего модуля.
310 525760
>>25754
Да, вызов несуществующего модуля работает.

А вот как вывести сообщение в консоль?
311 525761
>>25754
>>25760
Сейчас попробовал как ты написал

>parameter_param_is_not_based_and_probably_zashquared error();


И это работает! Вот только я не понимаю как.
С error() работает, а без - нет. Как это понимать?
312 525763
>>25754
>>25761
В принципе можно написать любую несуществующую функцию и будет синтезить. Но почему с функцией он не ругается на не объявленную переменную, а без уже не хочет синтезить?
anime13.jpg127 Кб, 868x1228
313 525765
>>25760

>А вот как вывести сообщение в консоль?


Ошибка содержит имя несуществующего модуля, если сделать его информативным (как у меня в примере), сообщение об ошибке будет информативным.

>>25761

>С error() работает, а без - нет. Как это понимать?


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

>>25763
О какой переменной речь? ЯННП. Вставляй код для наглядности.
314 525767
>>25760

>вызов несуществующего модуля


Кстати, чел, модули не вызывают.
315 525768
>>25765
А всё, я понял что ты сделал.
Ты просто экземпляр модуля назвал error. А ведь ещё есть системная функция $error(), вот я и подумал что ты функцию вызываешь, и в этом случае перед ней имя несуществующей переменной стоит.

>>25767
Да я знаю, я по привычке с сишником.
316 525820
Мне гугл по "verilog static assert" нашел упоминание того что в SystemVerilog есть $assert(). Может это вам нужно?
Но сам я sv не знаю и не касался.
anime1.jpg227 Кб, 1000x1000
317 525823
>>25820
Это для симуляции. При синтезе они тупо игнорируются. По крайней мере, так было, когда я искал способ валидации параметров во время синтеза.
318 525930
Анон, посоветуй рабочее IP-ядро, не очень тяжëлое (до 6000 элементов) и чтобы под него был компилятор (ебал я писать потом на асме). Плату буду использовать альтеровскую. Тот же Amber ARM, например, мне не пойдëт, потому что лутов там 10К.
319 525938
>>25930
Стандартный Ниос?
320 525965
>>25938
А он как по числу лутов?
321 525971
>>25930
Чем тебя PicoRV32 не устраивает? https://github.com/YosysHQ/picorv32

P.S. Ну или бери SERV, уложишься в 500 LUT ценой скорости: https://github.com/olofk/serv
322 525972
>>25965
Зависит от комплектации, но у меня оно в текущей поделке занимает 3500 LE вместе с uart и i2c.

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

PicoRV32 смущает тем что автор чулочный пидор.
323 525973
я бы тоже не стал пользоваться библиотекой от пидора
к: ИСТИНА, двачую капчу
324 525981
>>25973
Я против пидоров ничего не имею, если не выделяются и к окружающим не пристают. Но этот трансвеститом заделался или вовсе даже женские гормоны начал упарывать. И в твиттере своем срет пидорством. Причем количество коммитов от него резко упало как раз когда он по пидорской теме кукухой поехал. А ещё, если я правильно помню, он был чуть ли не основным разработчиком yosis.
325 525982
>>25973
Кстати, разгадывая капчу ты проходишь тест Тьюринга, а Тьюринг был пидр, поэтому не забудь купить пасскод.
326 525983
>>25981
Мда, сложный выбор — софт-процессор от чувака, который(ая) помимо этого запилил(а) единственную в своём роде открытую систему логического синтеза, или от какого-нибудь унылого гетераста.
327 525984
>>25983
Нет никакого выбора. Ниос элементарно намного быстрее воткнуть в проект, к тому же отладка будет работать.

>запилил(а)


Это в прошлом, теперь оно ничего не пилит, только здоровье разрушает гормонами.
328 526006
>>25984
>>25981
О ком вы? Дайте посмотреть.
329 526027
>>26006
Мог бы и сам найти, через репозиторий PicoRV32 на гитхабе.
Собственно его гитхаб было https://github.com/cliffordwolf а стало https://github.com/clairexen там же найдешь ссылки на твиттер.

Ничего такого, таких чулочных множество, в этом он ничем не выделяется. А выделился этот тип в разработке yosis, в своем роде уникальный проект. Только сейчас от него коммиты можно считать что отсутствуют, видно трапование не особо совместимо с серьезной мозговой деятельностью.
330 526028
>>26027

>видно трапование не особо совместимо с серьезной мозговой деятельностью


Чувак осознал свое пидорство, принял себя и стал счастлив от ебли в очко. Программирование для него было лишь средство ухода от психологических проблем.
331 526095
Чекнул тут скиллы 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."

Кажется, анон, мы пока в безопасности
332 526194
>>26095
Ну не так сильно и ошибся кста.
333 526252
>>26194
В этом "не так сильно" — ключевое отличие между кодом, который выглядит как настоящий, и кодом, который делает то, что надо.
334 526266
>>26252
Тому что он ошибается в мелочах сильно радоваться не надо, это всего лишь дело времени.
Тут дело в другом. Все боятся что нейронки заменят прогеров - не заменят никогда. Да, скоро их обучат до такой степени, что они смогут писать сложные алгоритмы. Вот только нейронка - не телепат, она не знает что ты хочешь. И чтобы она смогла сделать всё правильно этот сложный алгоритм для неё придётся расписать словами во всех подробностях, а это сложнее чем просто взять и закодить его напрямую.
Так что да, мы можем спать спокойно.
335 526490
Пытаюсь запустить софт процессор PicoRV32 https://github.com/YosysHQ/picorv32 в квартусе, потом - на плате. Вообще не понимаю, как тут действовать. Ок, подключил к проекту файл picorv32.v. В модуле picorv32 пинов дохера, это всякие внутренние интерфейсы типа памяти, их явно надо подключать. Рисовать надо, что ли? Ладно, создаю bdf, из picorv32.v создаю символ и помещаю. Куда подключать - нашлось только у какого-то самодельного интерфейса PCPI, дополнительный символ есть, а остальную хуеву гору подключать некуда. Что с ними делать?
А где ввод-вывод? На гите также лежала папка picosoc, вроде как это СнК. Хорошо, добавляем и символы оттуда. А это всë хозяйство как подключать к ядру?
Что, блять, вообще происходит? Где вообще объясняется, как что и к чему подключать? Анон, я, видимо, чего-то не знаю, но я даже не знаю, где копать.
336 526549
>>26490

>PicoRV32


Пидорская поделка.

>Вообще не понимаю, как тут действовать.


Тогда зачем хватаешься?

>это всякие внутренние интерфейсы типа памяти, их явно надо подключать.


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

>Рисовать надо, что ли? Ладно, создаю bdf


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

>На гите также лежала папка picosoc, вроде как это СнК.


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

>А где ввод-вывод?


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

Вроде все просто. Какие ещё вопросы остались?
337 526550
>>26490
И ты случайно не >>25930 - анон?
338 526552
>>26490

>А где ввод-вывод?


Где он уже написал. Дополню только что именно поэтому для дела стоит брать ниос. Или микроблейз, LatticeMico32, вобщем то что уже в ide приготовлено.
339 526556
>>26552
Я нагуглил, что Ниос из-за демки будет отрубаться, если плис работает без JTAG. Купить ядро у Майкрософт сейчас, очевидно, не получится, но и как крякнуть я тоже не понял. Я не увидел подтверждения, что в Prime Edition этого ограничения не будет.
>>26549

>Тогда зачем хватаешься?


Чтобы понять.
Ладно, попробую сам прикрутить к интерфейсу памяти какую-нибудь периферию. Спасибо за пояснения, стало понятнее.
>>26550
Да, он
340 526562
>>26556
Ты все перепутал.

>Ниос из-за демки будет отрубаться


Не будет. Есть два варианта ниоса.
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 могут быть прописаны, но в целом все будет работать) и далее по инструкции оттуда же, меняем в файле лицензии мак адрес сетевухи и так далее.

Поэтому ещё раз советую ниос, бесплатный вариант.
341 526563
>>26562

>Интел


Проорал с себя. Видимо, не проснулся.

>Nios II/e - бесплатный, будет работать с бесплатным квартусом без ограничений.


Тогда его сперва и заюзаю. Потом, науки ради, разберусь и с picorv. Благодарю, анон!
342 526565
>>26562

>sudo printf


проорал с мамкиного убунтовода
343 526566
>>26563
Забыл упомянуть что в Nios II/e аппаратного умножения нет. Это довольно существенно.

>разберусь и с picorv.


Осторожнее, оно пидорское.
344 526567
>>26565
Ну лишнее вставил, ничего страшного не произойдет. Ещё бы к орфографии придирался.
345 526694
Нужен модуль, в который параллельно приходят 12 16-битных чисел. Как это адекватно описать в верилоге? Не input x0 [15:0], input x1[15:0]... и т.д. же.
346 526695
>>26694

>Не input x0 [15:0], input x1[15:0]... и т.д. же.


А почему нет? Другой вариант это х[191:0]. Все, больше способов вроде как нет. Либо бери системверилог.
347 526700
>>26694
>>26695
Третий способ
input [15:0]x0, x1 ...
348 526709
>>26700
Такое в верилоге не работает. За этим нужно системверилог брать.
349 526740
>>26695
>>26700
Жаль. Выглядит всрато прост.
350 526844
>>26740
Привыкай. ¯\_(ツ)_/¯ Тут тебе не хипстерские язычки для зумеров.
351 527005
Господа ПЛИСоводы, такой вопрос.
Мне необходимо написать модуль на языке VERILOG, на вход которого идёт поток видеоданных(пусть будет 8 бит) и сигналы вертикальной и горизонтальной синхронизации. На выход идёт поток видеоданных из размерностью в 16 бит(два одинаковых пикселя).
Необходимо увеличить разрешение входного изображения в два раза, без всяких интерполяций. То есть каждый пиксель увеличить в два раза, тем самым мы получаем, что каждый входной пиксель становится выходным пикселем размером 2 на 2 пикселя.

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

Подскажите как это можно реализовать? Было бы приятно, если бы кто-то набросал черновые варианты кода
352 527012
>>26695
Можно же сделать reg [15:0] x [11:0], будет у тебя шина из шин и просто по адресу обращаешься к нужной. Как двойной массив
353 527021
>>27012
Не прокатит в качестве порта модуля.

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

>Было бы приятно, если бы кто-то набросал черновые варианты кода


$500
раздайте пожалуйста 354 528544
вот это
magnet:?xt=urn:btih:008c9e6f6761541c1bf5823213574c3c3c36ae10&dn=Xilinx_ISE_13.2&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.opentrackr.org:1337/announce&tr=http://bt.t-ru.org/ann&tr=http://bt2.t-ru.org/ann&tr=http://bt3.t-ru.org/ann&tr=http://bt4.t-ru.org/ann
355 528561
>>27005
Шифт регистр
356 528562
>>27021
так пока одна строка передается два раза уже надо куда-то записывать следующую, поетому как минимум 640х2
357 528590
>>28562
В случае конкретно удвоения есть варик. Поскольку вычитывание идёт вдвое быстрее, чем запись, то при приходе новой строки нужно быстро начать вычитывать старую, параллельно записывая новую. Когда старая строка будет вычитана, новая запишется наполовину. После этого надо начать вычитывать новую с тем расчётом, что когда вычитывание дойдёт до конца, вторая половина уже будет полностью записана в память.

У этой схемы есть проблема в начале кадра ("старые" данные — это то, что осталось с прошлого кадра), поэтому самую первую строку получится передать только один раз ну и для сохранения размера последнюю строку придётся повторить дважды.
358 528601
>>28590
Тебе новую надо будет вычитывать повторно, когда середина старой наступит
359 528620
>>28601
Янипонел, разверни мысль плес.
360 528704
>>28620
Да не, всё норм ты написал, просто надо будет начало кадра сместить на 1 строку. Так задержка даже меньше чем если хранить честный второй буфер
361 528803
Пацаны! Подскажите наименее глючную и самую быструю версию ise, блевады-вивады под некрофильский 4й Virtex LX.
363 528895
>>28813
Спасибо! Правда пришлось искать свежую лицензию.
364 528898
FPGA-фаги!
Как можно максимально бюджетно потестировать Zynq-7000?
Конкретно XC7Z030/
365 528912
>>28898
ebay, aliexpress
366 528913
>>28912
Я неверно выразился. У меня их сотня из разных источников, нужно все проверить
367 528915
>>28913
посадить студента, который за зачёт будет заливать на все чипы BIST или твою программу.
368 528916
>>28915
железа нет
нужен бюджетный вариант именно железа
369 528919
370 528923
>>28919
ок, что мне нужно купить на Али, чтобы подключать к компу и тестить ебучие СнК?
372 528927
>>28925
Мне очень нравится твой вариант.
Однако, разве он не требует наличия контактной панели?
373 528929
>>28927
второй вариант требует JTAG коннектора, с первым вариантом можно подпаяться напрямую к пинам.
374 528931
>>28929
там шарики(
не мог бы ты поделиться ссылкой?
XC7Z015.png224 Кб, 500x521
375 528933
>>28931
на твоих платах нет JTAG контактов?
376 528950
>>28933
у меня нет плат, голые SoC
377 528953
>>28950
пиздец. ну тогда купи одну плату и перепаивай чипы на неё.
378 528954
>>28953
паять нельзя - потом плохо припаяются в изделии
1 bottle bga reballing balls.jpg45 Кб, 720x720
379 528955
>>28954
купи 1 девелопмент боард, выпаяй из неё чип, на его место наложи свежих шариков, и все последующие чипы просто прижимай, а не припаивай.
380 528988
>>28955
>>28954
Где-то видел панельки специальные под это дело есть.
image.png140 Кб, 938x536
381 529014
382 529017
>>29014

> бюджетно

383 529031
>>29017
тред зажил своей жизнью)
Спасибо за ответы.
384 529054
>>28544
спасибо анону из Тулы, скачал.
385 529056
>>29017
Эти штуки никогда дешевыми не были, под qfn8 около сотки бачей стоит, впринципи тут масштаб соответствующий
386 529060
>>29056
комплект под 30корпусов - 30$ на Али
387 529066
>>29060
ссылку?
389 529176
>>29132
по ссылке программатор флеш чипов, а не корпуса для BGA
390 529195
>>29014
Ну да, оно все дорогое. Панельки под большие tqfp и то дорогие.
Однако при этом сокеты для интеловских процессоров в материнках относительно дешёвые. Стоит сравнить шаг выводов, может получится процессорные приспособить.
391 529202
>>29195
так то массовый продукт,
392 529346
>>28813
Подскажешь как читать даташиты на хиленьких?
Смотрел UG070 + UG075 не вкурил про PLL. Как они правильно называются и главное - где у них физические входы-выходы?
У альтеры в даташите явно рисуется - вот входы (выводы с именем CLK) и выход можно выводить наружу (выводы с именем PLL_OUT).
Как найти выводы у хиленьких куда подавать тактовый сигнал? Выводы с GC в названии?
Как найти выводы у хиленьких откуда можно брать(выдавать) выходную частоту с ФАПчи наружу и фапать на нее?
393 530438
На плисе можно спроектировать свою архитектуру, необязательно проектировать свою ИС?
394 530452
>>30438
можно
395 530453
>>30452
Подскажи, если сделать цп на плисе и ос на нем попытаться запустить, роль гп для вывода видео кто будет исполнять или гп нужно отдельно проектировать?
396 530461
>>30438
>>30453
Что-то ты странное пишешь. Советую сначала нормально вопрос задать.

>спроектировать свою архитектуру


Что это значит? Что ты называешь архитектурой? Дело в том что этим словом можно назвать всякое, даже если только применительно к цифровым устройствам.

>роль гп для вывода видео кто будет исполнять или гп нужно отдельно проектировать?


Опять что-то непонятное. ца и гп какое-то. И совершенно непонятно откуда зачем и почему вывод видео приплел.
Расшифруй пожалуйста что ты имел в виду и зачем тебе все это.
397 530482
>>30453

>если сделать цп


Подумой, цопэ лучше не делать, посадить могут.

>роль гп для вывода видео кто будет исполнять


Чужой дядя, блять, придёт и исполнит! Кто ж ещё то?! - устройство. Где ты его возьмёшь думай сам, также на плисине бахнешь или какое-то готовое возьмёшь.
чего.mp4112 Кб, mp4,
640x360, 0:01
398 530483
>>30438

>На плисе можно спроектировать свою архитектуру, необязательно проектировать свою ИС?

400 530512
>>30511
Хреново ты расшифровал.

>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 их используют повсеместно. Например, делаем мы цифровой радиоприемник с дисплейчиком и крутилками. Так вот основная обработка сигналов разумеется будет не на процессоре, а зато обработку всяких кнопочек и вывод на дисплей удобно делать на процессоре.

Однако вряд ли ты справишься с такой задачей, хотя бы потому что без внятного ТЗ - результат ХЗ.
401 530522
>>29346
Бамп
402 530536
>>30522
>>29346
Не знаю, 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).


Я бы в этом направлении читал документацию. Хотя может ты это уже видел.
403 530562
Кто-нибудь работал с софтовым процом от хилых? Есть вопросы.
404 530564
>>30562

>Кто-нибудь работал с софтовым процом от хилых?


Да.

>Есть вопросы.


Ты уже потратил свою возможность задать вопрос.
405 530595
>>30564

>Ты уже потратил свою возможность задать вопрос.


Очень смешно.

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

>В какой среде пишется код?


Эклипс там.

>Знаю у альтеры там какой-то эклипс.


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

>Каким образом и куда прошивается прошивка?


А откуда может выполняться программа? Очевидно в первую очередь из блочной памяти, которую очевидно можно инициализировать как обычно (т е. без процессора).

>во флешку рядом с проектом.


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

>Есть ли отладчик


Да, он у всех есть.
407 530603
>>30595
Прошивка запекается внутрь битстрима, при загрузке плисины (из флешки или по жтагу) кладётся в предназначенный для неё блок BRAM, и процессор начинает её оттуда выполнять. Это в самом простом случае, когда программа целиком помещается в то количество BRAM, которое ты готов ей выделить.

Пошаговая отладка есть, но при работе с эмбеддедом показала себя максимально бесполезно (пока ты во время брейкпоинта втыкаешь в переменные, проебались все сигналы, запросы, ответы, прерывания, вочдоги и т.д.), так что готовься поднимать UART и отлаживать printf'ами, как диды. В Vitis есть специальный xil_printf, который хватает первый найденный на шине процессора UART и пишет туда. На компе понадобится адаптер USB-UART (бывают JTAG-программаторы, куда он встроен, и бывают отладочные платы, куда он встроен вместе с JTAG).
408 530623
>>30603
>>30596

>уточнить вивада или ise


ise

>Хотя там и идёт эклипс в комплекте


Это ты про хилых?

>из блочной памяти, которую очевидно можно инициализировать как обычно (т е. без процессора)


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


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

>>30603

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


Ну это стандартная проблема для связки ПЛИС - процессор, к этому можно привыкнуть.

>эмбеддедом


Это ещё что?
409 530624
>>30623
И ещё.
Если пошаговая отладка через жытаг таки есть, то за счёт чего она работает? Это же процессор должен иметь доступ к соответстующим ногам плис? А доступа из проекта, на сколько я знаю, к ним нет.
410 530626
>>30453
Если поместится, то можно и на плисине. Но по вместительности элементов плисина это 0.0001% от проца современного уровня, так что не разгуляешься
411 530627
>>30623

>Т.е. заранее засунуть туда инициализирующий файл


Нет, когда собирается конфигурация ПЛИС, память оставляется пустой. Потом битстрим передаётся в SDK, а SDK знает, где надо подправить битстрим, чтобы память была проинициализирована прошивкой.

>Это ещё что?


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

>Если пошаговая отладка через жытаг таки есть, то за счёт чего она работает?


Подключается к тому же жтагу, который используется для программирвания. В настройках процессора галочкой включается отладочный интерфейс, инструменты сами знают, куда что подключить, чтобы процессор обнаруживался по жтагу, и SDK мог его там найти.
412 530629
>>30627

>память оставляется пустой.


Вовсе не обязательно, можно и сразу с прошивкой собирать.

>>30623

>Это ты про хилых?


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

>залить в ОЗУ файл с компа через житаг. Тут такое есть?


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

>Или тут на помощь должна придти инкрементальная компиляция?


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

В любом случае на любой плисине для любого софт-процессора в большинстве случаев программа (или хотя бы бутлоадер) будет в блочной памяти, которая инициализируется самым обычным способом.
413 530631
>>30629
Чел, ты, мне кажется, не очень помогаешь. Анон ни разу в жизни микроблейз и ниос, видимо, тоже не трогал, а ты ему рассказываешь, что прошивку можно вставлять пересборкой битстрима, компилировать написанием мейкфайлов в виме, а обновлять редактированием памяти в режиме отладки. Ну это же явно не та инфа, которая ему нужна.
414 530632
>>30631

>обновлять редактированием памяти в режиме отладки.


Уже не помню как у xilinx, но у альтеры-интела это одной кнопкой в эклипсе делается.

>написанием мейкфайлов


Это я не советовал, а только написал что оно там есть. И не надо их самому писать, оно генерится само, в том числе при создании проекта в эклипсе.

>в виме


Это тем более мимо, никому такое не посоветую.
415 530646
посоны, поясните по хардкору про микроблейзы и ниосы, на каком процессоре проще запустить линукс и поиграть в дум?
416 530653
>>30646
На хардварном
417 530680
Возможно платиновый вопрос, но какие у вас прикладные задачи под фпга? Личрали не могу придумать, для чего вам не хватит какой-нибудь ардуины.
418 530683
>>30680
моргать светодиодом в 300000 раз быстрее, чем на ардуине.
419 530688
>>30680

>какие у вас прикладные задачи под фпга?


Процессоры делают наверное. Мне попадалась статья на петухабре, про видеоконтроллер на фпга для старых матриц. У меня валяется такая матрица от допотопной Тошибы, но используемая в статье девборда, стоила под 150к и у меня к хуям всё обвисло.
420 530690
>>30688
Ну вот я тоже слышал про лоулатенси видеообработку на фпга, но это ж явно околопромышленная задача, это уже не уровень бытовых свистоперделок.
421 530695
>>30690
Дохуя чего можно делать. Всякие цифровые фильтры и прочий DSP
422 530698
>>30695
Да я догадываюсь, что если бы не было задач, то и не было бы этой темы. Но вот конкретно можешь назвать, зачем тебе заниматься фпга как хобби?
423 530705
>>30698

>зачем тебе


Да я и не занимаюсь. Хотел замутить частотомер на альтеровском чипе, да чот остоебало разбираться в етом квактусе и я забил. Купил осциллограф, он и частоту показывает.
424 530709
>>30680

>Личрали не могу придумать, для чего вам не хватит какой-нибудь ардуины.


DDC приемник например. Или видеокамеру сделать. Да множество вариантов.

>>30688

>Процессоры делают наверное.


Это только для обучения нормально, для практических задач это ни к чему.

>>30705

>Хотел замутить частотомер на альтеровском чипе


Но зачем? Микроконтроллера же хватит.
425 530710
>>30688
На алике есть борды с fpga + stm32 , 15к стоит
426 530713
>>30710
Что толку с твоего ссаного стм32, если он сравним с софт-процессором? Более того, плату с цинком от майнера можно за 3 тыс. рублей купить, куда там какому-то стм32.
427 530758
>>30710

>15к стоит


Один хуй дорого. Вот статейка https://habr.com/ru/articles/444762/ для вопрошающего что можно сделать на фпга.
428 530764
>>30627

>SDK


Ещё один незнакомый термин.

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


Хорошо если так.

>>30629

>Только это к инкрементальной компиляции не имеет отношения.


А почему через инкрементальную компиляцию этот вопрос нельзя решить?
429 530766
>>30764

>Ещё один незнакомый термин.


Это уже даже не сленг. Может, для разнообразия пропробуешь спросить у гугла?
430 530803
>>30764

>А почему через инкрементальную компиляцию этот вопрос нельзя решить?


Надеюсь ты не путаешь это с инкрементальным синтезом? Сама по себе инкрементальная компиляция не особо что ускорит. А так есть способ в битстриме почти мгновенно заменить начальные значения для блочной памяти. В квартусе такое тоже есть.
Но по моему для отладки обычно удобнее по jtag в процессор заливать.
431 530830
>>30764

> > SDK


> Ещё один незнакомый термин.



пчел ти вобще с кокой плонеты
Безымянный1.png91 Кб, 1128x827
432 530955
>>30830

>пчел ти вобще с кокой плонеты


>>30766

>Это уже даже не сленг


Эти ваши буржуазные термины не использую. Сказали бы "САПР" сразу стало бы понятно.

>>30803

>Надеюсь ты не путаешь это с инкрементальным синтезом?


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

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

>В данном контексте не вижу разницы.


Это плохо. Но что либо объяснять тебе похоже бессмысленно.

>Где и как искать инфу по процессору?


Очевидно в документации от xilinx.

>Что там где по каким адресам?


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

А в виваде, насколько я помню, ip-ядро microblaze шло без ОЗУ, uart и портов, все это снаружи самому подключать требовалось.
435 530968
>>30960

>в виваде, насколько я помню, ip-ядро microblaze шло без ОЗУ, uart и портов


Не путай Microblaze и Microblaze MCS.
436 531017
>>30960

>Это плохо. Но что либо объяснять тебе похоже бессмысленно.


Траллировать изволите, мил человек?

>Очевидно в документации от xilinx.


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

>Логично предположить что у тебя в ISE будет аналогично


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

>>30968

>Не путай Microblaze и Microblaze MCS.


Я, так понимаю, у меня как раз MCS, и другого нет, хотя ise вроде с кряком. И вроде как к такому нельзя внешнее ОЗУ приделать для хранения программы, что начинает напрягать.
437 531020
>>30958

>SDK (сокращение от англ. software development kit — переводится как «комплект для разработки программного обеспечения»[1]) — это набор инструментов для разработки программного обеспечения в одном устанавливаемом пакете.


А что?
438 531021
>>31020
а то. Хоть какая-нибудь САПР в состав SDK входит а-атнюдь не обязательно. В целом нормальное явление, когда тебе дают компилятор и ворох хидеров (скажем, GCC и CMSIS для какого-нибудь ARM-а) даже без системы сборки, и все, ебаться подано.
439 531043
>>31017

>И вроде как к такому нельзя внешнее ОЗУ приделать для хранения программы, что начинает напрягать.


Если у тебя задача уровня нескольких конечных автоматов, то тебе и одной BRAM будет много.
440 531100
Сап, анончики.
В этом году поступаю в вуз и планирую попробовать ПЛИСы.
Ну и встал вопрос в выборе направления: информатика и вычислительная техника, радиотехника или проектирование микросхем.
На проектировании микросхем вообще нет цифровой обработки сигналов и слишком много физики (даже квантовую механику и оптику влепили, лел), так что лучше всего на радиотехнику или информатику и вычислительную технику, как я понимаю (правда на ИВТ может баллов не хватить).
Ну и собсна куда податься, чтобы программа была максимально близка к профессии разработчика ПЛИС? Почему-то все толковые ПЛИСовики, которых я встречал в жизни или Интернете, - поголовно все отучились на радиотехнике.
1 пик - программа ИВТ
2 пик - программа радиотехники
3 пик - программа проектирования микросхем
Ну и извиняйте за оффтоп, да, на уначе вообще толковых ответов нет >_<
441 531111
>>31100
Радиотехнику выбирай. Матаппарат, который используется в ЦОС — в практически неизменном виде используется для аналоговых цепей и систем автоматического управления, которыми там будут грузить по полной программе. Так что на радиотехнике тебя как следует надрючат брать преобразование Фурье, а теорию кодирования и криптографию как-нибудь сам по онлайн-курсам освоишь. На преподаваемые язычки и пакеты софта даже не смотри, тебя должно интересовать только какие разделы математики ты по итогу освоишь.
442 531163
>>31111
Спасибо большое за ответ :3
443 531175
>>31043
Ну как сказать, надо разбор езернет-кадров делать. У нас там свой собственный протокол по верх езенета реализован.

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

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.
445 531819
Как следует понимать эту главу из стандарта на верилог?

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.
445 531819
Как следует понимать эту главу из стандарта на верилог?

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.
446 531905
>>31278
Ну же анончики. В чём тут дело?
447 532240
Разбираюсь с этим проектом: https://marsohod.org/projects/plata1/232-posoh

Почему у меня полоска диодов мигает вместо волнообразных переливов?

https://gitflic.ru/project/aoizora/fpga-projects/blob?file=Wave%2Fsrc%2Fwave.sv&branch=master
448 532241
>>32240

>ttps://marsohod.org/projects/plata1/232-posoh


И еще, почему у автора два клока - clk и mclk? ЧТо такое mclk? Почему для tang nano 9k на схеме несколько клоков типа MCLK, GCLK, GCLKT? ЧТо это такое?
449 532246
По какой книге или онлайн-курсу можно освоить преобразование Фурье как ему учат на факультете радиотехники?
450 532265
>>32241

>И еще, почему у автора два клока - clk и mclk? ЧТо такое mclk?


В глаза долбишься?

>Единственная тонкость - светодиоды у меня подключенны прямо к выходам платы. По идее их нужно было бы подключить через резисторы, чтобы они случайно не сгорели, нужно было бы как-то ограничить ток. Я же сделал проще, модулирую управляющий сигнал частотой mclk вот так: f0 = bits[0] & mclk, чтобы светодиод не постоянно горел, а очень быстро моргал. Это такая своего рода защита.

451 532279
>>32246
В вузах это изучают на куче разных курсов. В начале на курсе линейной алгебры, потом на курсе РЦС, потом ещё могут коснуться реализации на разных курсах по цифровым устройствам, цифровой обработке сигналов.
Основной учебник по этому делу это однозначно РЦС Баскакова. Но осилить такое может быть тяжеловато. Однако в том что касается именно реализации БПФ и быстрой свертке на его основе изучают довольно поверхностно, да и все равно у выпускников вся эта муть из головы очень быстро вылетает.
452 532281
>>32246
Учут так себе, поверхностно. Потому используй стандартное готовое, а не еби себе мозг. Будь инженером, а не учёным.
453 532292
>>32279

>потом на курсе РЦС


И ещё на курсах ТОЭ и ТАУ. На ТАУ оно даже прикольнее всего, потому что там никто не срёт в эфир синусоидами, и все интересующие процессы по сути переходные. Но они всё равно раскладываются по спектру, такой-то майндфак.
454 532294
>>32246

>По какой книге или онлайн-курсу можно освоить преобразование Фурье как ему учат на факультете радиотехники?


Зависит от твоей текущей подготовки. Знаешь ряды, комплексные числа, собственные векторы и значения, дифференциальные уравнения? Изучение ДПФ желательно совместить с Z-преобразованием (т.к. это основной способ реализации дискретных линейных стационарных систем в частности фильтров, для анализа которых и используется ДПФ), а это комплексный функциональный анализ и комплексные ряды. Если честно, единственный реальный способ постичь это и не забить на 1/10 пути — отучиться в вузике. Да и параллельно всяким другим прикольным вещам обучат, статистике там, численным методам.
455 532295
>>32292
Да я подзабыл уже, давно это было.

>ТОЭ


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

>ТАУ


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

>Но они всё равно раскладываются по спектру, такой-то майндфак.


Это ты про спектральную плотность? Так это в курсе РЦС.
456 532309
>>32295

>И если я правильно помню, то там операторным методом обходились.


Везде, где используется частотная характеристика, используется преобразование Фурье и его свойства (типа перемножению в частотной области соответствует свёртка во временной). Оператор Лапласа — тоже преобразование Фурье на области s = jω
457 532310
>>32309

>Оператор Лапласа


Преобразование Лапласа, фиксед.
458 533386
Чем отличается
@(posedge йух);
от
wait(йух);
?
image.png1,3 Мб, 1280x720
459 535787
Странного хочу

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

Вопрос: как мне в HDL (изучаю сейчас SystemVerilog) пометить что вывод логики водяной нельзя напрямую соединить с выводом логики пневматики, и наоборот. Как изловчиться и дать понять это синтезатору?
460 535792
>>35787
не соединяй их в коде
461 535797
>>35792

>не соединяй их в коде



У них там логика должна соединяться, в том-то и дело, с соответствующими задержками
3j6r12dxrk3a1.jpg238 Кб, 1535x2154
462 535798
>>35792
То есть, не соединять-то я могу, но могу ведь и ошибиться!..
463 535805
>>35787

>синтезатору


У тебя есть синтезатор у которого на выходе

>смеси гидравлики и пневматики.


Разве такие существуют?

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

Ну и ты наркоман разумеется. Самое большое в любом процессоре это память. Как ты ее будешь делать?
678082249aitaschematicbyTinselfire.jpg2,7 Мб, 4725x2834
464 535807
>>35805

> Разве такие существуют?


Существовать то существуют, но о практическом применении гидравлической логики (пневматика изредка использовалась во всяких взрывоопасных местах, куда совать реле и прочие электрические искрообразователи чревато) мне не попадалось.
465 535819
>>35787

>вывод логики


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

В любом случае, в чем вопрос то? Тебе нужна задержка при симуляции? Да пожалуйста, оно в верилоге есть.
467 535846
>>35805

>>>35787


>>синтезатору


>У тебя есть синтезатор у которого на выходе


>>смеси гидравлики и пневматики.


>Разве такие существуют?



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

>>>35797 (You)


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



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

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

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



В моём памяти надо будет чуть совсем
468 535848
>>35820

> В любом случае, в чем вопрос то? Тебе нужна задержка при симуляции?


А я то причём? Я всего лишь комментировал про пневматическую и гидравлическую логику.

>>35846

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


И толку то от этого описания? Как ты его в железе то претворять будешь? Вон, погляди как народ извращался, чтобы на HDL печатки с дисретной логикой генерировать:
https://hackaday.io/project/180839-vhdlverilog-to-discrete-logic-flow
469 535851
>>35848

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


>И толку то от этого описания? Как ты его в железе то претворять будешь?



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

У меня получается около 400 элементов, может даже "в железе" сделаю
470 535853
>>35848

>Вон, погляди как народ извращался, чтобы на HDL печатки с дисретной логикой генерировать:


>https://hackaday.io/project/180839-vhdlverilog-to-discrete-logic-flow



Кстати, неплохо, возможно что-то такое запилю если встроенного в yosys маппинга не хватит
471 535859
>>35846

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


Тогда ты путаешь термины.
1) Синтезатор это такая штука которая берет код и на выходе выдает битстрим и не лист из примитивов, ну или не битстрим а схему или ещё что.
2) А есть симуляторы - они тупо выполняют код на компе. В симулятор можно запихнуть не лист из синтезатора и промоделировать все с задержками.
Не путай!

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


Так значит напиши соответствующий модуль и всех делов то. В чем проблема то?
472 535860
>>35859

>не лист


нетлист
16852876560243.jpg172 Кб, 600x800
473 535861
>>35859

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


>Так значит напиши соответствующий модуль и всех делов то. В чем проблема то?



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

Так я и спрашиваю: как мне в этом модуле пометить пневматические и гидравлические входы и выходы так, чтобы их снаружи нельзя между собой было соединить неправильно
474 535863
>>35861

>чтобы их снаружи нельзя между собой было соединить неправильно


У тебя их так много что можно запутаться?
В VHDL это легко делается, просто новый тип определить и все. В верилоге такого нет, а systemverilog я не знаю.

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

>>чтобы их снаружи нельзя между собой было соединить неправильно


>У тебя их так много что можно запутаться?



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

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



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

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



Ничего страшного
476 535866
>>35865
Я так понял, что синтезатора (который на выходе даёт чертеж) у тебя нет и переводить код в элементную базу ты будешь руками? А тебя в таком случае не смущает, то что в верилоге есть синтезируемые и несинтезируемое подмножество?

>В верилоге есть типы проводов?


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

>Я так понял, что синтезатора (который на выходе даёт чертеж) у тебя нет и переводить код в элементную базу ты будешь руками?



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

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



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

>>35866

>>В верилоге есть типы проводов?


>Если не касаться системверилога, то там есть 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.
478 535870
>>35868

>я ещё только размышляю


По моему ты ерунду хочешь. Конечно на верилоге ты можешь описать вентили и потом их соединять, но только зачем? Схематик для такого нагляднее будет. Верилог все же заметно более высокоуровневый чтобы так его использовать при написании кода руками.

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

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


Так и я о том же.
479 535871
>>35861

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


К названиям добавляй суффиксы-префиксы, чтобы сразу видеть что есть что, делов то.
480 535872
>>35871

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


>К названиям добавляй суффиксы-префиксы, чтобы сразу видеть что есть что, делов то.



Да, пока это основной планируемый способ
481 535875
>>35872
А я тебе ещё раз напишу что соединять на верилоге твои гейты это бессмысленно. Попробуй сам нарисовать схему сумматора на 2nand, а потом те же самые соединения примитивов описать на верилоге.
16438330765572.gif3,9 Мб, 442x266
482 535884
>>35875
Ну вот у меня полный сумматор будет сразу использовать воздух и гидравлику

Как мне не напутать его входы и выходы когда я соберу его в 4-битную пачку?
483 535898
>>35884
Ну вот пользовательские типы данных есть в VHDL, там ты сможешь сделать как хочешь. В системверилоге тоже есть, но по нему подробностей не подскажу.
На простом верилоге такого не сделать.
484 535900
>>35898
Ок, спасибо вам. Дождусь книгу по SV, прочитаю, там уже дальше буду двигаться
485 535947
>>35900
Что за книга хоть?
image.png1,3 Мб, 718x1000
486 535959
>>35947

>Что за книга хоть?

487 536012
>>35959
Я её в сети находил. Мне не очень понравилась, как-то всё разбросанно, не систематизировано.
геи программисты.jpg92 Кб, 750x600
488 536160
>>36012

>Я её в сети находил. Мне не очень понравилась, как-то всё разбросанно, не систематизировано.



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

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

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

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

Этот >>35959
489 536181
>>36160

>вместо фронта и спада


Фронта и СРЕЗА, быдло необразованное.
490 536188
>>36181

>СРЕЗА


Это что-то аналоговое, фильтры и тому подобное
491 536191
>>36160

>передний фронт/задний фронт (вместо фронта и спада)


Мне как раз больше нравится передний фронт/задний фронт.

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


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

И как по мне, на SystemVerilog лучше сразу не кидаться, а начать с простого Verilog-а. А там уже и на System переключится. Verilog и SystemVerilog это примерно как С и С++. При изучении языка никто же сразу не начинает с объектов и классов, начинают со структурного программирования. Вот так и тут.
492 536205
>>36188
Ты путаешь срез импульса и частоту среза. Что, конечно же, неудивительно для недоучки.
493 536236
>>36191

>


>И как по мне, на SystemVerilog лучше сразу не кидаться, а начать с простого Verilog-а. А там уже и на System переключится. Verilog и SystemVerilog это примерно как С и С++. При изучении языка никто же сразу не начинает с объектов и классов, начинают со структурного программирования. Вот так и тут.



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

Само же создание схем оказалось простым. Единственное что я пока чужой код на SV не очень воспринимаю, не вижу типовых приёмов, наверное
494 536676
>>33386
бамп вопросу
495 536746
>>17577 (OP)
Как вкатиться в программирование контроллеров?
496 536792
Кто-нибудь делал езернет на уровне MII?
Приёмник выдаёт двухразрядную шину данных и сигнал валид. Как я понимаю валид держится на протяжении приёма всего кадра.
Вопрос в том, как определить конец поля данных и начала контрольной суммы?
1. По полю размера? Но оно на фактический размер кадра не указывает.
2. По возникновению нуля при подсчёте контрольной суммы? А не получится ли что ноль возникнет где-нибудь в середине поля данных?
3. И ещё. В конце приёма каждого кадра сигнал валид даёт какой-то дребезг. Как это понимать?
497 537581
>>36792

>Как я понимаю валид держится на протяжении приёма всего кадра.


Необязательно. Он может падать в любой момент, в этом его функция. Твоя задача в этот момент — остановиться и ждать.

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


Да. Пересчитывай нефактический в фактический.

>В конце приёма каждого кадра сигнал валид даёт какой-то дребезг. Как это понимать?


Понимать так, что нулевое значение валид = приёмник занят своими делами и говорит тебе подождать.
498 537691
>>37581
За ответ благодарен, но ты мне втираешь какую-то дичь.

>нулевое значение валид = приёмник занят своими делами и говорит тебе подождать


>Он может падать в любой момент, в этом его функция. Твоя задача в этот момент — остановиться и ждать.


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

>Пересчитывай нефактический в фактический.


Что значит? Я вот, например, в поле размера вообще ноль записал. А WireShark всё равно принял ровно столько байт сколько я передал по факту.
499 538207
Посоны, есть ли какой-нибудь SoC типа fpga+CortexM4F. У альтеры и ксайлинкса там A9 и его очень геморно программировать барметал. У Gowin прикольная серия LittleBee, но там контроллер слабоват, боюсь не хватит для моей задачи. У микрочипа вроде SmartFusion 2 есть, и вроде подходит, но отладки чет дорогие. Еще есть варианты?
500 538374
>>36191

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


Тогда посоветуйте книги по Verilog/SystemVerilog на английском.
501 538426
>>38207

>SoC типа fpga+CortexM4F



Может быть есть такая готовая FPGA-микросхема? Искал?
502 540124
Как написать подобное в одну строку?

//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];

Всё работает, но выглядит как-то неаккуратно
503 540125
>>40124
Тот код не работает, такой работает (забыл у 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];
504 540126
индекс съедает вакаба?!

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];
505 540199
Анон, как ты свои проекты Вивадо хранишь в гите? Я бугурчу со своими коллегами-плисовщиками, что они без стеснения коммитят все файлы сборки, и репозиторий на 6 коммитов весит 600 мегабайт.

Сюда же вопрос: после долгого процесса синтеза, или как он там называется под конкретную плис, есть ли файл нетлист?, который содержит трассировку? Возможно ли с использованием этого файла быстро создать файл прошивки, зашиваемый в ПЗУ? Будет ли он идентичен от сборки е сборке?
506 540246
>>40199
Откройте для себя gitignore, штоле: https://github.com/github/gitignore/blob/main/community/Xilinx.gitignore
Душа компании460sv.mp44,3 Мб, mp4,
460x816, 0:40
507 540548
Как на Verilog или SystemVerilog описать анонимную структуру или union?

Почему-то по сишному не получается, но судя по коду верилятора анонимность допустима.
508 540773
>>40548

> Как на Verilog или SystemVerilog описать анонимную структуру или union?


Занести IEEE много деняк, чтобы они добавили это в стандарт языка?
509 540844
>>40773
Можно же как-то биты соединять по рандому не?
510 540870
Аноны, столкнулся с тем что в старом qsys отсутствует i2c. У меня уже есть готовый код для max 10, который нужно воткнуть в третий циклон и пока все упирается в отсутствие i2c. Получится ли взять код из квартуса поновее и воткнуть в старый? Код вроде как не зашифрован.
511 540872
>>40870

>взять код


В смысле код этого ip altera_avalon_i2c.
512 540926
>>40870
Ну что, вроде бы получилось. Пришлось только подправить файл altera_avalon_i2c_hw.tcl - просто закомментировал строки на которых были ошибки (некоторые тиклевские процедуры отсутствовали в старой версии).
513 542866
Подскажите начинающему плиз плисину (готовую плату), в которую поместился бы RISCV.
514 542872
>>42866
Если по минимуму, то хватит около 1000...1500 LUT в зависимости от внутренностей плисины (LUT отличаются по количеству входов и прочее). Памяти хватит той что внутри FPGA.
Так что хватит даже самых мелких FPGA, только совсем старье не бери. Если altera(intel), то по минимуму это EP4CE6, у xilinx ниже 7-ой серии опускаться не стоит, т.к. они ise выкинули и сделали vivado.

Ну а если ты хотел там линуксы запускать, то требования будут немного выше, память ещё будет нужна снаружи.
515 542895
>>42872
Готовую плату посоветуй? С алика, грубо говоря
516 542909
>>42895
Так для чего тебе? Ещё раз повторю, одно дело минимальный процессор с минимальной периферией (на уровне gpio и uart) и совсем другое дело если ты задумал запускать там полноценный линукс и иметь ethernet, hdmi и все такое.

Если по минимуму то, например https://aliexpress.ru/item/32949281189.html и не забудь https://aliexpress.ru/item/1005001848932516.html
dc42c55df83ac9473fe84efd21da9dee.jpg193 Кб, 1000x1414
517 542935
>>42909
Хочу попробовать поиграться с RISCV. Свой проц (контроллер) на нем слепить, например. Как вариант - просто свой проц на верилоге сбыдлокодить шутки ради.

>минимальный процессор с минимальной периферией (на уровне gpio и uart)


Ну вот что-то такое, да. SPI, I2C, I2S, PWM. Грубо говоря, пердуину на проце в плисине.

Вот эта штуковина нормальная? Даже написано RISCV, кек
https://aliexpress.ru/item/1005005667896010.html
518 542976
>>42935

>Вот эта штуковина нормальная?


Не советую, потому что у них 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


Придется еще отдельно искать или писать самому. А потом ещё все соединять руками, что тоже кстати не совсем элементарно.
Screenshot2023-11-2907-52-35.png70 Кб, 399x683
519 543083
>>42976

> Придется еще отдельно искать или писать самому


Ну, разве что если его встроенные не устроят (пикрелейтед из Educational-версии говиновского IDE).
Pcm-ru.png194 Кб, 1058x453
520 543868
А где тактовые импульсы, чтобы различать 0/1 внутри синхропромежутков? Как это работает?

Картинка из википедии.
521 543894
>>43868
Точно также ка и в уарте. Синхронизируешся по оранжевому сигналу, а дальше за счёт внутренней синхры.
522 544798
>>43868
Написано же — импульсы синхронизации
523 544822
>>42935

>Хочу попробовать поиграться с RISCV. Свой проц (контроллер) на нем слепить, например. Как вариант - просто свой проц на верилоге сбыдлокодить шутки ради.



О, сейм

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

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

На пенсию выйду буду вместо мозаики собирать потихоньку
524 544952
Как реализовать схему с рисунка в книге? Я реализовал ее вот так, но почему-то кодирует неправильно. Результаты кодирования схемой и путем умножения информационного слова на порождающую матрицу кода разные.
525 544956
>>44952

>12 стр


Может не стейт3, а стейт2?
526 548018
Короче мне тут видимо против своей воли но придётся вкатываться в ПЛИСы. Хуле с вашим говном делать? Дали Spartan 6 со словами - ну изучай. Светодиодом помигал, калькулятор на конченном автомате написал, через писие светодиодом помигал. Че можно сделать чтоб нормально изучить pci-e? Че-то я никаких внятных хелловордов не нашёл в интернете, только что ну вот можно писать и читать в BAR через PCITree/RW-everything/lspci.
Бекгаунд у меня ближайшее это микроконтроллеры и ардуина со всякими HALами IDF и прочей высокоуровневщеной. Что такое драйвер в компе с точки зрения его написания и адресное пространство - я не ебу от слова совсем.
Обновить тред
« /ra/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее