Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 февраля в 20:27.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ПЛИС / FPGA 397766 В конец треда | Веб
Холодный цифровой ПЛИС-тред. Продолжаем под кофе аутировать одновременно в несколько десятков сигналов на логическом симуляторе/анализаторе, гадая, где что-то пошло не так.

Прошлый тред >>316943 (OP)
2 397773
Как подключать кварцевый резонатор к ПЛИС? Именно резонатор, а не активный генератор.
74LVC1GX04? В чем разница буферизированный инвертор и небуферизированный инвертор?
Для третьего пика
module ClkGen(clkIN, clkOUT);
input clkIN;
output clkOUT;
wire clkOUT;
assign clkOUT = ~clkIN;
endmodule
3 397912
>>397766 (OP) Есть несколько мертвых девайсов с cyclone 3.
Один не включается совсем, EP3C40F484C8N греется, жрет пару ампер, питание ядра просаживается до 1.1в. Чип под замену или возможно проблема где-то раньше в процессоре не загружающим в него конфигурацию?
Со вторым сложнее, устройство включается и работает во многих режимах, но не работает часть входов а именно AES3 аудио. Все входные цепи - трансформаторы, mc3486 и куча lm358 непонятного предназначения уже менялись. Индикатор линка (вероятно что pll lock) загорается, но sampling rate не показывает, звука нет.
Что стоит посмотреть прежде чем приступать к прожарке и замене чипов по 70 евро?
изображение.png116 Кб, 1281x1037
4 398194
Помогите дегенерату. Использовал кабель xilinxовский, драйверы ставил по UG344 (шаг 5), и всё равно iMPACT отказывается его видеть. Уже неделю сижу, не понимаю, что не так.
изображение.png76 Кб, 1669x623
5 398196
>>398194
На XP тоже отказывается видеть, если что.
15226056631640.jpg2,6 Мб, 3258x2168
6 398368
Хочу вкатиться, с чего начать?
7 398380
>>398368
1) Начни вот с этой книжки
https://www.amazon.com/Digital-Design-Computer-Architecture-Edition/dp/0123944244
Там все очень хорошо расписано. От азов до верхов. Читать обязательно.

2) После этого можешь начать какой-нибудь онлайн курс смотреть. Скачаешь IDE, симулятор какой-нибудь и будешь делать лабы. Здесь просто пиши исходники на VHDL, запускай и смотри результат.

3) Здесь уже можешь решить, что тебе интересно. Направлений много. Выбери свое и двигайся. На этом шаге ты уже будешь знать, что к чему.
8 398427
>>398380

>Начни вот с этой книжки


английский, фу
9 398428
>>398427
Тогда начни с английского букваря.
10 398431
>>398427
Ее хабр перевел, ищи лучше.
11 398432
>>398428

>Тогда начни


Ты посмотри на комплект плат этого "начинающего" вкатывателя. Он тебя траллирует, а ты ведешься как нуб.
12 398453
>>398432
Какой-то мусор на пике, и не факт, что этот мусор его. Может это сорокоёб постил, без сап-а вообще поебать на картинки.
13 398470
>>398427
держи русский перевод https://yadi.sk/i/4PHK-tgdOSEETQ
14 398496
>>398470
А мне английскую, а то бесплатную книгу на амазоне продают, а чтобы скачать надо где-то регаться и кучу движений совершать.
15 398498
jumperone.jpg23 Кб, 417x331
16 398510
Есть плата, а штыри на ней оче маленькие как красная линия на картинке. Стандартные провода на них болтаются. Как подцепиться к ним нормально?

>>398380
Чем эта книга лучше Таненбаума?
47857262487.jpg61 Кб, 794x593
17 398601
Почему пикрил платы не пользовались популярностью? На первый взгляд вполне себе вариант для вкатывальщика и перекатывальщика. Чипы не самое дно, цена для нищуков. Что не так?
18 398604
>>398601
Потому что был ниос, а потом завезли циклоны с интегрированным армом?
19 398616
>>398601

> цена для нищуков.


ЩИТО, блядь?
20 398628
>>398616
А сколько примерно такая ёба стоит
21 398629
>>398510

>Таненбаума


для гуманитариев
22 398631
>>398628
https://aliexpress.ru/item/4000238415432.html
https://aliexpress.ru/item/4000090399617.html
https://aliexpress.ru/item/32915690009.html
https://aliexpress.ru/item/32879727790.html
Не совсем оно, но очень и очень близко.
Фапальщик на гидроавтобус Hydrabus
23 398636
>>398631
а зачем, если в пятом уже встроенный арм?
https://aliexpress.ru/item/1000006622149.html
24 398637
>>398636

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


>а зачем, если в пятом уже встроенный арм?


Уважаемый, пиздеть надо ОСТОРОЖНО!
В этом куске говна НЕТ HPS https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-v/cv_51001.pdf стр.5 табличка 3 строка 1 - "Cyclone V E Optimized for the lowest system cost and power requirement for a wide spectrum of general logicand DSP application".
HPS в виде ARM ядер есть в серии SE SX ST
Запостил бы старую ссылку на Zynq 7000 с прошлого треда - https://www.aliexpress.com/item/4000323573953.html . Тут да, реальный SoC в виде FPGA+ARM.
25 398645
>>398628
Когда я на них смотрел (лет так 7-9 назад) — в районе $100 за плату, сейчас (у пары продавцов на алиэкспрессе) примерно $85/$58 (голая плата) - $134/ $111 (набор с какой-то фирменной хуйнюшкой в качестве отладчика — перевода с китайского не завезли).
26 398651
>>398645
Я помню что её цена была значительно ниже, чем сейчас.
https://www.ebay.com/itm/zaloopa/172259870747
Но поскольку мой кукарек беспруфный, то да, чот дороговато получается на данный момент (20$+15&+10(?)$ vs 90$)
2010079133.jpg825 Кб, 1000x797
27 398655
>>398368
Начни с двусторонних макеток.
28 399075
>>398655
Мне кажется он про ПЛИС.
29 399088
>>399075
Это был троллинг плисотролля же, ну.
913d0c2d72eadbbd70e6d483907fd693.jpg44 Кб, 430x389
30 399119
>>399088

>/ra/


>троллинг плисотролля


Детский сад, честное слово.
31 399139
>>399119
Толсто.
32 399157
>>398368
Слушай, пожертвуй мне плату, всё равно ж валяется у тебя без дела.
33 399158
Чем отличается ModelSim от QuestaSim?
34 399162
>>399158
Названием.
35 399164
>>399162
Ещё чем-то. Где-то читал, но забыл где.
36 399236
>>399158
Тем, что там ничего нет. Поддержки 64 бит — нет, поддержки многоядерных процессоров — нет… https://www.edaboard.com/showthread.php?195003-What-is-difference-between-Questasim-amp-Modelsim&p=1393929&viewfull=1#post1393929
37 399350
Решил вкатиться в ПЛИС. Купил плату с таким чипом 5CSEMA4U23C6N. Психанул ли я или нет?
38 399383
Уже два года вкатываюсь, тоже что покупал пылится в шкафу. Пока периодически читаю тред здесь.
leds4.png89 Кб, 932x1051
39 399384
>>399383

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


Аналогично. Курсы Jack0v мотивируют + есть хоть и бредовая, но идея для проверки, а это значит что пора действовать, а не прочитал/послушал и забыл.
Пока что застрял на таком веселом моменте как нужен отладчик отладчика для отладчика. Здесь нет ошибки. Отладчик для отладчика. Лол. Практически готов, успел одну флексину спалить.
Иногда сосу хуй (пикрил), приходится что-то другое придумывать.
40 399408
>>398637
Платиновый вопрос: а почему голый чип стоит больше 100$, а обёрнутый в кусок китайца стоит 66$?
41 399422
>>399408
Потому что ты хуй те китайцы, что эти платы делают, покупают чипы не на алиэкспрессе не по розничным ценам.
42 399424
>>399422
Наркоман штоле? Чипы на алиэкспрессе это какой-то осбой вид извращений. Я не вижу оптовых партий этого чипа в этих ваших ентернетах. Покажи, что ли, охота на оптовую цену посмотреть.
43 399427
>>399408

>Платиновый вопрос: а почему голый чип стоит больше 100$, а обёрнутый в кусок китайца стоит 66$?


Пизженный скорее всего. Или демонтаж с плат с такими чипами.
44 399433
>>399427
Ну, по 60-70$ всё-таки есть в проверенных магазинах, так что могут вполне нормальными оказаться.
45 399434
>>399433
А чем пизженные ненормальные?
46 399589
Попалось парочку статей про бинарные/двоичные нейронные сети на ПЛИС.
Есть тут ребята кто мониторил этот вопрос в теории или на практике?
47 400013
Решил попрактиковать верилог и написать свой Z80.
Тупой вопрос 1: Насколько глубоко нужно понимать процессоры? Достаточно ли знать систему команд и принципы работы АЛУ, или нужно что-то ещё?
Тупой вопрос 2: Какой нужно брать ПЛИС? Сомневаюсь, что MAX3000A хватит...
1457818693.png20 Кб, 531x300
48 400040
>>400013

>Какой нужно брать ПЛИС? Сомневаюсь, что MAX3000A хватит...


https://opencores.org/projects/a-z80
MAX сразу в помойку или на замену россыпчатой логики.
FPGA минимум на пару тысяч LE и больше. Намного больше.
49 400043
>>400040
Если делать спектрум целиком, то процессор может даже не самый объемный по занимаемым ресурсам. К примеру та же память, не будешь же лепить ее снаружи, когда ее в относительно дешевых FPGA и так хватает для спектрума. А если процессор почти без ничего, то почему именно Z80?
Можешь посмотреть самые дешевые платы на циклоне 4 с алиэкспресса, на подобное вполне должно хватить.
50 400044
>>400043
Не туда, это выше было. >>400013
51 400063
>>400043

> К примеру та же память, не будешь же лепить ее снаружи,


Честно говоря собирался...

> почему именно Z80?


Ну процессор середины 70-х, много где использовался, вроде как несложный сам по себе, имел море клонов. Стало быть, для начала сойдёт. Плюс спектрумы, есть вариант собрать-поиграться-вспомнить детство, speccy2010 ЧСВ не потешит :)
52 400126
>>400013

>Насколько глубоко нужно понимать процессоры?


Нужно знать архитектуру своего процессора с точностью до вентиля.
53 400129
>>400126
для спектрума не надо точный клон, только совместимость команд
54 400142
>>400063
Нет, он вовсе не такой простой. Например, чем 8-разрядный сумматор с последовательным переносом проще такого же 16-разрядного? Вот и с процессорами аналогично.
Да и не так интересно процессоры делать, их и так полно готовых. Быструю свертку и то немного интереснее будет делать.

>>400129
Про точность до вентиля, у того анона естественно был бред, но совпадение по тактам разве не требуется?
55 400144
>>400142

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


А как ты добьёшься совпадения по тактам не повторив структуру? Ну получится у тебя +/- инвертор.
56 400147
>>400144
Элементарно. В качестве примера можно привести сумматоры, которые бывают с быстрым переносом, а бывают с простым последовательным.
Посмотри хоть схему К155ИП3 (74181), можно сделать как там, а можно тупо отдельные сумматоры, инверторы и прочее через мультиплексоры и демультиплексоры. И так далее вся комбинационная логика и не только.
В ПЛИС вообще на LUT-ах все делается, какие там еще вентили. На ПЛИС вообще нет смысла повторять такое как К155ИП3, из-за структуры ячеек.
57 400176
>>397766 (OP)
Други, нужно из частоты в 5 МГц получить 100 МГц (вероятнее всего должен быть умножитель на ФАПЧ). Какие ПЛИСины лучше под это дело взять?
58 400184
>>400176
Именно под это дело бери Альтеру, Циклон 4 например, как там в 5 я не знаю, я с ним толком не работал, но по логике вещей должно быть лучше. PLL там хороша тем что очень точно могёт выдавать нужную частоту, с очень мелким шагом, вплоть до 3-х знаков после запятой, а может и больше. Спартан 6 в этом плане и рядом не валялся.
59 400186
>>400147
Да причём здесь луты и внутреняя архитектура плис? Всё равно на верилоге всё писаться будет.
Ну так чтобы мочь разработать свои сумматоры и прочее нужно, как минимум, в этом соображать. И второй вопрос, зачем пороть отсебятину, чтобы наделать там ошибок и потом 100500 часов сидеть их вылавливать? Не проще ли уже имеющуюся архитектуру как есть переложить на плис? Ну да, про "знать" это я немного не так сказал, нужно не знать, а понимать или смочь понять архитектуру с точностью до вентиля.
60 400195
>>400186

> Не проще ли уже имеющуюся архитектуру как есть переложить на плис?



А смысл? Тогда проще взять готовое на https://opencores.org/
А ещё проще вообще взять готовую микруху, а не ПЛИС.
61 400198
>>400186
Опять не соглашусь. Просто делаешь так, чтобы по тактам было не больше чем в оригинале, тем более что двухпортовая память FPGA в этом сильно поможет, после чего добавляешь дополнительные такты. Можно даже параметром сделать, либо быстро, но не совпадает по тактам, либо медленнее и совпадает.
62 400199
>>400176
ФАПЧ можно взять отдельной микросхемой. Что-то вроде LMK03000 или попроще.
63 400219
>>400176
Первое - idt5v9885 с EEPROM для хранения настроек.
Второе - Si5326 + тактовый генератор + еще один генератор на 114Мгц для очитки джиттера.
Третье от анальных девайсов AD9518.
Вообще - тысячи их. На любой вкус и цвет. Проблема в том что оно конфигурируемое и не все умеют в подсос конфига с внешней микросхемки памяти.
64 400220
>>400219

>Второе - Si5326 + тактовый генератор + еще один генератор на 114Мгц для очитки джиттера.



SI5351 нашё всё, один кварц + кондёры по питанию, сигнал чище, чем встроенные ПЛЛ в ПЛИС-ках
65 400221
>>400220

>SI5351


Какой из? С буквой А не умеет во внешний тактовый сигнал (заявлено в условиях) в явном виде, нужен кварц. Версия С умеет во внешний тактовый сигнал.
66 400226
>>400221
Любая работает
67 400268
>>400198
Ну да, а всякие флаги, стеки и прочая срань, это не говоря о недокументированных функциях - как это всё?

>>400195
Не, ну вышивают же люди крестиком, делают это зачем-то. Вот и тут тоже самое.
68 400283
>>400268

>Ну да, а всякие флаги, стеки и прочая срань, это не говоря о недокументированных функциях - как это всё?


Флаги со стеками это по сути часть набора команд. Есть набор команд и набор регистров (доступных программно) с описанием их работы, то есть то, что в русскоязычной литературе называют программной моделью, а в англоязычной называют ISA. Среди набора команд есть команды, которые работают со стеком и есть команды, как-то взаимодействующие с регистром флагов. Делаешь все в соответствии с этой моделью и у тебя все работает как в оригинале, за исключением недокументированных команд, либо набор команд будет не от Z80. А недокументированные команды также все описаны.
Не при чем тут эта структура "с точностью до вентиля".

>Тупой вопрос 1: Насколько глубоко нужно понимать процессоры? Достаточно ли знать систему команд и принципы работы АЛУ, или нужно что-то ещё?


Правильней будет ответить, что требуется умение нарисовать схему процессора из одних NAND-ов.
m2b3yqrerwb41.jpg116 Кб, 1240x1226
69 400326
>>400283

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


https://electronics.stackexchange.com/questions/365367/what-is-a-programmers-model
ISA is a part of the programming model
70 400327
>>400326
Допустим возьмем http://cs.istu.ru/index.php?project=asm&page=_theory_pacm_programmodel_
Перечисляются регистры, виды адресаций и прочее, далее, где-то в приложении, приведена таблица команд с описанием. И сравни это с определением ISA хотя бы из википедии. В ISA по любому должно входить описание доступных программно регистров и всего такого, то есть то, что написано в первом ответе по твоей ссылке. Так что это программная модель может быть частью ISA (если к программной модели не прилагается список команд с описанием), а не наоборот.
Вообще какого-либо общепринятого стандарта на эти термины нет, поэтому ими могут называть несколько разные вещи.
-ihGCPM3l8Q.jpg190 Кб, 607x1080
71 400348
>>400327

>Так что это программная модель может быть частью ISA (если к программной модели не прилагается список команд с описанием), а не наоборот.



>This section [programming model] normally presents the core registers of the processor, operating modes, endianness and the instruction set.



В "программной модели" описывают, что как используется, взаимодействует и вообще есть описание ISA:

>>>400327


>далее, где-то в приложении, приведена таблица команд с описанием.



"programming model" - это описание более высого уровня абстракции и оно опирается на ISA (и часто содержит описание ISA в каком-либо виде, часто сокращённом).

>>400327

>(если к программной модели не прилагается список команд с описанием), а не наоборот.


Без "списка команд" нельзя сделать програмную модель, потому что нужо опираться на что-то - это регистры, datapath, команды. Как ты представляешь програмную модель без этого?
72 400802
Как вы работаете в виваде без нормального блок дизайна и примитивных логических элементов?
73 400805
>>400802

> примитивных логических элементов?


Ардуино трыд выше
74 400806
>>400802
Используем божественный Quartus!
75 400828
>>400806
Только вот интел не очень охотно возит плисины в рашку, поэтому приходится давиться вивадой.
Хотя ися вроде нечего.
76 400835
>>400802
Блок дизайн для педиков.
77 400838
Бамп >>397773
78 400848
>>400835
Ты охуел. Он для суровых дидов, которым мозги не позволяют уже использовать HDL и прочие хипстерские технологии для милениалов.
79 400863
>>400848

>Он для суровых дидов


Для старых пидорасов.
80 400869
>>400848

>для суровых дидов


для старых пердунов
sage 81 400998
>>397766 (OP)

>ПЛИС / FPGA


Т.е. мне тут не рады и мне придеться создавать отдельный тред?
мимо CPLD-боярин
82 401000
>>400998
Я тебе ещё с прошлого треда не рад.

мимо->>381787
83 401002
>>400998

>CPLD-боярин


Вот скажи в чем облажался >>399384?
Три счетчика в сумме на 15 трипперов со входной логикой BIN-7SEG и сосу хуй при попытке впихнуть в MAX3064. Как так то?
Изначально отладка шла во флексине с бесконечным ресурсом числа перезаписей в отличии от CPLD.
84 401047
>>398432

>комплект плат этого "начинающего" вкатывателя.


Набор радостного говноежки.
85 401211
Анон, а какая сейчас FPGA самая большая (в плане количества вентилей) среди тех, с которыми можно работать, используя только попенсорс? То есть, чтобы не ставить никакого говна типа ISE, а получить из верилога битстрим, пользуясь только открытым софтом и видя, что там конкретно насинтезировалось.
86 401212
>>401211
Кажется что-то было под салат Lattice, включая даже обратный "диазссемблер" конфигурации. Но это не точно.
87 401213
>>401212
Ага, я вот что-то такое видел, но так и не понял, на какое количество вентилей можно примерно рассчитывать.
88 401294
>>401213
Сколько в Lattice iCE40 и китайских GW1N/GW2A есть, на столько и рассчитывай: http://www.clifford.at/yosys/faq.html
89 401308
Сильно ли сложно плисоведу вкатиться в цинк? Из задач к нему только реализация всяких сложных муторных для плис протоколов типа tcp/ip. Деньги не проблема если что.
90 401310
>>401308
Если что - с тобой. То же интересно потыкать цинк палочкой для переката на их дешманские RFSoC. Платка от QMTech есть, клон platform cable на ft232H есть, какая-то блевада стоит. Максимум запускал штатную поставку. На этом пока все, поглядываю в Embedded SoPC Design with Nios II Processor and Verilog Examples от Pong P. Chu
91 401313
>>401308

>Сильно ли сложно плисоведу вкатиться в цинк?


Нет.
92 401344
Можно ли тактировать ПЛИС синусом, а не меандром?..
93 401369
94 401370
>>401344

>Можно ли тактировать ПЛИС синусом


Зависит от амплитуды и от подключения "синуса"

Нужно ставить разделительный конденсатор и смещение в пол-питания на входной пин, пик-ту-пик (размах) желательно около напряжения питания буфера.
95 401378
>>401294
Добра тебе, анон!
96 401418
>>401310
Проц тоже через jtag программатор зайлинксовский дебажится?
97 401421
>>401418

>Проц тоже через jtag


Немного мутный вопрос - сейчас мало кто дебажит тяжелые ARM ядра особенно когда запущен Linux - отладчик не нужен, если только не упарываешься BareMetal. У Альтеры краем уха слышал можно через тонну анальных прог и освидетельствований дебажить ARM ядро синхронно и потактово с FPGA частью.
Если не в падлу будет - попробую. Хоть и малоактуальный, но интересный вопрос.
98 401633
>>398380
Тоже хочу вкатиться, другой анон. Harris&Harris прочитан, был курс в шараге цифровой схемотехники где на верилоге писал bcd в bin переводилку, архитектуры были, электродинамика. Так вот что дальше, есть какие то путные задачники по fpga? Или куда приебаться стажёром?
99 401639
>>401633
Мнение мимохуя - попробуй упарываться Ethernet-ом. Максимально тупо https://marsohod.org/index.php/projects/94-ether-send или прилепить внешнее PHY по rmii или mii и тупо по UDP слать говно компу. Вот реально - самый конченный, тупой и дебильный вариант - это выставить MAC в FF (лучше хотя бы жестко прописать MAC приемного компа что бы не ебаться с ARP), IP адрес компа (или широковещательный подсети, но не стоит так делать), неизменный заголовок UDP (с одним и тем же портом назначения) и... Profit!
Получил односторонний обмен на довольно хорошей скорости - под 100 мегабит (если использовать стандартные фреймы по 1.5К). Для отправки даже MAC корка не нужна - заранее подготовленный фрейм с преамбулой выдаешь по 2 или 4 бита за такт и соблюдаешь паузу между высиранием фреймов. Вот и все.
Согласование скорости с PHY - пока забей хер. Ну вот где сейчас встретишь полудуплекс или те же 10 мегабит? 100 мегабит и фулл дуплекс. А там и на гигабит переедешь.
100 401675
>>401639

>Ethernet-ом.


Слишком сложно будет для новичка сразу погрузиться в протокол tcp/ip и код манчестр 2.
Лучше пусть для начала соберет простенький УАПП. Поначалу будет слать байты, потом можно протокол какой-нибудь реализовать с адресом и аппаратной генерацией контрольной суммы.
А потом уже можно браться за интернет и более сложные протоколы связи.
101 401677
>>401675

>сразу погрузиться в протокол tcp/ip и


Поосторожней на поворотах. Явно же описано что это (tcp/ip который реально сложен в отличии от UDP) нахуй не надо на первых порах, так как тупо скопировал заголовок из реального UDP пакета с контрольными суммами, где в поле данных дописывать свои данные ну и CRC фрейма что бы свич не отбросил фрейм как ошибочный, или класть хуй при прямом подключении к компу в выделенную сетевую карту и wireshark покажет приниятые битые фреймы.

>код манчестр 2


Вдвойне нахуй эти анальные утехи. Сейчас такой херней никто не страдает, потому как ставится специальные Ethernet PHY для "низкоскоростной" меди/оптики с подключением по хxxMII, при подключении только оптики - высокоскоростные SERDES и прямое подключение к SFP модулям.
Можно доебаться про 10G PHY которое делит/собирает линк на 4 по 2.5G для использования менее скоростных SERDES в ПЛИС.
genman1.jpg211 Кб, 1824x1099
102 401682
>>401675
Еще добавлю некрофилии и садомазо:
http://www.equicom.ua/ping/ping1/ping1.htm
http://caxapa.ru/51876.html
https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=44276
Кто там рассказывал про стек TCP/IP? Вы серьезно?
Кто там кукарекал про Ethernet PHY? А не пошел бы ты нахуй?
103 401700
>>401639

> и тупо по UDP слать говно компу.


Нахуа? Комп отлично принимает и чистый езернет.

>что бы не ебаться с ARP


А зачем с ним ебаться? Он вообще тут не причём.
104 401712
>>401700

>Нахуа? Комп отлично принимает и чистый езернет.


Не могу не согласиться, но для таких довольно низкоуровневых работ нужно больше прав, чем у обычного пользователя и далеко нестандартный софт. Прилепив UDP с портом больше 1024 - уже из пользовательского пространства можно подключаться к сокету и слушать его. Про винду не знаю, в unix - через программу nc открыл сокет и как минимум можешь спокойно дампить содержимое в файл, перенаправлять по конвейеру в другие программы. Для отладки на ПК - ни строчки кода не писал, только штатные утилиты. Ну и tcpdump в помощь при особо тяжелых случаях.

>>401700

>ARP


>Он вообще тут не причём.


Ты из ПомогиТупомуУстроиться? Расскажи что делает ARP и потом продолжим.
O RLY? Как на канальном уровне будешь до компа доставлять бурлящие потоки говна? Ебанешь броадкастом что бы прям все знали что кто-то пытается просраться? Поэтому и писалось - прибить гвоздями МАС адрес компа чтобы не задристать всю сеть.
На первое время, а не на постоянку - крайне порочная практика
105 401736
>>401712

>Ты из ПомогиТупомуУстроиться? Расскажи что делает ARP и потом продолжим.


Ну так я и говорю что без использования TCP/IP никакие ARP не нужны. Всё происходит на уровне МАС-адресов. А как его узнать - ну так первое время не надо в сеть выходить. Соединил плисину с ПК витой парой на прямую и радуйся жизни. На первое время этого более чем достаточно.
106 401749
>>401639
Если делать что-то, управляемое по Ethernet, проще делать это сразу с помощью готового стека протоколов на nios и готового ядра типа triple speed Ethernet. У интела на сайте куча примеров, тот же simple socket server (https://fpgacloud.intel.com/devstore/platform/15.1.0/Standard/nios-ii-simple-socket-server-ethernet-example-for-cve/), изменил под себя и уже срешь в сеть полноценными пакетами. Но для этого нужна более жырная ПЛИС, ну и дополнительная плата с Ethernet PHY и трансформатором.
У нас были задания сделать антидребезг на кнопку, поебаться с датчиком по spi/uart, потеребить энкодер, сделать АЦП последовательного приближения на внешних компараторе и цап-царапе на r2r цепочке, можно ещё осциллограф/генератор на внешнем АЦП/ЦАП сделать, но это дольше и дороже.
А вообще, все зависит от области, куда хочет вкатиться анон - интерфейсы, цос, вычисления, измерения, etc, областей работы плисоконтор в его городе и железяк, которые у него есть.
107 401764
>>401749

> triple speed Ethernet


А не чё что он платный и работает только пока подключён программатор?
108 401769
>>401764
Не, ни чё страшного.
109 401855
Друзья мои подскажите. Intel HLS компилится только через командную строку или можно каким то образом GUI поиметь?
m2b3yqrerwb41.jpg116 Кб, 1240x1226
110 401949
111 402101
С XADC кто-нибудь работал? Нихуя что-то не понял как по схемотехнике к нему завезти 16 каналов правильно. И как оно будет работать на 5в, если банки плисы подведены к 3.3?
изображение.png423 Кб, 406x500
112 402377
Сап плисаны.
Где спиратить The RISC-V Reader на инглише? Все ссылки гугла ведут в лучшем случае на амазон, в большинстве же случаев - вникуда.
113 402405
Братишки поясните за speed grade у Хилых?
Я представляю что это некоторое усреднённое значение быстродействия кристалла, но хотелось бы конкретики.
2 по скорости выше чем 3?
Сильно сосну, если вместо 3 возьму 2?
str3.png326 Кб, 1826x925
sage 114 402408
>>402405
Попробуй как у Altera - где-то под конец даташита есть табличка где написана максимальная частота для каждого спидгрейда.
Имеющееся говнецо SL200C3 почти самое быстрое в серии.
115 402423
>>402377
https://github.com/Lingrui98/RISC-V-book/blob/master/rvbook.pdf
Моё гугл-фу сильнее твоего.
116 402425
>>402423
А впрочем, вру. Это в Яндексе нашлось. Его тоже стоит использовать, если хочешь что-то платное бесплатно найти.
Эх, ещё в китайнете много годноты, вот прямо очень много, но там везде нужен китайский телефон и китайская платёжная система. Хоть в Китай едь на их форумах регаться.
117 402644
Бамп
118 402646
Бамп
119 403233
>>401682
бля чо это?
120 403238
Чем зайлинксовский прожигатель за 40к₽ отличается от китаеподелия с латисом? А то на прошлой работе особо не успел протестить, а текущий всем устраивает.
nasebya1.jpg32 Кб, 535x606
121 403263
Внедряю SystemVerilog.

Есть у него, конечно, важное преимущество: всю уёбищность симулятора вивады дл SV, написанного потными индусами из колл-центра как прошивка от Боинга, который неспособен адекватно обрабатывать "<=" внутри классов и интерфесов, которые приходится из-за этого обмазывать омерзительными костылями уровня "менять сигналы на posedge, считывать значения по negedge", за которые в обычном верилоге я бы давно уже сделал судоку, которые стыкуются через интерфесы с обычными синтезируемыми модулями, где всё, естественно, делается исключительно по posedge — всё это говно можно инкапсулировать в класс driver и делать вид, что там ничего этого нет, перекидывая байтики в виде объектов на более высоком уровне абстракции.
122 403287
>>403263

Почему не пользуешься бесплатным модельсимом?
Есть у меня подозрение что ты не очень понимаешь таймслоты симулятора если у тебя беды с присваиваниями в классах. У меня у студентов такая ошибка частая (гонки сигналов, приемник принял сигнал раньше чем передатчик его отправил в тот же такт)
123 403301
>>403287

>Почему не пользуешься бесплатным модельсимом?


Сижу на виваде, начал с того, что есть в ней.

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


Да я как бы не первый день замужем, знаю, чем блокирующие присваивания от неблокирующих отличаются. Вот проблема, ужатая до самого минималистичного варианта, счётчик + интерфейс с шиной и парой сигналов ready/valid: https://pastebin.com/6ASBKYRD

В драйвере в цикле ждём валидную транзакцию posedge iff (ready && valid) и устанавливаем для data следующее значение. На 1.png видно, что симулятор сперва меняет значение ready, потом читает его и обновляет data, хотя ready присваивается через <=, и на фронте клока, по идее, должно действовать старое значение. С valid всё норм, так и происходит..

Один вариант костыля: сделать присваивание ready с задержкой через <= #1, чтобы значение менялось гарантированно после posedge clk. Работает (2.png), но этот костыль совсем уж кривой.

Другой вариант костыля: читать внутри драйвера значения по negedge, менять по posedge. Работает и приемлемо выглядит (3.png), пока остановился на нём.
124 403319
>>403238
Бумп. Я про байтбластер/программер если что.
125 403331
>>401764

>работает только пока подключён программатор


Поставить кряк на квартус нам, конечно же, лень?
126 403353
>>403331
Нужен кряк не на квартус, а на корку, говорят такой есть, но я найти не смог.
127 403357
>>403353
Нужен лицензионный файл, в который прописаны все нужные корки. Если квартус пропатчен, то можно просто скопировать какую-нибудь строку (например, с лицензией на сам квартус) и заменить там название feature на нужное тебе (только важно его выяснить - например, узнать у кого-нибудь на форумах или посмотреть в настоящий лицензионный файл, если есть возможность).
128 403487
>>402423
Спасибо няша
129 405012
Как сделать побитовое ИЛИ каждого бита шины?
130 405023
>>405012
Как избавиться от этого пиздеца?
assign out = bus[0] || bus[1] || bus[2] || bus[3] ||
bus[4] || bus[5] || bus[6] || bus[7] ||
bus[8] || bus[9] || bus[10] || bus[11] ||
bus[12] || bus[13] || bus[14] || bus[15]||
bus[16] || bus[17] || bus[18] || bus[19]||
bus[20] || bus[21] || bus[22] || bus[23]||
bus[24] || bus[25] || bus[26] || bus[27]||
bus[28] || bus[29] || bus[30] || bus[31]||
bus[32] || bus[33] || bus[34] || bus[35]||
bus[36] || bus[37] || bus[38] || bus[39]||
bus[40] || bus[41] || bus[42] || bus[43]||
bus[44] || bus[45] || bus[46] || bus[47]||
bus[48] || bus[49] || bus[50] || bus[51]||
bus[52] || bus[53] || bus[54] || bus[55]||
bus[56] || bus[57] || bus[58] || bus[59]||
bus[60] || bus[61] || bus[62] || bus[63];
131 405027
>>405023
assign out = |bus;
132 405028
>>405027
Охуеть, получилось!! Но как?
= | это отдельный оператор?
133 405041
>>405028
Ну как бы да, есть унарные версии всех логических операндов

https://www.nandland.com/verilog/examples/example-reduction-operators.html
134 405043
>>405027
>>405023
Типа на выход идёт "1", когда хотя бы один бит равен "1"?
вхдлбог
135 405068
>>405043
Именно
136 405080
>>405043
Вхдльщики сосут в этом плане.
137 405118
>>405080

>Вхдльщики сосут в этом плане


В VHDL есть функции or_reduce и подобные, а в VHDL 2008 появились унарные операторы как в верилоге.
138 405119
>>405043

>вхдлбог


>не знает про унарные операторы


Какой же ты бог, если не знаешь даже самых основ?
139 405131
>>405119
Не переживай, ты тоже еблан, называющий операторы редукции "унарными".
изображение.png375 Кб, 466x320
140 405132
>>405131
Унарный оператор - это оператор, который работает с одним операндом. Оператор редукции принимает один операнд, а не два и не три, поэтому он унарный.

Операторы с двумя операндами - бинарные. С тремя - тернарные. ТАкие дела.
141 405134
>>405132
Операторы редукции работают с каждым битом на шине как с самостоятельным операндом. Поэтому их и выделяют в отдельную категорию.
изображение.png2,3 Мб, 1200x800
142 405136
>>405134
>>405134

>Операторы редукции работают с каждым битом на шине как с самостоятельным операндом.



Ещё раз повторюсь, оператор редукции принимает один операнд. Значит это - унарный оператор.

А то, что унарные операторы могут принимать (в общем случае) значения разных типов и если принимают сложные (составные, вроде вектора) типы, то это никак не делает из унарного оператора неунарный. Так же как работа бинарного оператора И над двумя векторами не делает из бинарного оператора небинарный.
143 405150
>>405132
>>405136
Спасибо, что мокнул в говно этого >>405134 >>405131
битоёба, не могущего в абстракции.
144 405188
>>405132
>>405134
Вот вы шизоиды. Это разные классификации.
Унарные, бинарные, тернарные - по количеству операндов.
Операторы редукции выдают результат по разрядности меньший чем исходные операнды. Редукция == понижение (разрядности).
145 405283
Пытаюсь сделать шину с Z- состоянием.
`timescale 1ns/1ps
module Zhopa(input [15:0]AdrBus,
inout reg [15:0]DataBus,
input nCS, nWR, nRD);
always @
if(!nCS & !nRD & nWR)
case(AdrBus)
16'h0000: DataBus = 16'h00_00;
16'h0010: DataBus = 16'h00_0F;
16'h0080: DataBus = 16'h00_F0;
16'h0081: DataBus = 16'h0F_00;
default: DataBus = 16'dZ;
endcase
else DataBus = 16'dZ;
endmodule

module TestZhopy();
reg [15:0]AdrBus = 0;
wire [15:0]DataBus;
reg nCS = 'd1;
reg nWR = 'd1;
reg nRD = 'd1;
Zhopa Zhopa(.AdrBus(AdrBus),
.DataBus(DataBus),
.nCS(nCS), .nWR(nWR), .nRD(nRD));
initial
begin
#10 AdrBus = 'h0080;
nCS = 0;
#10 nRD = 0;
#10 nRD = 'd1;
#10 AdrBus = 0;
nCS = 'd1;
#10;
$stop;
end
endmodule

Моделсиму не нравятся присвоения значений к регистровой переменной в cаse, выдаёт ошибку
* Error: ../#SRC/Zhopa.v(8): (vlog-2110) Illegal reference to net "DataBus".

Хотя Квартус и компилирует и моделирует нормально. Чё за нах?
145 405283
Пытаюсь сделать шину с Z- состоянием.
`timescale 1ns/1ps
module Zhopa(input [15:0]AdrBus,
inout reg [15:0]DataBus,
input nCS, nWR, nRD);
always @
if(!nCS & !nRD & nWR)
case(AdrBus)
16'h0000: DataBus = 16'h00_00;
16'h0010: DataBus = 16'h00_0F;
16'h0080: DataBus = 16'h00_F0;
16'h0081: DataBus = 16'h0F_00;
default: DataBus = 16'dZ;
endcase
else DataBus = 16'dZ;
endmodule

module TestZhopy();
reg [15:0]AdrBus = 0;
wire [15:0]DataBus;
reg nCS = 'd1;
reg nWR = 'd1;
reg nRD = 'd1;
Zhopa Zhopa(.AdrBus(AdrBus),
.DataBus(DataBus),
.nCS(nCS), .nWR(nWR), .nRD(nRD));
initial
begin
#10 AdrBus = 'h0080;
nCS = 0;
#10 nRD = 0;
#10 nRD = 'd1;
#10 AdrBus = 0;
nCS = 'd1;
#10;
$stop;
end
endmodule

Моделсиму не нравятся присвоения значений к регистровой переменной в cаse, выдаёт ошибку
* Error: ../#SRC/Zhopa.v(8): (vlog-2110) Illegal reference to net "DataBus".

Хотя Квартус и компилирует и моделирует нормально. Чё за нах?
146 405284
>>405283
Блять, опять разметка по пизде пошла, хули макака не может нормально сделать?
147 405289
>>405284

>хули макака


Ты не можешь * заменить на ж?
148 405313
>>405289
Макака не может добавить тег [code][/code]?
На вопрос лучше ответь.
149 405375
>>405283
Посмтри вот здесь, как написать модуль с портом inout.
https://electronics.stackexchange.com/questions/22220/how-to-assign-value-to-bidirectional-port-in-verilog

Там, в частности, написано, что inout не может быть reg.
150 405421
>>405375
Да, но почему в Квартусе он может быть reg, а в Моделсиме не может?
Я знаю, можно написать по типу
assign inoutvar = (expression)? (true_value_expr) : (false_value_expr);
Но дело в том что условие переключения намного сложнее чем в примере и писать его потоковом способом чёт не хочется.
151 405494
>>405421

>Да, но почему в Квартусе он может быть reg, а в Моделсиме не может?


Потому что если чего-то делать нельзя, то "правильного" поведения в этом случае нет, кому как нравится, тот так себя и ведёт, в том числе от версии к версии. Если рассчитывать на какое-то определённое поведение в этой ситуации, то можно очень легко выстрелить себе в ногу.
152 405518
>>405494
Но ведь на язык есть стандарт, который либо допускает, либо нет. Что за разброд и шатания?
153 405540
>>405518
Во-первых, есть такая хуйня, как
https://ru.wikipedia.org/wiki/Неопределённое_поведение
Во-вторых, компиляторы пишут люди. Людям свойственно ошибаться, а некоторые из них ещё и индусы.
154 405547
>>405540

>компиляторы


Симуляторы. Ну и компиляторы тоже.
155 405568
>>405540
Ну так неопределённое поведение возникает как раз тогда когда в стандарте есть недосказанность. Да и индусы скорее что-нибудь забудут, нежели напишут что-то сверх нормы.
156 405602
>>405568

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


Можно забыть написать проверку на допустимость входных данных, и начнёт работать код, который с ними работать не должен и не предназначен. В каких-то случаях он даже может давать осмысленный результат, но это лотерея.
157 405610
>>405602
Ну ты сказанул тоже - компилятор чисто случайно отсинтезировал код с нужным результатом.
158 405614
>>405610
Не "чисто случайно отсинтезировал нужный код", а использовал работающий код для данных за пределами области, где подразумевалась корректная работа. А надо было написать проверку пределов.
159 406532
а
160 407343
Подскажите. Я хочу в одном файле описать все входы и выходы. А в остальных уже писать основной код. Как мне это сделать? Совсем не понимаю(Verilog)
161 407359
>>407343
Используй VHDL
162 407396
>>407343
Это очень хуевая практика, не делай так.
163 407484
>>407343
https://youtu.be/Jt87cbQThSc?t=7420
2:03:40

Но ты лучше вот этого >>407396 послушай.
164 407503
>>407343

> Я хочу в одном файле описать все входы и выходы. А в остальных уже писать основной код.


But нахуя? Или ты имеешь в виду модуль для верхнего уровня, где нет ничего кроме связей между отдельными частями (каждая вынесена в отдельный модуль)?
165 407542
>>407359
>>407396
>>407484
>>407503
Спасибо большое за ответы.
166 407592
>>397766 (OP)
Какова сфера применения ПЛИС? Только цифровая обработка сигналов по 10 каналам одновременно и вычисление каких-нибудь оверсложных алгоритмов кодирования типо CRC-256 в одну микросекунду?
Может ли ПЛИС заменить МК, чтобы на него написать довольно сложную программу с кучей внешней перифирии и библиотек для работы с ними, как на атмегу или стм32?
Вариант, когда на ПЛИС в несколько сотен тысяч ячеек создают простенький МК типо attiny13 не рассматриваем, понятное дело, что это делают плисоводы только для того, чтобы выпендриваться между себе подобных и на практике это не применяется.
167 407596
>>407592

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


Лол.

Погугли microblaze или nios ii. Самый что ни на есть продакшен. Именно для этого они и используются — куча периферии, сложная программа с кучей библиотек. Плюс ещё какая-нибудь частная задача, которую не сделать на микроконтроллере, и поэтому надо городить плис (видео 4К, управление по 100 линиям без задержек, числодробление).
168 407632
>>397766 (OP)
Анон, поясни за PLL.
Вот у меня есть Cyclone 10 LP 10cl006YU256C8G, тактируется кварцем 50мгц.
Я что, с этим PLL могу завести NIOS 2 на 400мгц?
169 407641
>>407632

>NIOS 2 на 400мгц


Очень сомнительно.
170 407642
>>407632
Ты сможешь вытянуть из PLL сколько захочешь в его рабочем диапазоне, но ты не сможешь тактировать логику быстрее, чем сигналы в ней проходят от регистра до регистра (время прохождения зависит от реализуемой схемы).

Точнее, теоретически сможешь, но тебе это не понравится.
171 407645
>>407596

>Именно для этого они и используются — куча периферии


То-есть на мощном FPGA можно одновременно играть в змейку на TFT-дисплее, записывать файлы на юсб-флешку и заходить с браузера на него через lan-кабель?

>сложная программа с кучей библиотек.


Аноны выше наоборот говорят, что это плохо, надо всю программу ПЛИС писать в одном файле. >>407396 >>407484
172 407671
>>407645

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


Ты, долбоеб блять, речь шла о том, чтобы не писать входы и выходы модуля в отдельном файле.
173 407679
>>407645

>То-есть на мощном FPGA можно одновременно играть в змейку на TFT-дисплее, записывать файлы на юсб-флешку и заходить с браузера на него через lan-кабель?


А ещё слушать SDR-радио, замутить клон денди, спектрума, запустить сразу 100500 uart/spi/i2c-трансиверов, ethernet, pci-e и много ещё чего. И всё это будет работать сразу и одновременно в одном кристалле.
174 407728
>>407679
Ого, класс.
175 407734
>>407671
Прости, я не заметил.
176 407899
Помогите пожалуйста
https://2ch.hk/ra/res/338104.html#407896 (М)
177 407934
>>407899
Тебе надо вот этот курс навернуть. Как раз по твоей теме.
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
178 407936
Есть тактовый генератор 50МГц. Нужно сформировать 2 сигнала: 10КГц и 10КГц + 10% (т.е. 10000Гц 0,1 + 10000 = 11000Гц).
10КГц получаю на счётчике, который считает от 0 до 4999, т.е. период его работы 5000 тактов (50 000 000 / 10 000).
Теперь посчитаем период счётчика для сигнала 11КГц: 50 000 000 / 11 000 = 4545,45(45) тактов.
Но теперь, для сигнала 11КГц, попробуем посчитать по другому:
5000 + 10% = 5000 - 5000
0.1 = 4500 тактов.
4545,45(45) первым способом vs 4500 вторым.
Я дурак и чего-то не понимаю. Откуда вылезла разница в 545 тактов?
179 407937
>>407936
Ебучая макака.
Ещё раз с учётом разметки.
Есть тактовый генератор 50МГц. Нужно сформировать 2 сигнала: 10КГц и 10КГц + 10% (т.е. 10000Гц х 0,1 + 10000 = 11000Гц).
10КГц получаю на счётчике, который считает от 0 до 4999, т.е. период его работы 5000 тактов (50 000 000 / 10 000).
Теперь посчитаем период счётчика для сигнала 11КГц: 50 000 000 / 11 000 = 4545,45(45) тактов.
Но теперь, для сигнала 11КГц, попробуем посчитать по другому:
5000 + 10% = 5000 - 5000 х 0.1 = 4500 тактов.
4545,45(45) первым способом vs 4500 вторым.
Я дурак и чего-то не понимаю. Откуда вылезла разница в 545 тактов?
изображение.png93 Кб, 226x150
180 407942
>>407936

> Откуда вылезла разница в 545 тактов?


Киса, ты делаешь хуйню.

50e6/4500 = 11 111.1(1)
181 408013
>>407934
Спасибо уважаемый, но не то. Запись ужасная. Буду искать по теме в англотубе.
Спасибо еще раз.
182 408032
>>407942
Так вот я и спрашиваю, как так получается то?
image.png1,5 Мб, 667x1000
183 408092
>>408032
Киса, 10 / 11 и 11 / 10 это разные 10%.

Ну или делить на 0.9 это не то же самое, что умножить на 1.1
184 408094
>>407936

>Но теперь, для сигнала 11КГц, попробуем посчитать по другому:


>5000 + 10% = 5000 - 5000 0.1 = 4500 тактов.


А если 5000 + 100% (в два раза большая частота), то = 5000 - 5000 * 1.0 = 0 тактов?
185 408100
>>407899
Два латча тебе нужно. Один латчит по клоку, другой — по инверснутому клоку. Дальше сам.
изображение.png23 Кб, 356x533
186 408133
image.png390 Кб, 366x450
188 408171
>>408161
Да, это было оче давно. И https://www.euclidea.xyz/en/game/ прошёл. Это было оче давно. Я стар :\
189 408172
>>408171

> это было оче давно


> ссылка на домен в зоне xyz


> зона xyz появилась в 2014


Чёт отпаялся с этого олдфага
190 408183
>>408172
Это первая ссылка на евклид паззл из гугла. Я гамался, когда он был сырой, уровни добавлялись и я репортил баги
191 408209
>>408133
Где такое рисовать?
192 408228
>>408209
В глаза долбишься? >>407899
6f18eae538ae1c2a44ddff37b0ce61f8.jpg134 Кб, 1440x1080
193 408233
>>408133
Проорал с раскраски для даунов.
194 408258
>>408233
Что ты злой такой? Это же детская игрушка.
195 408264
Поцоны такую хуйню ок поковырять для общего понимания фпга и чо с ним заделать можно?
https://tinyfpga.com/
610105777-2117885100.jpg261 Кб, 960x960
196 408271
>>408264
Для общего понимания и без железки можно обойтись.
Или с такой как на пике.
197 408393
Как можно присвоить тип reg к простому output?

output [7:0] Lock;
reg [7:0] RegLock;

или возможен вариант только assign Lock[1] = RegLock [1]; и т.д.
reg.png22 Кб, 1002x297
198 408401
>>408393
Если на выходе не настоящий регистр, хотя и написан как reg
always @(звездочка)
begin
RegLock = Lock;
end

Если выход настоящих регистров на выход wire
assign Lock = RegLock;
или не понял вопрос...
reg2.png29 Кб, 1122x365
199 408402
>>408393
Чет объебался. Мало что прояснит, но как-то так. Да, один из выходов reg, который не reg а wire.
>>408401
200 408419
>>408402
Мое почтение за объяснение.
201 408870
Хотел посмотреть уроки по логическим элементам, но не могу скачать софт Quartus II Web Edition v9.1 для линукс или сборка для виртуальной машины, или уже вместе с sp2. На интел регистрация вплоть до телефона, которого не имею. Есть ли альтернативные источники для загрузки?
202 408877
>>408870
Нашёл на трекере для win32. Закину в виртуалку.
203 408878
205 408911
>>408891
C особой осторожностью скажу - говно. Фапать на это или Lattice если не из секты Altera-Xilinx
Извиняй за .ru - али вообще затрахал этим ебаным переводом и редиректом https://aliexpress.ru/item/4000121272355.html
https://cnx-software.ru/2018/09/05/licheetang-anlogic-eg4s20-плата-fpga-нацелен-на-разработку-risc-v/
"FPGA — Anlogic EG4S20BG256 с логическим блоком 20K (гибридная архитектура LUT4 / LUT5), около 130 КБ SRAM, 64 Мбит SDRAM"
206 409822
Кому не тяжело, посмотрите пожалуйста, правильно ли я понял задачу. Возможно ли сделать меньше состояний? Спасибо.
207 409924
>>409822
У тебя S1 и S5 обозначают одно и то же состояние. Объедени.
208 409926
Не
209 409931
Как получить рандом на плисине?
210 409950
>>409931
Зависит от цели. Тебе с какой?
211 409961
>>409924
Вот это я даун. Спасибо!
212 409977
>>409931
Поставь рядом с ПЛИС генератор изотопов.
213 410082
>>409950
Мне с целью получить последовательный сигнал фиксированной частоты, но с рандомным содержимым.

>>409977
Шутку понял, смешно.
214 410086
>>410082

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


Сдвиговый регистр подойдёт? https://ru.wikipedia.org/wiki/Регистр_сдвига_с_линейной_обратной_связью
215 410127
Господа, подскажите, пожалуйста, можно ли как-то короче записать этот код:
input [3:0] A, B;
wire [3:0] X;
assign X[3] = (A[3] && B[3]) || (!A[3] && !B[3]),
X[2] = (A[2] && B[2]) || (!A[2] && !B[2]),
X[1] = (A[1] && B[1]) || (!A[1] && !B[1]),
X[0] = (A[0] && B[0]) || (!A[0] && !B[0]);
Чтобы каждому биту в шине X соответствовали биты в шинах A и B.
216 410130
>>410127

>assign X = (A && B ) || (!A && !B)

217 410134
>>410130
Так не пойдёт, у тебя результат будет одноразядным, а ему нужно по каждому разряду.

>>410127
Проверь такое
assign X = (A & B) | (~A & ~B);
MC.JPG22 Кб, 437x144
218 410137
>>410134
>>410130
Запутался, раньше пробовал сделать так:

>assign X = (A && B ) || (!A && !B)


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

>assign X = (A & B) | (~A & ~B)


Звучит логичнее, я ведь получу как раз 4 бита.
Сейчас еще поковыряю, спасибо, аноны.
Эта результат симуляции для девайса, который сравнивает 2 числа
219 410141
>>410137
Да, я проебался в симуляции.
На первой картинке результат симуляции при assign X = (A && B ) || (!A && !B).
На второй при assign X = (A & B) | (~A & ~B). Все работает хорошо.
Еще раз спасибо.
Алсо, пожалуйста, посоветуйте какой-нибудь проект для нуба, чтобы поковыряться и освоиться.
MCpic2correct.JPG22 Кб, 429x148
220 410142
>>410141
Вторую картинку перепутал.
221 410144
>>410141

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


Его не существует. Делай любую, даже бредовую идею и получишь намного больше опыта и практики. Можешь начать с клонов ретрокомпов в FPGA.
Думаю попробовать написать максимально тупой конечный автомат для приема-отсылки данных по UDP без использования корок. В качестве phy - бомжевская lan8720 по rmii.
222 410146
>>410141

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


Пройдись по этим видосам
https://www.youtube.com/playlist?list=PL4UMfOeGYsvbPDapirH9GOJ93CBSOe49Y
223 410157
>>410086
Подойдёт, только не понял как выбираются эти самые биты отвода.
224 410169
>>410157
Как у тебя с высшей математикой (в частности — многочленами над конечным полем)? http://www-math.ucdenver.edu/~wcherowi/courses/m5410/m5410fsr.html

P.S. Если не OCHE, то можно просто брать готовые полиномы:
https://web.archive.org/web/20121021184350/http://www.eej.ulst.ac.uk/~ian/modules/EEE515/files/old_files/lfsr/lfsr_table.pdf
https://www.xilinx.com/support/documentation/application_notes/xapp052.pdf
225 410182
>>410169

>Как у тебя с высшей математикой (в частности — многочленами над конечным полем)?


Охуенно. Я не вычислял многочлены над конечным полем уже двадцать минут. Пойду повычисляю.
226 410195
>>410169

>https://web.archive.org/web/20121021184350/http://www.eej.ulst.ac.uk/~ian/modules/EEE515/files/old_files/lfsr/lfsr_table.pdf


Я чёт не догнал, там в табличке n - это количество разрядов в регистре, а LFSR-2/LFSR-4 количество исключающих ИЛИ и их позиции?
227 410214
>>410144

>приема-отсылки данных по UDP без использования корок. В качестве phy - бомжевская lan8720 по rmii


Держи в курсе если что. У меня отладка на этой фихе тоже валяется, накупил их по 300 рублей.
228 410228
>>410214
На ночь глядя не понял прикола - явно что-то со страпончиком связано. Просто подав питание - ловит линк, а воткнув в плату и подав тактовый сигнал - уже нет. Может конфликт с txen от weak pullup. Как разберусь - сигналтапом подсмотреть фрейм и синхрозаголовок фрейма и можно думать как действвовать дальше
eth0.png13 Кб, 1652x174
229 410235
>>410214
Походу да, TXEN ебал мозги, но это не точно.
Как-то запустил что от мимо пролетающей мухи дохнет, главное снял данные сигналтапом. Добро пожаловать в декодирование фрейма и маков.
230 410250
>>410214
Покажи отладку если она с FPGA? Если просто модуль с 8720 - то не интересно, можешь не показывать.
Таки да - TX_EN посадил в 0 - получше стало и соснул хуйца.
На самой платке с FPGA есть генератор на 50 МГц и если их гнать через FPGA на выход и тактировать 8720 - сосу хуй может звон-отраженка от пустой линии до снятого генератора и как не перезагружай, дергая reset - ей похуй. Вернул в зад генератор - заработала намного стабильней.
assign Z = swap ? data[7:0] : data [0:7]
Вспоминая защиту от прострела ноги становится грустно что надо руками слеивать по биту.
231 410258
>>410250

>отладку если она с FPGA


С фпга тоже есть, но она не 300₽ стоит.
Nexys 4 ddr от digilent.

У меня прием нормально получался, но дико с преамбулой ебался.
Лучше бери синхру с модуля, надёжнее будет.
232 410572
>>410250

>assign Z = swap ? data[7:0] : data [0:7]



Ще оно делает?
Мимошел
233 410574
>>410572
Когда нужно - можно назначить передачу данных как есть или поменять порядок бит. Не пытайся отсинтезировать - будет ошибка, Verilog явно запрещает такое делать.
Например было 10101010 станет 01010101 или же 11001001 и станет 10010011.
234 410584
>>410134

>assign X = (A & B) | (~A & ~B);


почему бы не записать это как

>assign X = ~(A^B)


?
235 410586
>>410250

> если их гнать через FPGA на выход


Для этого не каждый выход годится, ты же в курсе, да? Плюс Ethernet требует частоту +-50 ppm, а генератор на плате небось самый дешевенький.
236 410587
>>410584
Действительно. А ты хорош, исключающее ИЛИ тут увидел.
237 410591
>>410586
Использую что было - а там хуй тебе, а не PLL OUT. Там даже кнопки повесили на тактовые входы.
http://www.alinx.vip:81/ug/AX4010_UG.pdf
Нашел какую-то железку с STM32 с микропитоном + RMII PHY где снял дамп пинга - вижу прием и передачу фрейма. Уже есть где подсмотреть несколько вариантов передачи и как писал анон выше - посмотреть латентность от CRS или TX_EN до первых битов данных преамбулы. Сколько говна вручную разбирать у тестового фрейма и через mif "заливать" фрейм в память для тестов CRC которая как-то через жопу считается.
238 411529
>>399589
А че это такое?
239 411559
>>399589
У матлаба есть реализация аппаратного распознавания цифр на плис. С помощью нейросетей.
240 411678
>>410086
Сдвиговый регистр даёт псевдослучайное значение относительно предыдущего, т.е. последовательность значений после запуска будет каждый раз одна и та же. А вот как получить рандом при каждом запуске? - вопрос!
241 411689
>>411678

>А вот как получить рандом при каждом запуске? - вопрос


Помню у меня автомат-десериалайзер от наводок на неподключенный разъем генерил просто рандомные значения.
242 411693
>>411689
Ну это как повезёт.
243 411711
>>411678
Ну, можно попробовать поиграть в асинхронщину: https://github.com/teknohog/rautanoppa/blob/master/common_hdl/ringosc.v
244 411798
>>411711
Тактовый сигнал какой-то на линии задержки полученный, как это поможет?
245 411875
>>411798
Так, что у него будут хрен знает какая частота и джиттер. По той ссылке генератор случайных чисел именно так и сделан: https://github.com/teknohog/rautanoppa/blob/master/common_hdl/hwrandom_core.v

P.S. Ну или можно забить на случайность начального значения и не париться, как в этом генераторе гауссовского шума (там ГСЧ сделан на трёх 64-битных сдвиговых регистрах): https://opencores.org/projects/gng
246 411939
Есть автоматы Мили,
есть автоматы Мура,
а как называются автоматы у которых выходы выводятся напрямую с регистра состояния?
247 411942
248 411947
>>397766 (OP)
ЕРМ3032 хватит для синтеза частотомера?
249 411949
>>411947
Не утверждаю, но в этом случае выкинь в помойку.
MAX3000 "4.5–ns pin–to–pin logic delays with counter frequencies of up to 227.3 MHz"
Измени Альтере и возьми конкурента ispMACH 4000V/Z от Салата https://www.latticesemi.com/en/Products/FPGAandCPLD/ispMACH4000VZ "operate at SuperFAST™ frequencies of up to 400 MHz."
Только вот хуй ты просто так 400 МГц (или даже 200Мгц) загонишь в single-ended режиме.
250 411952
>>411949

> ты просто так 400 МГц (или даже 200Мгц) загонишь в single-ended


Что меня остановит?
251 411953
>>411952
Ничего. Только потом не ной тут что забил на согласование и у тебя все звенит, большая погрешность, вообще не считает и прочее, амплитуды нехватает на тактовом входе, у соседа снизу в коронках начал играть Rammstein и прочие бредовые последствия.
Глянь сюда - тут рассматривается частота в 1 мегагерц и из какой полосы частот он состоит https://www.youtube.com/watch?v=fCbAafKLqC8
252 411960
>>411949

>up to 227.3 MHz


Да мне с головой нахуй. Я максимум буду мерять частоту ногодрыга на стм32
253 411993
>>411942

>М16


Не понял.
254 411994
>>411875
А как получают рандом на всяких микроконтроллерах и прочих ардуинах?
255 411996
>>411994

>ардуинах?


Нмкак
256 412010
>>411996

>Нмкак


Ась?
257 412019
>>411994

> А как получают рандом на всяких микроконтроллерах и прочих ардуинах?


Линейно и конгруэнтно:
https://github.com/vancegroup-mirrors/avr-libc/blob/master/avr-libc/libc/stdlib/random.c
https://github.com/vancegroup-mirrors/avr-libc/blob/master/avr-libc/libc/stdlib/rand.c
https://en.wikipedia.org/wiki/Lehmer_random_number_generator
DOC004557517.jpg47 Кб, 600x503
258 412023
Радиотехники, мне нужна помощь, от электрики я далек. Ситуация следующая: имеется вибронакидка на кресло купленная на али, у нее есть пульт на проводе в котором перегревается транзистор uln2003apg и выходит из строя. В первый раз он сгорел и я купил на али их, перепаял в сервисе, но он опять стал перегреваться и глючить, на каких то режимах работал, а на каких то сильно грелся. Как быть, по новой припаивать опять все повторится, мб другой транзистор нужен чтоб не перегревалось или еще как то можно выйти из этой ситуации? Знал бы что такая параша китайская не стал бы покупать, но отзывы вроде все норм были, потом наверно у всех так же погорело.
unnamed.jpg10 Кб, 250x250
259 412024
Вот такого плана
260 412025
Вот пульт и плата внутри его
261 412026
>>412023
>>412024
Съеби в ремонтотред, что-ли? >>253667 (OP)
262 412034
>>412019
Влом исходники курить. Кратко, в чём суть, если не затруднит?
263 412035
>>412034
Берут некое число x, а потом вычисляют следующее по формуле X_{n+1}=(a*X_n+c) mod m (mod m — вычисление остатка от деления на m): https://ru.wikipedia.org/wiki/Линейный_конгруэнтный_метод
264 412041
>>412035
А, знаю, это называется затравка. Но откуда берут её? В персональном компуктере её роль выполняет системное время. Но в МК такой способ не прокатит, ибо после запуска все счётчики обнулены и если через какое-то определённое время нужен рандом, то и счётчики, запущенные на старте, к тому времени будут иметь каждый раз одно и тоже состояние.
265 412044
кто-нибудь может пользоваться Altium Designer?
отзовитесь пожалуйста, нужна помощь
266 412065
>>412041
Из младших разрядов adc например.
267 412103
>>412044
1. По трассировке плат отдельный тред.
2. Альтиум - убогая хрень. Используй OrCAD или Expedition.
268 412118
>>412103
OrCAD для лохов, P-CAD - выбор мастеров.
269 412124
я все понимаю, но мне работать нужно именно в нем
270 412127
>>412124
А что тебе надо от нас? Посмотри видосы/книжку Сабунина для начала.
28e7a5657c9542279502ca05ad355d71.png17 Кб, 906x443
271 412135
Поясните максимально просто как работает FIR фильтр, и как его реализовать на ПЛИС. У меня есть АЦП, ЦАП 10 бит примерно 48 килосемплов, хочу, допустим сделать LPF, но я нихуя не понимаю как оно работает. Читал, ничего не понял, типа есть память, с семплами инпута, которые перемножаются на коэффициенты, а потом складываются. Чиво блять. В матлабе знаю как вычислять коэффициенты, но не знаю куда их засунуть, чтобы работало. Вот на картинке x(n) это номер семпла или чего?
272 412163
>>411939
Бамп вопросу.
273 412195
>>412118
Кейденс - сила, Альтиум - могила.
FIR.png24 Кб, 719x242
274 412198
>>412135
Вот тебе схема, которая пиздато ложится в ПЛИС. Здесь X - это входные сэмплы, в твоем случае которые падают с АЦП. Прямоугольники - это триггеры, образующие конвейер. По этому конвейеру твои сэмплы двигаются. Пришел новый - протолкнул старые, сдвинул конвейер.
275 412216
>>412198
Я так понимаю каждый семпл умножается на каждый коэффициент, а потом результат умножения суммируется? Всё равно не понимаю. Я тупой. Допустим у меня фильтр 10 порядка, это надо десять умножителей. Пришел семпл, сразу умножился на все 10 коэффициеетов и высрался в общий регистр, с которого уже можно подавать на ЦАП. Так?
276 412217
>>412135

> FIR


КИХ

> сэмплов


отсчётов

> LPF


ФНЧ

> сэмплами


отсчётами

> инпута


входными
Отчёты сигнала умножаются на коэффициенты фильтра и складываются. Что такое z-преобразование и z в минус первой степени ты наверное знаешь.
277 412373
>>412217
Спасибо за урок русского языка.
>>412198
Давайте ещё раз для дауна, на пальцах.

>Отчёты сигнала умножаются на коэффициенты фильтра и складываются.



Допустим поступил один отсчет сигнала, его исходное число умножается на все коэффициенты или результат умножения на первый коэффициент умножается на следующий? Второй вариант, думаю, не имеет смысла, потому что на выходе будет пиздецки большое число, поэтому остается первый вариант. Дальше, все результаты умножения исходного отсчета складываются вместе. Не понятно как запилить такой конвейер. Алсо, схема должна работать оче быстро, чтобы перемножить всю хуйню до поступления следующего отсчета. Извините, я просто математику не знаю она доставляет мне боль.
278 412551
>>397766 (OP)
Посоны, мне срочно нужен VGA контроллер на ПЛИС для языка vhdl

Нашел вот код
https://cyberleninka.ru/article/n/razrabotka-kontrollera-vga-na-yazyke-vhdl-v-srede-quartus-ii/viewer

Но он не работает, накосячили с типами данных, я сам еще нуб в этом языке. Выручайте срочно посоны, проект для универа горит
279 412554
>>412551
Сколько денег отсыпешь?
280 412555
>>412551
Эмм, я думал вы может ссылки знаете

Я могу свой код скинуть, у меня ошибку выдает из за того что я 1 пытаюсь прибавить к std_logic, как решение найти?
281 412557
>>412551
Тут на Verilog (платка от них, проверял, работает) https://github.com/alinxalinx/AX4010/tree/master/SRC

Не проверял(портировал) https://www.waveshare.com/wiki/File:EP4CE10-Verilog-VHDL.7z тут есть и на vhdl.
282 412559
begin

video_en <=horizontal_en and vertical_en;

process
begin
wait until(clk'event)and(clk='1');
if (h_compteur ="1100011111") then --799
h_compteur<="0000000000";
else
h_compteur<=h_compteur + "0000000001";
end if;

Вот где h_comyeur + "000000001" мне выдает ошибку:

Error (10327): VHDL error at VGA_controller.vhd(31): can't determine definition of operator ""+"" -- found 0 possible definitions

Шо делать?
283 412560
>>412559
Ты либы не подключил.
284 412561
>>412560
Лол

library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;

Мало?

А с вектором сложение правильно сделал?
285 412580
Можно ли в quartus 9.1 запустить симуляцию (используя файл текстовых векторов) без modelsim? Есть модуль 4-х входового xor, есть модуль теста для него, и есть текстовый файл с описанием всех состояний. Как это запустить теперь на симуляцию?
f74a0c0aa4977caf158b54e76fb8afef.jpeg115 Кб, 736x551
286 412586
>>412373

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


Что ты тогда здесь вообще делаешь?
518d3bb682a25cdaf7d60bf49d45a90d.jpg74 Кб, 750x500
287 412588
>>412586
Я люблю боль.
288 412642
>>412580

>4-х входового xor


Да проще заново от руки нарисовать, всего 16 комбинаций, к тому же там есть функции для автоматизации рисования входных последовательностей.
https://youtu.be/4be1In4xArk
289 412643
>>412586
А что, я вот тоже в математике не особо, смотря какие задачи решаешь.
290 412647
>>412373

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


Same, Bro! Умею только складывать, вычитать и умножать. На бумажке.
291 412779
Какую отладочную плату купить, чтобы можно было проверять в ней задачи из книжки Харриса после симулятора? Может какую-то из марсоходов? Желательно, чтобы там периферия еще была (светодиоды, семисегментный индикатор, кнопка).
292 412797
>>412779

>марсоходов?



Ебанутый за 10к покупать эту хуйню? Лучше чекни алик, там магазин FPGA board Store норм платы.
293 412801
Посоны, срочно нужен тетрис на vhdl, я только на верилог нашел?

Не знает никто случайно ресурсы где есть проекты?

Добра посоны
294 412802
>>412779
Зависит от твоей подготов_очки. Если адовый задрот, любишь лотереи и есть время - пиздуешь на ебей-лохито-другое ищешь по словам "for chip recovery" и подобным минимум лот с минимум 2 одинаковыми железками. По большей части это все полностью живое оборудование и можно узнать его историю у продавца. Одну потрошишь на органы и срисовывание топологии + получаешь ЗИП на случай если выставишь подключать неиспользуемые выводы к земле или еще какими методами спалишь выводы. Получаешь емкие FPGA(на сотни тысяч LE) с расчитанным питанием и тактированием + обычно периферия типа динамической ОЗУ и специфичное под данный проект. Profit! Брат жив, зависимость есть. Мигалка светодиодом работает.
295 412814
>>412802
Слишком сложна, но спасибо.
>>412797
Вот такой хватит, чтобы проверять упражнения из книжки на железяке? https://aliexpress.ru/item/32813736111.html?spm=a2g0v.12010612.8148356.7.37547baecHLITk
296 412816
>>412814
Что за книжка то хоть?
297 412820
>>412814
Насколько я помню, в книге строят процессор, но сколько там задействуют LE я не знаю, не дочитал. Этот камень на плате имеет 10к LE, самое то для поиграться, но залезет ли туда проц из книги, не знаю. Сам такую отладку брал, только без перефирии, пробовал NIOS II, камень греется даже от мигалки свктодиодом на Си, поэтому забил на это дело. Алсо, никогда не использовал даже 1000 LE в своих проектах, простор есть. Но вообще на open cores есть много самопальных процессоров, думаю найдешь чего для изучения под эту борду.
2580628.jpg30 Кб, 300x425
298 412822
>>412816
Харрис Цифровая схемотехника и архитектура компьютера
299 412832
>>412820

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


Ну на однотактный хватит, но там есть и задания на самостоятельную разработку ковейерного процессора с разными степенями сложности hazard-блока, от сброса конвейера до предсказания ветвлений, разработку кэшей.
300 412839
>>412820

>пробовал NIOS II, камень греется даже от мигалки светодиодом на Си


WAT? Не шутишь? Насколько греется?
У меня логики одного конченного автомата на полтысячи+ регистров, не тактируемых постоянно - не греется (или еле заметно) при тактировании на 30-40МГц.
Stratix III - даже без конфигурации начинает заметно греться, а залив ту же конфигурацию конченного автомата - за пару минут разогревается вместе с радиатором что становится горячим независимо от того - работает автомат или нет. Настройки выводов проверял - стоят "input tristate with weak pullup"
Screenshot2020-04-24-11-03-30-400com.alibaba.aliexpresshd.png1 Мб, 1080x2248
301 412861
>>412814
Вот еще например.

Аккуратнее с программатором - я взял дешевый usb blaster на stm32, он при обнаружении квартусом бсодил комп (win10 x64 1909).
Хотя из виртуалки с виндой/линуксом работал норм.

Взял какой-то за 1.5к на cpld+ftdi, этот норм работает.
302 412868
>>397766 (OP)
Как разводить печатки под самопалки с плисинами? Рисовать как лучше дороги укладываются, а потом под эти пины рисовать проект?
sage 303 412871
>>412868
Смотря что рисуешь. Если всякую херню типа мигалок светодиодами - да, как угодно.
Если подключаешь память - то лучше следить за группами выводов, где не на каждый можно вывести бит линии данных, особенно у DDR памяти.
LVDS - неделимые пары и должны вестить максимально симметрично. Есть эмуляция LVDS где нужно ставить 3 резистора.
Не проебывать тактовые входы и выходы - это очень важно!
Не забывай про то что есть много банков питания, могут быть разные напряжения и типы сигналов. Например если используешь LVDS - считай весь банк проебал, даже если тебе надо всего пара линий.
Где-то можно найти что если у тебя очень много быстропереключающихся сигналов - то использовать не более 80%(не помню) выводов в банке и прочие мелочи.
А вообще - лучше вначале примерно накидать проект, синтезировать и посмотреть что будет.
304 412873
>>412871

>Есть эмуляция LVDS где нужно ставить 3 резистора.


Чиво?
lvdse.png123 Кб, 902x998
sage 305 412874
>>412873
Два нижних варианта. Так же посмотри страницу 18 https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_lvds.pdf
306 412878
>>412868
В составе OrCAD есть FPGA System Planner. У Ментора тоже есть тул, не помню, как называется.
У них есть базы по всем современным ПЛИС (Altera, Xilinx, Lattice точно есть, насчёт остальных не знаю). Там ты можешь оттрассировать плату, учитывая особенности используемой ПЛИС (назначение тех или иных её пинов, банки и т.д.) и потом экспортировать полученную распиновку у Quartus/Vivado.
Если интересует, могу выложить RAK от Cadence по FPGA System Planner.
photo2018-04-1411-42-09-u-69b5.jpg102 Кб, 720x1280
307 412881
>>412797

>FPGA board Store

308 412886
>>412881

>Hello. I'm dead. so delayed a lot of time. I'll ship it to you in my next reincarnation!

309 412887
>>412878

>OrCAD


>Ментор


Не. Я по мелочи в Орле ковыряюсь. Не мой уровень
310 412901
Посоны, подскажите плиз как сделать примитивный тетрис использую vhdl язык?

Мой проект содержит такие простые модули:

1. VGA контроллер (почти сделал, но он багнутый еще)
2. Контроллер клавы (найду в инете)
3. Сам модуль игры

Вот тут я лох, как сделать генератор фигурок?

Как потом объединить все в одно, использовать пормап?

Выручите плиз анончики

Добра
311 412918
>>412901
Тут дело такое: в двух словах не объяснить, а за тебя делать никто не будет. Попробуй сделай сначала свой тетрис на С, а потом уже готовый и отлаженный алгоритм переложи на схему - управляющий автомат, исполнительные устройства, все дела.
312 412951
>>412887

>в Орле


Брось говно. KiCAD и то лучше, опенсорсный, к тому же.
А вообще, если взялся за ПЛИС, то лучше освой нормальный САПР.
313 412955
Посоны, а кадровый буфер же отдельно от vga контроллера идет?
lpc.png120 Кб, 1338x853
314 412956
>>412951

>KiCAD


Голосую. Такую херню рисовал и когда получилось 2 FPGA по 484 вывода с плавным переходом на FPGA на 1К+ выводов стало ясно что какую-то несусветную хуйню рисую и надо переделывать.
Пока делалось - уже стало неактуальным. Вот фейл.
315 412959
>>412951

>KiCAD


Я столько библиотечных элементов нарисовал в Орел. А тут с нуля опять начинать?
316 412975
>>412959
Возьми библиотеку ЦЕРН и перечерти УГО на ГОСТовские и поставь ГОСТовские шрифты на посадочных местах.
317 412976
>>412975
А для ментора есть что-то подобное?

И пробовал ли кто-то в менторе экспортить для вивады?
318 413009
>>412839
Греется довольно сильно, а поскольку у меня камень в БГА корпусе, я его долго не держал. Если читнуть форумов по запросу в гугле "греется ПЛИС", то можно сделать вывод, что это какой-то ебаный рандом. Как-то читал, у парня два одинаковых камня, на разных устройствах, выполняющих одну работу грелись по разному. Видимо брак, или типа того.
319 413022
>>412975

>Возьми библиотеку ЦЕРН


ЧО?
Я тут установил его и сразу не нашел ЕРМ3032, пришлось лезть на ультралибрариан и качать оттуда
320 413026
>>413022

>и качать оттуда


В итоге я проебся с импортом компонента пол часа и соснул. Это же какая-то противоестественная хуета! Футпринт отдельно, символ отдельно. Чо за ёбань? Нахуя вы советуете это говно народу? Орел на три порядка адекватнее этой опенсурсной поделки
321 413078
>>413026
а ничего, что у одной микрухи может быть несколько корпусов?
алсо, попробуй диптрейс, он не настолько мозговыедающий но без нормальных тулз под дифпары, пичалька
322 413087
>>413078

>попробуй диптрейс


Но зачем? Я лучше продолжу использовать понятный и охуенный Eagle
323 413090
Съебите со своей разводкой в разводкотред, холопы.
pins-PCB-design.png39 Кб, 1023x724
324 413093
>>413087
В игл уже завезли ratline и рисование дорожки до тех пор, пока не ткнешь в пин? Когда я его смотрел, рисование платы отличалось от рисования линией в паинте только наличием сетки и проверкой по схеме
325 413096
>>413093

>Когда я его смотрел


Это ты pre-alpha версию пробовал штоле?
326 413099
>>413009
С любой прошивкой греется? Может, статика? Защитные диоды на i/o, идущих наружу, есть?
Отлаживал как-то плату с 5ceba4, уронил pls на резистор обратной связи питальника ПЛИС. Часть обвязки сгорела, сама ПЛИС запускалась, даже nios стартовал, но несколько пинов выгорели и она сильно грелась, пришлось менять. В норме с озу и ethernet была чуть теплая.
flex1.jpg44 Кб, 678x648
327 413100
>>413099

>несколько пинов выгорели и она сильно грелась


Лал. У меня такой же фейл был когда спалил одну FLEX, замкнув или -5 или -12 (отрицательное напряжение) на один из выводов.
Без конфига - все норм, только заливаешь конфиг - почти в утюг превращается и частично работает.
328 413120
>>413022
>>413026
>>413078
>>413087
>>413093
Что только люди не придумывают, лишь бы OrCAD не использовать.
329 413122
>>412976
Нет, ментор - это совсем серьёзный бизнес, мало кто из мамкиных инженеров его использует (из-за сложности, а также из-за отсутствия в свободном доступе документации). Готовые библиотеки есть, но они продаются за деньги. Есть библиотека Optimus (где есть основные пассивные компоненты, а также некоторые часто используемые транзисторы, диоды, микросхемы и т.д.), но её ты уже наверняка видел.
Более того, у него проблемы с ГОСТовскими шрифтами и в некоторых местах (например, в МЦСТ, когда я там работал) на них клали болт.
Сам решил в своих проектах не мучиться с ментором и поставить OrCAD.
330 413207
Анон, как перенести с квартуса код на плату de1 лол?
331 413247
>>413207
Чего-чего?
332 413251
>>412976
Да, LP Wizard/ipc7351 land pattern creator (есть в pads/ee), можно найти/рассчитать посадочные места для почти всех корпусов, ещё можно экспортировать в оркад/аллегру/etc.
Ещё на snapEDA куча всего, но там встречается говно, надо внимательно проверять.
Кстати, в оркаде можно создавать компонент (УГО) из таблицы (New component from spreadsheet). Берешь таблицу с распиновкой ПЛИС и раскидываешь выводы по частям УГО и их сторонам, как тебе удобно.
333 413253
>>413251
Я так понимаю, он именно про создание символов. Потому что создание посадочных мест по сравнению с созданием и правкой символов на несколько тысяч пинов - ерунда (распространённые есть в базовой библиотеке, остальные - да, LPWizard, про который все знают).

>Кстати, в оркаде можно создавать компонент (УГО) из таблицы (New component from spreadsheet). Берешь таблицу с распиновкой ПЛИС и раскидываешь выводы по частям УГО и их сторонам, как тебе удобно.


Не особо удобно переделывать каждый раз. Лучше таки освоить FPGA I/O Optimizer (если Mentor) или FPGA System Planner (если Cadence). Там как раз можно сначала оттрассировать наиболее подходящим образом, а потом отправить уже получившуюся распиновку в САПР для ПЛИС. И эти тулы ставят пины не абы как, в них есть база ПЛИС и выбор пинов идёт исходя из особенностей используемой ПЛИС. Т.е., память получится поставить только туда, куда её можно поставить, трансиверы, тактовые входа - аналогично.
334 413255
>>413253

>про который все знают)


google ultralibrarian

Ещё но может сканить и OCR .pdf даташитов, охуенно удобно.
1588069805090.jpg4,4 Мб, 3024x4032
335 413618
Сап, надеюсь, здесь есть драйверописцы.
Сейчас делается устройство на плис, которая делает расчет и формирует инфу, ну хз, 10 4б слов. Связанную инфу, это всё поля одного свойства.
Как лучше сделать регистры чтения? Первый вариант: (размер регистров пусть 4б) 10# регистров, содержащие нужные поля, а регистр статуса - счетчика, показывающий глубину ФИФО данных, декрментируется только тогда, когда будут прочитаны все 10 полей. Если одно поле прочитать дважды, то на второе чтение будет та же инфа.
Второй вариант: хранить в одном регистре данных всю сериализованную инфу, и получается, счётчик декрментируется только через 10 считываний из этого единственного регистра.

Первый вариант мне кажется наиболее предпочтительным, так как хорошо ложится на любой ДМА, но я опасаюсь, не будет ли коллизий или какого-то такого говна.
336 413635
Анон, у меня косяк с altera De1, квартус ее не видит, драйверы не находятся для usb blaster
Где их скачать можно?
337 413637
>>413618
1. Берёшь AXI streaming FIFO (pg080) бесплатно без смс или эквивалент для альтеры, который, вероятно, ест)
2. Берёшь драйвер для него.
338 413641
>>413635

>Где их скачать можно?


c:\altera\quartus\drivers\usb-blaster
339 413644
>>413637
Axi4 stream похож на сериализатор данных, а я спрашивал больше о полной организации внешних регистров в плиске. Вероятно, axi4 stream и будет стоять.
А как оно будет дружить с pcie?
340 413645
>>413641
Усе заработало спасибо

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

В чем фейл????
341 413646
>>413644

>а я спрашивал больше о полной организации внешних регистров в плиске.


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

>А как оно будет дружить с pcie?


Так же, как и любая лежащая в памяти инфа, которую можно вычитать процессором или на которую можно натравить DMA.
342 413649
>>413645

>В чем фейл????


Камень автодетектом видит?
Сам ебусь третий день, нихуя понять не могу. Пытаюсь разлочить свои залежи ЕРМ3032, сжег два буфера 244 в бластере, поотслоились дороги и сижу теперь жду новый от китайцы. За 1800 в терре покупать чота неохота.
343 413652
>>413649
Вроде да

Да мне палить эту хуйню нельзя, имущество не мое
344 413665
>>413646
А если там 10 интов? В документации вроде ограничивается размером акси, для лайта это только 32 бита. Как связанно передавать несколько интов тогда? Или иметь фифо под каждые данные, тогда придется как-то хуево синхронить их
345 413674
>>413665

>А если там 10 интов?


Отучайся от этого, оно архитектуроспецифичное. int16_t?

В любом случае, AXIS width converter — переупакует в 32 бита даже аллаха. А на выходе разупакует обратно во сколько надо.
346 413675
>>413637
А если я хочу кастомный протокол поднять поверх распространенного интерфейса (i2c, spi например), что-то такое могу использовать?
А то на квартусе всегда сам писал контроллеры/драйверы, а в вивадо вроде что-то удобное есть.
347 413676
>>413675
Естественно, есть контроллеры i2c и spi с готовыми драйверами (которые делают элементарные пересылки) и примерами. Пишешь обёртку вокруг xilinx'овых драйверов и гоняешь что хочешь. Мне казалось, это везде так, уж как минимум по такой стандартной хуйне (сам имел дело только с Vivado и ISE).
348 413678
>>413645
1. Проект точно под ту плисину скомпилировал?
2. sof-файлом программируешь?
fpgafail.png34 Кб, 777x616
349 413679
>>413678
1. Ну вроде да
2. Ага, софом. Что самое удивительное, у меня есть тестовый соф файл, он без проблем заходит, а вот мой vga контроллер не хочет

Вот пикча
350 413680
>>413679
Может я пины не выставил?

Хотя сделал проверку входов выходов, ошибок нет, но не назначено
351 413682
>>413679

>EP2


>De1


А там точно второй сыклон стоит, не четвёртый?
352 413683
>>413682
Хз, вроде второй
353 413689
>>413676
Обертку своим васянокодом, но на интерфейс axi?
Можешь, пожалуйста, примеры ядер привести.
354 413695
>>413680
Error (209015): Can't configure device. Expected JTAG ID code 0x020B10DD for device 1, but found JTAG ID code 0x020B30DD.

Вот такую ошибку выдает, как пофиксить?
355 413698
>>413689
Васянокод исполняется на Microblaze и дёргает функции из драйвера от xilinx. Драйвер от xilinx через axi lite ебёт регистры контроллера, контроллер гоняет байтики по своему соответствующему интерфейсу. Может, я тебя неправильно понял просто? По крайней мере, AXI streaming FIFO — он именно про это.

pg142, pg090, pg153
356 413699
>>413698

>Microblaze


Ну это не очень эффективно будет.
Я то на Vhdl пишу. Могу кастомно настроить cpol, cpha и саму частоту (чего в драйвере не увидел).
И тайминги вплоть до наносекунд просчитать.
Нет каких-нибудь стандартных ip-ядер на интерфейсы, но без софтпроца?
Софтпроц же априори будет менее надёжным и быстрым, чем простенький автомат на вхдл.
357 413704
>>413695
Вроде пошло, я просто не ту схему сыклона 2 выбрал, однако экран черный, а он должен мне вывести был белый квадратик. Код правильный, компилируется без ошибок

В чем беда посоны?
358 413708
>>413699
Понятно. Я не так понял, что означает "драйвер" в твоём посте. Пиши эффективные автоматы тогда.
359 413711
>>413704
Это я пины не выставил

Посоны, мне что их в ручную все выставлять что ли?
360 413712
>>413711
Да. В chip-planer или в говнокоде писать (chip_pin = "xx") перед именем вывода, например
(chip_pin = "22") input wire CLK
361 413713
>>413712
Звездочки сожрало - вместо них буква Ж
(Жchip_pin = "хх"Ж)
362 413715
>>413708
Я мимоанон же. Так что, софтпроцессор так хорош? Или я могу вместо микроблейза написать такой же автомат под axi?
363 413721
>>413712
Слушай, там было 2 колонки - Locate и Fitter Locate

В первой пусто, а во второй было выставлено, я скопировал из второй в первую адреса. Все равно экран черный и пишет не сигнала, я уже устал посоны

Как запустить этот ссаный вга контроллер?
pinnplan.png200 Кб, 1917x1049
364 413733
>>413721
Что не ясно? Когда нигде выводы не задавал - fitter раскидывает выводы как хочет и куда что вывел - он пишет в колонке fitter locate. Что бы задать руками где какой вывод - прописываешь locate и делаешь полную пересборку проекта можешь подъебать - тыкнуть в fitter и далее - он не будет делать анализ и синтез.
Когда задаешь руками выводы - внимательно следи за I/O standart - в пределах банка он должен быть одинаков.
365 413743
>>413733
Какой пиздец анончик, на этом мои знания закончились, а сдать работу надо завтра к вечеру

Это, я так понял вывод и вход каждой переменной/константы с in и out надо делать? А как я узнаю что к чему лол
366 413744
>>413733
Так это, в фиттере уже были раскинуты рандомно, фиттер всегда неправильно делает?

Просто у меня нихуя на экран не вывилось, пишет нет сигнала
367 413747
>>413743
Гуглишь свою отладку, соотносишь с пинами и уоп, прописываешь все что нужно в пинпланер.
368 413748
>>413747
Ну у меня есть даташит со схемами

Чет я тупой какой то
369 413773
>>413637 в 6м виртексе нет акси фифо к сожалению
vga.png94 Кб, 1001x927
370 413789
>>413744

>Так это, в фиттере уже были раскинуты рандомно, фиттер всегда неправильно делает?


Не неправильно, а рандомно. Просто рандомно. Он ничего не знает о том что и как у тебя снаружи подключено. Есть исключения - например память DDR, высокоскоростные SERDES.

Этот правильно говорит >>413747.
Картинка из мануала что куда подключено. Неужели так сложно прописать 14 выводов?
Где тактовую частоту берешь?
Есть 27МГц на D12, E12, 50 МГц на L1, 24 МГц на A12, B12.
Потенциально подходит 27МГц, есть PLL через который получешь нужную частоту. Используешь его?

Хорошь троллить. Показывай скрин чип-планнера.
vga2.png147 Кб, 834x802
371 413790
Бля. PIN plannera. chip planner это не то.
>>413789
372 413792
>>413715
Все используют микроблейз, никто не жалуется. Каково это — пересобирать проект, когда надо поменять какой-то параметр в конфиге — я даже не представляю. Наверное, у тебя проекты собираются по две минуты (а у меня часа по полтора на мощном core i7 с 64гб рамы).
373 413799
>>413792

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


В квартусе нормальные проекты собирались по 5-10 минут, точно такие же проекты в виваде - минут 15-30, хуею с говнокодеров.

Какие задержки у микроблейза? Может ли он среагировать на управление и уже на следующий такт начать обработку?
374 413821
>>413789

>мануала



Альтеры мануал? Я реально чет запутался

Так, я написал контроллер, ок.

Теперь надо распиновку сделать, CLK я понял найду,

а RGB и прочие сигналы как? Ладно анон, пойду попытаюсь разобраться
375 413822
>>413789
Ааа, нужно прописать только выводы к VGA коннектору?

Так??
vga3.png146 Кб, 888x916
376 413823
>>413821
Туда ли ты вкатился, петушок?
Оттуда же - кусок схемы как устроен ЦАП для создания аналоговых сигналов красного, синего, зеленого цвета и 2 сигнала вертикальной и горизонтальной синхронизации..
Какой к какому выводу ПЛИС подключен - смотри выше.

Не понимать вопроса.. Что ту может пойти не так или вызвать затруднение в назначении и сопоставлении выводов схемы и плисины ((не)рабочесь говнокода неучитываем).
Безымянный.png90 Кб, 1040x682
377 413824
>>413823

Как это обнулить к хуям все?
378 413825
>>413823
Да это я понял, у меня просто контроллер + кадровый буфер к нему, выходы на вга коннектор идут от кадроового буфера

Однако в пин редакторе мне показывает только коннекты между кадровым буфером и вга конроллером, пикча моя выше
379 413827
>>413824
Это боль..Снести к хуям файл QSF в корне проекта
Ебанутый у них редактор выводов. Тыкаешь в заголовок Location (3-я колонка) потом курсором в первый сверху вывод, зажимаешь шифт и тыкаешь в самый последний вывод, отпускаешь шифт, жмешь delete.
Так же можно массово менять тип вывода (7 и 9 колонка)..
Обычно сортирую по банкам в таких случаях.
380 413829
>>413827
Вот в чем засада у меня

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

Я использовал один и тот же код, только разные переменные, но все подходит. В каком месте я обосрался? Главное код компилируется без проблем.

Алсо, сам контроллер состоит из 2 vhd файлов
381 413830
>>413829
А еще добавлю - справа по сути это второй блок пикчи слева, а 3ий он не вывел.

Какой метод использовать, чтобы получилось как на пикче слева?
382 413831
>>413829
>>413830
Вдвойне не понимать.. У тебя вопрос по наличию-отсутствию выводов, то что они прибиты гвоздями к 1 или 0?
Читай варнинги "вывод стикед to gnd|vcc"

В том что у тебя каждый блок развернут, а тебе нужно каждый блок в блок завернуть?
Используй еще один блок верхнего уровня, где создавай три файла (с PLL уже создан), второй есть, а один - прйдется полностью переписывать.. но зойчем???
383 413832
>>413831
Да про выводы я понял, он тупо не видел выводы от последнего.

У меня блоки эти не объединены, я хз как это сделать
384 413834
>>413799
Не может, разумеется. Ты прав. Не надо использовать микроблейз. Пиши автоматы. Пиши их на вхдл.
385 413838
Я отсюда вга контроллер содрал, переделал код под свои значения и все и сыклон 2 (этот пол 4 в оригинале)

https://www.digikey.com/eewiki/pages/viewpage.action?pageId=15925278#VGAController(VHDL)-Connections

И получил вот такое недразумение

>>413829

Как связать два vhd файла вместе?
386 413841
>>397766 (OP)
Эээээээээ, блэд... А чо, теперь кряктус веб-эдишн нельзя скачать? Зарегался на интеле, выбираю - СКАЧАТЬ, а мне - ацес денайд
387 413842
>>413841
Какой из?
Надо бы слить пачку кактусов - пишут летом основательно прикроют раздачу такой некрофилии.
388 413845
>>413842

>Какой из?


9сп2
90sp2.png19 Кб, 523x395
389 413851
>>413845
WAT?? Под винду и для пингвинчиков. Как кактус и сервиспак.
390 413853
>>413851
Заработало. Четыре дня рандомно заходил и пытался скочать, выдавало - ХУЙ ВАМ
391 413873
>>413853

>выдавало - ХУЙ ВАМ


Неужели отказался от такого уникального предложения?
Хуй от Интела.. Он какой жесткости? Чисто из кремния?
392 413875
>>413873

>Чисто из кремния?


Он его и разобьёт, и руки порежет.
393 413878
>>413875

>Он его и разобьёт, и руки порежет.


Разобьет - хуй с ним. Порезать руки - не так страшно, как порвать анус. Анальная контузия - это не шутки! Какртинка с обезьяной опаздывает.
394 413937
>>413832
Ты бы всё же уделил время и посмотрел
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZTAJkgY3XfsrFyK1laAchO
А то совсем нубские вопросы задаёшь, на которые текстом даже сложно отвечать.
395 413939
>>413937
Спасибо

Я нашел другой контроллер и переделал его, сейчас буду подключать тестировать

Тот что был раньше, был под сыклон 4 и ДЕ2, а у меня ДЕ1.
Ну ладно, посмотрим
396 413942
>>413939
Ты бы еще Altera UP1 выкопал. Да, я флексоёб.

При первом приближении VGA контроллер крайне прост - это пачка счетчиков которые на любое говно можно перенести, хоть в CLPD (жирную, например EPM3128 http://micklab.ru/IgrosoftIGP1.htm ), единственный геморрой - это приделывать память которую отображать.
Код по большей части кроссплатформенный, поэтому может просинтезировать на любую FPGA с некоторыми ограничениями по быстродействию (например отсутствие аппаратных умножителей и будут делаться на логике).

Вникай как на рассыпухе собрать:
https://www.youtube.com/watch?v=l7rce6IQDWs
https://www.youtube.com/watch?v=uqY3FMuMuRo
photo.jpg1,5 Мб, 3600x1893
397 413975
>>413942
Ну у меня получилось, вывел квадратик этот лол

Однако хотел поменять фон ну другой цвет, но походу карта не тянет

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

Я нашел в инетете проекту, но сложновато еще

Я принцип не пойму как сделать генератор фигурок и как сделать подвижное изображение, счетчик???
398 413989
>>413975

>собрать тетрис


Ты опять выходишь на связь?
399 413996
Выкатываюсь из ридонли только ради халявы для вас, товагищи. https://www.mentor.com/training/courses/functional-verification-training-library Сэкономить быстро и решительно.
400 413997
Пока что выкачиваю весь видеокурс. Постараюсь его выложить, как закончу.
>>413996-хуй
401 414060
402 414061
>>413997
Будем ждать. Добра.
403 414073
Аноны, могу кого-нибудь попросить скачать 4 курса по PADS? Я на Верилоге уже охуеваю. Каждый файл надо индивидуально качать, плюс именование, чтобы по чаптерам топики складывать. Выручайте.

Отпишитесь, если кто возьмётся, пожалуйста. Я вам даже аккаунт зарегаю и курсы оформлю.
>>413996 - хуй.
404 414083
Если что, мне University: PADS Professional Student Edition On-Demand Library: Professional Edition скачают. Продолжаю реквестировать, чтобы кто-нибудь слил курсы по PADS.
405 414267
https://www.youtube.com/playlist?list=PLhtMaaf_npBz9zfsJMZC12Lk3zvHiJckr
Кто-нибудь смотрел? Толково объясняют?
406 414284
Какой протокол с опенсорс реализацией может посылать данные по uart без подтверждения получения?
407 414285
>>414284
пакетные данные.
408 414319
>>414267
Хуита, гундосит что-то невнятное, очередной самопальный процессор пытается пилить. За Верилог как таковой не поясняет.
schemaVGA.png11 Кб, 624x293
409 414491
>>397766 (OP)
Сап анон - вот мой контроллер, у него пока один вход только - часы. Он выводит на экран квадратик, работает.
Однако мне надо сделать тестбенч для него, но как тайминг правильно ввести для CLK?

Я запутался, помоги плиз
410 414505
>>414491
Какие это, блядь, часы?.. Это тактовый синхросигнал!
В чём моделируешь, в МоделСиме? Если делаешь функциональную симуляцию, то без разницы какая будет у него частота, в функциональной симуляции главное не абсолютные, а взаимные соотношения и длительности сигналов.
411 414509
>>414491
Ага в моделсиме

Проблема в том, что у меня всегда вертикальный и горизонтальный импульс на 1, не показывает blanking, а препод требуюет чтобы весь процесс был показан. Может я в тестбенче накосячил со временем что то?
412 414512
>>414505
>>414509
Мне кажется он имел в виду другое..
Ему нужно указать время симуляции минимум на время отрисовки одного кадра. Тупо в лоб - 25МГц / 60(?) будет чуть больше 416 000 тактов на симуляцию.
413 414517
>>414509
Если нужно увеличить время симуляции, делай так:

initial
begin
#555;
$stop();
end

555 - это время симуляции, увеличивай число пока не добъёшся нужного времени симуляции.
414 414549
>>414517
Окей

Я вот для синхроимпульса сделал это

clk_25<='1';

wait for 25 ns;
clk_25<='0';

wait for 35 ns;

clk_25<='1';

wait for 25 ns;

clk_25<='0';

wait for 35 ns;

Нормально?

Все равно вертикальная и горизонтальная на 1 все время
415 414553
>>414549
На ВХДЛ что ли пишешь? Я не знаю как там, на Верилоге тактовая частота создаётся просто:
always #1 clk_25 = !clk_25;
Получается частота периодом в две временные единицы.

И что значит

>на 1 все время


?
testbench.png68 Кб, 1859x748
416 414563
>>414553
вы шо у меня получилось

ага вхдл
417 414564
Кто-нибудь пробовал всякие контрольные платы от Antminer (l3+ например) использовать как отладку? Какие подводные?
418 414587
>>414564
Пробовал. Присматривался. Китаеза наебал, отправил не ту, схему не предоставил. Ввиду того что она одна - потрошить на скалывание схемы нет смысла, заказал у Qtech.
Что за пиздец последнее время? Даже Альтеру некогда дрючить, не говоря о тесте Блевады в цинке.
Если платка не одна - за день вполне реально прозвонить все линии данных - управления. Сам так делал, зависимость есть.
419 414592
>>414587
Я так понимаю китайцы и не дают схем на антмайнеры.
Бушные по 100-500р вообще отдают пачками. Помимо того что эти платы использовались и в хвост и в гриву для майнинга, что ещё может оправдать такую дешевую цену? JTAG вроде как выведен, но не распаян. Блока какого-нибудь у них нет?
И кстати хуею с тупых майнеров, ни у кого на форумах даже таких мыслей не возникало, просто воспринимают цинк как специализированный проц для майнинга.
420 414593
>>414564

>контрольные платы от Antminer


Контрольные платы это же arm какой-нибудь. Ты о других платах, вероятно, где fpga-шки.

Какие интерфейсы есть на них?
421 414594
>>414593
Вот такие с цинком. Судя по количеству дебаг дырок - JTAG.
422 414595
>>414592
>>414593
>>414594
Иногда читал что цинк магическим образом выгорает.
Из интерфейсов - обвязка озу+пзу+езернет+(питание) и gpio наружу, те чуть меньше, чем нихуя, но разве надо больше? Для первоначального вката хватит геморроя с головой.
Схем нет, только реверсом. Как eval норм после реверса.
Реверсил модуль памяти от VIOLIN memory со Stratix III на 200К LE - вызыванивал чуть больше 700 выводов. А мне норм, довольно быстро получилось..

>>414594
Похожа не левую, честно искал минут 10 - проебал у себя в залежах, не покажу модельку, а ссылка с али ничего не даст.
aaa.jpeg70 Кб, 525x700
423 414596
>>414594
Нашел фото, где правая плата соединяется с левой. У твоей левой снизу разъемы для 2.54 двойной гребенки?

А белые разъемы куда на левой?

Эти две платы это контрольный блок или майнер полностью?
424 414597
>>414595

>обвязка озу+пзу+езернет+(питание) и gpio наружу,


А скоростные lvds не выведены?
425 414598
>>414597
Не ебу. Поищи даташит или референс мануал и посмотри есть ли вообще LVDS выводы и прикинь по фотке куда идут.
Скорее всего да, но.. Только в одну сторону или в обе если есть встроенная терминация LVDS.
426 414599
>>414595
>>414596
Это не правая с левой соединяются, а разные версии контрольных плат у меня. У тебя на картинке мой второй пик с платой носителем.
Все торчащие пины для соединения с асиками/запитки охлаждения для них.
Чисто контрольный блок, который общается с 40+ Asic.

>>414597
Будто на дешёвых отладках такое бывает. Обычно через FMC какой-нибудь выводят.
427 414600
>>414596
А, кажется, я понял. Первое фото >>414594 это арм-управляйка для фпга (на плате arm cpu память и разъемы к fgpa), а для платы с второго фото >>414596 нужна согласующая доплата с разъемами.

Платы с фпга покажите.
428 414601
>>414600
Там zynq7010 стоит на обоих. Мне это и надо.
429 414603
>>414601
Богато. Это во всех версиях antminer?
430 414604
>>414603
Как минимум в первом пике:
>>414594
Во втором хуй разглядишь, но где-то читал, что там тоже 7010.
Вторую плату можно и без носителя использовать.
431 414605
>>414601

>обоих


Фото? На правом arm-кий soc от ti.
432 414606
>>414594
Правая точно не с цинком.
.png1,4 Мб, 720x960
433 414607
>>414605
>>414606
Похоже да, но в любом случае есть платы по типу пикрил по 500р. Какие подводные?
zynq.jpg897 Кб, 2965x1825
434 414608
>>414607
Нашел свою (левая). Как видишь чуть меньше, чем нихуя.
Можно распотрошить на органы для реверса, но явно не за спасибо.
435 414609
>>414608
Что-то у тебя даже слот под микросд не напаяли, хотя место есть. Под USB с PHY тоже место есть.
Мне как раз нужна цинкоборда с gpio. Чем банки цинка запитаны можешь глянуть? 3.3/2.5/1.8?
436 414610
>>414607
>>414607

>подводные


Некоторая ебля распиновкой и загрузчиком. Через jtag, если что.
437 414611
>>414607

>по 500р


antminer-ы уже не обновляются? Нельзя поставить платы с новыми asic на старую контрольную плату и бп?
438 414612
>>414610

>Некоторая ебля распиновкой


Возможно, для того чтобы узнать, на какие пины подключен rom, придется отпаять чипы.
439 414613
>>414609
Когда брал выбирал - мне было вообще поебать.
Не спрашивай почему одну взял, а не две и больше.
Включать не рискну, по контрольным точкам возле преобразователей надписи 1V5 3V3 1V8 1V0.
440 414614
>>414607

>по 500р.


У местных?
441 414615
>>414613

> Включать не рискну


Почему? К виваде вообще подключал платку? Хотя ты похоже не распаял жтаг даже.

>>414614
Да, бушные, поюзанные.

>>414611
Видимо да, иначе не вижу причин продавать так дешево.

>>414610

> ебля распиновкой и загрузчиком


А как они изначально прошивают? Я думаю там просто нужно напаять jtag и вивада увидит цинк.
442 414616
>>414615

>Почему?


Вроде мелочь, но бля пока найдешь где высрать 12 вольт, припаяться..

>К виваде вообще подключал платку?


Очевидно нет. Иногда плата-схема важнее чем ее работоспособность, поэтому если берется на органы - то нет разницы. Каждый ебаный раз как начинаешь что-то делать сваливается куча херни. Краем глаза заглядваю в тред.
От QMtech брал просто по рекомендации в прошлом треде.
А так - в планах просто для себя пореверсить платку. Глядишь в будущем пригодится, но глядя как блевада компилит - на любителя
Фанат Альтеры с их колючим кактусом, а не хиленьких с их блевотной блевадой
443 414617
>>414616

> Фанат Альтеры с их колючим кактусом, а не хиленьких с их блевотной блевадой


Неистово дрочую.

> глядя как блевада компилит


Даже дико мелкий проект компилит по 5 минут, я просто хуею с индусов-кодеров.
За сколько брал плату?
444 414618
>>414615

>нужно напаять jtag и вивада увидит цинк.


Что это тебе даст? Максимум достучишься до FPGA части и подавая тестовые сигналы вычислишь кто куда и хорошо если есть доступ к выводам. Всякие конфигурационные выводы типа MSEL (Altera) как будешь искать, не говоря о выводах памяти и прочем в BGA корпусах?

>>414617

>За сколько брал плату?


Стоила кажется 3300, но из-за ошибки (не ту выслали, присматривался к версии с 2 чипами озу, а выслали с одним) через диспут не зверствовал и взял за 40% стоимости.
445 414619
>>414618

> до FPGA части и подавая тестовые сигналы вычислишь кто куда и хорошо если есть доступ к выводам


Ну за 500р тоже неплохо. А про BGA точно, совсем не подумал. Может они конечно по референс дизайну раскидали, но надеяться на это глупо.
446 414620
>>414607

>платы по типу пикрил по 500р


Пруфы? Дай линк на продавца.
.png11 Кб, 515x142
447 414623
>>414620
Поищи у себя на авито. Я вот зараженную планирую брать, один хуй прошивка для майнинга не нужна.
Жаль конечно l3+ на проце, сразу и не заметил, так бы накупил и поюзал, выглядит очень удобной.
448 414626
>>414623

>antbuild


чойта?
449 414627
>>414623
Интересно, что ломается на s9 контрольках. Питалово они бы сами починили.
450 414628
>>414623
Я думал за 500 рабочая, типа распродажа барахла у которого нет будущего в майнинге. Велик шанс, что получишь нерабочий хлам, потому как майнеры и асики перепаивают и контрольки чинят - есть у них мастера, они не совсем уж лохи.
451 414629
>>414626
>>414627
Antbuild судя по всему пиздить половину хэшрейта для хакера. И майнеры не умеют чинить.
На форумах у них там вообще треш творится, не удивлюсь если они и питание не умеют чинить.

>>414628

> есть у них мастера


Я так полагаю эти мастера неплохо так рубят бабло на дурачках.
452 414637
>>414629

>мастера неплохо так рубят бабло на дурачках.


Может это такой мастер и продает.
453 414638
>>414619

>по референс дизайну раскидали


ram 99.9%, а rom/mii/sdio нет
454 414641
>>414638

> mii/sdio


Ну это еще не сложно. А вот с ром хз как. Разве там так много вариантов куда на сок приделать конфигурационную флешу?
455 414653
>>414628
Вот скажи, тебе жалко 500 рублей? Это меньше чем поход в магазин. Возьми на одну платку больше и отреверси и глядишь ЗИП образуется. Увлекательное медитативное занятие, может и смехоту узнаешь из первых рук.
Только вот в этой стране ни одна тварь даже сраное спасибо или благодарю не скажет за это.
Одно дело коммерческие железки реверсить, другое - "любительские" или особоузкоспециализированные, на которые всем похуй, как например эти мозги управления.
456 414656
>>414653

>Вот скажи, тебе жалко 500 рублей? Это меньше чем поход в магазин.


Лучше в магазин схожу.
457 414657
>>414641

>ром хз как


Снимешь чипы и прозвонишь.
458 414659
>>414656
Лол. Походу долго тут не протянешь.
Просто прикинь - НеведомаяЕбанаяХерня делалась под срисовку одной схемы. Под одну ебаную платку и скалывание ее топологии.

>>414657

>Снимешь чипы и прозвонишь.



Посмотри какой медитативный процесс. Да, камера на телефоне плачет по помойке где ей и место. Даже на таком мыле суть хорошо передается. Такая вот звонилка, как работает - сам догадаешься и очень бысто. Показан отлов одиночных линий, спаренных и 3+ линии. Особо внимательные заметят баг в работе, но похуй на него, он редкий и исправляется при повторном тесте.
https://yadi.sk/i/RqQcgVBhNXW2Ng
459 414662
>>414659

>Такая вот звонилка, как работает


Сердес какой-нибудь? На каждый пин свой уникальный код транслируешь? Чем принимаешь только, не очень понял.
Охуенно сделано, мое почтение.
Я бы просто нули и единицы на каждый пин выдавал и управлял бы через инсистем.
460 414663
>>414659
Зачем там коса из проводов?
461 414664
>>414662
Тупо UART же. Через пачку (де)мультиплексоров на каждый вывод вывожу. Выбираю "номер анала" и в него же дрищу его номером по UART-у и ловлю. Соответственно сколько байт поймал за цикл опроса, столько и пытаюсь отобразить. Просто, тупо, работает, иногда глючит когда флюс не смываешь от мест припайки. Потенциально 256 аналов за раз можно сканить, но остановился на железке на 128 аналов коих и так дохуя.

>>414663
Прикалываешься? Сам подумой и сопоставь ее назначением этой НЕХ.
462 414665
>>414662

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


Не актуально или тебе надо по максимум осторожно все говно снести, оставив сам камень и схемы питания. Но нахуй надо. Проще +одна железка (кои идут по цене лома), которую не долго думая на органы и остается чистый рисунок топологии без влияния резисторов, конденсаторов и прочего говна на линиях.
Опять же вспомни про говно в BGA корпусах. У меня нет знакомых которые снимут и поставят назад BGA, поэтому доктор сказал в морг на органы, значит на органы и ЗИП.
463 414666
>>414664

>Прикалываешься? Сам подумой и сопоставь ее назначением этой НЕХ.


Нихуя не понимаю - подключаюсь щупом на вывод ром и подаю на выводы fpga по порядку номера. Индикатор покажет номер вывода к которому подключен вывод ром.
wire.jpg681 Кб, 2774x1590
464 414667
>>414666
И неебет! За чистые измерения.
465 414669
>>414665

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


Ну хз, что я там такого смогу поломать 3.3в лвттлями? Разве что флешу/ддр заблочу, но по питанию все сбросится.
nand.jpg513 Кб, 2523x2091
466 414671
>>414669

>ддр заблочу


Дальше не читал. Вот как доберешься до того какой вывод куда подключен? NAND память бывает и в BGA и тут соснешь соснешь со своим подходом.
Вот как у этой NAND памяти узнаешь кто куда подключено своим методом? Сквозных VIA нету что бы снизу присосаться.
Еще "эталон" - это LVDS сигналы с внешней терминацией и у тебя получается.. Сигнал сразу на двух выводах меняется при изменении на одном, так как они соединены через резистор в 100 Ом. Вот и думай.
467 414672
>>414671

> и тут соснешь соснешь со своим подходом.


Да я не спорю, я про это и раньше писал.

> А про BGA точно, совсем не подумал. Может они конечно по референс дизайну раскидали, но надеяться на это глупо.


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

> Еще "эталон" - это LVDS сигналы с внешней терминацией и у тебя получается.. Сигнал сразу на двух выводах меняется при изменении на одном, так как они соединены через резистор в 100 Ом. Вот и думай.


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

Я не понимаю что я там нулями и 3.3 вольтами поломать смогу?
ddr.jpg271 Кб, 1458x1048
468 414674
>>414672

>Я не понимаю что я там нулями и 3.3 вольтами поломать смогу?


Если коротко - ничего, если все выводы как входы и только один вывод работает как выход.

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

Конкретно в обсуждаемой платке самое сложное - это DDR срисовать, остальное (условно) доступно. У нее снизу 16+8 резисторов штабелями и еще штук 5 рассыпухой. Вот как отследишь кто куда? У той же Альтерки (про FPGA, а не SoC) - линии данных жестко прибиты, а сигналы RAS, CAS, адресные и подобные - как хочешь раскидывай и гадай кто куда.
Пикрил - выдержка из схемки от платки на QMtech и походу память гвоздями прибита, но кто его знает...
469 414675
>>414674

> схемки от платки на QMtech и походу память гвоздями прибита


У них там на цинк тоже охуительная схемка в один лист? Я по советам анонов тоже их платку, но ддровскую с артиксом купил.

> походу память гвоздями прибита


Можно сравнить с схемотой других отладок на том же соке, но что-то мне подсказывает, что нифига не прибита, а просто в референс дизайне так было.
470 414676
>>414675

>схемка в один лист


Упоролся? http://www.chinaqmtech.com/xilinx_zynq_soc
Вау. У них новая платка вышла...
471 414678
>>414676
К них ссылки проебаны или мазафака глючит..
Лови схемку https://yadi.sk/i/0PBiftpc0Qndng
.png324 Кб, 1483x943
472 414680
>>414676

> Упоролся


Вот такое у них на артикс.

> новая платка


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

Еще спартан7 завезли за 2к всего.
473 414773
>>414680
А чем такое шить? Только внешним житагом? Или можно упороться и погромировать флешку напрямую с ch341a? схему не смотрел мимокрокодил.
474 414793
>>414773

> Только внешним житагом?


Как что-то необычное. Программатором бластером по JTAG.

> погромировать флешку напрямую с ch341a


Наверное можно, но это же пиздос, спаивать, напаивать ради каждой перепрошивки?
475 414801
>>414793
Да это, конечно, ничего необычного, вот только бластер только под альтеру, не? Под хилых свой погроматор. Просто на отладках типа arty и иже с ними есть возможность залить, тупо подключившись по usb. Там стоит ftdi232 или 2232, вот и мне интересна возможность получить заливку бинарника занидорага. вдохновлялся идеей hscope, чтобы можно было из говна собрать себе некоторое подобие измерительного устройства
5C564E7E-3B03-48F2-87B8-7314A9FCEF21.jpeg57 Кб, 600x463
476 414802
>>414801

>Под хилых свой погроматор.


Да, купил китайский за 2-3к. Все равно дебажить надо. Я бы на таком не экономил, это же жесть как неудобно иначе и велик шанс наебнуть.

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


Бля, ты - это я. Только вот пока не продвинулся дальше идей, работа поглощает все время.

Ну и естественно бластер зайлинкс несовместим с альтерой и стоит в разы дороже.
Есть ещё какой-то супер программатор за 500 баксов, но я так и не понял нахуя он такой дорогой.
477 414810
>>414793
>>414801
>>414802
Какой-то с Али. Имя затерто, но все же знают что это FT232HL.
На том же Марсоходе из FT2232H делают байтбластер под Альтеру.
Салат прошивал через FT2232D Проверить на H не могу - софт проебан и впадлу получать новый ключ и все восстанавливать.
Так же на Али есть программатор 3 в одном - Altera+Xilinx+Lattice.
Ставлю что тут разница только в содержимом EEPROM, чисто спижженном с платок от Digilent.
A9CEDF5A-2466-417C-B299-A4B1A7738AA0.jpeg149 Кб, 1000x563
478 414821
>>414810

>Ставлю что тут разница только в содержимом EEPROM, чисто спижженном с платок от Digilent


Про это кстати вычитал и правда так.
Для дебага точно нормально подойдёт? На зайлинксовских платах со встроенным отладчиком не работал, только через бластер.
У меня пикрил вообще, разницы с официальным за 500$ не заметил.
479 414824
>>414821
В душе (shower) не ебу. Ньюфаг же в мире хиленьких поделок и блевотины. Больше нравится жрать колючий кактус.
FT Prog-ом опозналось - уже хорошо, а блевада на то время не стояла. Может на днях попробую загрузить импакт или как-там программер зовется и автодетект прогнать для цинка.
480 414825
>>414824

>Больше нравится жрать колючий кактус.


Да мне тоже, но все новые проекты на зайлинкс перевели.

>Может на днях попробую загрузить импакт или как-там программер зовется и автодетект прогнать для цинка


Да ну его, он не интересный. Через виваду хотя бы можно посмотреть данные с встроенных датчиков плисы Xadc.
481 414826
>>414825

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


Запили что ли гайд что сделать для тупых макак птенчиков, которые первый раз разгружают блеваду. Какой говнокод пилить, в каких ебенях компилить, как загружать и тестить..
482 414829
>>414826
Да я сам нюфаг вивад ещё, лучше кого-нибудь опытнее попросить.
А так просто заходишь в нее и сразу жмешь "open hardware manager". Даже без создания проекта. Там конектишься к плисине и смотришь в списке устройств Xadc/sysmon, он через жтаг подрубается напрямую, без проекта даже.
483 414831
>>414829
Лови как бонус за короткое и понятное объяснение куда тыкать.
484 414844
>>414831
О, это все ты. А у этой платки разве программатор не вшит? Алсо, запитать от юсб хотя бы можно?
За сколько брал программатор? По идее плисовый программатор должен быть производительнее.

Вообще у qmtech есть куча рабочих проектов, которые идут для этой платы, можешь открыть проект, скомпилить и залить.
Правда с цинками я не работал, так что как зашивать проц не знаю видимо через сдк.
485 414861
>>414844

>А у этой платки разве программатор не вшит?


Тебе не кажется что ответ очевиден?

>Алсо, запитать от юсб хотя бы можно?


На шнурке USB->POWER как вроде запускается и идет в комплекте, но не уверен, не помню, гарантий не даю.
Самые правые - спокойно работают от USB, с цинком - спорно, но грузится и неизвестно как поведет себя под нагрузкой. 5-й циклон - только внешнее питание...
Так же у цинка есть "баг" - он сука питается от порта usb (который преобразователь на компорт) и не до конца гаснет при выдергивании штатного внешнего питания.

>За сколько брал программатор?


Пикрил. Можешь обдристать, но мне похуй. Схема получена, дамп есть. Задание выполнено.

>По идее плисовый программатор должен быть производительнее.


Не понимать.
486 414891
Минутка рекламы. Уже не актуально, но интересно - эти ребятки работают с железками у которых есть порты 100G Ethernet и на wirespeed разгребают этот поток говна. Это тебе не байт по UART переслать.
https://metrotek.center/fpga-webinar.html
487 414892
>>414891
что из этих лекций нельзя прочитать самому на марсоходе?
488 414895
>>414892
Это реклама. Тебя никто не связывает и не вставляет спички в глаза что бы принудительно смотрел происходящее.
Кому интересно - перейдут, кому неинтересно - пройдут мимо.
Поэтому только один вопрос - не лень было писать? Если бы каждый лид писал что ему не подошло, а не гадаешь по статистике и CTR, что не так с лендингом или куда там льешь трафик.
489 414898
>>414891
То что по ссылке уже каждый школьник знает. Вот если было бы скажем углубленное изучение ТаймКвеста, методы как уложить неукладывающийся по частоте проект, как поднять Ниос, его архитектура, как под него кодить. А так очередной детский сад.
490 414904
>>414891
А можно где-нибудь почитать, как они работают с Ethernet на полной скорости, а ещё лучше проект глянуть?
491 414915
>>414891
Ты б написал сразу, что бесплатно, а то я только на хабре это увидел
492 415010
Наверное не в ту тему, но не в раковник же писать.
Укрощаю АЦП, поясните за CiC дециматор. Нужна софтверная реализация, и перенос дециматора в центр цепи очень сэкономит память.
Я правильно понимаю что в таком варианте дециматор не просто пропускает каждый N-ный (в примере 4-й) сэмпл, но и сбрасывает весь каскад аккумуляторов слева?
493 415048
>>415010

>Я правильно понимаю


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

Также полезно рассмотреть с частотной точки зрения. У фильтров с твоей второй картинки АЧХ вида |sin(DхFнорм)|, D=2R, Fнорм - нормированная частота относительно частоты дискретизации. Т.е. Fнорм=2pi (или еще чему, в зависимости от того как нормировали) соответствует реальной частоте равной частоте дискретизации. Что происходит при прореживании отсчетов (там где у тебя квадратик R)? Частота дискретизации на выходе получается в R раз ниже. Поменяется ли АЧХ для тех двух вариантов с этой точки зрения? Нет. АЧХ цифровых фильтров периодическая и тут поменяется только период повторения АЧХ относительно реальной частоты. Но там еще поменялось D и период синуса останется прежним. Разумеется еще нужно учитывать алиасинг, поэтому для доказательства эквивалентности, разностное уравнение все равно придется расписать.

Тебе точно нужен именно CIC фильтр? Ты точно в этом уверен?
Может я в чем-то ошибся, пусть поправят если что.
image.png3 Кб, 263x80
494 415229
>>415048
Спасибо, бро. Спектральную часть я понимаю, и даже этот финт с переносом. Но ведь слева от него опущен каскад интеграторов как они не переполняются если их сразу не компенсирует гребенка?

Вот как я рассуждаю для одиночного CiC:
Уравнение цепи до дециматора выглядит так:

>y=y[i-1]+x-x[i-D];


Считаем на каждый новый семпл:

>y=y+data[0]-data[D-1];


И буферизуем входные семплы по вкусу.
Для высоких порядков нужно хранить >data[D][N]
чисел, что слишком накладно.
А вот как сюда засунуть дециматор, чтоб хранить >data[2][N] семплов?

ЦыЦ самый быстрый.
495 415384
Есть ли смысл покупать ПЛИС если нужен только RISC процессор?
496 415388
>>415384
Чем тебе какой-нибудь STM не нравится?
497 415488
>>415384
Если к RISC процессору нужна экзотическая периферия или очень-очень много периферии. В остальном stm32 в разы дешевле.
498 415592
>>415388
>>415488
Спасибо друзья
499 415598
Хочу купить платку с зинком, чтобы запилить на ней одноплатный компьютер с линухой, возможно даже портативный. Присмотрел подобную на 7020, нормально взлетит? Как-то ссыкотно у ноунейм бренда брать.
https://aliexpress.ru/item/4000316821863.html

Видел еще у qmtech новую с 7020, но 512 мб ддр и без юсб. Хотя бренду и доверяю, но по хар-кам немного хуже получается.
500 415606
>>415598
http://www.myirtech.com/list.asp?id=502
ровные посоны, хорошая борда
501 415611
Как успехи с запуском цинка с antminer?
502 415614
>>415611

>успехи с запуском цинка с antminer


Если ко мне >>414831 >>414608 - то никак.
Всем похуй же и потрошить пока нет ни малейшего желания,
а остальным как можно заметь - похуй же.
503 415620
>>415606
Этих тоже рассматривал, но выйдет дороже, да и синезуба с вайфаем встроенного нет, что уж говорить про отдельную плату для жпио.
Зато хотя бы ацп распаян.
504 415621
>>415598
Что именно fpga-шное ты собираешьcя на ней делать?
Если нужен именно одноплатник - бери лучше малинку. С маргинальными одноплатниками и так головняка много, а тут ты еще серьезно ограничен выбором дистрибутивов.

Ultra96-v2
505 415624
>>415621

> Что именно fpga-шное ты собираешьcя на ней делать?


Все подряд по работе по сути поднятие всяких интерфейсов и протоколов для тестов и пару домашних извращений. Есть платка с артиксом-7, но хочется еще больших извращений.

> С маргинальными одноплатниками и так головняка много


Это же самое веселое. Придется головой думать и пердолиться, а не на все готовое садиться.

> Ultra96-v2


Еще такое есть "FZ3 Card - Deep Learning Accelerator Card", но оно сильно дороже получается, я даже 14к не очень хочу тратить.

С доставкой не все так гладко, кто-нибудь заказывал вообще с авнета или миюра? С алика все просто будет.
506 415625
>>415611

> Как успехи с запуском цинка с antminer?


Я из дома даже не выхожу. С барыгами с авито не очень хочется контактировать в это время. Поэтому позже буду пробовать.
507 415626
>>415625

>antminer


Посмотрел на авите, за 900-1500р можно купить даже новую. Чота заинтересовало. Такие копейки за такую йобу. После карантина прикуплю
508 415628
>>415626

> Такие копейки за такую йобу


Я вот чисто случайно наткнулся на такое и решил с анонами поделиться. Просто в интернетах даже не поднимается такая тема. Благо один из анонов оказался уже прошаренным.

Ебли там конечно много будет, но чисто фпга поднять просто думаю.
509 415860
Подскажите как мне быть. Часто необходимо будет производить вычисления с плавающей точкой. Как это будет выглядеть на Verilog, обычное деление и умножение умножает и делит с отбрасыванием всем что после точки.
510 415861
>>415860
Стратикс 10 - твой выбор
511 415876
>>415861
На 5 циклоне не смогу разве это сделать?
512 415878
>>415876
Сможешь конечно, только фпу тебе надо будет "программно" писать и они не будут столь быстры, как аппаратные фпу.
513 415904
>>415878
Я думаю для меня бессмысленно покупать Стратикс 10 для 1-2 вычислений не имеет смысла. Буду думать как мне обойтись без этих вычислений, тем более что у меня SoC в наличии
514 415908
>>415860
Зачем? Фиксированная точно не подходит?
515 415909
>>415908
Это конечно выход из положения и я даже думаю скорее всего мне этот вариант подойдет. Все равно я пока не понимаю как бы мне это реализовать. Я только начал изучать ПЛИС и верилог в частности.
516 415918
>>415909
А собственно в чём проблема?
517 416042
Помогите понять. Почему в симуляторе выход Т триггера не переключается? Где ошибка?
518 416099
>>416042
Скорее всего потому что сигнал t в тестбенче асинхронно с тактовой частотой. Формально активный (нарастающий) фронт тактового сигнала совпадает с нарастающим фронтом сигнала t. По факту в симуляторе может быть так что нарастающий фронт сигнала t появляется сразу после (с нулевой задержкой) после активного (нарастающего) фронт тактового сигнала, вот и получается что когда есть активный фронт тактового сигнала, то в этот момент сигнал t ещё не в 1. Попробуй в 32 строке заменить
#20
на
#21
4.jpg44 Кб, 788x162
519 416116
>>416099
Не помогло. Даже если ставлю вход t в 1 с самого начала, все равно выход не переключается.
520 416121
>>416116
Проверь букву "с" в clk, в модуле триггера, чтобы она не была русской и попробуй заменить logic на reg. И почитай ворнинги которые выдаёт МоделСим может там есть подсказка.
И кстати, проблема про которую я говорил у тебя есть. Посмотри как переключается D-триггер, он меняется в том же такте что и сам сигнал d, а это не правильно. С JK-триггером тоже самое, новое состояние должно быть на следующем такте после команды.
521 416148
>>416121

>Посмотри как переключается D-триггер, он меняется в том же такте что и сам сигнал d


Это потому что в тестбенче значения сигналов устанавливаются через "=".
522 416149
>>415229
Фишка цика в том, что он работает с переполнением. Основной затык в том, что растёт разрядность по выходу каскада. Поэтому и применяют всякие хаки типа перестановки интегратор-гребёнка.

НО.

Если ты хочешь сделать децимацию в 2-4 раза можно смело забить на все хаки и сделать в лоб. Разрядность вырастет не очень сильно и по выходу сможешь ее сбросить вниз округлением. гугл на тему rounding half up/down.
523 416150
>>416042
Мой совет: перепеши на простом верилоге, без logic и always_ff. Проверь. Если заработает, то ну ты понел.
524 416151
>>416116
Заведи отдельную переменную и её перекидывай по сигналу t. Так же можно вытащить сигналы прям из модуля t_flip_flop_ar, а не из flip_flops. Мб при подключениях что-то сломалось...
image.png249 Кб, 1714x758
525 416319
Сап, ПЛИСач. Есть вопросики.

Первый про вот эту штуку -> http://llhd.io/ SV нормально компилит, без проблем. Для VHDL не может найти IEEE-шные либы на линухе. Кто-то теребонькал вообще этот LLHD c VHDL? Судя по доке с vhdl не должно быть проблем, может я просто где-то проебался.

Второй про тулзы на линухе. До этого в основном пользовался вивадой, сейчас на винде с квартусом играюсь. А на линухе не совсем понимаю где и какие тулзы смотреть. Нужен синтезатор и симулятор. Чтобы просто из cli небольшие модули с тестбенчами синтезировать в RTL, видеть картинку, что получилось на схеме, и запускать симуляцию потом. Кто может просветить?
526 416453
>>416148
Блокирующие / неблокирующие присвоение в данном случае роли не играет.
527 416456
>>416319
Установи ОСь.
528 416474
>>416456
Чего?
529 416483
Спасибо всем за ответы. Выход Т триггера начал переключаться после синхронизации входных сигналов с clk, и добавления сброса, чтобы установить начальное состояние выхода (reset = 1; #20; reset = 0;).
530 416512
>>416474
Я имел ввиду операционную систему установи на компьютер.
531 416665
>>416512
Это троллинг тупостью или что это? Я не понимаю, объясни.
532 416669
>>416665

>Я не понимаю


>Это троллинг тупостью


Нет, ты вполне правильно понял.
533 416670
>>416483
Но это же какая-то нелепая нездоровая хуйня. Всю жизнь писали #10 a<=0; #10 a<=1; etc

А если только ресет в начале добавить, работает?
534 416671
>>416669
Но это настолько нелепо, что никаких эмоций кроме недоумения не вызывает. Зачем люди это делают?
535 416674
>>416042
Я кароч понял, в чём твоя исходная проблема.

Ты в коде тестбенча t и qt сбрасываешь через {t, qt} <= 0;

Так не делается, потому что qt это выход схемы, им должна управлять симулируемая железка. Вероятно, авторы симулятора не ожидали, что кто-то так попробует наебать систему, поэтому не отловили попытку сделать явную хуйню. Сбрасывать выходы модулей в исходное состояние надо через сигнал ресета и никак иначе.
536 416675
>>416671
Это двощи, тут каких только шизиков не бывает.
537 416685
>>416671
А у него видимо вызывает
538 416687
>>416670
Да, работает, если добавить ресет, и писать просто t <= 0; #10; t <= 1;. Но есть такой прикол, что при использовании блокирующих присваиваний для изменения значений входов, выходы меняются в том же такте, что и входы. А если использовать неблокирующие, то все норм.
>>416674
Да, я думал можно тупо присвоить выходу значение. Еще в моделсиме ворнинг был какой-то, типо несколько источников у выхода.
539 416691
>>416687

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


Ну хуле, привет вот этому вот >>416453
540 416693
Посоветуйте какие-нибудь современные отладки на Lattice и Microsemi. А то как-то совсем в их продукции не разбираюсь, но интересно. Возможно прикуплю себе.
541 416700
>>416693

>Lattice


Могу только посочувствовать если поставишь их IDE под некроCPLD 4000 серии и около нее. Все в округе заблюешь при попытке нарисовать что-то на схемном вводе + Ежегодичная анальная привязка к маку карты (тестовую(?) нахаляву выдали и давно протухла. Для программирования - хватало ft2232D)
Именно FPGA - не тыкал, не знаю, не скажу, только CPLD ispMACH4000, выдранные из свичей.
Краем уха слышал обоснование тотальной разницы цен на примерно равные по объему FPGA - салат строит "с нуля" и вширь, а Альтера/Хилинькие - делают максимально жирную FPGA и обрезают их. Это было давно и неправда.

Микросеми слышал и не более того. Сектант-фанат кактуса и атмосферных циклонов да хуй там. даже обосснаный стратикс 3 будет потолще чем циклон и больше простор для ошибок и бредовых схем
543 416704
>>416700

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


Мне и вивады хватило после квартуса.
Да, забыл указать, что именно FPGA хочу.
Zynq от зайлинксов заказал, Танг и Прайм от Gowin заказал, с стратиксами и ссыклонами и так довольно много работал. Надо еще таки купить антмайнеры и трайнуть их реверсить, но что-то мне кажется сосну с PS пинами.
Спасибо за ответ!
HTB1s3MBXxv1gK0jSZFFq6z0sXXa8.jpg500 Кб, 888x784
544 416707
>>416704
С одного из типов плат есть такая картинка - может поможет.
545 416746
>>416149
Спасибо, понял куда курить дальше. Неочевидный момент что с одной стороны фильтр может переполняться и это нормально, а с другой его усиление приводит к переполнениям и это плохо.
Сейчас сделал децимацию 8х в лоб. Разрядность на моих порядках фильтра как раз впритык возросла с 24 до 64 бит. А дальше бью Кихом в целых числах а дробные с постоянным запятой осиливать лень т.к. есть сопроцессор .
546 416992
>>416693
Совсем забыл про блог этого чувака, там оказалось все, что я искал.
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
547 416993
>>416707
Спасибки. Схоронил
548 417006
>>416707
Это же не для майнинга, схематик гуглится за секунду.

https://github.com/Elrori/EBAZ4205

https://aliexpress.ru/item/4000042572307.html
549 417293
Не могу найти исходники проектов по подключению старых pci карт к fpga.
550 417663
У nios выводы только через pio?
551 417674
>>417663
Зря спросил, уже разобрался
552 419077
>>397766 (OP)
Сап плисач. Я программист микрокотроллеров и с недавних пор решил перекатиться в ПЛИС. Посудите сами, прогая мк максимум, чего можно добиться - это зарплаты 100к в ДСах, но это потолок по сути, а на ПЛИСинах и карьерный рост привлекательней, и возможность для трактора(релокейта) есть.
Ещё рассматривал варианты перекатится в промышленные компьютеры и малинки, но там линукс и это уже чисто для программистов имхо, и в проганье ПЛК, но там какие-то поехавшие петровичи, настраивающие плк и регуляторы в тайге на лесопилках и заводах.
Но в целом полагаю, что ПЛИСы должны быть проще чем МК, ведь в мк приходится читать сотни страниц даташитов, знать с десяток семейств разных мк и их параметры, а ПЛИСы отличаются между только количеством ячеек.
Посему вопрос - мне ведь должно быть легче вкатиться в ПЛИС чем обычному программисту или мимокроку, п-правильно?? На что обратить внимание, с чего начать?
С цифровой схемотехникой немного знаком - в университете изучал логические элементы, триггеры, мультиплексоры, дешифраторы, автоматы Мура и Мили, таблицы истинности, СДНФ и так далее. Т.е. в крациях помню, как всё это работает, но по памяти нарисовать схему, скажем, синхронного RS-триггера не смогу.
Когда прогаю мк знания цифровой схемотехники мне пригождаются, например, чтобы запихнуть байт в сдвиговый регистр и отправить по линии связи, настроить предделитель частоты таймера или выбрать нужный канал АЦП с помощью мультиплексора. Но так как пишу в основном на Си, то мои познания об архитектуре микропроцессора весьма скудные, знаю только, что там внутри АЛУ, которое складывает и отправляет байты, а про то, как оно работает, как там устроены шины и адресации не знаю.
Как я понял, мне нужно сделать следующее:
1) Подтянуть знания цифровой схемотехники, пособирать разные триггеры и регистры в каком-нибудь мультисиме. Ещё как опционально выучить архитектуру микропроцессоров, на дваче мне посоветовали книжки Харрис и Харрис "Цифровая схемотехника и архитектура компьютера" и "Код" Петцольца. На сколько у плисоводов вообще востребована задача собирать soft-процессоры в своей работе?
2) Выучить verilog и vhdl.
3) Сделать пару пет-проектов и залить их на гитхаб(и завести гитхаб сначала). Для отладки купить на алике отладочную плату altera с максимальным количеством элементвов и программатор(Byte-blaster). Ещё есть xilinx, но altera проще, как я понял altera это avr от мира плис, так что лучше начну с неё.
4) Рассылать резюме и устроиться куда-нибудь прогать плис.
Сколько времени может понадобится на вкат, годика неспешного проганья плис после основной работы хватит?
552 419077
>>397766 (OP)
Сап плисач. Я программист микрокотроллеров и с недавних пор решил перекатиться в ПЛИС. Посудите сами, прогая мк максимум, чего можно добиться - это зарплаты 100к в ДСах, но это потолок по сути, а на ПЛИСинах и карьерный рост привлекательней, и возможность для трактора(релокейта) есть.
Ещё рассматривал варианты перекатится в промышленные компьютеры и малинки, но там линукс и это уже чисто для программистов имхо, и в проганье ПЛК, но там какие-то поехавшие петровичи, настраивающие плк и регуляторы в тайге на лесопилках и заводах.
Но в целом полагаю, что ПЛИСы должны быть проще чем МК, ведь в мк приходится читать сотни страниц даташитов, знать с десяток семейств разных мк и их параметры, а ПЛИСы отличаются между только количеством ячеек.
Посему вопрос - мне ведь должно быть легче вкатиться в ПЛИС чем обычному программисту или мимокроку, п-правильно?? На что обратить внимание, с чего начать?
С цифровой схемотехникой немного знаком - в университете изучал логические элементы, триггеры, мультиплексоры, дешифраторы, автоматы Мура и Мили, таблицы истинности, СДНФ и так далее. Т.е. в крациях помню, как всё это работает, но по памяти нарисовать схему, скажем, синхронного RS-триггера не смогу.
Когда прогаю мк знания цифровой схемотехники мне пригождаются, например, чтобы запихнуть байт в сдвиговый регистр и отправить по линии связи, настроить предделитель частоты таймера или выбрать нужный канал АЦП с помощью мультиплексора. Но так как пишу в основном на Си, то мои познания об архитектуре микропроцессора весьма скудные, знаю только, что там внутри АЛУ, которое складывает и отправляет байты, а про то, как оно работает, как там устроены шины и адресации не знаю.
Как я понял, мне нужно сделать следующее:
1) Подтянуть знания цифровой схемотехники, пособирать разные триггеры и регистры в каком-нибудь мультисиме. Ещё как опционально выучить архитектуру микропроцессоров, на дваче мне посоветовали книжки Харрис и Харрис "Цифровая схемотехника и архитектура компьютера" и "Код" Петцольца. На сколько у плисоводов вообще востребована задача собирать soft-процессоры в своей работе?
2) Выучить verilog и vhdl.
3) Сделать пару пет-проектов и залить их на гитхаб(и завести гитхаб сначала). Для отладки купить на алике отладочную плату altera с максимальным количеством элементвов и программатор(Byte-blaster). Ещё есть xilinx, но altera проще, как я понял altera это avr от мира плис, так что лучше начну с неё.
4) Рассылать резюме и устроиться куда-нибудь прогать плис.
Сколько времени может понадобится на вкат, годика неспешного проганья плис после основной работы хватит?
553 419090
>>419077
Плис у нас в основном в военке, а тебя туда не возьмут, пока матан цифровой фильтрации не осилишь
554 419092
>>419077

>Но в целом полагаю, что ПЛИСы должны быть проще чем МК


Это ты зря. В разработке на ПЛИС тебе также придётся читать сотни страниц даташитов на различные блоки ПЛИС, ип ядра.

>выучить архитектуру микропроцессоров


Это нужно, если собираешься проектировать свои процессоры, но обычно используют готовые.

>На сколько у плисоводов вообще востребована задача собирать soft-процессоры в своей работе?


Довольно часто, но для этого не надо знать досконально как внутри устроен процессор, достаточно почитать мануал как его настроить, подключить нужную переферию. Часто используют хард процессоры, как в цинке например.
555 419099
>>419077
Ещё посмотри, как Ethernet делать и оперативку подключать по альтеровским примерам, они нередко используются.
С кучей логических ячеек у китайцев есть неплохой вариант на ep4ce115
https://a.aliexpress.ru/_eLzDcT с озу, gigabit ethernet и программатором.
Я думаю, идеально было бы потом связаться с начальниками отделов, в которые хочешь вкатываться и узнать из первых рук, с чем они работают и что лучше изучить.
556 419107
>>419077

>в целом полагаю, что ПЛИСы должны быть проще чем МК, ведь в мк приходится читать сотни страниц даташитов


Тогда ты ПРОСТО ОХУЕЕШЬ и будешь визжать как сучка с того, что тебе предстоит читать для ПЛИС.

Чтобы осознать масштаб пиздеца, пролистай юзер гайд на один лишь мультигигабитный трансивер (используется для последовательных интерефейсов со скоростью полтора гигабита в секунду и выше — Ethernet, PCI-E, HDMI, SATA, etc) одного лишь семейства Ultrascale и прикинь, как быстро ты сможешь передать и принять по нему хотя бы один байт): https://www.xilinx.com/support/documentation/user_guides/ug576-ultrascale-gth-transceivers.pdf

Безусловно, глаза боятся руки делают, но нет, ПЛИС — точно не та область, куда стоит вкатываться в расчёте меньше курить маны.
557 419117
>>419092

>Довольно часто


А что, на Hdl никто не кодит? Там же cycle-accurate, по сути вся прелесть плис.
558 419575
>>419077

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


Да и в плисах больше не светит по большому счёту. Хочешь денег - иди веб-макакой.

>1) Подтянуть знания цифровой схемотехники


>2) Выучить verilog и vhdl.


https://www.youtube.com/user/jack0ov/featured

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


Смотря до какого уровня. Помигать диодом сможешь уже через пару часов.

>>419090
Ну хз, смотря что делаешь, у меня вот, например, такой необходимости нет. Хотя лишним и не будет.
559 419576
>>419575

>jack0ov


Не надо тут это пиарить.
560 419581
>>419576
Ну хз, чувак годно излагает, мне во многом помогло.
561 419587
>>419581
Только местами немного дезинформирует, например в предыдущем треде про case было.
562 419589
>>419575
>Хочешь денег - иди веб-макакой.
Тоже так думал. А вот хуй там. Надо идти в... Рекламу!
Стань рекламщиком, работай за проценты от продаж.
Еще жеще - берешь биту, присасываешься к трейдеру и ебашишь на бинарных аукционах. Ахуенный рандом и непредсказуемость, везение и сможешь гребсти десятки-соткиК в день.
563 419598
>>419589
Что за бита?
564 419603
>>419598
Обычная, бейсбольная для мотивации трейдера. Личный трейдер - это очень недешевое удовольствие и попробуй найди нормального с опытом.
565 419694
>>419107
Хочешь сказать, что писать программу на ПЛИС сложнее, чем на МК?
566 419700
>>419694
На плис можно этот ваш мк написать полноценно, если хватит логики.
567 419703
>>419090

>Плис у нас в основном в военке, а тебя туда не возьмут,


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

>пока матан цифровой фильтрации не осилишь


Та что там его осиливать, всего лишь выучить преобразование Фурье, фильтры каллмана, вот и всё.
568 419704
>>419700
Сможешь написать на плис ARM Cortex M4?
569 419712
>>419704
https://developer.arm.com/ip-products/designstart/fpga/fpga-xilinx

Смысла особого нет, я конкретно про наличие возможности. Большинство производителей проверяют дизайн сначала на плис, а уже потом заказывают асики.
570 419714
>>419117
Либо это бред, либо я что-то не понял.
Для чего используют софт-процессоры или готовые по типу цинков? Часто просто для управления, приходят какие-то управляющие данные, хоть по какому интерфейсу, хоть по UART, выдаются настройки по каким-нибудь SPI во всякие АЦП/ЦАП и делаются другие подобные вещи.
А ты что предлагаешь? И сколько ресурсов ПЛИС займет то что ты предлагаешь?

>>419704
Почему именно кортекс? Сейчас гитхаб завален разными RISC-V и не только. А можно и что-то совсем простенькое сделать, не торопясь, за день.
571 419718
>>419714

> приходят какие-то управляющие данные, хоть по какому интерфейсу, хоть по UART, выдаются настройки по каким-нибудь SPI во всякие АЦП/ЦАП и делаются другие подобные вещи.


Протокол необязательно стандартный, частоты тоже. Плюс стандартные корки используют акси, что оверкилл для большинства задач. Разве если нужна точность до наносекунд софтпроцы подойдут?

> А ты что предлагаешь? И сколько ресурсов ПЛИС займет то что ты предлагаешь?


Предлагаю вручную на HDL писать автоматы для конкретных задач.
572 419720
>>419718
Похоже мы не поняли друг друга. Одно другого не заменяет, оно для разных задач, хоть и частично пересекающихся.
573 419721
>>419720
Если кратко - софтпроцы для управления/сложных для плис протоколов, а hdl для точной потактовой оптимизации/решения узких задач?
Как можно в виваде например напердолить кастомный протокол под SPI-корку? Придется писать своего AXI-мастера, без этого никак?
574 419749
>>419694
ПЛИС это не ваш последовательно работающий МК, тут параллельные процессы от которых у тебя с непривычки кукушка съедет во все поля.
575 419755
>>419721
Зачем для SPI нужно AXI? SPI это тык-тык через сдвиговый регистр и все. AXI это только если к микроблейзу подсоединять. Но если скрость не важна, то хоть ногодрыгом можно, если через процессор.
А если так просто выдать что-то по включению в SPI, то тоже AXI ни к чему, счетчик, сдвиговый регистр и практически все.

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


Как ты себе это представляешь для типичной задачи для процессора? Для сравнения, простой процессор займет несколько сотен ячеек (т.е. в которых по LUT и триггеру) и немного блочной памяти, а сколько займет твой автомат, если он не будет разновидностью процессора с тем или иным набором команд?
576 419762
>>419694
Хочешь сказать, что прилинкованный докумет тебя не особенно впечатлил? Тогда вкатывайся, буду горд называть тебя своим коллегой.

Только не называй код для ПЛИС программой, это схема.

Впрочем, программы писать всё равно придётся — для встроенных в проект хард- или софт-процессоров типа Microblaze. У него тоже дохуя периферии, с ней надо ебаться, зацени ну, например, контроллер прерываний: https://www.xilinx.com/support/documentation/ip_documentation/axi_intc/v4_1/pg099-axi-intc.pdf
image.png61 Кб, 553x407
577 419764
>>419749
Ахаха, напугал жопой ежа микроконтроллерщика параллельными процессами.
Внутренняя переферия микроконтроллера может одновременно принимать и получать байты по интерфейсам в полный дуплекс, измерять АЦП и выдавать напряжение в ЦАП, откликаться на внешнее прерывание, шимить и считать время таймером, записывать в память. По завершении процесса поднимается соответствующий флаг и мк обрабатывает прерывание (если его предварительно разрешить).
Ну, все вектора прерываний одновременно будет использовать только поехавший, но одно или несколько прерываний одновременно используется очень часто.
Это только начинающий/любитель будет, не используя прерываний, ждать флага завершения процесса, чтобы начать другой, вот у него да, микроконтроллер будет работать последовательно, обрабатывая один процесс за другим.
578 419767
>>419762

>Только не называй код для ПЛИС программой, это схема.


Да, верно.
В крайнем случае можно сказать, что это прошивка ПЛИС, потому что как и в мк она заливается в энергонезависимую память.
579 419776
>>419703

> фильтры каллмана


Хуйня полная. ЦОС не про это вообще. Удачи выкатиться с ПЛИСами из рашки. Проще питон задрачивать.
хотя сам в Швеции в одной компании на букву Э асики разрабатываю, лол
580 419777
>>419764
Хе-хе, это совсем не то, ты только запускаешь периферию, а потом её опрашиваешь в программе последовательно.
А ты попробуй удержать в уме одновременную и взаимную работу хотя бы десятка устройств, счётчиков, регистров, мультиплексоров, автоматов и прочей срани. При этом всё это надо вместе увязать, что бы всё работало согласованно, одно другому выдавало данные с точностью до такта и прочее. Это тебе не программу писать.
581 419778
>>419776

>Хуйня полная. ЦОС не про это вообще.


Слишком сильное утверждение. ЦОС и про это в том числе.
582 419780
>>419778
Фильтр Кальмана слишком частная штука.
583 419781
>>419780
Это штука, которая описывает системы, которые можно приблизительно представить как линейные, с шумом, который можно приблизительно представить как белый гауссовый. Она охерительно общая.
584 419782
>>419781
Я тоже тащился по фильтру Калмана, когда только узнал о нем. Поверь, в этой штуке нет ничего особенного или сложного.
585 419784
>>419782

>в этой штуке нет ничего особенного или сложного


Я ровно об этом и написал — она описывает наиболее распространённую в технике модель систем (линейные стционарные) с наиболее распространённой в технике моделью помех (белый гауссов шум). Ты возражаешь на какой-то выдуманный тобой же аргумент, а не на мой.
586 419785
>>419777

>Хе-хе, это совсем не то


Самое что ни на есть то, в этом посте >>419749 речь шла о "последовательно работающем МК". А в МК может одновременно работать несколько счетчиков, ацп, цап.

>, ты только запускаешь периферию, а потом её опрашиваешь в программе последовательно.


Вектор прерывания вообще не об этом. Прерывание может выдернуть МК из его последовательной программы в любой момент, заставить выполнить программу прерывания, а потом уже разрешит ему вернуться к основной программе.

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


Ну когда пишу программу для МК как то удерживаю в уме и увязываю работу одновременную работу нескольких usart, i2c, spi, usb, ацп, цапов, таймеров по десятку векторов прерываний.
>одно другому выдавало данные с точностью до такта и прочее.
Вся ПЛИСина тактируется от одного кварца. Разные блоки ПЛИС можно тактировать от частоты кварца, или от частоты кварца деленной на 2/4/8/.../1024. Поэтому совместить работу нескольких объектов до такта не составит труда.

>Это тебе не программу писать.


Ну я не думаю, что написать прошивку для ПЛИС прям намного сложнее, чем написать программу для МК. Ты же не выдумываешь каждый раз, скажем, схему счётчика или сдвигового регистра, верно? Ты берешь книжку по цифровой схемотехнике и собираешь его на языке Verilog или VHDL, ну или ты читал книжку раньше и можешь сделать это по памяти. Вот из таких отдельных блоков и состоит конфигурируемая цифровая схема, которую загружают в ПЛИС.
587 419786
>>419785

>А в МК может одновременно работать несколько счетчиков, ацп, цап.


Ты долбоеб? Проц, который обрабатывает показания с перифирии (внимание, последовательно!) чаще всего один.
588 419793
>>419785

>речь шла о "последовательно работающем МК". А в МК может одновременно работать несколько счетчиков, ацп, цап.


Я не про периферию как таковую, а про работу процессора, и тебя как программиста, ты составляешь программу которая исполняется последовательно.

>Прерывание может выдернуть МК из его последовательной программы в любой момент


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

>удерживаю в уме и увязываю работу одновременную работу нескольких usart, i2c, spi, usb, ацп, цапов, таймеров по десятку векторов прерываний


Это всё не то. Ты просто знаешь что они у тебя запущены и с каким-то интервалом или по событиям генерят прерывания, тут ничего сложного.

>Вся ПЛИСина тактируется от одного кварца. Разные блоки ПЛИС можно тактировать от частоты кварца, или от частоты кварца деленной на 2/4/8/


Невинная толстопростота. У меня для тебя плохие новости. И это ты ещё наверно не слышал про метастабильность.

>Ну я не думаю, что написать прошивку для ПЛИС прям намного сложнее, чем написать программу для МК.


Когда наберёшься опыта - конечно.

>Вот из таких отдельных блоков и состоит конфигурируемая цифровая схема


Да, только этих блоков одновременно существующих может быть очень много. И нужно прокачивать свою "оперативную память" в мозгу чтобы всё это держать в голове. Симулятор, конечно, в помощь, но на начальных этапах будет сложно, готовься.

Для примера попробуй хотя бы сделать UART-приёмник, именно приёмник, если знаешь что такое счётчики, регистры, автоматы, то подучив hdl, для начинающего по силам, тогда примерно поймёшь что это такое. А на практике схемы будут в разы, а то и в десяток раз сложнее и объёмнее.
589 419809
>>419785
Написание прошивки для ПЛИС - это по сути создание схемы из цифровых элементов. Представь, что собираешь свой блок на макетной плате из логических элементов, триггеров, счетчиков, только на несколько порядков быстрее и эффективнее.
590 420005
>>419776

>Удачи выкатиться с ПЛИСами из рашки. Проще питон задрачивать.


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

>с плисами не выкатится из рашки


>сам плисовод и работаешь за бугром

591 420006
>>419786

>Ты долбоеб?


Нет, ты.

>Проц, который обрабатывает показания с перифирии (внимание, последовательно!)


Ты думаешь, что это происходит так. Проц померял показание ацп, потом послал сообщение по uart, потом принял байты по spi. Но чаще происходит по другому. МК одновременно меряет ацп, в любой момент, вне зависимости чем проц занимается, он может принять байты по uart, spi, и шимить что-нибудь таймером. Все эти события обрабатываются в прерываниях, которые выдергивают МК из его последовательной работы.

>чаще всего один.


Не один же, в МК кроме собственно процессора (АЛУ, CPU), ещё есть куча перефирии.
592 420008
>>419793

>Для примера попробуй хотя бы сделать UART-приёмник, именно приёмник, если знаешь что такое счётчики, регистры, автоматы, то подучив hdl, для начинающего по силам, тогда примерно поймёшь что это такое.


Думаю, осилю. Делал программный UART-приёмник. Написать и откалибровать для надёжной работы софтварный UART-ресивер для МК куда-сложнее, чем просто соствить его из блочков на ПЛИС, потому что приходится учитывать время, за которое выполняются инструкции процессора и согласовать работу нескольких прерываний.
593 420010
>>419809
Да я вкурсе.
Просто чисто на практике вся эта "конфигурация цифровой схемы" заливается во flash-память плиски через программатор как самая настоящая прошивка. А уже из неё она модифицирует плис, превращая его в нужную схему.
А если нужна другая схема, можно перепрограммировать плис, залив другую прошивку.
594 420018
>>420006

>кроме собственно процессора (АЛУ, CPU)


Вот это странно. АЛУ разве не составная часть ЦПУ?
595 420022
>>420010

>заливается во flash-память плиски


В FPGA обычно нет энергонезависимой памяти.

Если ты такой умный, то почему еще тут что-то пишешь, а не зубришь учебник?
596 420029
>>420008
С трудом верится что сможешь так прямо легко сделать UART, учитывая что ты ранее писал:

>но по памяти нарисовать схему, скажем, синхронного RS-триггера не смогу.


Ну хоть как-то, пусть не сразу, а немного подумав, пусть неоптимально, тоже не сможешь?
А потом:

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


Другими словами ты написал, что не сможешь сообразить простейший процессор с несколькими инструкциями? Знать для этого ничего особого не нужно, кроме какого-нибудь набора команд в качестве примера. Это несложная задача. Конечно сомнительно что именно такая задача встретится на практике, но задачи, возникающие при программировании FPGA, часто весьма близки к этой.

Тут можно сколько угодно так распинаться, но знаний у тебя от этого не прибавится. Так что если собрался, то бери учебник и вперед.
597 420033
>>420022

>Если ты такой умный, то почему еще тут что-то пишешь, а не зубришь учебник?


Сперва надо купить макетную плату с ПЛИС, программатор, учебник.
Вот найду всё это и буду сидеть учиться по учебнику, сразу же повторяя схемы, которые узнал на практике(то есть в ПЛИС).
15869743617160.jpg77 Кб, 640x353
598 420036
>>420029

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


Да. А разве когда делаешь на ПЛИС процессор или приёмник uart нужно каждый раз изобретать велосипед или можно использовать проверенные временем схемы из учебника?

>Знать для этого ничего особого не нужно, кроме какого-нибудь набора команд в качестве примера. Это несложная задача.


Ничего себе не сложно. Насколько я знаю, микропроцессорная техника это вообще отдельная отрасль цифровой электроники. Гарвардская и фон-неймонавская архитектура, наборы команд cisc, risc - для меня это темный лес, потому что пишу на Си и ассемблер никогда не использую. У меня только обрывки знаний(как на пикрелейтед), типо вот в гарвардской шина адреса и данных отдельно, а в фон-неймановской вместе(или наоборот). Инструкция cisc это несколько очень маленьких инструкций risc вместе. А ведь всё это следует досконально знать, чтобы самостоятельно делать процессоры с нуля из логических элементов.
599 420037
>>420033

>Сперва надо купить макетную плату с ПЛИС, программатор


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

>учебник


Полный интернет этих учебников.
600 420042
>>420006
Надо же, погромист поясняет плисоводам про параллельную работу блоков микроконтроллера итт. Удачи тебе с неспешным вкатыванием в плисы после основной работы.
601 420044
>>420036

>Ничего себе не сложно.


Именно что легко и просто. К примеру брейнфак-процессор, что в нем сложного? А это уже полный по Тьюрингу процессор. Или можно придумать что-то не более сложное в реализации, но более простое в использовании.
602 420045
>>420037

>симулятор


Сомневаюсь что можно будет симулировать разные гигабитные интернеты, DDRы.
Плюс симуляция не покажет подводных камней вроде метастабильности.
image.png98 Кб, 584x679
603 420047
>>420042

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


А что, разве в МК CPU и переферия не параллельно работают?
604 420048
>>420047

>А что, разве в МК CPU и переферия не параллельно работают?


Это не отменяет того, что программа в цпу выполняется последовательно.
605 420049
>>420045
Ерунда. Эзернеты ладно еще, да и то вряд ли. А DDR - это любое устройство в котором данные меняются и по заднему и по переднему фронту тактового сигнала, чего в нем такого? Метастабильность на ровном месте не проявится, особенно в простых учебных задачах.
Необходимость использования симулятора от этого никуда не исчезнет. Для обучения симулятора хватит, особенно в начале.
606 420106
>>420006

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


Я это все знаю и понимаю. Да, прерывания происходят в любой момент (на самом деле нет), но это вообще ортогонально параллельному выполнению задач, потому что прерывания по-прежнему обрабатываются последовательно, в том числе и вложенные прерывания (если такие разрешены). Кроме того чаще бывает так, что у тебя есть scheduler или scheduling algorithm, который вносит очень большую ясность в то, как работают процессы, как обрабатываются прерывания и т.д. Обычно, задача, которую действительно приходится решать на МК, это синхронизация. Короче, какой-то хуевый из тебя программист МК, скорее фантазер. И еще, тот факт, что у тебя много периферии не отменяет того факта, что CPU с данными с периферии работает последовательно, маня.
607 420179
>>420106

>Да, прерывания происходят в любой момент (на самом деле нет).


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

>но это вообще ортогонально параллельному выполнению задач


Задачи выполняются параллельно, одновременно через сдвиговые регистры отправляются и принимаются байты, меряются ацп, работают таймеры. МК только управляет ими в прерываниях.

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


Инструкции ассемблера в прерываниях - да, последовательные. Но само прерывание может произойти в любой момент, потому что паралельно запущено несколько переферий. Что ты представляешь под выражением: " прерывания по-прежнему обрабатываются последовательно"? Мол, вот сейчас обработали прерывание 1, потом прерывание 2, потом 3? Это вообще не так, они могут происходить в любом порядке и в любое время, потому что процессы, их вызывающие, происходят одновременно.

>Кроме того чаще бывает так, что у тебя есть scheduler или scheduling algorithm, который вносит очень большую ясность в то, как работают процессы, как обрабатываются прерывания и т.д.


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

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


Что ты имеешь ввиду? Приведи пример.

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


Я профессионал, делаю устройства, которые работают и получаю за это деньги. А вот о тебе того же сказать не могу, раз у тебя планировщик задач объясняет, как работают прерывания.
608 420186
>>420179
Ну давай разберем написанное тобой по пунктам.

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


Ага, а critical sections не существуют, приоритета у обработчиков прерываний нет и т.д.

>Задачи выполняются параллельно, одновременно через сдвиговые регистры отправляются и принимаются байты, меряются ацп, работают таймеры. МК только управляет ими в прерываниях.


У тебя за такт несколько инструкций процессора выполняется? Параллельно? Ты это на полном серьезе пишешь или троллишь тупостью?

>прерывания по-прежнему обрабатываются последовательно"? Мол, вот сейчас обработали прерывание 1, потом прерывание 2, потом 3


Именно так они и обрабатываются. В однопроцессорном, одноядерном МК иначе быть не может. Даже не знаю, что тут непонятно тебе.

>Так же как и задачи операционной системы, на которые выделяет время её планировщик задач и прерывания МК не имеют ничего общего.


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

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


Ну ты хотя бы википедию почитал бы что ли, чтобы так не позориться. То, что ты назвал это только частный случай - round robin. Есть множество разных алгоритмов sceduling-a. Сразу видно профи))))

>Что ты имеешь ввиду? Приведи пример.


Псевдопараллелизм или истинный параллелизм, семафоры, мьютексы, мониторы и т.д. Это как бы то место, где начинается разработка в области МК, все остальное это детский садик.
609 420187
>>420179

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


Если честно я тебя тут не понял. По твоему даже выполнение текущей команды не должно завершиться? Или контроллер прерываний у тебя отработает за один такт? Ты тут только что писал о том, что не знаешь внутренностей процессоров, а тут рассуждать принялся.
Ну как, начал изучать верилог или опять будешь писать что без платы не можешь?
610 420190
>>420186

>Именно так они и обрабатываются. В однопроцессорном, одноядерном МК иначе быть не может. Даже не знаю, что тут непонятно тебе.


На всякий случай уточню, что под последовательно я понимаю не только "обработали прерывание 1 до конца, затем обрабатываем прерывание 2 до конца", а только то, что нет в МК истинного параллелизма, в отличие от ПЛИСов. Кажется ты не понимаешь, что в ПЛИСах параллелизм ИСТИННЫЙ, тогда как в МК чаще всего ПСЕВДО.
611 420203
>>420179

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


Ещё добавлю к твоему высеру, что в посте, который ты комментируешь имелось ввиду то, что наличие планировщика сводит "сложность" большого числа одновременных прерываний на нет. Ведь в этом случае можно иногда даже чисто формальными методами посчитать schedulable у тебя система или нет, т.е. все дедлайны будут выполнены или нет, а также найти и проанализировать worst case execution time (хотя конкретно это уже не такая тривиальная задача). На плисах дело обстоит сложнее, хотя и там формальные способы проверок есть, но с плисами приходится анализировать каждый пук в разрабатываемой схеме, а в МК нет. МК это более высокий уровень абстракции, чем ПЛИС, поэтому там во многом проще. Ты профессионалом по мк где-то в снг работаешь, да? Какие проекты закончил? Что конкретно реализовал?
612 420216
>>420203
Ты пиздец душный и закомплексованный. Мамкина плисоилитка, пытающаяся посамоутверждаться на залётном контроллеропролетарии.

мимо
613 420218
>>420216
В /b, быдло залетное.
614 420227
>>420218
Я тут наверняка подольше тебя сижу.
615 420235
>>420227

>пук


По делу есть что сказать?

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


Так ладно бы он поспрашивать что-то пришел, но он же выебываться начал и пояснять всем за все с ебалом "профи, который делает работающие устройства". При этом он пишет такую лютую хуету даже про свою "профессиональную" область деятельности, поэтому его и накормили говном.
616 420254
>>420235
Все таки с людьми стоит быть помягче. Мало ли кто выебываться начал, можно было просто не отвечать, особенно если видно что собеседнику уже ничего не помогает. И уж точно ненормально называть кого-то душнилой лишь за то что огрызнулся в ответ.
617 420256
>>420235

>По делу есть что сказать?


После чего, после твоего предложения пройти в /b?

Ну не знаю. Могу тебе разве что хуёв панамку накидать.
618 420356
Мкхолопы соснули у плисбогов итт.
619 420506
>>420203

>Ещё добавлю к твоему высеру, что в посте, который ты комментируешь имелось ввиду то, что наличие планировщика сводит "сложность" большого числа одновременных прерываний на нет.


Не сводит, потому что прерывания и задачи планировщика задач это совершенно разные вещи, они по разному реализованы и выполняют разные функции.
Планировщик в операционной системе реального времени выделяет каждой задаче строго определенное время и реализован он на уровне языка программирования(чаще всего ОС пишутся на Си). И он сам использует как минимум прерывание одного аппаратного таймера для своей работы.
Прерывания реализованы аппаратно на уровне архитектуры и могут занимать разное время, а можно и вообще зависнуть в прерывании и не выходить из него.
По поводу того, что планировщик задач может заменить прерывания. Это не так. Допустим, в планировщике задач на каждую задачу у тебя отведено по 1 мс, в очереди 10 задач. А на смену фронта по одному из выводов МК должен откликнуться буквально в течении нескольких тактов. Пока операционная система обработает 10 задач пройдет 10 мс, это слишком много. Планировщик задач тут не поможет. Поэтому придется использовать внешнее прерывание.
620 420507
>>420235

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


Я ничего не "пояснял всем за все", я общаюсь с анонами на интересующие меня темы: МК и ПЛИС, в которые я хочу вкатиться.

>с ебалом "профи, который делает работающие устройства".


Перечитай всю ветку разговора. Это было сказно после того, как ты меня обозвал: "Короче, какой-то хуевый из тебя программист МК, скорее фантазер" в этом посте >>420106

>При этом он пишет такую лютую хуету даже про свою "профессиональную" область деятельности,


Приведи хотя бы один или несколько пунктов, где я "писал такую лютую хуету про свою область деятельности", или будешь зачислен в пиздаболы.

>поэтому его и накормили говном.


Разве что в твоих фантазиях.
621 420508
>>420186

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


>Ага, а critical sections не существуют, приоритета у обработчиков прерываний нет и т.д.


И как это отменяет то, что прерывание происходит в любой момент времени?

>>Задачи выполняются параллельно, одновременно через сдвиговые регистры отправляются и принимаются байты, меряются ацп, работают таймеры. МК только управляет ими в прерываниях.


>У тебя за такт несколько инструкций процессора выполняется? Параллельно? Ты это на полном серьезе пишешь или троллишь тупостью?


А при чем здесь выполение инструкций процессора, если речь о том, что разнообразная переферия МК(АЦП, счетчики) и МК работают параллельно?

>>прерывания по-прежнему обрабатываются последовательно"? Мол, вот сейчас обработали прерывание 1, потом прерывание 2, потом 3


>Именно так они и обрабатываются. В однопроцессорном, одноядерном МК иначе быть не может. Даже не знаю, что тут непонятно тебе.


Контроллер прерываний проверяет сработавшие прерывания последовательно по таблице векторов прерываний, ты об этом? Но он работает параллельно с основной программой, которая выполняется на CPU и если сработает прерывание, то он перенаправит МК по своему вектору и заставит МК выполнить участок кода, связанный с этим прерыванием. Конечно, это не полный парралелизм, как на ПЛИС, но время отклика на событие здесь куда быстрее, чем параллелизм с помощью планировщика задач.

>>Так же как и задачи операционной системы, на которые выделяет время её планировщик задач и прерывания МК не имеют ничего общего.


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


Как?

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


>Ну ты хотя бы википедию почитал бы что ли, чтобы так не позориться. То, что ты назвал это только частный случай - round robin. Есть множество разных алгоритмов sceduling-a. Сразу видно профи))))


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

>>Что ты имеешь ввиду? Приведи пример.


>Псевдопараллелизм или истинный параллелизм


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

>семафоры, мьютексы, мониторы и т.д.


Это все выполняет операционная система.

>Это как бы то место, где начинается разработка в области МК, все остальное это детский садик.


Какое-то бахвальство. В одних случаях необходимо использовать операционную систему на МК, в других программа будет проще и быстрее без неё, написанная одним циклом.
621 420508
>>420186

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


>Ага, а critical sections не существуют, приоритета у обработчиков прерываний нет и т.д.


И как это отменяет то, что прерывание происходит в любой момент времени?

>>Задачи выполняются параллельно, одновременно через сдвиговые регистры отправляются и принимаются байты, меряются ацп, работают таймеры. МК только управляет ими в прерываниях.


>У тебя за такт несколько инструкций процессора выполняется? Параллельно? Ты это на полном серьезе пишешь или троллишь тупостью?


А при чем здесь выполение инструкций процессора, если речь о том, что разнообразная переферия МК(АЦП, счетчики) и МК работают параллельно?

>>прерывания по-прежнему обрабатываются последовательно"? Мол, вот сейчас обработали прерывание 1, потом прерывание 2, потом 3


>Именно так они и обрабатываются. В однопроцессорном, одноядерном МК иначе быть не может. Даже не знаю, что тут непонятно тебе.


Контроллер прерываний проверяет сработавшие прерывания последовательно по таблице векторов прерываний, ты об этом? Но он работает параллельно с основной программой, которая выполняется на CPU и если сработает прерывание, то он перенаправит МК по своему вектору и заставит МК выполнить участок кода, связанный с этим прерыванием. Конечно, это не полный парралелизм, как на ПЛИС, но время отклика на событие здесь куда быстрее, чем параллелизм с помощью планировщика задач.

>>Так же как и задачи операционной системы, на которые выделяет время её планировщик задач и прерывания МК не имеют ничего общего.


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


Как?

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


>Ну ты хотя бы википедию почитал бы что ли, чтобы так не позориться. То, что ты назвал это только частный случай - round robin. Есть множество разных алгоритмов sceduling-a. Сразу видно профи))))


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

>>Что ты имеешь ввиду? Приведи пример.


>Псевдопараллелизм или истинный параллелизм


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

>семафоры, мьютексы, мониторы и т.д.


Это все выполняет операционная система.

>Это как бы то место, где начинается разработка в области МК, все остальное это детский садик.


Какое-то бахвальство. В одних случаях необходимо использовать операционную систему на МК, в других программа будет проще и быстрее без неё, написанная одним циклом.
622 420509
>>420187

>Если честно я тебя тут не понял. По твоему даже выполнение текущей команды не должно завершиться? Или контроллер прерываний у тебя отработает за один такт?


Да, это я и имел ввиду. В ближайшую инструкцию, а не такт, инструкция занимает несколько тактов.

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


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

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


Да, без камня не могу. Когда рядом с пекой лежит камень и мигает светодиодом как-то быстрее учится, ничего не могу с собой поделать.
623 420513
>>420509
У меня DE0 nano soc на циклоне 5, включал пару раз остальное время лежит без дела, ибо лучше подолбиться в мультисиме чем постоянно заливать на циклон и смотреть там как работает схема
624 420515
>>420513
Вот именно. Тут роль симуляторов совсем не такая как для микроконтроллеров. А еще так будет слишком затруднительно с конфигурациями побольше, которые компилируются десятки минут.

>>420509

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


Нахрена для этого знать внутренности процессора? Процессор это просто конечный автомат, не особо сложный для простых случаев. Это проще нормального БПФ, быстрой сверки, декодеров каких-нибудь помехоустойчивых кодов и прочего. А ты не столь давно грозился на автоматах что угодно сделать.
625 420516
>>420506

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


Заебал, честно слово.
https://en.wikipedia.org/wiki/Preemption_(computing) - читай. Один из примеров, где не выделяется "строго определенное время" и именно этот тип встречается в RTOS-ах чаще всего. Еще раз, то, о чем ты говоришь, это round robin - частный случай, самый простой.

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


Ты вообще не вкуриваешь, о чем тебе пишут.

>Не сводит, потому что прерывания и задачи планировщика задач это совершенно разные вещи


Да, только тебе другое объясняют, овощ.
626 420517
>>420508

>А при чем здесь выполение инструкций процессора, если речь о том, что разнообразная переферия МК(АЦП, счетчики) и МК работают параллельно?


При том, что изначально ты заявил, что ПЛИСы не сложнее микриков. Тебе намекнули, что есть фундаментальная разница: ПЛИСы параллельны. Ты заявил, что микрики у тебя тоже параллельны. Заметь, никто не спорит с тем, что перИферия (даун ты неграмотный) работает параллельно, и битики прерываний в регистре прерываний параллельно могу выставлятся. Загвоздка в том, что для программиста под микрики эта параллельность никак на сложность разработки не влияет, потому что все это спрятано под капотом, так сказать. А разработчик под МК имеет дело с написанием последовательных программ. Я не ебу, на кой хер ты, как ты написал, "держишь в голове параллельную работу всей периферии", скорее всего ты вообще не понимаешь что делаешь и не понимаешь принципов программирования. Именно в МК при написании программы ты всегда имеешь дело с последовательным алгоритмом. Еще раз, дебил, да, периферия параллельно триггерится, но дальше те же прерывания разруливаются последовательно. Понимаешь?
627 420518
>>420508

> Конечно, это не полный парралелизм


Это вообще нахуй никакой не паРаЛЛелизм (чмо ты неграмотное). Это максимум ПСЕВДО параллелизм. Где твоя единственная проблема это ДОСТУП К ОБЩИМ РЕСУРСАМ, т.е. СИНХРОНИЗАЦИЯ.

>Как?


При обработке прерывания сохраняешь контекст, если надо создаешь таску для обработки события (может быть разный приоритет), восстанавливаешь контекст, попадаешь либо в прерванную таску, либо, если у события приоритет выше, чем у данной таски, начинаешь выполнять созданную в прерывании таску. Фишка в том, что очень легко в этом случае анализировать ПОСЛЕДОВАТЕЛЬНОСТЬ выполнения операций при разных сценариях и относительно легко оценить WCET.

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


В этом случае юзается ватчдог, да. В другом смотри пред. пункт и читай статью на вики про preemptive scheduling.

>Это все выполняет операционная система.


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

>в других программа будет проще и быстрее без неё, написанная одним циклом.


Ага, а проблемы доступа к общим ресурсам в этом случае не возникает, лол.
628 420519
>>420508
И еще, добавлю, что я эти RTOS для микриков писал своими руками еще в университете (ибо учился в развитых странах, а не СНГ), у меня два высших образования и опыт работы как эбмеддед так и в ПЛИСах (сейчас FPGA/ASIC), поверь, я знаю, о чем говорю, и сразу вижу твой уровень (околонулевой). И, к сожалению, я знаю уровень большинства компаний в этой области на постсоветском пространстве и удручающий уровень образования тоже знаю, поэтому с понимаем отношусь к пробелам в твоих знаниях. Попробуй, вместо того, чтобы нести околесицу, прочитать пару хороших общепризнанных книжек по МК и RTOSам, а потом уже возвращайся со своим авторитетным мнением.
629 420527
>>420519
Манька, путающая микропроцессор и микроконтроллер, и до которой то, что она это путает, доходит не с первого раза, рассуждает о чьем-то уровне, хвалясь проектами уровня laba.c.
630 420528
>>420519
Сам себя не похвалишь, никто не похвалит.

Мы вам перезвоним
631 420531
>>420527

>путающая микропроцессор и микроконтроллер


И в чем их отличие? Мне всегда казалось что там нет более-менее четкой границы. Периферия со всякими таймерами, АЦП, ЦАП и прочим бывает и в тех и других. Память? Тоже по разному бывает. Например, i.MX 6ULL это микропроцессор? Чем тогда его периферия отличается от STM32, что один вдруг стал процессором, а другой микроконтроллером?

>>420528
Это да, действительно мерзко выглядит. Был бы он умнее, вообще ничего в ответ не писал.
632 420548
>>420527
Разница не такая уж большая, это во-первых, а во-вторых, где он путает?
633 420550
>>420527
По делу есть что сказать?
634 420555
>>420516

>https://en.wikipedia.org/wiki/Preemption_(computing) - читай. Один из примеров, где не выделяется "строго определенное время" и именно этот тип встречается в RTOS-ах чаще всего. Еще раз, то, о чем ты говоришь, это round robin - частный случай, самый простой.


Теперь понял. Прерывания - это аппаратный способ распределения задач, а шедуллер - программный. Можно выставить приоритет задач в шедуллере и тогда задача, требующая наибольшего быстродействия, прервет все остальные задачи и выполниться в срок.
635 420556
>>420517

>При том, что изначально ты заявил, что ПЛИСы не сложнее микриков. Тебе намекнули, что есть фундаментальная разница: ПЛИСы параллельны. Ты заявил, что микрики у тебя тоже параллельны. Заметь, никто не спорит с тем, что перИферия (даун ты неграмотный) работает параллельно, и битики прерываний в регистре прерываний параллельно могу выставлятся.


Да, это я и имел ввиду. Ведь речь была о чем? О том, что ПЛИСы и МК работают параллельно, и это так.

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


Влияет, нужно учитывать время, за которое периферия выполняет задачи или МК откликнется на внешнее прерывание.

>А разработчик под МК имеет дело с написанием последовательных программ.


Разарботчик МК пишет программы, разработчик ПЛИС - цифровые схемы. У МК и ПЛИС разные задачи и нельзя говорить, как утверждаешь ты, что, мол, плиски для элиты, а микроконтроллеры для быдла.

>Я не ебу, на кой хер ты, как ты написал, "держишь в голове параллельную работу всей периферии", скорее всего ты вообще не понимаешь что делаешь и не понимаешь принципов программирования.


Я все прекрасно понимаю.

>Именно в МК при написании программы ты всегда имеешь дело с последовательным алгоритмом.


Т.е. ты утверждаешь, что вся программа для МК представляет собой последовательный алгоритм. Но это не так, если используется хотя бы одно прерывание.
Еще раз, дебил, да, периферия параллельно триггерится, но дальше те же прерывания разруливаются последовательно.
Прерывания обрабатываются последовательно, но при этом параллельно(псевдопарралельно, ведь ядро у МК одно) алгоритму основной программы.
636 420557
>>420518

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


>В этом случае юзается ватчдог, да. В другом смотри пред. пункт и читай статью на вики про preemptive scheduling.


Ещё лучше.
Представим твой алгоритм шедуллинга.
//задача 1
...
//задача 2
...
//задача 3
...
//задача 4
...
В задаче 2 ставим while(1).
//задача 1
...
//задача 2
while (1)
{ };
//задача 3
...
//задача 4
...
Watchdog будет каждый раз из задачи 2 возвращаться в задачу 1, а следующие после задач 2 задачи 3 и 4 вообще никогда не будут обработаны.
Сразу виден твой уровень 2 университетов развитых стран и опыта работы в эмбеддед и ПЛИСах, хех.

>>Это все выполняет операционная система.


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


Касается, я должен знать как это все работает и как настроить в операционной системе. Суть в том, что с нуля операционку писать никто не будет(в продакшене нет на это времени и нет смысла) обычно берется нужная RTOS и она и выполняет разные семафоры и шедуллеры.

>Периферию конфигурируешь что ли? Лол, пиздец какой.


А что, переферию не нужно конфигурировать?
636 420557
>>420518

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


>В этом случае юзается ватчдог, да. В другом смотри пред. пункт и читай статью на вики про preemptive scheduling.


Ещё лучше.
Представим твой алгоритм шедуллинга.
//задача 1
...
//задача 2
...
//задача 3
...
//задача 4
...
В задаче 2 ставим while(1).
//задача 1
...
//задача 2
while (1)
{ };
//задача 3
...
//задача 4
...
Watchdog будет каждый раз из задачи 2 возвращаться в задачу 1, а следующие после задач 2 задачи 3 и 4 вообще никогда не будут обработаны.
Сразу виден твой уровень 2 университетов развитых стран и опыта работы в эмбеддед и ПЛИСах, хех.

>>Это все выполняет операционная система.


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


Касается, я должен знать как это все работает и как настроить в операционной системе. Суть в том, что с нуля операционку писать никто не будет(в продакшене нет на это времени и нет смысла) обычно берется нужная RTOS и она и выполняет разные семафоры и шедуллеры.

>Периферию конфигурируешь что ли? Лол, пиздец какой.


А что, переферию не нужно конфигурировать?
637 420559
>>420519

>И еще, добавлю, что я эти RTOS для микриков писал своими руками еще в университете (ибо учился в развитых странах, а не СНГ),


Хоть я учился в СНГ, RTOS своими руками не писал(хотя, запросто смогу написать хоть на Си, хоть на ассемблере, если немного почитаю про это), алгоритмы шеддулинга я писал и как работают семафоры и приоритет задач в RTOS тоже знаю.

> у меня два высших образования и опыт работы как эбмеддед так и в ПЛИСах (сейчас FPGA/ASIC), поверь, я знаю, о чем говорю,


Так ты тот анон из Швеции? Ну завидую, повезло со стартовыми условиями, родаками, мне повезло меньше. Но уровень образования в СНГ не сильно хуже, можно найти как годного спеца в СНГ, так и полного дуба с дипломом MIT. Тут больше от конкретного человека зависит, а не от вуза.

> и сразу вижу твой уровень (околонулевой).


> Попробуй, вместо того, чтобы нести околесицу,


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

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


Ага, только последовательность действий никуда не исчезает. Она прерывается и начинает ветвится, но это не истинный параллелизм, маня.
639 420564
>>420559

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


У меня не было особых стартовых условий, как ты говоришь. Обычный мухосранск, обычная семья, все. Я не хочу продолжать этот спор. Ты не понимаешь разницу между истинным и псевдо параллелизмом. Ты не знаешь плисовскую специфику, а специфику эмбеддеда знаешь довольно узко. Я могу только пожелать тебе осознать узость и невежество своих представлений и заняться самообразованием.
640 420569
По моему, с параллелизмом все понятно - ядро обрабатывает команды последовательно, периферия работает параллельно (по сути так же, как цифровые блоки в ПЛИС, только ее уже реализовали в кремнии в составе стандартизированной архитектуры + аналоговая часть, где она есть).

Кстати, иногда в плис напрямую нужны навыки с микроконтроллеров - при использовании soft или hard ядра в ПЛИС его ПО пишется также, как для МК. Тот же Ethernet + протокол обмена + более-менее сложное управление йоба цифровыми блоками нередко делаются с использованием soft-ядра и rtos.
>>420519
Оффтоп:
Кто хочет учится - тот научится и там, и тут. У меня 30-40% бывших одногруппников также умеют и практикуют в fpga и mcu, кто-то из них asic занимается. Некоторые студенты защищают готовые приборы и блоки для asic как дипломы, было бы желание, впрочем, на работе все равно полноценные специалисты формируются ещё несколько лет.
У нас просто больше людей на бюджете и относительно недорогом платном учатся на отъебись, поэтому средний уровень по больнице несколько ниже.
641 420580
>>420556

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


Именно что так. Если у тебя программа сделала куда-то JMP, то это не значит что твой алгоритм параллельный или псевдопараллельный, он как был последовательным так и есть. То же самое и с прерываниями, там прыжок делается не через JMP, а самим ядром, но принципиально это ничего не меняет, в обоих случаях счётчик команд прыгает с места на место и ничего более. Даже в самом термине "прерывание" заложен весь смысл: основная программа прерывается и выполняется другой участок кода.

>>420569

>Тот же Ethernet


В своё время, я его на чистом Верилоге поднял, так-то.
642 420582
>>420548

>Разница не такая уж большая


>>420531

>И в чем их отличие? Мне всегда казалось что там нет более-менее четкой границы. Периферия со всякими таймерами, АЦП, ЦАП и прочим бывает и в тех и других.



Я всегда думал что как раз наличие периферии и ОЗУ внутри кристалла и отличает процессор от МК, в МК она есть , в процессоре нет. Например какой-нибудь intel i7 - это процессор, а вот уже STM - МК.

мимо
643 420583
>>420531

>там нет более-менее четкой границы


Все это хуйня для первокуров - взрослые делают работу, а не размышлют "программирую я процессор или микроконтролер?".
644 420629
>>420580

>В своё время, я его на чистом Верилоге поднял, так-то


С какими протоколами? Или тут udp датаграммы без запросов arp, dhcp?
645 420632
>>398368
Ландау Лифщиц, 2 том
646 420633
>>420629
Чистый Ethernet, только канальный уровень.
647 420643
>>420633
Типа без PHY? Видел такое только для 10мбит.
Хотя вроде теперь какие-то хардблоки под 10+ заложены на плис?
648 420644
>>420633
Нашел, чем хвалиться.
649 420645
>>398368
Купить еще парочку девборд и положить на полку.
650 420730
>>420643

>Типа без PHY?


Без него никак, он же напряжения согласует. Я делал на marvell 88e1111, нужно было поднять 100мб/с.
Но он у меня только контрольную сумму считал, кодировку 8b/10b делал и финальное манчестерское кодирование, может ещё начальную преамбулу добавлял, не помню уже, хотя это всё можно было и самому сделать, не сложно.

>>420644
Ну а чё...
ORLY.jpg50 Кб, 456x449
651 420735
>>420730

>>Типа без PHY?


>Без него никак


O RLY? Нахуй пошел! Срочно заявление по собственному желанию и что бы тебя завтра уже здесь не было! А мне премию за оптимизацию. А начали тут - PHY им понимаешь ли надо ставить. Совсем разленились и зажрались. Это стеб. Для той же оптики надо чуть меньше чем нихуя. SERDES есть? Дырка под SFP есть? Ебашим. С медью такое не особо катит.
http://we.easyelectronics.ru/plis/softovyy-phy-dlya-ethernet-10base-t.html
https://github.com/donnaware/ZBC---The-Zero-Board-Computer
(палево. Снесли мануал + схему или не нашел. Выкладываю старую копию мануала https://yadi.sk/i/ITnqXTMg09N00Q )
652 420776
>>420735
В любом случае, для меди нужен развязывающий транс, для оптики свето-, фотодиод, это всё тоже часть физического уровня.
46pic4.jpg35 Кб, 800x163
653 420790
>>420776

>В любом случае, для меди нужен развязывающий транс


Ты падла еще здесь? Тебя же уволили еще вчера!
Какие нахуй трансформаторы? Конденсаторы! Гальваническая развязка? Да вертел её на хую! Хуяк хуяк и в продакшен! Еще бздани что разъемы нужны. На плату сука напрямую привариваем! Оптимизация во все поля! Везде глаз да глаз нужен! Такую хуйню сморозят и накрутят!
Где-то был забавный документ от броадкома как согласовывать разные выходы PHY (токовый, напряжения) друг с другом для внутриприборных связей (на коротких дистанциях) без гальванической развязки.

Твой коммент хорош, но не в тему. Чуть выше обсуждаются именно микросхемки PHY, а не трансформаторы и разъемы, поэтому паста про фотодиоды и светодиоды в SFP немного не к месту, так как в большинстве случаев это внешний SFP модуль и нужен только простой разъем под него (и serdes в fpga), а не модули 1х9 или 2х5 которые жестко на плату запаиваются.
Аноним 654 420791
Я понял такие в 80-е
655 420889
>>420790
Не, ну так то понятно, что согласование сред и напряжений можно и на рассыпухе организовать.
genman.jpg211 Кб, 1824x1099
656 421064
>>420889

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


Может не надо? Возьми за бакс-другой микросхемку PHY. Всяко меньше места займет и без скатывания в такие маразмы:
https://marsohod.org/index.php/projects/94-ether-send Это не упрек в адрес марсохода, прикольные проекты можно выловить
http://www.equicom.ua/ping/ping1/ping1.htm - микроконтроллеры? Стек TCPUDP/IP? Трансформаторы? Гальваническая развязка? Разъемы? Всех НАХУЙ! Только хардкор! ПЗУ с ближайшей помойки и оттуда же россыпчатой логики, стабилизаторов надергаете со сдохших хабов . Стирание ПЗУ? С фонаря лампу ДРЛ спиздите вместе с дросселем. На солнышко положите и мне похуй что оно с неделю будет стираться. Надо быстрее? Пиздуйте к алкашам-сварщикам. Программатор нужен? Да хуй вам. У в стельку пьяного электрика напиздите автоматов вместо выключателей, там же проводов найдете что бы собрать ручную прошивалку ПЗУ.
ЗА РАБОТУ! БЫСТРА БЛЯ! Было бы смешно если бы это не было реальностью здесь.
Такие проекты хоть и выглядят как маразм, но.. Они идеально подходят под обучение - очень отчетливо видно где что как работает и как это можно воссоздать.

Спизженно отсюда https://nag.ru/goodies/resurs/genman.jpg Даже не знаю - существует ли прошивка в сети.
Задрочив этот сайт в свое время без вопросов взяли в инженерный состав провайдера у которого локал_очка из почти 2К абонентских свичей.
657 421592
>>419793

>Для примера попробуй хотя бы сделать UART-приёмник


Ну если сделать UART приемник с одним сэмплом на каждый бит принимаемого байта(в середине бита), то он будет не сложнее передатчика. Я так и делал программный UART для МК, потому что если передача ведется по разным промышленным протоколам всё равно отправляемый пакет проверяется по CRC и с надежностью непосредственно UARTа можно не париться.
А вот если сэмплов будет 8 на один бит, как в настоящих аппаратных UART приёмниках, то это будет уже на порядок сложнее, да.
image.png536 Кб, 641x500
658 421595
>>420531

>И в чем их отличие? Мне всегда казалось что там нет более-менее четкой границы.


Микрокотроллер - это когда переферия, ПЗУ и ОЗУ расположены на одном кристале с ядром.
659 421596
>>420563

>но это не истинный параллелизм


Но в то же время это и не истинный последовательнизм.
660 421599
>>420564

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


Я прекрасно знаю эту разницу. ПЛИС - это цифровая схема, МК - это ядро, которое выполняет инструкции из своей памяти программ одну за другой.

>Ты не знаешь плисовскую специфику,


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

>а специфику эмбеддеда знаешь довольно узко.


В эмбеддеде я разбираюсь не хуже тебя.

>Я могу только пожелать тебе осознать узость и невежество узость и невежество своих представлений


Опять таки, ты врёшь, покажи, где я в своих постах показал свое невежество и узость своих представлений.
661 421602
>>420519

> RTOS для микриков писал своими руками еще в университете (ибо учился в развитых странах, а не СНГ), у меня два высших образования и опыт работы как эбмеддед так и в ПЛИСах (сейчас FPGA/ASIC)


Всем похуй вниманиеблядок. ОЧНИСЬ ВСЕМ НАСРААТЬ ПОХУЙЙЙ.
662 421645
>>421599

> ПЛИСы отличаются друг от друга только количеством ячеек и частотой тактирования, всё.



Это провал
663 421646
>>421592

>А вот если сэмплов будет 8 на один бит, как в настоящих аппаратных UART приёмниках


В настоящих аппаратных UART приёмниках количество сэплов нечётное число. Чтобы мажоритарное голосование могло работать.

>делал программный UART для МК


Уровня лаба в местной шараге? Ну это судя по твоему высказыванию выше о 8 сэплах.

>>421596

>истинный последовательнизм


именно он и есть, если не брать во внимание всякие многоядерности.

>>421599

>ПЛИС - это цифровая схема, МК - это ядро, которое выполняет инструкции


Так то МК - это тоже цифровая схема. Там тоже регистры ядра работают параллельно, однако суть вещей это не меняет.

>ПЛИСы отличаются друг от друга только количеством ячеек и частотой тактирования, всё


Ты в общем-то начни изучать ПЛИСы, и через полгодика приходи, тогда и поговорим.
664 421650
>>421595
Это ты так считаешь. А в NXP считают иначе, на примере упомянутого i.MX 6ULL.
Ерунда у тебя, а не определение. Например ископаемый 8031 был без ПЗУ, но его все равно называли микроконтроллером, а периферии у него толком не было. А какой-нибудь Intal Atom может иметь GPIO. И так далее.
665 421651
>>421650

>Intal Atom


Intel, опечатался.
666 421670
>>421650

> А в NXP считают иначе, на примере упомянутого i.MX 6ULL.


Это applications processor, что никак не является синонимом микропроцессора, этот термин ближе к термину SoC
667 421703
>>421670
Все это ерунда, граница между одним и другим не становится от этого четче.

>термину SoC


Сок это то же самое что "полный фарш" - обо всем и ни о чем. Какой-нибудь nrf24 с 8051 внутри это сок. Подобных микроконтроллеров с трансивером внутри существует много и далеко не все из них называют соком, например rfPIC. Или ближе к этому треду, цинки тоже соком называют, а сравнивать их с nrf24 бессмысленно.
668 421745
>>421703

>Все это ерунда, граница между одним и другим не становится от этого четче.


Тут важно то, в чем соснул именно ты. А ты соснул в том, что открыл даташит, увидел надпись applications processor и подумал, что речь о микропроцессоре. А это сильно разные вещи, практически омонимы. Можно долгоискать границы между applications processor и микроконтроллером, но микропроцессор это довольно определенный термин, хотя сейчас и довольно устарелый. Но это очень унылый спор для аутистов, поэтому больше я писать на эту тему не буду.
669 421757
>>421745
Полнейшая чушь. Ты еще написал бы что DSP это не процессор, даже если вообще без периферии и RAM/ROM. Особенно показательно что про SoC ничего не ответил.
670 421985
>>421599

>ПЛИСы отличаются друг от друга только количеством ячеек и частотой тактирования, всё.


Чел, ну что же ты так слился некрасиво и глупо...

>От разработчика ПЛИСок требуется только знание цифровой схемотехники и языков VHDL и Verilog, чтобы он мог запрограммировать плиску.


Ага, конечно. Алгоритмы ЦОСа знать не надо, особенности работы TTL знать не надо, ну и т.д. по длинному-длинному списку. Про vhdl и verilog ты, видимо, не в курсе, что это не вся работа. Там целый комбайн разных тулов и технологий используется от идеи и прототипирования до конечной верификации в железе. Ох, а сколько всего интересного происходит при работе с арифметикой! Там столько всего интересного из численных методов! Ох, а алгоритмы, например, в связи, могут быть довольно сложными даже просто по своему математическому описанию, представляешь что творится в реализации? А как я обожаю метастабильность и signal race condition... мммм. Ох, а как же софтпроцессоры? Про них-то забыли! А еще можно петалинукс поднять!
671 422532
Здарова, бандиты!
Попала мне в руки плата с Altera EPM3256ATC144-10N - is any good?
Какой минимальный набор железа и софта, чтобы помигать светодиодиком?
Никогда раньше ПЛИС не ебал с ПЛИС дела не имел
672 422535
>>422532

>EPM3256ATC144


Говно мамонта, так еще и CPLD - штука с ограниченным числом перезаписей своей памяти конфигурации, коих по даташиту до 100 раз. Так и написано - ДО 100 раз.
Где-то промелькала инфа что при разводке (fitter) некоторые блоки могут отключаться и использоваться только для коммутации и при попытке создать счетчик на 50 бит в max3064 и немножко логики - соснешь хуйца, хотя у тебя еще якобы 16 триггеров в запасе.

Если забить хуй - норм выбор для начала.
По софту - самый "свежий" Quartus II 13.0sp1, в более свежих версиях убрали поддержку MAX3000.
Для программирования конфигурирования - usb blaster или сам собери на pic18f14k50.
673 422546
>>421985

>От разработчика ПЛИСок требуется


Чтобы он квалифицированно въебывал за небольшую зарплату и не бухтел.
674 422550
>>422535
Научится писать без говнокода, делать компактные конструкции, констрейнты, что будет плюсом. А потом уже перейдёт на что-то посерьёзнее.

>штука с ограниченным числом перезаписей своей памяти конфигурации, коих по даташиту до 100 раз


Где-то их тестировали на количество циклов. 10000 успешно получилось, дальше просто не стали. Видимо, в даташите написали 100 циклов, чтобы в случае чего не было претензий, что ПЛИС сдохла от постоянной перезаписи.
675 422551
>>422550

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


В шоке от твоего интеллекта и логики.
676 422554
>>422550

>Где-то их тестировали на количество циклов. 10000 успешно получилось, дальше просто не стали.


Уважаемый, не надо подтасовывать факты, а если пиздишь - то готовь пруфы вместо пердежа.
Тестировали MAX II на Марсоходе https://marsohod.org/11-blog/91-killmax которая имеет мало общего с более ранней серией MAX3000 или MAX7000. Здесь вопрос про серию MAX3000.

Мое мнение - начинать с любой FPGA, которую можно конфигурить хоть каждую секунду и ей ничего не будет.
677 422686
>>422550

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


Там не только про это, а еще про сохранение конфигурации в течение N лет.

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


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

>usb blaster или сам собери на pic18f14k50.


Если совсем по минимуму, то можно byte blaster ii от LPT, если найдется комп с LPT.
678 422716
>>422686

>комп с LPT


Можно переходник на ПЛИСине замутить.
679 422860
В Сыклоне 4 у триггеров есть вход ena. Как он работает? Я понимаю что это разрешение на запись, но как он функционирует? Я имею в виду подавать на него надо синхронно с тактовым сигналом, или можно нет? Это просто мультиплексор на D-входе с обратной связью от выхода триггера, или что-то более хитрое?
680 422868
>>422860
Засинтезируй проект и посмотри, ежели знаешь моделсим - сделай симуляцию. Вроде асинхронный сигнал, но это не точно.
https://www.intel.com/content/www/us/en/programmable/quartushelp/17.0/hdl/prim/prim_file_dffe.htm
"When the ENA (clock enable) input is high, the flipflop passes a signal from D to Q. When the ENA input is low, the state of Q is maintained, regardless of the D input. "
681 422873
>>422868
А как тут может помочь симуляция? Боюсь симуляция тут никак не поможет.
682 422913
>>422873
Вроде в квартусе есть ТТЛ симуляция, а не только RTL. Там точно будет видно синхронный это enable или асинхронный.
683 422934
>>422913
Да как его будет видно, если это вход, ты сам его подаёшь.
684 422954
>>422860
Сигнал разрешения на запись должен быть синхронным с клоком.

>Это просто мультиплексор на D-входе с обратной связью от выхода триггера


Скорее всего, но это не имеет значения. В плисине, кроме сброса и установки, не должно быть асинхронных сигналов. Тот же анализатор таймингов считает енейблы синхронными клоку.
685 422958
>>422954
Ещё стоит не забывать что те же асинхронные сбился не полностью асинхронные: Включение сброса может быть асинхронно с клоком, но выключение всегда должно быть синхронным. Для этого используют сихронизаторы сброса.
686 422976
>>422954
>>422958
Да, про сброс я понимаю, а вот с входом разрешения, сдаётся мне, не всё так просто. Посмотрел в даташитину на циклон 4
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-iv/cyclone4-handbook.pdf?wapkw=cyclone handbook
так он там называется clock enable, что как бы намекает на то, что этот вход не так прост как кажется.
687 422977
>>422976

>сдаётся мне, не всё так просто


>так он там называется clock enable, что как бы намекает на то, что этот вход не так прост как кажется.


У тебя шиза какая-то начинается. Clock enable -- это стандартное название входа регистра. Можешь посмотреть у других производителей, например у Xilinx. Есть ещё clock gating, который отключает полностью клок, уменьшая энергопотребление, но это другое.
А так перестань уже ебать мозг себе и анонам, почитай про синхронный дизайн, метастабильность и синхронизацию сброса. А асинхронщину оставь до того момента, как будешь работать в интеле и делать всякие схемы домино (как в 4 пнях).
688 423048
>>422977

>А так перестань уже ебать мозг себе и анонам, почитай про синхронный дизайн, метастабильность и синхронизацию сброса.


Ещё раз. Я не спрашиваю про синхронный дизайн или сброс. Я спрашиваю про конкретный вход триггера. Называется он clock enable, что намекает нам на то, что он находится во взаимосвязи с тактовым сигналом. Вот об этом я и спрашиваю. Как он с ним взаимодействует? В идеале бы, конечно, увидеть схему этого триггера, но скорее всего её нет в открытом доступе. Меня терзают смутные сомнения, что этот clock enable просто объединён по И с тактовым сигналом, но это не точно.
689 423062
>>423048

>просто объединён по И с тактовым сигналом


Интересно, можно ли проверить это каким-нибудь экспериментом? Для упрощения задачи можно считать что триггер не в составе ПЛИС, а отдельно.
мимопроходил
690 423085
>>422934
Я хуй знает уже в чем твоя проблема. Не знаешь какой ena, так подай сигнал в двух случаях - синхронно и асинхронно, да посмотри, что будет в ттл симуляции.
691 423097
>>422686

> Что на них делать то?


Бэкапить сеговские картриджи на видеокассету:
http://www.radioway.ru/1999/10/igrovye_programmy__sega__-_na_videokassetah.html
http://www.radioway.ru/1999/11/igrovye_programmy__sega__-_na_videokassetah.html

P.S. Ещё у MAX300A/MAX7000S пятивольтовое питание, за что их до сих пор любят ретрокомпьютерщики.
m3.png33 Кб, 1196x500
692 423110
>>423097

>Ещё у MAX3000A пятивольтовое питание


Лишь бы что-то бздануть. Даташит на 46 страниц лень пролистать?
МАХ3000 - у них питание 3.3 Вольта, а выводы - да, держат 5 вольт.
Возьми тот же обоссанный некро FLEX10K как на Altera UP2 и еби ее сколько хочешь переконфигурациями. https://habr.com/ru/post/277947/
693 423113
>>423048

>что этот clock enable просто объединён по И с тактовым сигналом


Это называется gated clock, об этом я писал ранее, и это не clock enable.

>Называется он clock enable, что намекает нам на то, что он находится во взаимосвязи с тактовым сигналом


Под clock enable обычно понимают синхронный сигнал и это пошло ещё с тех времён, когда появились первые логические ИС а может и раньше. Подразумевается что clock enable управляет мультиплексором, на один вход которого приходят данные, а на другой выход флипфлопа. И у альтеры должно быть также, или по крайней мере поведение схемы должно быть такое же, иначе они не использовали стандартное обозначение флипфлопа.
Для варианта с логическим И enable не может идти с выхода флипфлопа, так как при этом будет укорочение импульса клока.

https://m.eet.com/media/1121681/chapter2_clocks_resets-02.pdf
694 423233
>>421645
>>421985

>>ПЛИСы отличаются друг от друга только количеством ячеек и частотой тактирования, всё.


>Чел, ну что же ты так слился некрасиво и глупо...


Ну и чем же они отличаются, кроме частотой тактирования и колвом ячеек?? Отвечай, либо слит.

>Ага, конечно. Алгоритмы ЦОСа знать не надо, особенности работы TTL знать не надо, ну и т.д. по длинному-длинному списку. Про vhdl и verilog ты, видимо, не в курсе, что это не вся работа. Там целый комбайн разных тулов и технологий используется от идеи и прототипирования до конечной верификации в железе. Ох, а сколько всего интересного происходит при работе с арифметикой! Там столько всего интересного из численных методов! Ох, а алгоритмы, например, в связи, могут быть довольно сложными даже просто по своему математическому описанию, представляешь что творится в реализации? А как я обожаю метастабильность и signal race condition... мммм. Ох, а как же софтпроцессоры? Про них-то забыли! А еще можно петалинукс поднять!


Всё тобою вышеперечисленное и к проганью микриков относится, и ко многим другим сферам, не только к ПЛИС. Основы всего этого дают в вузах, а то, что не дали, не составит труда научится самому. А ты так описываешь всё это, будто это тебе не это, а секретные манускрипты древних, доступные только гениям.
695 423235
>>423233

>Всё тобою вышеперечисленное и к проганью микриков относится


Что-то я не слышал, что на МК реализовывали DSP часть современных телекоммуникационных систем. Ага, МК тебе в реалтайме OFDM в FFT разложит, да на современных частотах особенно, в МК из всего реального DSP максимум ШИМом яркость дисплея настраивают, вот и весь ЦОС в МК. Иди дальше конфигурировай свои микрики, да хэндлеры для кнопочек пиши.

Нет ну какой пиздец, сравнить ЦОС, реализуемый на ПЛИСах, с ЦОСом, реализуемом в микриках
696 423236
>>423233
Ты, наверное, подумал, что под "алгоритмами в связи" я имел в виду что-то вроде стэка протоколов, которые на МК и реализуются. Однако под алгоритмами я имею в виду такие штуки, как декодеры, турбо-эквалайзеры и т.д.
697 423237
>>423233

>Ну и чем же они отличаются, кроме частотой тактирования и колвом ячеек?? Отвечай, либо слит.


Я не тот анон, который тебе про это писал. Но тут ты сильно...
Самими ячейками, внезапно. Как минимум LUT-ы в ячейках (LE, в терминологии альтеры) бывают с разным количеством входов. Возможности таких ячеек заметно отличаются в разных FPGA. Ячейки объединяются в штуки побольше с общей цепью переноса, это тоже может отличаться. Из наиболее очевидного, кроме ячеек (LE) в FPGA есть разные аппаратные блоки, такие как блочная память, умножители с DSP блоками, PLL, высокоскоростные трансиверы SerDes, аппаратные блоки для подключения памяти, даже входы/выходы это тоже отдельные конфигурируемые блоки. И все это отличается в разных ПЛИС.
698 423238
>>421646

>>А вот если сэмплов будет 8 на один бит, как в настоящих аппаратных UART приёмниках


>В настоящих аппаратных UART приёмниках количество сэплов нечётное число. Чтобы мажоритарное голосование могло работать.


Ты ошибаешься. Смотри пик 1, даташит на Атмега8, аппаратный UART. В нормальном режиме 16 семплов(они пронумерованы начиная с единицы), в ускореном режиме 8 семплов на один бит данных.

>>делал программный UART для МК


>Уровня лаба в местной шараге?


Чем лаба в местной шараге отличается от лабы в элитном вузе лиги плюща? По-факту результат должен получиться один - устройство должно работать в соответствии с тех.заданием лабы.

>ПЛИС - это цифровая схема, МК - это ядро, которое выполняет инструкции


>Так то МК - это тоже цифровая схема. Там тоже регистры ядра работают параллельно, однако суть вещей это не меняет.


Да, понимаю. Только ПЛИСку можно сконфигурировать под любую цифровую схему, какую захочешь, чего не скажешь про МК.

>>ПЛИСы отличаются друг от друга только количеством ячеек и частотой тактирования, всё


>Ты в общем-то начни изучать ПЛИСы, и через полгодика приходи, тогда и поговорим.


Ну как я понял, в них есть много разных "переферий" как в микропроцессорах - различны полезные блоки подтяжек ног, аппаратных умножений, даже встроенные процессоры есть. Наткнулся на познавательную статью о FPGA, пик 2. Это только у простельнких PLA и CPLD в микросхеме ничего нет, кроме ячеек.
Скоро начну изучать, программатор USB Blaster уже купил, теперь надо заказать с алика отладочную плату с плис с какой-нибудь мощной плис.
Потом еще может разживусь простеньким логическим анализатором/осцилом приставкой, но на первых порах можно обойтись и без этого.
image.png13 Кб, 488x121
699 423239
>>423238
Первый пик отклеился.
flex.png85 Кб, 1400x780
700 423240
>>423238
Зойчем ты это делаешь, Ирод?
Никак не дотянусь до тестов этой фичи во Flex-ах , которой нет в новых циклонах/стратиксах или в шары ебусь.
Все скачали старые версии квакающих квартусов, часть которых навсегда протухнет и исчезнет после 26-го числа...?
Кто не понял - будут некоторые проблемы с программированием MAX3000/MAX7000 и подобной некрофилии, включая Flex-ы в виду того что только в сети можно будет найти старые версии кактусов.
701 423241
>>423235

>Что-то я не слышал, что на МК реализовывали DSP часть современных телекоммуникационных систем. Ага, МК тебе в реалтайме OFDM в FFT разложит, да на современных частотах особенно,


В STM32 есть аппаратное преобразование фурье. А уж если мы возьмем микроконтроллеры с DSP, то они и вовсе могут дать пососать ПЛИС.
Впрочем, и программная ЦОС применяется, интегрировать, дифференцировать, отфильтровать сигнал можно на мк программно.

> в МК из всего реального DSP максимум ШИМоем яркость дисплея настраивают, вот и весь ЦОС в МК.


Ну-ну, и давно ШИМ относится к цифровой обработке сигналов?

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


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

>Нет ну какой пиздец, сравнить ЦОС, реализуемый на ПЛИСах, с ЦОСом, реализуемом в микриках


И в плисках и в Микроконтроллерах используется ЦОС, для разных задач. И там, и там нужно знать основы ЦОС, чтобы решить поставленную задачу.
702 423243
>>420564

>У меня не было особых стартовых условий, как ты говоришь. Обычный мухосранск, обычная семья, все.


>учился в развитых странах, а не СНГ


Родившись в обычной семье из мухосранска в СНГ не возможно учиться в вузе развитых стран. Вот прям абсолютно никак.
Если это бесплатные программы, нужно, чтобы родаки узнали об этой программе, делали все, чтобы ты смог по этой программе поступить, собрать необходимые доки, обучить тебя иностранному языку этой страны, дать хорошее образование, чтобы ты сдал вступительные экзамены, оплатить переезд и проживание в стране на время обучения. Т.е. это должна быть не обычная семья из мухосранска, а семья с достатком выше стреднего, в которой родители заботятся о твоем будущем.
То, что ты смог получить образование в вузе развитой страны это заслуга твоих родителей, а не твоя, скажи им спасибо.
703 423250
>>423241

>микроконтроллеры с DSP, то они и вовсе могут дать пососать ПЛИС


Ой все, иди нахуй долбоеб.
704 423251
>>423238

> В нормальном режиме 16 семплов(они пронумерованы начиная с единицы), в ускореном режиме 8 семплов на один бит данных.


Что тут сказать... Если это действительно так, то у меня плохие новости для Атмеги 8.
Какое будет результирующее значение если с линии считаются 4 нуля и 4 единицы?
При этом, судя по картинке, считывания распределены равномерно по биту, что неверно. В начале бита считываний лучше не делать.

>Чем лаба в местной шараге отличается от лабы в элитном вузе лиги плюща?


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

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


Какое тех. задание такая и лаба, это да.

>>423241

> А уж если мы возьмем микроконтроллеры с DSP, то они и вовсе могут дать пососать ПЛИС.


Спец. устройство всегда будет работать быстрее универсального. Так что ПЛИСы, выполняя конкретный жёстко заложенный алгоритм, накинут на клыка любому DSP-процессору.
image.png13 Кб, 488x121
705 423254
>>423251
А нет, выходит ты прав с мажоритарной системой и нечетным количеством. Вот пик. 16 и 8 это количество тактов, а самих семплов 3 и приходятся они на середину бита. Для семплов отбираются 8,9,10 строб соответственно из 16 стробов.
706 423255
>>423251

>Так что ПЛИСы, выполняя конкретный жёстко заложенный алгоритм, накинут на клыка любому DSP-процессору.


Здесь они плюс минус равнозначны.
И в FPGA и в цифровых сигнальных процессорах есть встроенные блоки DSP для ЦОС.
708 423257
>>423256
Заебись, аргументируя за ЦОС в МК, скинул мне DSP, разработанный плисовиками/asic разрабами. Разъебал сам себя. Молодец!

Тот же ПЛИСовик этот dsp РАЗРАБОТАЛ, понимаешь? А ты всего лишь его ИСПОЛЬЗУЕШЬ. Осознаешь разность масштабов?
709 423276
>>423255
Как-то сомнительно. С чего бы тогда всякие биткойны в свое время майнили именно на FPGA? Может непосредственно к ЦОС такое отношение не особо имеет, но на помехоустойчивые кодеки должно быть весьма похоже.
710 423289
>>423243
Ловите долбоеба, не знающего про учёбу по обмену и программы двойного диплома.
711 423292
>>423276

>С чего бы тогда всякие биткойны в свое время майнили именно на FPGA?


Потому что в процессорах DSP есть строгоопределенный набор алгоритмов ЦОС и алгоритм майнинга битка туда не входит. А на FPGA можно написать алгоритм(конфигурацию схемы) который будет майнить биток.
712 423293
>>423289
И как это отменяет все вышесказанное >>423243, ебаный дебил?
Во-первых родители должны узнавать про все эти программы и сделать всё необходимое, чтобы ты в эту программу попал, собирать доки, выбрать вуз, чтобы там была программа по обмену.
Берут туда только с отличными оценками и знанием иностранного языка, то бишь родители уже заранее должны были заранее позаботиться об этом.
713 423299
>>423293
Причем тут родители вообще? Я когда поступал, просто сам же подал доки в большой техвуз ДС2, где и учился спокойно 5 лет, а в последний год, а в последний год понял, что меня все заебало, пришел в отдел с разными международными программами, выбрал программу, подал доки и все, уехал на год в зарубежную магистратру, где и защитился.

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


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

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


Ты долбоеб? Там средний балл нужен 4.5-4.7, это как бы вообще не проблема, если ты в универе хотя бы на половину лекций ходишь. Про иностранный язык тоже хуету городишь. Никакого особого знания не нужно, нужно уметь читать, писать, уметь хотя бы на 60-70% понимать речь на слух, что-то сказать самому. Опять же причем здесь родители? У меня были нулевые знания языка в 18 лет при поступлении в ДС2. На 3-м курсе я понял, что материалов для учебы на русике мне уже не хватает и начал читать на инглише, сначала тяжело и нудно, со словарем, потом бодрее, а через полтора года уже сам писал на английском спокойно.

Ты пишешь какую-то полную хуйню, возможно, ты никогда не учился в нормальном вузе, и даже не интересовался, как такие программы работают.
714 423319
>>423299
Родившись у нищих родителей в мухосране в однушке с парашной школой на окрание на 100 человек у тебя ни знаний не хватит, чтобы сдать вступительные/егэ в топ вузы ДСов на бюджет, ни денег на проживание в дсах. Просто иди нахуй, пиздобол маняврирующий, твой успех это заслуга твоих родаков, у меня больше нет желания продолжать этот оффтоп, разговор закончен.

>Никакого особого знания не нужно, нужно уметь читать, писать, уметь хотя бы на 60-70% понимать речь на слух


Ты дибил ебаный, то что ты пишешь это B1 как минимум, в мухосранской школе, где я учился, ты к 11 классу разве что london is a capital of great britan знать будешь, а не понимать речь на слух. Я за 2 года магистратуры больше английского выучил, чем за всю школу, потому что пришлось даташиты на английском читать и литературу техническую.

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


Да, но это не моя вина, я не выбирал семью, город и страну, в которой родился. Родители ни разу не были в моем вузе, я сам поступил в бакалавр, магу, сам искал места работы по специальности, сам набивал первые несколько лет опыта. Образование в "нормальном вузе" в ДС или Европы я смогу получить лет к 30, когда бабок накоплю на него.
715 423320
>>423319
Что за хуйню ты несёшь? У нас в дс в "топ вузе" проходной балл поступивших по второй волне НА БЮДЖЕТ был 200-210 за 3 предмета. Это очень мало, и любая школа такой уровень даёт запросто, ведь это всего лишь 70 баллов за предмет. Тебе дают общагу за 400 р в месяц, а жить можно и за 7-8к, у нас так некоторые жили, сами работали и ещё родителям помогали. Я тебе написал, что английский я нихуя не знал, а начал в универе с чтения тех же даташитов и лекций из иностранных вузов. При учёбе по обмену или программе двойного диплома тебе выдаётся грант, покрывающий все твои расходы на жилье и еду при обучении в другой стране. То, что ты об этом ничего не узнавал это не вина твоих родителей. Не взваливай вину за свою жалкую жизнь на внешние обстоятельства, очень много разных тем и возможностей, особенно в России.
716 423322
>>423320

>Тебе дают общагу за 400 р в месяц, а жить можно и за 7-8к,


Вот тут у тебя накладочка выходит.
Так а где ты возьмешь 7-8к на проживание, если тебе нищие родаки не будут давать столько денег? Работать паралельно с учебой? Но, извини, тогда ты будешь посещать мало лекций и средний балл 4.5-4.7 для программы обмена ты не наберешь.

>То, что ты об этом ничего не узнавал


Где я должен был об этом узнавать, когда поступал в вуз в 16 лет? Комп с интернетом у нас дома появился только когда я уже был на 2 курсе, а возможности мотаться по вузам ДСов и рассправшивать там приемные комиссии о их программах у меня возможности тоже не было.

>Не взваливай вину за свою жалкую жизнь на внешние обстоятельства,


Я не взваливаю, а собственными силами выбираюсь из того говна, в котором мне "повезло" респавнутся. Это ты не делай вид, что весь твой успех это целиком твоя заслуга, 90% это заслуга того, что тебе повезло со стартовыми условиями.

>очень много разных тем и возможностей


Для челов с хорошей семьи, который обучился в топ вузе ДС и Европы - бесспорно. А с коркой мухосранской шараги очень тяжело найти высокооплачиваемую работу сходу.
717 423328
>>423322

>Так а где ты возьмешь 7-8к на проживание, если тебе нищие родаки не будут давать столько денег?


У нас некоторые работали, еще и родителям кидали деньжат. Это надо быть убер нищуками, чтобы не набрать 7-8к в месяц ребенку на покупку продуктов в другом городе. Есть социальные стипендии в вузах, приносишь справку с доходами родителей, тебе эти 7-8к платит государство каждый месяц потом, на них и живешь. Так и работать даже не придется и лекции не пропустишь. Ты просто не умеешь крутиться.

>Где я должен был об этом узнавать, когда поступал в вуз в 16 лет?


Не знаю, почему ты поступал в 16, обычно люди в 18 поступают.

>рассправшивать там приемные комиссии о их программах


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

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


Лол, ты ничего обо мне не знаешь и рисуешь удобную для себя картину в своем воображении. Моя семья была убер нищуками в 90-е, интернеты у меня появились позже всех, а нормальную пеку я себе только уже в универе купил, самостоятельно на нее заработав. И да, я считаю, что мне еще повезло, я видел истории гораздо хуже среди своих сокурсников, но это не мешало им хорошо учиться, хорошо работать и съябывать забугор, кому надо.

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


Опять же, тут не корка твоя виновата, а твой майндсет неудачника. Ты сам себе придумал эти правила жизни, по которым ты бесперспективная чмоня, поэтому любое твое действие в этом контексте превращается в превозмогание, таким образом ты тешишь свое эго, вот и все. Вылазь из этого чехла, иначе так всю жизнь и проебешь.
718 423340
Ананасы, киньте в меня годную мурзилку по Intel Quartus Prime.
Алсо хотел тупо и смело потыкать в https://github.com/myriadrf/LimeSDR-Mini_GW
Первым делом решил просто сборку прогнать, квартус предложила обновить корки, некоторые провалились но была подсказка что можно обновить в платформ дизайнере. Платформ дизайнер обновил какую то часть. После этого сборка предсказуемо падает и я подозреваю что есть какие то зависимости (на внешние библиотеки или типа того) которые я не указал. Если кому не лень то попробуйте собрать сорцы используя последний квартус лайт или киньте хинт.
719 423346
>>423340
Я как-то собирал, но дальше дело не пошло. Подробностей того как именно собирал не помню уже.
FPGA там маловата, мало чего влезет. Ну можно приделать к имеющемуся демодулятору ЧМ еще парочку других, при желании можно приделать динамик, кнопочки и дисплейчик. Но толку то, что-то более интересное уже не потянет.
720 423349
>>423328
Пожалуй поддержу этого >>423322

У нас в семье помер батя, мамка осталась одна с двумя детьми на руках. Старший заканчивал школу и должен был поступать в универ, а младший (я) как раз должен был пойти в школу. А это было начало 90-х, то ещё времечко. И вот чтобы поднять двоих спиногрызов мамка пошла работать на корабли вахтовым методом, 2 недели в рейсе, 3 дня дома и так десять лет, без отпусков, выходных и прочего. Ну так вот, старший уехал учится в город до него сутки поездом, а жили мы в такой дыре, что страшно представить, это даже не мухосранск, это вообще ёбаное днище.
Ну и вот, я фактически остался один, был предоставлен сам себе, была ещё бабушка, но у неё у самой из-за войны 3 класса начальной школы, так что ни о каком воспитании и напутствиях речи не шло, она только борщ варила. Ну и какие могут быть интересы у пацаньчика в таком возрасте? С другаганами в компик погонять, да по заброшкам полазить. Да и в школе одни гопники были, туда не то что ходить, появляться в её окрестностях лишний раз не хотелось. Приедет мамка на 3 дня, навесит люлей за двойки в дневнике и опять уедет и всё по кругу.
Школу закончил кое-как на трояки, так что ни о каком бюджете даже и мечтать не мог. Пришлось идти работать на полный день, а поступать на вечернее отделение, сам работал сам себе учёбу оплачивал. Какие тут на хер могут быть программы обмена - не смеши.
721 423354
>>423346
Да мне пока j4f и для самообучения т.к. пока едиственная плата с fpga в доме, а вот например дисплей приделать который будет отображать например текущую центральную частоту и настройки даже может быть интересно.

Но пока надо асилить саму среду и понять что ей не хватает.
722 423357
>>423349
Ну так в школе учиться надо было, а не по заброшкам лазить. Возможность ходить на уроки в школе и слушать учителей была? Была. Все, иди нахуй, сам же все и проебал, теперь страдай.
723 423360
>>423354
Для начала лучше возьми ту же версию квартуса, что и у них. А еще лучше начни с более простого - мигания светодиодом.

>например дисплей приделать


Для такого не обязательно изменять конфигурацию FPGA, я же писал про автономную работу без компа. А если работать с компом, то дисплей без разницы как приделывать. Там у LimeSDR на плате есть программно доступное GPIO, можно через него.
724 423361
>>423349

> А это было начало 90-х, то ещё времечко.


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


Ну ты и фантазер. Мать-одиночка, начало девяностых, и... компьютер.
Я читал книги о компах, увидев этот самый компьютер единственный раз в жизни. Потом, когда комп появился (точнее появился у тетки, к которой я ездил раз в неделю), игры всегда казались чем-то очень скучным, я предпочитал ломать сейвы. Сейчас у любого школьника из мухосрани возможностей учиться в 100 раз больше, чем у среднего класса в 90-е.
725 423364
>>423360

> Для начала лучше возьми ту же версию квартуса, что и у них. А еще лучше начни с более простого - мигания светодиодом.



Так если там корки просило обновить это ж неспроста, может там пофиксили что.

> Для такого не обязательно изменять конфигурацию FPGA, я же писал про автономную работу без компа. А если работать с компом, то дисплей без разницы как приделывать. Там у LimeSDR на плате есть программно доступное GPIO, можно через него.



Это я и без лайма могу сделать хоть на FT2232, хоть на STM32 или AVR, суть была именно прозрачно всю эту инфу выводить без модификации софта на компе. Или например тот же FFT что для лайма в FPGA сделал на тот же экран гнать.
726 423365
>>423360
У меня именно по квартусу вопрос, сам я разраб знакомый и с эмбеддом и с тырпрайзом и вот чес слово хоть оно и на эклипсе но я за полчаса не вкурил концепцию квартуса.
727 423366
>>423365
Начинай с мигалки, потом к более сложному перейдешь.
728 423394
>>423340
О, в лайммини можно разогнать ацп? А то в старшей версии с точно такой же микрухой сэмплрейт в два раза больше.
729 423398
>>423394
Там и мини с модификацией гейтвари может в 80 мегасемплов FFT делать на борту (гугли или смотри один из форков), тому и j4f хочу посмотреть но ппц инопланетное IDE.
730 423399
>>423394
Там после АЦП в LMS7002M и так децимация должна использоваться, это с одной стороны. А с другой стороны, не кажется ли тебе что частота дискретизации может упираться в FT601?
731 423400
>>423398
Спасибо.

>>423399
У меня например может возникнуть потребность не в риалтайме все это выдавать, а пачками. Поэтому сэмплрейт для меня важнее.
732 423401
>>423400
ФМ станциончик, ты?
733 423402
>>423401
Из сдр-треда?
Нет, не я.
Мне по работе пригодится сильно.
734 423403
>>423357
Ну ты не сравнивай жизненный опыт ребёнка и взрослого человека, в том возрасте я учёбу на одном месте вертел, собственно как и все вокруг, а наставить на путь истинный было некому.

>>423361

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


Компьютерами мы тогда называли приставки, Денди там, Сега 16-битная.
А пеку я в первый раз увидел у знакомого знакомого, он на почте каким-то сисадмином работал. Я тогда в Кваку первую погамал, культурный шок испытал, от того какими игры могут быть, после Денди сраного то, через некоторое время у другана 486 появился, с тех пор и заинтересовался компьютерами.
735 423404
736 423454
>>423328

>Моя семья была убер нищуками в 90-е, интернеты у меня появились позже всех, а нормальную пеку я себе только уже в универе купил, самостоятельно на нее заработав. И да, я считаю, что мне еще повезло, я видел истории гораздо хуже среди своих сокурсников, но это не мешало им хорошо учиться, хорошо работать и съябывать забугор, кому надо.


Типичная ошибка выжившего. Зря тригеришь на спор, это так толсто что просто фу
737 423544
>>423276

>в свое время майнили именно на FPGA?


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

Не говоря уж о том, что блоки ЦОС для майнинга практически бесполезны по причине отсутствия умножений в алгоритме SHA-256.

>>423241

>Ну-ну, и давно ШИМ относится к цифровой обработке сигналов?


С того же времени, что и любая другая модуляция.
738 423547
>>423544

> модуляция


Это когда Широтно Импульсная Манипуляция стала модуляцией.
739 423548
pwm.JPG81 Кб, 754x364
740 423550
>>423547

>Манипуляция


Манипулируешь ты только со своим очком, пихая в него дилдак
742 423553
>>423550
>>423551
Сейчас бы ссылаться на википедию как истину в последней инстанции.
743 423554
>>423553
Так от тебя вообще никаких ссылок не видно.
744 423562
>>423553
Я на неё ссылаюсь как на легкодоступный справочник для устранения базовой неграмотности.
745 423584
>>423544

>Их всю жизнь было выгоднее майнить на видеокартах, чем на FPGA.


Не факт. По соотношению потребляемая мощность/производительность плисы должны выигрывать у видеокарт.
В своё время были исходники FPGA майнера битка и я запускал их на 4 и 5 стратиксах (на DE4 и DE5 бордах). После этого я понял что биток - это наёбка, никакой он не децентрализованный.
Вроде тогда можно было достать бесплатно (или почти бесплатно) плисы со старых базух и на них делали FPGA майнеры. А потом уже разработали асики.
746 423591
>>423562
Манипуляция - это частный случай модуляции. Эти ссылки на википедию бессмысленны.
747 423592
>>423544

>Не говоря уж о том, что блоки ЦОС для майнинга практически бесполезны


Я просто мимо проходил, но, как мне кажется, DSP это далеко не всегда про ЦОС. Это еще всякие VLIW и SIMD. На DSP, к примеру, декодеры Витерби и всякое такое делают не просто так.
748 423623
>>423592
Я объяснил, почему DSP-блоки (они же ЦОС-блоки) практически бесполезны для майнинга. Ты предложение до конца не дочитал, что ли?
749 423798
>>397766 (OP)
кто работал с max plus II?
посоветуйте материалы чтобы хорошо работать в этом старье.
не хочу квартус из-за сотни ячеек качать.
750 423800
>>423584

>плисы со старых базух


?
изображение.png629 Кб, 612x366
751 423801
>>413100

>FLEX


почему-то в голове представляю длиннющего гнутого гепарда в прыжке, типа ФЛЕЕКС, ГИБКОСТЬ ШОПИЗДЕЦ
752 423807
>>423800
Перечитай еще раз пост >>412802
Реальный источник живых ПЛИС со вкусняшками для запуска как есть или на органы под свою версию махарайки.
753 423825
>>423801
В этом вся суть ПЛИС
754 423832
>>423807
не понимаю. это отладочные под восстановление или какие-то другие девайсы?
755 423848
>>423832
И то и другое. Сам решай. Намного проще и в намного больших количествах какие-то (да, какие-то) непонятные штуки которые так и продаются - на органы или под восстановление. Может попадется кусок FLASH массива, может кусок мультиплексора SDH/PDH, что-то с Ethernet, кусок БС, схема видеозахвата, что-то под PCI или PCI-EX... Схем на них практически не найти, только самому срисовывать поэтому если вкусная платка под запуск - минимум 2 брать (одна рабочая, другую потрошить) или одну если тебе нужен конкретный камушек под свой проект. Найти фирменные отладки под восстановление можно, но надо очень постараться.
756 423853
посоны, как в виваде, объединить модули?
757 423854
посоны, как в виваде, объединить модули?
758 423855
>>423854
>>423551
Написано же, что манипуляция это модуляция цифровых сигналов(PSK, QAM, FSK и т.д.) все там правильно
759 423856
>>423848
только я не понял как искать. по for chip recovery на ebay/amazon не находит "базухи".
760 423857
>>423856
блять, я понял. ну да, но такое оборудование стоит охуевших денег и хз как оно через таможню пойдет. это конечно не топ на терабиты в секунду, но девайсы недешевые и часто там бга.
ты же про телекоммуникационные детали, да?
761 423858
>>423856
> не находит "базухи"
И не должен находить или ты счастливчик если нашел. Пробуй разные варианты начиная от chip|gold recovery до названия семейства ПЛИС и производителя. Ты же ищешь в явном виде железяки на органы по цене лома. Иногда по смежным запросам можно найти - как тупой пример это поиск карт расширения для ethernet свичей/мультиплексоров E1/../ и там почти всегда можно найти ПЛИС в разных вариантах. Если реально нужен кусок базовой станции для работы-настройки-тестов - тогда мимо, не подскажу. Здесь пытались довести мысль об одном из кучи вариантов где можно разжиться подтекающими ПЛИСами.
Подфапываю на модули от Violin Memory с разъемом в стиле памяти DDR2. Только разъем, если воткнешь в комп - сразу все спалишь из-за несовместимого расположения выводов и питания модуля от 12вольт. Хорошая такая флешка с SLC памятью на сотню-другую гигов.
762 423947
>>397766 (OP)
какой элемент или что используется чтобы переключить сигнал с одного на другой источник подобно крану?
речь идет о цифровых сигналах и cpld.
нужно по событию переключить поток данных как если бы я убрал соединение в редакторе и добавил в другое место, не совсем понимаю как использовать лог. элементы в этом случае.
763 423948
>>423947
*что нужно для графического редактора и как можно написать примитив на vhdl для этого если не будет готовой "детальки".
764 423952
>>423947

>переключить поток данных


Мультиплексор и демультиплексор же.
766 423958
>>423952
я нашел на логических элементах, но их что-то дофига для большой шины выходит. если бы был бы "кранообразный" вариант с high-z, было бы в 2-3 раза меньше расходов.
767 423959
>>423953
как мне узнать в какой аналог логической схемы это синтезируется?
768 423960
>>423959
*исходя из тех ячеек, которые именно у меня в девайсе
769 423962
>>423958

>вариант с high-z


Соснешь хуйца. Внутри ПЛИС нет никаких high-z, оно и реализуется внутри на мультиплексорах. high-z существует только на выводах наружу.

>>423959

>какой аналог логической схемы это синтезируется


Хер знает. Тебя ебет? Логики же обычно жопой жуй. У той же Альтеры когда создаешь жирные мультиплексоры через мегавизард - в нижнем левом углу пишется сколько LE уйдет на реализацию.
Еще скажи что собрался схему рисовать в schematics что пишешь про сложность реализации схемы..
mux1.png20 Кб, 596x492
770 423964
>>423960
Вот рандомный мультиплексор 32 входа по 32 бита занимает 672 lut (с огромным натягом это количество макроячеек(ALM), подправят если неправильно описал).
Во что синтезируется? Так и не выкопал в кактусе 9.0 - он на Flex не дает глубоко заглянуть, а RTL - дохуища уровней вложенности что ебанешься скрины делать.
771 423965
>>423962
я пробую маленький чип cpld с макс плюс 2, сейчас нет инета чтобы квартус скачать. суть в том, что логика простая и влезает и еще остается. но хочу иметь максимум представления чтобы хватило еще на что-нибудь.

>нет high-z


как называется принцип, когда можно оптимизировать схему и из двух разных частей слепить что-то минимальное по элементам, беря в расчет что какие-то сигналы будут абсолютно одинаковы.
например я думаю совместить счетчик с мультиплексором, правда не знаю во что синтезируется столько элементов.
пока самый удобный и экономный вариант - это писать на vhdl в квартусе и смотреть в RTLViewer.
772 423966
>>423965

>одинаковы?

773 423967
>>423965

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


Это не твои проблемы, а оптимизатора и твоего ковнокода схемы.

>писать на vhdl в квартусе и смотреть в RTLViewer.


Идея хороша. Один раз люто ёбнуло - на Flex показывает около 40 lut используется, меняю чип на MAX3064 и сосу хуй! Нехватает связей на трассировку внутри и cannot fit design.
774 423969
>>423967
в max3000 нет LUT, там иначе все. потому приходится исходить из этих ячеек.
или посоветуй дешевый чип с 44-48 ног примерно, 64 самое большое. tqfp. дешевый и сильный. max3000 и max7000 по цене прям совсем копейки стоят, самое то их так применить.
775 423970
>>423969
Другие ответят по камням. Вижу фанат Альтеры? Сам решай что тебе нужно - семейств CPLD у Альтеры не так много.
Посмотри в сторону салата Lattice.
Сам жду с кетая 5 вольтовые FPGA Epf10k10lc84-4 в PLCC84 как временная замена MAX7128S и которую хер сожжешь перепрошивками при тестах.
776 423971
>>423970
приглянулись некоторые от lattice, программатор вроде можно самому сделать, лучше чем xilinx.

альтеру хочу попробовать из-за дешевого программатора и потому что ее до жопы на али
777 423972
>>423969
>>423969
старые max от альтеры мультивольтовые(3000А точно), а у xilinx максимум логики в самом простом корпусе и небольшой цене.
в целом, они много от кого похожи между собой.
а программаторы нашел что на все три производителя есть самопальные/lpt/com, короче доступные.
большие отличия только у нормальных fpga, но это потом.
наверное марсоход соберу.
778 423973
>>423971

>маленький чип cpld с макс плюс 2


>с макс плюс


Может не стоит страдать такой некрофилией и взять что-то посвежее типа того же квартус 2 https://habr.com/ru/post/277947/ ?

> lattice, программатор вроде можно самому сделать


Как минимум подтверждаю что голый ft2232D работает как программатор, ft2232H не тестил.

>лучше чем xilinx.


Мне очень интересно - сколько на тебя говна выльют фанаты хиленьких?

Как раньше пИсалось - бери лучше FPGA (хоть самое ёбаное днище) для облучения - их невозможно убить перепрошивками и жопа не будет гореть если не хватает места что бы вписаться.
779 423974
>>423972

>старые max от альтеры мультивольтовые(3000А точно)


Еще один вылез. Что по твоему "мультивольтовость"? Не у всех МАХ-ов есть разделение выводов по банкам.
МАХ7000S - чисто 5В, МАХ3000/MAX7000AE - 3.3В и понимает 5В на входах.
МАХ II / V - если скажешь они держут 5 вольт - с ноги по ебалу без вопросов. Да, они держут, но только самые жирные камни (1270, 2210), остальные же самые камни (коих большинство и как пример - тот же Марсоход 1 на epm240) - уже не держут 5В на входе.
780 423975
>>423974

>остальные же самые камни


остальные же слабые/тощие камни
781 423979
>>423973
мне понадобились эти девайсы потому что микроконтроллер не успевает, то что нужно реализовать очень просто.
можно на 4000/74 серии даже собрать, но дороговато и паять много придется.
про реализацию спрашиваю потому что сложно понять сколько займет ресурсов готовый примитив, особенно если он написан кодом + триггеры в максах 3000 и 7000 нельзя разделить на логические элементы.
для fpga какой минимум осциллограф и логический анализатор стоит взять?
782 423985
>>423979

>логический анализатор


В FPGA он есть и у Альтеры зовется SignalTap. Есть некоторые жесткие ограничения (например невозможность просмотра сигналов на LVDS парах) в которые вряд ли упрешься.
SignalTap только в FPGA, в CPLD его нет может ошибаюсь и есть пародия на него хотя бы из-за крайне малой емкости - и логической и ОЗУ.

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


Легко. Полная CUMпиляция(синтез) проекта под выбранный кристалл и не забудь (хотя бы от фонаря) назначить выводы, а не полагаться на мнение фиттера при назначении выводов.
783 423988
>>423985

>SignalTap


ух, шишка в небеса, буду брать не ниже cyclone 3
784 423991
>>423988

>>SignalTap


У Альтеры вообще внутрисхемная отладка мощная, Хилые и рядом не валялись.
Начинай смотреть отсюда, много интересного узнаешь
https://www.youtube.com/watch?v=f94oo6Q2WZ4&list=PL4UMfOeGYsvZTAJkgY3XfsrFyK1laAchO&index=8
785 423996
>>423991

>У Альтеры вообще внутрисхемная отладка мощная, Хилые и рядом не валялись.


Только инсистема и нет. Есть ila и vio. Памяти вроде только через софтпроц можно.
786 424102
>>423996
У Альтеры, есть ещё Сигнал Пробе Пинс, это когда поверх существующей компиляции можно провести ещё одну быструю компиляцию в которой на неиспользуемые ноги выводятся точки из проекта. И его более продвинутый вариант Логик Анализер Интефейс - управляемый через программатор мультиплексор на который заводятся выходы интересующих элементов, а выходы мультиплексора на свободные ноги. Хотя это всё не совсем внутрисхемная отладка, наблюдение проводятся внешним осцилопом, но всё же. Да и сам СигналТап намного навороченее чем его аналог у Хилых.
787 424103
Подскажите, как в vivado объединить модули? в xilinx ise все элементарно делалось, view instantination template и поехали кодить. В vivado все не совсем очевидно
788 424424
Подскажите софт на люникс, чтобы синтезировать из верилог, а потом отображать логическую схему из логических элементов.
Ещё, желательно, эмулятор схемы, чтобы я её сразу проверял.
789 424439
>>424424
http://llhd.io/
Там же ссылки на гитхаб с синтезатором и симулятором для этого дела. Все очень быстро и просто. Верилог работает из коробки, для вхдл у меня сразу не получилось, не видит ieee-шные библиотеки.

Вот статья про эту штуку https://habr.com/ru/post/496720/
790 424442
>>397766 (OP)

>3 пик


Нахуй вы лягушкой становитесь блять? Я бы сам вкотился, если бы не мнения интернетов. Помню давно-давно лет 6 назад на верилоге писал всякую фентезийную хуитку, представлял, как я разрабатываю железяки.
А сейчас джава-котлин-тытырпрайс без пяти минут мид с проебанной душой и четким осознанием что деньги тебе счастье не принесут.
Алсо чтобы вкотиться помимо языков описания, что еще нужно? Вспомнить цос, тоэ, потыкаться в борду? Или несмотря на курьерские зп, порог вхождения там все-таки конский?
image.png575 Кб, 1920x1080
791 424468
>>424442
чекаю вакансии, которые появились сразу в поиске
792 424480
>>424442

>Нахуй вы лягушкой становитесь блять?


Из-за этого:

>четким осознанием что деньги тебе счастье не принесут

793 424513
>>424468
Это на весь отдел зарплаты.
794 424549
>>424513
зачем там их пишут? люди же регистрируются и смотрят на числа. не совсем понятно. поясни
795 424760
>>424549
ты и будешь весь отдел
123.jpg10 Кб, 259x194
796 424789
Какую йобу можно сделать на подобной плате, чтобы все охуели как я умею. Получится сделать что-то типо простейшего синтезатора звука? Чтобы на монитор картинка выводилась с клавишами, а по нажатию кнопок ps2 клавиатуры на динамик выдавалась частота ноты определенной.
797 424800
>>424789

>простейшего синтезатора звука?


да

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


виндовс-ребенок
14238980174445.jpg72 Кб, 417x650
798 424819
>>424800

>виндовс-ребенок

799 424880
>>424789
Возьми какой-то стандарт цифрового сигнала. Сделай демодулятор. Запроектируй в матлабе, посмотри как работает. Потом сюда запиши. Уверен, от самооценки ты потом начнешь трахацца с самим собой
800 425403
>>424880
Матлаб то нахуя?
801 425405
>>424789
Для синтезатора звука и сраной ардуины хватит, зачем под этот детский сад ПЛИС переводить.
802 425426
>>397766 (OP)
Во что стоит вкатываться в 2к20? Выбираю из нескольких стульев:
1. ПЛК.
2. Микроконтроллеры.
3. ПЛИС.
Куда легче вкатится и под что легче прогать? Где больше зарплата и есть возможность дальнейшего трактора? О себе: есть оконченная вышка радиотехника, небольшой опыт проганья под плк и микирки, под плис не прогал, но на лабах собирали разные цифровые схемы в мультисиме, так что при желании смогу вкатится в любую область.
АйТи не хочу, там все душные, рынок перенасыщен и надо бошку напрягать куда больше, чем в перечисленных выше сферах.
803 425430
>>425426

> 1. ПЛК.


> 2. Микроконтроллеры.


> 3. ПЛИС.


Плк это же мк и плисы как раз. Лучше в питун вкатывайся и иди работать в сбербанк.
804 425433
>>425430

>Плк это же мк и плисы как раз.


Схуяли? На плк ты пишешь на максимально простых графических и текстовых языках FBD, LD, ST, и на уровень "железа", из которого собран ПЛК, ты не опускаешься.

>Лучше в питун вкатывайся


Писал же, что не хочу в айти. Рынок там переполнен и с джуна требуют, как с синьора. Не хочу унижаться на собесах, когда тебя даже на жалкую зп в 40к заставляют вертеть двоичные деревья или сортировать пузырьком.
>и иди работать в сбербанк.
В такие топ-фирмы берут только закончивших топ вузы ДС с красным дипломом.
805 425441
>>425426

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


Топ кек.

>2к20


Ну как там в 2200 году с ПЛК дела обстоят?
806 425442
>>425426

>Куда легче вкатится и под что легче прогать?


807 425443
>>425433

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


В плисах ты такую зп только через пару лет достигнешь.
808 425450
>>425443
А вертеть ещё и не такое заставят.
809 425451
такую хуйню намудрил
810 425452
>>424800

>Чтобы на монитор картинка выводилась с клавишами, а по нажатию кнопок ps2 клавиатуры на динамик выдавалась частота ноты определенной


сложная задача для плис, тупо не рационально.
проще на мк.
это надо vga сделать, сделать ps/2 интерфейс и какую-нибудь таблицу для выделения кодов клавишь и отправки этого на блок генератора частоты нот (а частота там не просто n*x от клока.)
проще это все конечным автоматом сделать или недоядром хоть 4битным cpu. все что касается чего-то близкого к "памяти программ" как в мк на плис обходится дороже, они не для этого. собсна сам мк это ядро + периферия, в том числе память.
само ядро арм, например, не определяет память. есть кортексы без встроенной памяти если не считать загрузчика, м.б. даже без него есть.
811 425453
>>425452
*vga, ps/2 еще ладно.
но вот ноты генерировать уже геморно будет, придется писать много счетчиков. охуеешь от того как это будет в виде логики выглядеть. потому то
812 425455
>>425452

>это надо vga сделать, сделать ps/2 интерфейс и какую-нибудь таблицу для выделения кодов клавишь и отправки этого на блок генератора частоты нот


Хорошая учебная задача.

>а частота там не просто n*x от клока


Почему нет?
мимо_далёкий_от_музыки
813 425456
>>425453
>>425452
ой, я же не шарю почти.
частоты для vga, нот и ps/2 делаются таймером встроенным в плис или pll или еще как.
для нот лучше всего регулируемый генератор или pll c цап чтобы задавать частоты нот максимально плавно.
для vga и клавы просто можно делить опорную частоту.
для рисования картинки понадобится фреймбуффер и в дешевых плис с этим не очень. плата марсоход, например, использует внешний чип памяти. для примитивного вывода с низким разрешением в плис тоже может не хватить памяти.
814 425457
>>425455
можешь найти готовые проекты по частям (вга, клава, ноты - все это отдельно я видел)
815 425471
>>425433
Лол, тут ты будешь осваивать в схемотехнику, рисовать схемы, кодить на Си и HDL, следить за тем, чтобы плату правильно развели (или делать ее самому), а потом сидеть до ночи с осциллографом/логическим анализатором и пытаться понять, почему она не работает. Зато интересно, дохуя всего знаешь и умеешь, можешь свои железки делать.
Короче, вкатывайся туда, где больше нравится.
anime8.jpg84 Кб, 811x722
816 425559
>>425433

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



Братиш, не торопись, подумой. Двоичные деревья ты выучиваешь один раз (надо признать, не без пользы для собственного мозга), сдаёшь один раз, после чего всю жизнь копипастишь куски со стековерфлоу, попивая смузи. А на днищепрограммирование ты вкатываешься легко, потому что никто на такие условия не идёт, а потом всю жизнь за копейки в неотапливаемом цехе ебёшь себе мозг подбором магических значений регистров и задержек, при которых хуйня начинает работать, и больше её не вздумай трогать, еби следующую хуйню.
817 425560
>>425455

>Почему нет?


На самом деле да, если используется равномерно темперированный строй, что норма для 2к20. Но пищать синусами, меандрами или треугольниками это дно, надо ебашить Карплуса-Стронга, а там генератор псевдослучайных чисел и полноценный КИХ-фильтр со сменными банками коэффициентов.
мимо_интересующийся
818 425561
>>425560

>На самом деле да


(ну или всё-таки нет, потому что даже равномерно темперированный строй — он всё-таки равномерно логарифмический, а не равномерно линейный).
819 425592
>>425559

> а потом всю жизнь за копейки в неотапливаемом цехе ебёшь себе мозг подбором магических значений регистров


Блин, как ты узнал?
мимо прогаю микрики зимой в комнате +9 градусов летом + 35
820 425619
>>425592
Да мы тут все такие, братишка.
821 425624
>>397766 (OP)
нашел у себя пост карту для ноутов на epm7064. хотел наебать систему и думал что выгоднее заказать пост карту чем готовый чип. так-то оно почти так, но мне подошел бы и вариант за 1$/

есть ли способы скачать прошивку с max7000 чтобы потом записать обратно и пост карта работала?

встречались ли вам подобные дешевые девайсы, откуда можно взять cpld и fpga?
я помнил что раньше видел красную пост карту за три сотки с доставкой где аж три epm7032 или типа того, но оказалось что там совсем мелкие девайсы на 8 логических ячеек.
822 425625
>>425624

> но мне подошел бы и вариант за 1$/


чип там большой, мне столько контактов не нужно. а стоят они от бакса до 6-7 в зависимости от корпуса и напряжения.
823 425627
>>425625
>>425624
есть у кого quartus 11 или повыше?
есть ли там возможность чтения через usb blaster?
824 425632
>>425627
Да, в 13 есть. Можно выкачать поф из плисы.
4197229450450813930fill0c4c1dac18a613580abe65fbd5a58cb8c.jpg48 Кб, 562x562
825 425683
Подскажите лохматой морде - чем лучше просимулировать программу на verilog для altera max10?
Есть ли какие то гайды по этому?
изображение.png160 Кб, 251x201
826 425685
>>425683

>altera max10


бумп
sage 827 425686
>>425683
Добавить SignalTap, In-System Sourcec and Probes по вкусу, просинтезировать, залить в реальный кристалл. Profit!
А я чуть соснул - сигналтапа нет во флексах, даже в чуть улучшенной версии EPF10K200S. Похуй, не особо рассчитывал на него, особенно когда раздуплил как реальную систему запускать в пошаговом режиме и можно в статике наблюдать за сигналами даже глазами.
Мелкие тесты гоняю во встроенном симуляторе в 9-м кактусе.
Может так в общем виде? https://marsohod.org/11-blog/113-icarus
Как гонять тесты конкретного камня в моделсим - неебу, самому интересно.
828 425798
>>425683

> чем лучше просимулировать программу на verilog для altera max10?


Чем тебя идущий вместе с квартусом ModelSim не устривает?
829 425802
>>425683
Зачем моделировать проект для конкретного чипа? Синхронно делай - нормально будет. На крайняк сам квартус моделировать может с точной времянкой. На моделсим тоже можно, я раньше для старых циклонов делал, но потом полностью отказался от такого подхода.
830 425815
>>425802
Это как это - синхронно?
831 425858
>>420519

> я эти RTOS для микриков писал своими руками еще в университете


Ты должен понимать, что лабы в университете несколько отличаются от промышленных задач. Ты серьезно пытался кого-то этим удивить? Ты хоть понимаешь, с кем сидишь на одной борде, мальчик?
>(ибо учился в развитых странах, а не СНГ)
По-твоему в СНГ нет серьезных разработок, университетов и промышленности?
На разработку «ОСи» времени уходит очень мало. Тут такая же история как с ассемблером против СИ, просто нужно научиться строить код иначе. Конечно всё зависит от задачи, можно так извратиться, что «сквозные процедуры» не помогут. Но практика показывает, что такие задачи исходят от принципа «так принято всеми, поэтому и и ты пиши так, — другие не поймут». Вот для таких случаев я и включаю к компиляции в проекте ОСь, что бы человек, который не может построить свой код сквозными процедурами мог продолжить проект. Мало того это ооооооооочень сильно экономит память. Каждая задача имеет свой стэк, и если у тебя есть некая ветка, которая выделяет память, по цепочки исполнения процедур, и эта ветка запускается в нескольких задачах, тебе, по сути нужно резервировать двойной объём памяти для каждой задачи. Что тянет за собой удорожание контроллера на котором крутиться ОСь, так же и вообще затраты ресурсов. Я постоянно запускаю медицинские и индустриальные устройства, где очень часто стоит вопрос об энергопотреблении, поверьте тут считается каждый такт. Код пишется очень быстро, задачи какие угодно, и файловые системы, и телекоммуникация, и протокольные части, и графика+анимация, вообщем всё и вся. Применяю как Си, так и ассемблер, постоянно и бесповоротно. Мало того подход со «сквозными процедурами» заставляет писать фактически идеальный код. Понятно, что есть ошибки, но из-за подобного подхода они минимизируются. Для примера, таким методом я запустил проект, в котором медицинское устройство вшивается в человека, если я допущу ошибку, и не дай боже где-то что-то зависнет, то в лучшем случае человека будут оперировать, а в худшем он умрёт. Я просто за последние 15 лет на столько привык иначе относиться к программированию, что вообще не рассматриваю классический метод программирования. Безусловно я свои модули даю другим людям, но очень часто, что бы их могли понять, я вынужден переписывать, не применяя экзотику. Например тот же скрипт-парсер команд для модемов. У меня один такой скрипт-парсер позволяет за одну итерацию поднять как управление модемом, так и какой-нибудь протокол. Причём скрипт-парсер уже содержит в себе автомат переповторов при ошибках, заложенные сценарии, например инициализации, генератор событий. Вообщем полный фарш для протоколов и коммуникаций. Но как доходит вопрос о том, что бы кто-то использовал, приходиться проводить лекцию, а когда кто-то узнаёт что проект на СИ параллельно запускает и мой компилятор, люди вообще впадают в ступор. Я уже говорил, что я могу себя ограничить классическим подходом, и всё написать на IF/THEN/FOR, но это приведёт к емкости и низкому качеству конечного результата.
Я не претендую на самый качественный код, но пять лет в теле человека он обязан проработать без сбоев. Я не претендую на самое энергосберегающее устройство, но имея простые компоненты я получаю своим подходом то, что работает как в телах людей, так и на заводах по миру.
Наверное вы правы это маньячество, и я бы хотел, что бы в программировании были маньяки, ставящие перед собой сложные задачи и решали их с лёгкостью.
— Приведу пример как мои процессы при включенном OS
while(1)
{
u32 flag = prcLoopMeasureParallelPress();
if ( (flag & prflag_MEASPMS58_MASK) == prflag_MEASPMS58_DELAY)
{
taskYIELD();
}
} … больше нет ничего в процессе
— Приведу пример что находится внутри измерительной части
u32 prcLoopMeasureParallelPress(void)
{
u32 res=prflag_NOP;
res |= DoProc(&process_measPM_TruxPress, proc_NOP);
return res;
}
— Внутри DoProc и крутятся все сквозные процедуры, их можно вызывать в простом вечном цикле без ОСь, без лишней затраты памяти. Вот как это выглядит:
u32 prcLoopALL(void)
{
u32 res=prflag_NOP;
res |= DoProc(&process_key, proc_NOP);
res |= DoProc(&process_lcd, proc_NOP);
res |= DoProc(&process_keymenue, proc_NOP);
res |= DoProc(&process_measPM_TruxPress, proc_NOP);
res |= DoProc(&process_measPM_TruxTMP, proc_NOP);
res |= DoProc(&process_measure, proc_NOP);
res |= DoProc(&process_FullProcess, proc_NOP);
res |= DoProc(&process_trux, proc_NOP);
res |= DoProc(&process_power, proc_NOP);
res |= DoProc(&process_main, proc_NOP);
return res;
}
— Вот так выглядит пример «крутилки» изображения:
// LCD Dynamic Refresh
case proc_LNG_LCD:
ProcNext(process);
break;
case proc_LNG_LCD+1:
DoLcdScript(ShowScriptID); // lcdRefUpdateData(); //Update Data Ans Show Window
LCD_SCR_UPLOAD(1);
ProcNext(process);
break;
case proc_LNG_LCD+2:
if ( LCD_SCR_UPLOAD(0) )
{
ProcNext(process);
}
break;
case proc_LNG_LCD+3:
res |= prflag_LCD_DELAY;
ProcJr(process,-2);
break;
— И нет никаких проблем. За день-другой поднимается готовый к разработке код проекта. Дальше дело техники, пиши новое и добавляй процессы. Данный код выглядит на много проще нагромождения под ОСьки, и места занимает меньше. Кстати, приведённые куски это части индустриального прибора, который был поставлен с нуля на серию за шесть месяцев. И всё это работает на тактовой частоте 12 мегагерц, в проекте всё универсально, коммуникация внутри проекта может на ходу смениться на любой интерфейс SPI+I2C+UART или вообще стать виртуальной и быть внутри протокола, который будет внутри другого протокола, который будет работать по чему угодно. Вообщем законченный проект, получен сертификат, прошли аттестацию, вошли в список данного класса прибора как 7 лет работы от батареи. Ассемблер в данном проекте не применялся только на стороне датчиков, где так же есть много особенностей.
831 425858
>>420519

> я эти RTOS для микриков писал своими руками еще в университете


Ты должен понимать, что лабы в университете несколько отличаются от промышленных задач. Ты серьезно пытался кого-то этим удивить? Ты хоть понимаешь, с кем сидишь на одной борде, мальчик?
>(ибо учился в развитых странах, а не СНГ)
По-твоему в СНГ нет серьезных разработок, университетов и промышленности?
На разработку «ОСи» времени уходит очень мало. Тут такая же история как с ассемблером против СИ, просто нужно научиться строить код иначе. Конечно всё зависит от задачи, можно так извратиться, что «сквозные процедуры» не помогут. Но практика показывает, что такие задачи исходят от принципа «так принято всеми, поэтому и и ты пиши так, — другие не поймут». Вот для таких случаев я и включаю к компиляции в проекте ОСь, что бы человек, который не может построить свой код сквозными процедурами мог продолжить проект. Мало того это ооооооооочень сильно экономит память. Каждая задача имеет свой стэк, и если у тебя есть некая ветка, которая выделяет память, по цепочки исполнения процедур, и эта ветка запускается в нескольких задачах, тебе, по сути нужно резервировать двойной объём памяти для каждой задачи. Что тянет за собой удорожание контроллера на котором крутиться ОСь, так же и вообще затраты ресурсов. Я постоянно запускаю медицинские и индустриальные устройства, где очень часто стоит вопрос об энергопотреблении, поверьте тут считается каждый такт. Код пишется очень быстро, задачи какие угодно, и файловые системы, и телекоммуникация, и протокольные части, и графика+анимация, вообщем всё и вся. Применяю как Си, так и ассемблер, постоянно и бесповоротно. Мало того подход со «сквозными процедурами» заставляет писать фактически идеальный код. Понятно, что есть ошибки, но из-за подобного подхода они минимизируются. Для примера, таким методом я запустил проект, в котором медицинское устройство вшивается в человека, если я допущу ошибку, и не дай боже где-то что-то зависнет, то в лучшем случае человека будут оперировать, а в худшем он умрёт. Я просто за последние 15 лет на столько привык иначе относиться к программированию, что вообще не рассматриваю классический метод программирования. Безусловно я свои модули даю другим людям, но очень часто, что бы их могли понять, я вынужден переписывать, не применяя экзотику. Например тот же скрипт-парсер команд для модемов. У меня один такой скрипт-парсер позволяет за одну итерацию поднять как управление модемом, так и какой-нибудь протокол. Причём скрипт-парсер уже содержит в себе автомат переповторов при ошибках, заложенные сценарии, например инициализации, генератор событий. Вообщем полный фарш для протоколов и коммуникаций. Но как доходит вопрос о том, что бы кто-то использовал, приходиться проводить лекцию, а когда кто-то узнаёт что проект на СИ параллельно запускает и мой компилятор, люди вообще впадают в ступор. Я уже говорил, что я могу себя ограничить классическим подходом, и всё написать на IF/THEN/FOR, но это приведёт к емкости и низкому качеству конечного результата.
Я не претендую на самый качественный код, но пять лет в теле человека он обязан проработать без сбоев. Я не претендую на самое энергосберегающее устройство, но имея простые компоненты я получаю своим подходом то, что работает как в телах людей, так и на заводах по миру.
Наверное вы правы это маньячество, и я бы хотел, что бы в программировании были маньяки, ставящие перед собой сложные задачи и решали их с лёгкостью.
— Приведу пример как мои процессы при включенном OS
while(1)
{
u32 flag = prcLoopMeasureParallelPress();
if ( (flag & prflag_MEASPMS58_MASK) == prflag_MEASPMS58_DELAY)
{
taskYIELD();
}
} … больше нет ничего в процессе
— Приведу пример что находится внутри измерительной части
u32 prcLoopMeasureParallelPress(void)
{
u32 res=prflag_NOP;
res |= DoProc(&process_measPM_TruxPress, proc_NOP);
return res;
}
— Внутри DoProc и крутятся все сквозные процедуры, их можно вызывать в простом вечном цикле без ОСь, без лишней затраты памяти. Вот как это выглядит:
u32 prcLoopALL(void)
{
u32 res=prflag_NOP;
res |= DoProc(&process_key, proc_NOP);
res |= DoProc(&process_lcd, proc_NOP);
res |= DoProc(&process_keymenue, proc_NOP);
res |= DoProc(&process_measPM_TruxPress, proc_NOP);
res |= DoProc(&process_measPM_TruxTMP, proc_NOP);
res |= DoProc(&process_measure, proc_NOP);
res |= DoProc(&process_FullProcess, proc_NOP);
res |= DoProc(&process_trux, proc_NOP);
res |= DoProc(&process_power, proc_NOP);
res |= DoProc(&process_main, proc_NOP);
return res;
}
— Вот так выглядит пример «крутилки» изображения:
// LCD Dynamic Refresh
case proc_LNG_LCD:
ProcNext(process);
break;
case proc_LNG_LCD+1:
DoLcdScript(ShowScriptID); // lcdRefUpdateData(); //Update Data Ans Show Window
LCD_SCR_UPLOAD(1);
ProcNext(process);
break;
case proc_LNG_LCD+2:
if ( LCD_SCR_UPLOAD(0) )
{
ProcNext(process);
}
break;
case proc_LNG_LCD+3:
res |= prflag_LCD_DELAY;
ProcJr(process,-2);
break;
— И нет никаких проблем. За день-другой поднимается готовый к разработке код проекта. Дальше дело техники, пиши новое и добавляй процессы. Данный код выглядит на много проще нагромождения под ОСьки, и места занимает меньше. Кстати, приведённые куски это части индустриального прибора, который был поставлен с нуля на серию за шесть месяцев. И всё это работает на тактовой частоте 12 мегагерц, в проекте всё универсально, коммуникация внутри проекта может на ходу смениться на любой интерфейс SPI+I2C+UART или вообще стать виртуальной и быть внутри протокола, который будет внутри другого протокола, который будет работать по чему угодно. Вообщем законченный проект, получен сертификат, прошли аттестацию, вошли в список данного класса прибора как 7 лет работы от батареи. Ассемблер в данном проекте не применялся только на стороне датчиков, где так же есть много особенностей.
832 425859
>>425815
Скорее всего тот анон имеет ввиду взять физический камень и отлаживать на нем.
833 425876
>>425858
ты изобрел protothreads, поздравляю
834 425881
>>425859
>>425815
Используя правила синхронного проектирования. Из основных - не допускать комбинационных схем на тактовом входе и входе асинхронного сброса триггеров.
int.png67 Кб, 1158x607
sage 835 425888
>>425881

>не допускать комбинационных схем на тактовом входе и входе асинхронного сброса триггеров.


Шо за хэрню я читаю?
Конченный автомат на 155РЕ3! Триппера? Да нахуй надо. Реально, сам подофигел когда срисовывал схему, снял и декодировал дамп памяти. У РЕ3 выходы открытый кАллектор, нужны подтягивающие резисторы, на схеме их нет, она для понимания сути. Такой себе псевдоконтроллер прерываний, дегенерящий команду 11010111 (код 0хD7) - RST 2 (вектор прерывания №2)
Как сделать буфер? Ставить всякие АП или ВА86? Да хуй там!
Берем ЗАЩЕЛКУ ИР22, тактовый вход в 1 (постоянно пропускать сигнал) и... Рулим сигналом ОЕ! Вот это поворот!
Про классику жанра в виде RC цепочек даже говорить не приходится. Чем не триггер на короткий промежуток времени? Или.. МультиВИБРАТОР! Заставит вибрировать и колебаться любой сигнал, который встретится на его пути.
Это наиболее запомнившиеся моменты. Был участок где почти вся схема это ИЛИ в несколько слоев, часть из которых используется как повторитель-разветвитель.
836 425892
>>425888
Наркоман чтоле? То рассыпуха, а то плис, разницу понимать надо.
clk.png101 Кб, 1614x708
sage 837 425912
>>425892
Неужели у тебя не хватило Л - Логики что бы разместить дизайн понять что это стебный пост хотя и не лишенный смысла, так как основан на реальных фактах?

Артефакт в виде ИЛИ-НЕ на тактовом входе триппера ТМ2 мало понятен и в каких условиях он срабатывает. Расспыпуха для декодирования стоп слова состояния 580ВМ80 и еще что-то, как-то связанное с делением адресного пространства.
838 425951
>>425912

>у тебя не хватило Л


Хватило. Кроме того, скорее всего это ты тут недавно про езернет затирал в таком же стиле.

>Артефакт в виде ИЛИ-НЕ на тактовом входе триппера ТМ2


Я тоже так делаю, когда плисина к процу подключается как внешняя ОЗУ. Но тут надо хорошо понимать что такая схема гонку не даст в силу самой временной диаграммы по которой работает проц. В общем не для новичков всё это.
sage 839 425969
>>425951

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


Ну да, это я >>401682. Что в этом такого? Выгонишь ссанными тряпками в загон для пердуинщиков?
Люблю контраргументы или очень граничные случаи-варианты.
Скажу больше - у меня все еще фронтофобия. Боюсь фронтов тактового сигнала у триггеров, так как вроде все понятно, а говнокод схема работает не совсем как задумывалось.
Асинхронный дизайн - вот что я люблю!
840 425976
>>425969

>Выгонишь ссанными тряпками


И в мыслях не было.

>а схема работает не совсем как задумывалось


А как? Триггер по фронтам работает как и должен.
841 425995
Сап, плисоводы!
Есть ли реализации 10/100 Мбит ethernet со стеком и всей хуйней, и количеством используемой RAM меньше, чем у альтеровского Triple-Speed Ethernet?
842 426032
>>425976

>>а схема работает не совсем как задумывалось


>А как? Триггер по фронтам работает как и должен.


Нет, так только парашные триггеры работают.
Хороший триггер должен работать не по фронтам, а по уровням.
sage 843 426033
>>426032

>Хороший триггер должен работать не по фронтам, а по уровням.


>по уровням


Вот не пойму - это тонкий троллинг? Защелки - ЗЛО! Прямая широченная взлетно-посадочная полоса в Ад и Содомию. На защелках у тебя вся инфа моментов на выход пролетит, а не застрянет по пути как на флиплопах.
Увидев сообщение latch inferred при синтезе проекта - сразу с ноги бьют по ебалу за такое распиздяйство.
844 426038
>>425858
А что за приборы и что за компания? Просто не хочу никогда в жизни это покупать, такое говнище.
845 426040
>>426032

>Хороший триггер должен работать не по фронтам, а по уровням.


Ну это да, двухступенчатые триггеры были хороши в своё время, сам их люблю.

>>426033

>Вот не пойму - это тонкий троллинг?


Частично нет. Смотри пики.
846 426045
>>426040

>двухступенчатые триггеры были хороши в своё время, сам их люблю.


Как ты отличишь двухступенчатый триггер от триггера с "нормальным" динамическим управлением (ну там классическая схема D-триггера из трех RS) по внешним признакам, не смотря на его схему?
мимопроходил
847 426081
>>426045
А есть необходимость?
848 426550
Плисоны, подскажите. Есть одна частота (около 75МГц, т.е. 200+ MSPS) и нужно мерить ее фазу относительно опорной. Гёрцелем или БПФ, я пока не представляю. Фаза гуляет быстро, так что конвертер на смесителе в 1 Гц с вычислением на атмеге или готовый SDR приемник не подходят.
Нужно мерить фазу, амплитуду к шуму + немного простейших вычислений и запустить SPI\I2C слейв чтоб скормить результат дальше.
Можете примерно соориентировать с плис по требуемым ресурсам? Нужен ответ уровня тебе хватит и макса\циклона\спартана\ххх.
Да, разрядность 12б, 4 канала.
И еще вопрос. На сколько имеет смысл скукоживать сигнал логарифматором перед АЦП чтоб сэкономить разрядность чтоб потом софтверно компенировать логарифм? Это сильно усложнит требования к камню?
849 426565
>>426550
Опиши поподробнее задачу.
Что значит мерять фазу? Одного генератора относительно другого? Или демодулировать фазовую модуляцию?

>Есть одна частота (около 75МГц, т.е. 200+ MSPS)


Зачем 200 MSPS?

>Можете примерно соориентировать с плис по требуемым ресурсам? Нужен ответ уровня тебе хватит и макса\циклона\спартана\ххх.


Прежде надо выбрать способ решения задачи.
850 426582
>>426081
А почему ты их противопоставляешь триггерам с динамическим управлением? Двухступенчатые триггеры это всего лишь способ реализации, пусть и устаревший, триггеров с динамическим управлением.
851 426598
>>426565

>Одного генератора относительно другого


This. Но измеряемый будет скачком менять фазу через 5..50мкс.

>Зачем 200 MSPS?


Святой Найквист и апостол его Котельников. Вариант аналоговым образом сделать умножение и анализировать на низкой частоте ПЧ не подходит ввиду малой точности ака малого времени "измерения" фазы. И для этого подойдет любой SDR.
852 426603
>>426598

>Вариант аналоговым образом сделать умножение и анализировать на низкой частоте ПЧ не подходит ввиду малой точности ака малого времени "измерения" фазы.


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

>5..50мкс.


Явно хватит полосы несколько МГц. Более того, в цифре все равно придется делать то же самое, т.е. умножать а потом фильтровать. БПФ тот же, будет тем же самым по своей сути, только избыточным. Но не столь важно какая часть обработки будет в цифре, а какая в аналоге, а как написал анон выше, способ решения задачи. Сделай для начала модель, без разницы дискретную или непрерывную, но сделай, а потом уже будут ясны требования к ПЛИС.
853 426604
>>426598

>Вариант аналоговым образом сделать умножение и анализировать на низкой частоте ПЧ не подходит ввиду малой точности ака малого времени "измерения" фазы.


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

>Но измеряемый будет скачком менять фазу через 5..50мкс.


Какая при этом будет полоса модулированного сигнала? Уж точно не больше 100 МГц.

>Святой Найквист и апостол его Котельников


Они говорят больше о полосе, а не частоте.
854 426658
>>397766 (OP)
1 курс, хочу вкатываться в плис и схемотехнику и вот это все железное бездушное и скрытое от глаз мимокроков.
Но вот мне вопрос назрел, если я уже шарю в линуксе и сетях чуть чуть, меня уже приглашают на стажировку админом облака
И это круто, набираться опыта
А вот стажеров схемотехников разводить платки или прогерров fpga где у нас в России берут?
Может мне нахуй не рыпаться, пока не уеду в европку?
855 426661
>>426658
Берут. У нас в дс2 кб при универе, например. Только не удивляйся, что тебе будут платить 15-25к и при этом ебать.
856 426663
>>426658
Есть вариант вкатываться во всякие научные институты, но там с зряплатами жиденько. Есть в ОИЯИ несколько железячных групп, которые с фпга работают, и заплаты более-менее по сравнению с остальными.
857 426668
>>426582
Потому что в нынешних ПЛИСах используются именно триггеры с с динамическим управлением. Ну это со слов самих производителей.
Да и противопоставляю не я, а вот этот >>426032 анон.
858 426679
>>426603
>>426604
У вас почти одинаковые ответы, так что отвечу скопом.
Мне нужно получить точность в доли градуса, для этого придется копить максимум периодов. Сдвиг частоты вниз супергетеродинированием (готовый SDR приемник по сути) мне не нравится как раз тем что мы считаем фазу по низкой частоте и меньшему числу периодов, т.е. с меньшей точностью в условиях ограниченности окна по времени.
Про модель понял, сам начинающий питоноёб, сделаю. Интересует верхняя граница по бюджету решения.
859 426690
>>426663
>>426661

Збс развитие отрасли. Блять мне как стажеру админу линух платят 33 на руки
А там без вычета налога 25 пиздос
860 426705
>>426690
25 после вычета. У нас студенты не оформляются, им тупо на руки выдают.
861 426714
>>426661

>Только не удивляйся, что тебе будут платить 15-25к и при этом ебать.


Пусть потом не удивляются, что он научившись всему и освоим параллельно язык, в один прекрасный момент скажет - бай-бай, прыщики, я устал - я мухожук в забугорную компанию, а вы держитесь тут, здоровья вам.
862 426715
>>426658

>Может мне нахуй не рыпаться, пока не уеду в европку?


Да. Не рыпаться. Удачи тебе.
863 426724
>>426690
У нас, в ОИЯИ, в случае стажёра где-то около 30 может быть, наверное.
864 426740
>>426714
Именно так. Текучка нормальная из-за этого.
Сам уже думаю валить. А то успешно занимаюсь сразу всем, а зп нихуя.
865 426764
>>426598

>Вариант аналоговым образом сделать умножение и анализировать на низкой частоте ПЧ не подходит ввиду малой точности ака малого времени "измерения" фазы.


Цифровой ФНЧ сделай для ПЧ. Он будет усреднять тебе измерение фазы, выраженное в виде сигнала ПЧ, насколько душе угодно. Чем больше режет высокие частоты, тем сильнее усредняет.
866 426770
>>426764
От чего зависит точность определения фазы? От числа периодов во временном окне фнч (которое ограничено характеристикой сигнала) зависит?
867 426785
Я тут мимо проходил.
Я правильно понимаю, что ПЛИС это такая микруха с кучей ног, которой можно скомандовать пропускать сигналы с одной любой ноги на любую другую и ещё и переключать их?
Как электрические связи прокидывать программно?
sage 868 426800
>>426785

>ПЛИС это такая микруха с кучей ног, которой можно скомандовать пропускать сигналы с одной любой ноги на любую другую и ещё и переключать их?


Отличное определение!

>Как электрические связи прокидывать программно?


Если про то как создавать конфигурацию - руками никак. Только спецсофт от производителя ПЛИС типа того же квартуса, блевады и подобного в котором на том же Verilog или VHDL описываешь что хочешь.
Если про то как переключать в уже сконфигуренной ПЛИС - открой для себя мультиплексор и демультиплексор и триггерящиеся триггера.
anime4.png738 Кб, 811x811
869 426805
>>426770

>От чего зависит точность определения фазы?


От качества аналоговой части (смесителя, АЦП) в первую очередь и от точности вычислений в фильтре (разрядности арифметики). Частота среза ФНЧ выбирается по принципу "насколько быстро/медленно происходят интересующие нас изменения фазы, а где интересующие нас изменения заканчиваются, и начинаются шумовые флуктуации". Апертура идеального фильтра бесконечна, для реальности подходит принцип "чем больше, тем лучше", на практике выбирается либо такой размер, что погрешности фильтра оказываются либо ниже интересующей нас точности, либо сравнимы с другим погрешностями (АЦП, округления арифметики).
870 426854
>>426805
Капитан, у меня абсолютная частота среза фильтрации определяется исходным сигналом, который изменяется по времени. Вопрос в том будет ли увеличиваться точность измерения при усреднении сигнала находящегося в более высокочастотной области. По моему разумению - да. Тогда должно быть выгоднее собирать фазовый детектор на рабочей частоте сигнала (в цифре или аналоге не важно), чем после переноса спектра вниз.
871 426866
>>426785

>Я правильно понимаю, что ПЛИС это такая микруха с кучей ног, которой можно скомандовать пропускать сигналы с одной любой ноги на любую другую и ещё и переключать их?


>Как электрические связи прокидывать программно?


Посмотри начало здесь
https://youtu.be/FSRaHsGdTYo

здесь
https://youtu.be/HHKZroRlJR8

ну и для общего развития можешь глянуть тут
https://youtu.be/PdfDkC3Jbpk
872 426867
>>426866
Жаков, плиз.
873 426869
>>426854

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


Фазовый детектор — это тупо перемножитель двух сигналов, принимаемого и опорного, плюс ФНЧ. В цифре или аналоге — неважно, суть выполняемой операции одна и та же, её один хуй надо сделать перед любыми дальнейшими манипуляциями. В аналоге это гораздо дешевле, потому что быстрые АЦП с хорошими характеристиками стоят дорого. А дальше начинай в цифре фильтровать медленно меняющуюся измеренную фазу, сильнее профильтруешь — больше флуктуаций отсечёшь — точнее получишь усреднённое значение.
874 426875
Digital Design Using Digilent FPGA Boards: Verilog / Vivado Edition
by Richard E Haskell, Darrin M Hanna

Хочу такую книгу найти. Она у меня раньше была, а сейчас потерялась.
875 426908
>>426869
Если это просто перемножитель, то как отличить амплитуду принятого сигнала от фазы?
876 426909
>>426661
А что за универ? Не политех случаем?
877 426910
>>426908
Не понял вопроса. На вход ФД подаются два сигнала, на выходе ФД сигнал пропорциональный разности фаз входных сигналов. Все, точка. Не понимаешь, читай и считай, разбирайся, как оно работает.
878 426911
>>426908
АРУ нет? Тогда нужны два перемножителя, опорный+квадратурное дополнение (I, Q). Есть готовые решения в одном корпусе и даже сразу вместе с АЦП.
879 426912
>>426909
ПАУГ
880 426979
>>426911
Да, без АРУ, амплитуду тоже учесть нужно. Ага, смотрю. Есть даже со встроенным геном.
881 427000
>>426912
Что за "ПАУГ"? Какая-то шарага?
882 427061
>>427000
Сразу написал что шарага.
883 427062
>>427061
А нет, в этой нити не писал.
884 427631
Господа плисовцы, есть ли способ в интеловских фпга засунуть hardware configuration (sof) и software (два mif файла, в sof-е лежит два софт процессорных ядра(не ниос) и на каждое есть свой ROM, в него и нужно мифы прошить) в один файл или каким-то другим образом прошить их одним действием?
если недостаточно вводных могу дополнить
885 427648
>>427631
Рабу Райбу, плис.
886 427649
>>427631
Тебе там правильно подсказали. У альтеры есть встроенные ромки, в которые можно зашить mif/hex и даже организовать к ним доступ через инсистем.
887 427661
>>427649
Да в том-то и проблема, что на работе уже все написано и менять нельзя, а надо только писать в уже готовые ромки.
888 427667
>>427661
И через что ты пишешь? Почему сразу в ромку не положить файл?
889 427670
>>427667
Сейчас руцями через In-place-memory-content-editor, но хочется либо избавиться от этого тыканья мышкой, либо автоматизировать его
890 427683
>>427670
Ну так это значит у ромки стоит галка в настройках ip-ядра. Нельзя залезть в эти настройки и пропихнуть мифку/хекс туда или тебе вообще в проект лезть нельзя?
891 427798
>>427683
Та уже разобрался, не стал изворачиваться и просто сделал зашивку через тсл. Там основной прикол в том, что мифки могут меняться в зависимости от тестов и изначально я хотел какую-то неведомую хуйню. Всем спасибо!
892 427933
Wut
893 428275
>>423357

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


Все так. Все свое детство мать кормила супами, макаронами, а на завтрак делала бутерброд из белого хлеба, маргарина и обильно посыпала его сахаром. В школе я не ел, т.к. у меня не было денег на питание. Родители отдали в ближайшую муниципальную школу и не особо заботились о том, какие учителя, а главное ученики там учатся. В итоге, я попал в школу, где процентов 90 были дети из неблагополучных семей, а некоторые старшеклассники уже успели отсидеть по малолетке за разбой и сопротивление, тогда еще, милиции. В школу постоянно приезжали мутные типы на тонированных жигулях или разбитых бмв и запрягали старшеклассников, чтобы они терроризировали школьников и вымогали у них деньги на "грев". Классы были переполнены. 30-35 человек в классе - обычное дело. Учителя никак не контролировали дисциплину в классе и либо забивали на уроки, либо бубнили себе под нос материал, а потом весело ставили трояки даже самым отбитым.
Я однажды пожаловался мамке, что меня бьют и травят в школе, а учиться там и вовсе невозможно. На что она сказал, что "это везде так, нужно потерпеть пока не выпустишься из школы". С самого первого класса у меня начались проблемы с домашними заданиями. Мамка, вместо того, чтобы разобраться в чем причина низкой успеваемости, просто решала домашние задания за меня.
А уже в 5-7 классах начала меня избивать, когда я не мог понять какую-нибудь формулу. Заставляла учить математику "как стихи" и била по голове кухонной утварью, да так, что у меня кровь из носа шла, в голове темнело, и болела голова.
А так да, ты абсолютно прав - "кто на что учился". Ведь тебе никто не мешал, а даже всячески помогал, закончить школу с хорошими отметками, поступить в приличный ВУЗ и устроиться в хорошую компанию. Не нужно жаловаться на какие-то там мелочи.
893 428275
>>423357

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


Все так. Все свое детство мать кормила супами, макаронами, а на завтрак делала бутерброд из белого хлеба, маргарина и обильно посыпала его сахаром. В школе я не ел, т.к. у меня не было денег на питание. Родители отдали в ближайшую муниципальную школу и не особо заботились о том, какие учителя, а главное ученики там учатся. В итоге, я попал в школу, где процентов 90 были дети из неблагополучных семей, а некоторые старшеклассники уже успели отсидеть по малолетке за разбой и сопротивление, тогда еще, милиции. В школу постоянно приезжали мутные типы на тонированных жигулях или разбитых бмв и запрягали старшеклассников, чтобы они терроризировали школьников и вымогали у них деньги на "грев". Классы были переполнены. 30-35 человек в классе - обычное дело. Учителя никак не контролировали дисциплину в классе и либо забивали на уроки, либо бубнили себе под нос материал, а потом весело ставили трояки даже самым отбитым.
Я однажды пожаловался мамке, что меня бьют и травят в школе, а учиться там и вовсе невозможно. На что она сказал, что "это везде так, нужно потерпеть пока не выпустишься из школы". С самого первого класса у меня начались проблемы с домашними заданиями. Мамка, вместо того, чтобы разобраться в чем причина низкой успеваемости, просто решала домашние задания за меня.
А уже в 5-7 классах начала меня избивать, когда я не мог понять какую-нибудь формулу. Заставляла учить математику "как стихи" и била по голове кухонной утварью, да так, что у меня кровь из носа шла, в голове темнело, и болела голова.
А так да, ты абсолютно прав - "кто на что учился". Ведь тебе никто не мешал, а даже всячески помогал, закончить школу с хорошими отметками, поступить в приличный ВУЗ и устроиться в хорошую компанию. Не нужно жаловаться на какие-то там мелочи.
894 428276
895 428444
>>423322
на первых курсах тоже денег не было, тратил на еду 500р в неделю. Не то чтобы я хочу повторять этот опыт, но если придется выбирать между питаться макаронами всю неделю или сидеть дома и ныть, снова выберу первое
896 428462
Будет ли работать скоростное соединение ~2Gb/s при присоединении шлейфа к плате анизотропным скотчем? Pitch 0.4mm. Был у кого-нибудь такой опыт?
897 428523
>>428462

>скоростное соединение ~2Gb/s


Орнул.

гонял 8гбпс по напаянным на резаную плату соплям
898 428530
>>428462
если диф, то что ему будет? Главное между парами землю сделай
899 428548
>>428523
8гбс на одну дифпару?
900 428550
>>428548
Да, gth на xilinx ultrascale.
901 429187
>>397766 (OP)
Куда делся FPGA Board Store? https://aliexpress.com/store/620372
Магаз есть, а сочных платок уже нет. Как так то?
902 429737
>>397766 (OP)
PSoC (Programmable System-on-Chip) - это что-то среднее между ПЛИС и микроконтроллером?
903 429744
>>429737
Это когда процессор, модем, GPS приёмник и прочая переферия находятся в одном чипе, снаружи только память, в которой программа и соединительные кабеля к переферии. Если проще, то мозг любого сотового - SoC.
904 429747
>>429744
А в чем отличие PSoC от SoC.
905 429750
>>429744
Почитал тут про SoC:
https://ru.wikipedia.org/wiki/Система_на_кристалле#Разработка_систем_на_кристалле

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


Получается, что любой разработчик FPGA может перекатится в разработчики цифровых микросхем и процессоров(как и наоборот)?
906 429752
>>429747
SoC имеет строго внешнюю программную память. PSoC может имеет встроенную программную память?

>These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.


Это МК + FPGA
907 429806
Что такое UVM?
908 429808
>>429806
Методичка, при помощи которой следует писать тестбенчи для модулей на HDL. Нацелена на то, чтобы меньше думать, больше действовать по шаблону и вылавливать в результате больше багов. С задачей справляются неплохо.
909 429837
>>429808
Ясно, не нужно.
910 429861
>>429837
Ты не нужен.

>>429808
Не методичка, а фреймворк.
911 430284
Никогда не имел дел с плис, но тут появилась наркоманская идея, сделать покадровый dvi сплиттер.
720/768/1080p@60hz со входа на 2/3/4/5/6/10/12/15 выходов с таким же разрешением и частотой. Фишка в дублировании кадров, каждый следующий пишется в буфер следующего выхода. Соответственно получается возможность выводить с одного устройства (малинки) картинку на кучу мониторов пусть и с меньшим фпс.
Какую девборду мне посмотреть и вообще какие тут подводные камни?
912 430285
>>430284
То, что это делается тупо разветвлением сигналов на несколько выходов. Единственная проблема от нескольких мониторов - это едид и разный набор разрешений в нем, и скалить изображение под каждый уже задача достойная плисины, но это не твой случай
913 430287
>>430285 Ты не понял сути. Задача вывести разные изображения на 15 мониторов используя пк с одним видеовыходом. Первый кадр выводится на первый выход, затем второй кадр на второй выход в то время как на первый выход дублируется первый кадр и так далее. Получаем 15 дисплеев с фактической частотой обновления 4гц. Затем записываем специальный видеофайл с нужной последовательностью кадров и получаем нужную картинку на видеостене.
914 430292
>>430287
А не проще разрезать картинку на 15 мониторов и получить полную частоту, чем так заморачиваться?
915 430294
>>430292
У dvi-s/hdmi1.2 предел 1920x1200@60hz на скорости 5Гбит.
Hdmi посвежее поддерживает 4к но мне этого мало (хотя тут существуют готовые решения) Hdmi2.1 с 8к фантастика.
Пк с таким количеством выходов тоже собрать не просто. Самая простая видеокарта на 3 монитора 1500р. Плюс майнинговая матплата и ведро рейзеров, которые совершенно не собираются дешеветь несмотря на потерю актуальности.
Все это выходит дороговато, когда 20" мониторы отдают по 300р.
Впрочем можно и не заморачиватся видеовходом, для начала хватит и простого открытия .bmp с флешки или как вариант эмуляции usb-флешки и открытия файлов с нее.
916 430313
>>430284
Мне в этой схеме интереснее всего, осилит ли малинка перерисовавать фреймбуфер заново каждый кадр, причём чем-то осмысленным, и не тупить.

>Впрочем можно и не заморачиватся видеовходом


Всего-то видеоинтерфейс. DVI так вообще не сложнее VGA.

>для начала хватит и простого открытия .bmp с флешки


А это уже usb-интерфейс и процессор с поднятой на нём операционной системой, имеющей поддержку usb и файловых систем.
917 430411
есть ли в system verilog аналог pragma once из c++?
918 430625
>>430313 Самым дешевым вариантом оказались Orange Pi One H3 по 12$. Вместо sd карт - флешки на 128Мбит с юбутом для загрузки по сети.
919 430707
>>430411
Знать бы ещё что такое pragma once.
920 430709
>>430707
использовать единожды
921 430710
>>430709
Очень информативно.
923 430763
бамп
925 431096
>>429187

сосанкцыи
926 431097
>>426866

эй.
а эти плис они многоразовые?
можно запиндырить туды чева,
потом стереть,
а потом чево нового засунуть?
927 431099
>>431097
Несколько тысяч раз. А если в энергозависимую память, ту которая хранит до сброса питания - бесконечно.
928 431126
>>431097

>а эти плис они многоразовые?


Ниет. Одноразовое говно. Не слушай тех кто пишут что конфигурация хранится во внешней памяти. Это полнейший бред!!
Они ОДНОразовые! Может повезет и найдешь пикрил и сможешь ультрафиолетом стереть конфигурацию и накатить новою. Большинство же изготовлено по методу пережигаемых перемычек, наподобие тех, что используются в 155РЕ3 и ПЗУ типа 556РТ4 и им подобных.
Используй лучше GAL и PAL. Они больше доставляют.
929 431128
>>431126
На счёт EPM3064A можешь дать совет?
930 431129
>>431128
У нас сейчас такие в легаси устройствах. В чем вопрос?
мимо
931 431143
>>431128
Вряд ли. Заочно знаком. Вот от чего пригорело - так это каждый ВЫВОД схемы - одна макроячейка.
То есть если ее использовать как тупой повторитель, у которого 8 входов и 8 выходов сразу проебется 8 ЛЕ.
932 431385
хочу поизучать эти вашы ПЛИСЫ

а чо на них можно зделать таково прекольново

например микрокалькулятор чтоле
933 431400
>>431385
Эмулятор сёги сделай, потом поиграем, вспомним юность.
934 431401
>>431400

>сёги


Еб..ная автозамена.
935 431410
>>431385
Ну, сделай БЭСМ-6: https://github.com/besm6/micro-besm
936 431428
Плисаны, почему так происходит и как с этим жить?
937 431454
>>431428
Потому что сигналы a, b асинхронны по отношению к clk.
938 431456
>>431428

>Плисаны, почему так происходит


Всё работает правильно.

>и как с этим жить?


Начать вкат не тупо с изучения языка, а прочесть сперва учебник по цифровой схемотехнике.
939 431483
>>431456
Причем здесь вообще схемотехника, когда вопрос про работу симулятора?
Есть временная диаграмма на которой видно, что у сигналов абсолютно одинаковые фронты, есть два одинаковых триггера, которые описывает олвейс-блок. Так почему на выходе совершенно разный результат?

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

Раньше я считал, что если поставить маркер по фронту клока в таблице значений слева будут данные, которые триггер защелкнул и их можно забирать уже на следующем такте, но в моём примере это не так.
940 431494
>>431428

> как с этим жить?


Прочитать про неблокирующее и блокирующее присваивание и жить себе спокойно дальше.
941 431499
>>431494
Челик-то использует блокирующие и неблокирующие присваивания, то есть прочитать он про них где-то как-то прочитал.

Но его экзистенциальный кризис возник из-за того, что он не понимает, нахуя ему дано то и другое, ведь оно его только путает и не несёт никакой видимой пользы.
942 431505
>>431499
Вид присваивания влияет на очередность этого самого присваивания внутри одного процедурного блока. В моём примере вообще разные initial-блоки и разные регистры. Почему вообще возникает эта разница?
943 431508
>>431505
Я уже ответил тебе на этот вопрос, но мой ответ тебе почему-то не понравился.
944 431515
>>431508
Вот >>431454 была единственная адекватная попытка объяснить. Но это всё симптомы а не диагноз. Такое ощущение, что вы здесь сами не понимаете что там происходит.
945 431517
>>431428
Кажется я наконец разобрался как это работает. В случае неблокирующего присваивания симулятор вставляет Zero Delay. Но какого хуя эта Zero Delay не отображается на временной диаграмме? Могли же на диаграмме где поставлен маркер у signal_b и signal_c отобразить значение 0 в таблице и у меня бы никогда не возникло такой непонятки. Видимо проблема в структуре данных временной диаграмме.
946 431518
>>431517
Блин пикчи не те приклеились.
zhirlaugh.webm1,2 Мб, webm,
960x720, 0:04
947 431521
>>431517
>>431518
)))))))))))))))
948 431522
>>431521
Хули смешного?
949 431523
>>431515

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


Блокирующие / неблокирующие присвоения обладают своей спецификой, но глобально здесь дело в том, что во время активного фронта тактового сигнала происходит асинхронная смена сигналов a, b, c. Т.е. по фронту clk как бы захватывается фронт асинхронного сигнала, симулятор "не знает" как быть в этом случае и захватывает либо 1 либо 0, как карта ляжет, на самом деле это всё объясняется внутренней логикой работы симулятора и зависит от очерёдности обработки операций, можешь погуглиить про дельта-цикл. Такие ситуации в стандарте не прописаны, а значит каждый симулятор это делает по своему. Если промоделировать в другом симуляторе результат может быть другим. Потому таких конструкций лучше избегать.
Надеюсь понятно объяснил.
950 431530
>>431523
Понятно, то есть нужно всегда выставлять значения сигналов перед фронтом клока, тогда вообще не будет значения какой тип присваивания использован при формировании сигнала.

А почему в тестбенчах большинство разрабов используют блокирующие присваивания?
951 431558
>>431530

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


Не совсем так. Нужно делать это синхронно, т.е. через always @(posedge clk).

>тогда вообще не будет значения какой тип присваивания использован при формировании сигнала


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

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


Необязательно. Просто блокирующее присвоение в большей степени подходят под регистровые передачи.
952 433234
>>397766 (OP)
Лет восемь валялась горсть EPM3032 от игровых автоматов с залоченным JTAG. Всё рука не поднималась выбросить. И вот недавно решил очередной раз погуглить на тему разлочки. И снова меня привело на zx-pk и оказалось, что тамошний чувак, спустя 10 лет, таки совладал с ними - https://zx-pk.ru/threads/25998-programmator-mikroskhem-programmiruemoj-logiki(cpld)/page13.html Цепкими лапками молниеносно вытравил плату, спаял, подключил бластер и 10.5В, запустил Кряктус и трясущимися руками, предварительно нажав кнопку, жмакнул на Start, и.... ОНО СТЕРЛОСЬ!!!
953 433330
Вкатываюсь в ПЛИС с нуля, суть такова, несколько ADC/DACов гонять туда сюда с ПеКа (после чтения всяких спек наиболее компромиссным вариантом счёл USB3).
Пропускная способность в одну сторону требуется около 13 мбит (трафик в обе стороны примерно одинаковый).
Частота кодеков -48к, плюс кратная частота х512 (cs4244 или подобное)
Я так понимаю, нужно немного локальной памяти к плису, чтоб аккумулировать там ввод/вывод кодеков, и возможность быстренько их гонять по DMA с пека.

Пока переписываюсь с магазинами, у которых нет в списках рашки, чтоб может быть купить более мощную плату за тыщи баксов ( https://www2.hdl.co.jp/en/ft600-series-m/edx-009-m1.html ) , заказал с алиговна такое:

USB 3,0 (CYUSB3014) Artix-7(XC7A35T) макетная плата Параметры:
Встроенный чип USB 3,0: Cypress's CYUSB3014;
Бортовой осциллятор для чипа USB 3,0: 19,2 МГц;
CYUSB3014 ядро: ARM926EJ @ 200 МГц;
Внутренняя память CYUSB3014: 512KB S RAM;
Встроенная флеш-память SPI для CYUSB3014: W25Q64, 8 Мб;
Бортовой 5,0 V-> 3,3 V DC/DC: м/с, MP2315;
Бортовой 3,3 V-> 1,2 V, 1,5 V, 1,8 V DC/DC: на полу, NCP1529;
Макетная плата обеспечивает 3 режима загрузки, выбор переходников, для управления загрузкой CYUSB3014 от USB или внешней вспышки SPI;
Макетная плата использует разъем USB 3,0 Type-B;
Бортовой FPGA: XC7A35T-1FTG256C;
Бортовой внешний кристалл FPGA, частота: 50 МГц;
Встроенный 16 Мб байт для кода настройки пользователя: MT28QL128A SPI Flash;
Встроенный 512 Мб микрон DDR3: MT41K256M16TW-107:P;
Макетная плата, размер печатной платы: 83,8 мм x 83,8 мм;
По умолчанию источник питания для доски: 1A @ 5V DC, DC заголовок Тип: DC-050, 5,5 мм x 2,1 мм;

Вопрос опытному анону, хватит ли этой платы, или надо искать что-то получше?
Осилю ли я программування (полный нуб в плисах, но вообще соображаю), и за какое время?
Нужен ли яйцелограф (если да, то какой)?
Важна ли длина проводки к кодекам, можно наговнякать в макетку как обычно, или могут возникнуть нюансы?
953 433330
Вкатываюсь в ПЛИС с нуля, суть такова, несколько ADC/DACов гонять туда сюда с ПеКа (после чтения всяких спек наиболее компромиссным вариантом счёл USB3).
Пропускная способность в одну сторону требуется около 13 мбит (трафик в обе стороны примерно одинаковый).
Частота кодеков -48к, плюс кратная частота х512 (cs4244 или подобное)
Я так понимаю, нужно немного локальной памяти к плису, чтоб аккумулировать там ввод/вывод кодеков, и возможность быстренько их гонять по DMA с пека.

Пока переписываюсь с магазинами, у которых нет в списках рашки, чтоб может быть купить более мощную плату за тыщи баксов ( https://www2.hdl.co.jp/en/ft600-series-m/edx-009-m1.html ) , заказал с алиговна такое:

USB 3,0 (CYUSB3014) Artix-7(XC7A35T) макетная плата Параметры:
Встроенный чип USB 3,0: Cypress's CYUSB3014;
Бортовой осциллятор для чипа USB 3,0: 19,2 МГц;
CYUSB3014 ядро: ARM926EJ @ 200 МГц;
Внутренняя память CYUSB3014: 512KB S RAM;
Встроенная флеш-память SPI для CYUSB3014: W25Q64, 8 Мб;
Бортовой 5,0 V-> 3,3 V DC/DC: м/с, MP2315;
Бортовой 3,3 V-> 1,2 V, 1,5 V, 1,8 V DC/DC: на полу, NCP1529;
Макетная плата обеспечивает 3 режима загрузки, выбор переходников, для управления загрузкой CYUSB3014 от USB или внешней вспышки SPI;
Макетная плата использует разъем USB 3,0 Type-B;
Бортовой FPGA: XC7A35T-1FTG256C;
Бортовой внешний кристалл FPGA, частота: 50 МГц;
Встроенный 16 Мб байт для кода настройки пользователя: MT28QL128A SPI Flash;
Встроенный 512 Мб микрон DDR3: MT41K256M16TW-107:P;
Макетная плата, размер печатной платы: 83,8 мм x 83,8 мм;
По умолчанию источник питания для доски: 1A @ 5V DC, DC заголовок Тип: DC-050, 5,5 мм x 2,1 мм;

Вопрос опытному анону, хватит ли этой платы, или надо искать что-то получше?
Осилю ли я программування (полный нуб в плисах, но вообще соображаю), и за какое время?
Нужен ли яйцелограф (если да, то какой)?
Важна ли длина проводки к кодекам, можно наговнякать в макетку как обычно, или могут возникнуть нюансы?
954 433409
Пока почитываю книжку
>>398380

Сразу возник вопрос, бестпрактис софт уже поддерживает SystemVerilog, или придется reg/wire ?
955 433411
Котаны, а подскажите - как делается на Verilog обыкновенный OE (Output Enable, active low), мне нужно подключить Altera MAX10 к шине FSMC, а там есть OE выход, когда там неактивный уровень - выходы DATA на MAX10 должны быть в HIGH-Z.
956 433428
>>433411
Надо вставлять буфер из библиотек альтеры, у которого будут один выход и два входа (сигнал и ОЕ).

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_low_level.pdf
957 433452
>>433428
А просто присвоить output_port <= 1'bz , где к регистру outpot_port подключены IO пины?
0ce4a8733e26bca9c3538a6b3e8906bf[1].jpg17 Кб, 344x500
958 433464
А как в квартусе сгенерировать testbench на verilog для одного модуля, а не для всего проекта?
959 433470
>>431558

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


>Не совсем так. Нужно делать это синхронно, т.е. через always @(posedge clk).



пиздец
даже я - погромист знаю что надо перед фронтом.

здаеццо мне что этот ваш верилог это шняга уровня ПыХаПы супротив Ассемблера
960 433473
>>433452
Зависит от поддержки конкретной версией синтезатора, может получиться, может нет (тем более, речь о какой-то древности). Напиши, синтезируй, посмотри лог ошибок, посмотри схему, появился ли там соответствующий буфер.

>>433470
Стекломойное животное, с таким подходом ты ничему не научишься.
961 433475
>>433473
О какой древности речь?
1.png125 Кб, 648x482
962 433477
>>433475
А, сорян, спутал с другой хуйнёй. Тогда всё норм, просто пиши по гайдлайнам, синтезатор всё синтезирует ок.
963 433478
>>433470

>я - погромист


Оно и видно. Специально для долбоёбов.
В плис используются триггеры с динамическим управлением, т.е. по активному фронту триггер запоминает сигнал со входа Д и выдаёт его на выход Ку, а это значит, что выход триггера меняется сразу после фронта. И если надо выставлять сигналы вручную, но синхронно надо их выставлять с учётом вышесказанного или незаморачиваться и применять always @(posedge clk)
964 433551
Может опытный анон вбросить кокой-нибудь список опен софта и бест практис тулчейнов за одно и для шапки пригодится
965 433556
Алсо нид реквест, как назвается такая ситуация, когда надо синхронизировать клоки, например есть UART-like ресивер, по спецификации его скорость допустимо варьируется +-10%. На момент стоп-бита нужно получить данные в модуле с другой частотой (выше в разы)
Мой нубский взгляд на это такой- ресивер должен тригериться по фронту старт-бита, затем с некоторой частотой, близкой к -10% получать 8 бит, после чего значение должно быть доступно в другом модуле.
966 433557
>>433556
нид хелп
быстрофикс
967 433579
>>433556

>как назвается такая ситуация


Да так и называется синхронизация тактовых домнов.

>ужно получить данные в модуле с другой частотой (выше в разы)


Загружаешь 8 бит в сдвиговый регистр, на каждом сдвиге инкрементируешь счётчик, как счётчик досчитал, выставляешь флаг в свой быстрый модуль. В быстром модуле этот флаг пересинхронизируешь на его частоту, просто пропускаешь сигнал через Д-триггер. И когда на выходе этого Д-триггера появляется 1-ца - значит в сдвиговом регистре уже всё загружено и можно от туда считывать. Остаётся продумать механизм сброса флага, но это попробуй сам.
968 433582
>>433579
Я пока пытаюсь прочувствовать, как при этом избегается неопределенное состояние?
969 433586
>>433582
Ну так флаг выставляется после того как регистр будет заполнен, неопределённое состояние исключено.
970 433595
Нужно сделать FIFO, через один параллельный интерфейс данные в него поступают, через другой параллельный интерфейс данные из него считывают с другой тактовой частотой.
Как правильно это сделать?

1) Синхронная логика с одним клоком, который в раз 10 выше самого быстрого клока на параллельном интерфейсе и конечный автомат внутри always (posedge clk)
2) Завести 2 клока с обоих интерфейсов и по фронтам крутить в логику внутри always
971 433596
>>433595

>Нужно сделать FIFO


>Как правильно это сделать?


Взять готовый блок от производителя плисы.

Если этот вариант не подходит, то надо взять простую двухпортовую память и написать логику для записи в домене клока входных данных, а логику для чтения -- в домене клока выходных данных, с передачей флагов и указателей между доменами.
Для передачи указателей можно использовать код грея.
972 433599
>>433330
Походу не ошибся с платой, збс контроллер CYUSB3014, охуеть вообще. Так-то даже fpga понадобится на полшишечки для мультиплексинга разве что, основное можно в виде программы настрогать.
973 433600
>>433596

>Если этот вариант не подходит


Это очевидная домашка по схемотехнике. Кому ещё надо FIFO писать? Я в прошлом треде на точно такой же вопрос уже даже отвечал — >>394543 →
974 433603
>>433596
>>433600
Не хочу использовать библиотеки, хочу сделать сам.
Вопрос по прежнему без ответа. Какой из двух вариантов правильнее и почему?
975 433607
>>433596
Ого! Код Грея для того, чтобы при асинхронном доступе к указателям головы/хвоста фифо не было ошибки более, чем на 1 разряд?
А как полностью избежать рассинхронизации в этом месте?
976 433608
>>433603

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


Оба говно потому что аксиома Эскобара первый не будет надёжно работать при неудачном совпадении фаз Луны клоков, а второй не описывает приблизительно ничего.
977 433609
>>433607

>Код Грея для того, чтобы при асинхронном доступе к указателям головы/хвоста фифо не было ошибки более, чем на 1 разряд?


Код Грея для того, чтобы передаваемое из другого домена значение указателя было либо правильное, либо предыдущее. И не возникало ситуации, когда надо поменять несколько битов, часть успела поменяться, часть нет, в итоге указатель указывает хуй знает куда.
978 433617
>>433609
О! Я теперь понял почему вариант асинхронного фифо у меня не работал. Мне фифо для подключения АЦП к процессору нужно.
979 433754
Подскажите, где можно найти максимальнт доступное объяснение алгоритма cordic с математической точки зрения и с точки зрения ПЛИС? Пытаюсь разобраться, как с его помощью находить модуль комплексного числа.
980 433757
Скажите, вообще законно делать некоторые буфера небольшого размера (около килобайта) в виде шин? Является ли это бестпрактис? Можете сразу обоссать если вопрос тупой
981 433764
>>433754
Вот здесь написано заебок, я с первого раза вдуплил:
https://dspguru.com/dsp/faqs/cordic/
982 433766
Как подсунуть микроблейзу логику под видом памяти? У меня только один вариант напрашивается, вставить между модулем памяти и микроблейзом прокси, в котором напейсаить "иф старший бит адреса = 1 то возвращаем память из FPGA иначе передаем дальше"
983 433767
>>433766
А интерконнектом никак? Я уже забыл, это старое или актуальное ядро?
Там axi, или старье какое-то?
984 433768
>>433767
я хз вообще, пока опыта нет, просто читаю всякие документы.
Интерконнекту тоже какой-то последовательный интерфейс нужен, под который надо подстраиваться, как я понел.
985 433770
>>433768
Интерконнект это как usb hub если в двух словах.
Подстраиваться так или иначе придется, если только не брать готовое.
В ise был генератор регистров на axi4- lite. Я его использовал для этих целей.
986 433774
>>433766
создаёшь axi lite peripheral визардом. Он тебя спросит сколько регистров заданной разрядности (32 бита) ты хочешь создать. Эти регистры будут сделаны на триггерах плис, их можно читать и писать микроблейзом как любую axi-периферию, к ним можно дописывать другую логику.
987 433775
>>433774
Спасибо. Потихоньку картина мира выстраивается
988 433779
Подскажите, где можно почитать/посмотреть уроки по рпботе с ядрами в Xilinx ISE? В частности с fft. Никак не могу найти.
989 433783
>>433779
Уроки кончились, читай даташиты.
990 433809
как воще работают эти вашы плисы?

я типо малюю схему типо щщоччик с переполнением на 62,
а оно само применяет к схеме всякое кардано,
дизъйюнктивно нормальная форма,
чтоб только или-не,
и отэто самое прошивает?
991 433813
>>433809
Есть разные стили, твой один из.
Можно вставлять блоки в текстовом редакторе. Можно и в графическом в последние годы.
Есть и арифметика с логикой как в программировании.

Чтобы именно счёт до 62 сделать, нужно будет счётчик 6-битный объявить и сбрасывать по сигналу сравнения с константой. То есть просто не выйдет, надо вручную.

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

Все, модуль готов. Дальше его либо в другие модули вставлять, либо к физическим пинам на ПЛИС назначать.

Можно и на питоне это все делать (litex на гитхабе), очень рекомендую. Там по сути метапрограммирование с экспортом в верилог.
992 433815
>>433809

>как воще


Как и твоя матарошка. На магии
993 433818
>>433809
главное отличие от того, что ты описал — функции реализуются не через "или-не", а через таблицы логических функций (LUT). Они программируемые, таблица с двумя входами и одним выходом может быть функцией "или-не", а может быть любой другой функцией двух логических переменных. А ещё они могут быть на большее число входов, для экономии связей.

Ещё там есть триггеры, и они делаются не из кучи "или-не", а сразу в кремнии. Каждый такт триггер отправляет значение на входы LUT, на выходе другой триггер получает посчитанное значение и сохраняет его до следующего такта.
anime13.jpg127 Кб, 868x1228
994 433820
>>433818
пикрандом отклеился
995 433823
Есть какая-то простая тулза, чтоб блядь просто нахуй в вакууме нарисовать модуль с 1 клоком на входе и посмотреть битстримы на выходе? Чтоб ето не было ISE или Vivado, который пердит кряхтит и компилирует дольше чем я думаю?
996 433824
>>433823
http://iverilog.icarus.com/
Либо litex который я предгал.
Оба могут генерировать файлы с временными диаграммами, которые можно открыть через gtkwave.
Для litex нужен питон, для остального Линукс.
997 433825
>>433823
Нарисовать точно не выйдет, все из командной строки.
998 433826
>>433823
Что касается синтеза, то все плисы и их форматы файлов наглухо засекречены.
Команда реверс инженеров кое-что смогла сделать впрочем, с некоторыми моделями.

https://symbiflow.github.io/getting-started.html
999 433827
>>433826
Я битстримом обозвал временные диаграммы, сорри

Symbiflow чет туго канпелируется, пока забил
1000 433845
makerchip.com - вот то що надо
1001 433855
>>433757

>буфера в виде шин


Это как?
1002 433856
>>433855
Ну тупо в виде logic[100500:0].
Впрочем уже вижу что сплошь и рядом такое
1003 433907
Если допустим возникает необходимость высрать инициализационную последовательность бит/байт, чтоб сконфигуровать там чета, то не зашквар писать fsm курильщика, где расписано стопицот тактов, или белые люди уже давно придумали более лучшее решение?
1004 433942
>>433813
Litex с migen то ещё говнище. Они полностью проебали модульность. Все эти бесконечные self.sync =+ и self.comb=+ без которых твоя логика без всяких предупреждений не реализуется.
1005 433945
>>433907
Если последовательность статична - зачем автомат? выгружай из ПЗУ. Если не сильно длинная, то чем сдвиговый регистр плох?
1006 433946
>>433945
Там по дороге надо аки получать, думоть короч.
1007 433947
>>433946
Если аки - так это уже интерфейсы, тут автоматы во все поля.
image.png59 Кб, 1179x749
1008 433969
С помощью камрадов удалось наконец выдавить последовательность байтов, похожую на приведённую в датащите. Ощущения атас.
1009 434292
>>433969
Не понял, что именно тебе удалось сделать. Объясни по-подробней плиз.
мимопроходил, но увидел пост на нулевой и заинтересовался
1010 434494
>>434292
Вот это там правда чуть наоборот клок, но это очевидным образом исправлено.
На картинке загогулина константная, просто выверял такты там.
Ето мои первые потуги в Verilog'e прост.
Всё это как водится реклама, на железе ещё не опробовал.
1011 434908
>>433330

>FX3


Ультимейт говнище без сапорта
Лучше уж FTDI6XX
1012 434946
>>434908
Первой пришла плата с FT600, делаю на ней. Но это оверпрайс яебанею, 80к за штуку, ну или где-то заказывать урезанную версию после разработки прототипа А я сам делаю потому что на фрилансе чет туго делают, дохуя лаве зря потратил и так. А мне нужно будет как минимум 3 девайса изготовить. Так что с FX3 тоже
1013 434947
.. с FX3 тоже придется пилить.
1014 434948
Аноны, тут кто-нибудь делал КИХ фильтры на быстрой свертке? Может кто-нибудь посоветовать что-нибудь по этой теме для полнейшего идиота? В общих чертах мне более-менее понятно, но разные нюансы вызывают некоторые сложности, например секционирование свертки.
1015 434965
>>434948
Тебя интересует матан или реализация?
1600751489333.JPEG91 Кб, 630x1120
1016 434969
>>434946
FT600 стоит 4 доллара, FX3 стоит 10 долларов.
Рекомендую взять любую отладку с FMC разъемом + UMFT600X-B
1017 434970
Пук
1018 434977
>>434948

>например секционирование свертки



https://en.wikipedia.org/wiki/Overlap–add_method
1019 434980
>>434965
Меня все интересует. Но больше интересует конечный результат, причем желательно на компонентах с военной приемкой. И не только для FPGA, может DSP окажется целесообразнее, хотя их я ни разу не трогал. Пока не к спеху, эта работа пока отпала, но весьма вероятно что к такому придется вернуться.

>>434977
Это не то, всего лишь один из нескольких способов. А попробуй еще определить когда целесообразнее применять один способ, а когда другой? И там подобных нюансов полно.
1020 434983
>>434980

>на компонентах с военной приемкой


>эта работа пока отпала


Вот и хорошо. Опять у мартыхачеров будет тяжёлая ночь.
1021 435081
Помогите новичку, вот я добавил в ISE Design Suite IP-ядро быстрого преобразования Фурье, как мне теперь с ним взаимодействовать? То есть как ссылаться на него в основном тексте программы на VHDL?
Может есть анончики, которые умеют в ней хорошо работать?
1022 435082
>>435081
Нажми правой кнопкой мыши на ядро и выбери в меню генерировать шаблон для вставки.
Точное название не помню конечно.
image.png23 Кб, 316x361
1023 435086
>>435082
Вроде тут нет ничего такого
1024 435088
>>435086
А снизу нет окошка с подробной информацией или типа того? Вроде это там было.
image.png8 Кб, 286x183
1025 435090
>>435088
Вот такое есть
large.jpg99 Кб, 999x775
1026 435091
>>435086
View HDL instatiation template
1027 435092
>>435091
Спасибо большое, анон, что откликнулся
1028 435096
>>435091
Подскажи еще, пожалуйста, в чем можно моделировать вообще весь процесс? Например задать сигнал с шумом, потом пропустить его через схему и посмотреть результат?
1029 435109
>>435096
Там сверху над списком файлов есть переключатель simulation. Я симулировал через встроенный isim. Есть ещё modelSim, это отдельная программа, которая интегрируется с ise. Вроде как мощнее.

Для стимуляции нужно сгенерировать и дописать специальный vhdl или Verilog файл, который называют test bench, в котором будет подставлен тестируемый модуль, сгенерированы нужные сигналы и в котором будут отсутствовать внешние сигналы.
Когда переключишь simulation, внизу должен появиться пункт сгенерировать шаблон для симуляции.
В файле симуляции другой набор допустимого, там можно много того, что нельзя при синтезе, например вызывать функцию синус. Но сигналы все равно придется писать руками.
Советую гуглить примеры и разбираться.
Там ещё есть кнопочка с жёлтой лампочкой откуда можешь копипастить примеры в том числе для симуляции.

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

Можно симулировать через командную строку в Icarus Verilog и litex, но там и проект должен быть на верилоге или питоне соответственно. Там на выходе файлы временных диаграмм, которые можно смотреть через gtkwave.
Я перешёл на это когда в конец надоел глючный ise и долбаный vhdl. Verilog проще и понятнее, а питон тем более. Причем питон никаких ограничений на производительность не накладывает, потому что используется как макроязык, как обёртка для верилога.
image.png149 Кб, 297x170
1030 435296
>>434969
Все-таки с FX3 плата попроще и там практически лишнего ничего нет, кроме памяти.
Ну а пикрил няша качественная, специально взял по максимуму, логических ячей дохуя, можно виртуальный синт запилить там заодно, если делать совсем нехуй будет
1031 435299
>>434969
Алсо сейчас помигал светодиодоме, затактировавшись от FT, так оказалось эта сучка отдыхает, если коннекта нет, часы не идут. Может wakeup задействовать..
1032 435661
О наконец-то от FT600 байты попёрли. Датащиты пишут пидоры. Как-то не очевидно в щите написано кто мастер а кто слейв, поетому я как дебил провтыкал вчера целый день за осцилографом, пытаясь вкурить что же происходит. Но потом глаза поднялись на описание пина со словом INPUT и всё встало на свои места слава аллаху. Судя по всему я не один такой, гуглится пара постов с подобными симптомами при реализации FT600.
1033 435751
Если я не хочу юзать блок-диаграмму, а хочу писать модуль в тексте, инстанциируя в нем другие модули, то ебучая вивада уничтожает некоторые сигналы, типо "нинужны" и в результате нихуя не работает. А если вывести сигнал на пин для дебага, то всё сразу начинает работать. Как заебало это всё, нельзя как-то чтоб я сам решал, что нужно, а что нет?
1034 435757
Конкретно, проблема в следующем:

в топ- модуле

input RXF_N

module2 m( RXF_N);

в module2:

input RXF_N

always_ff ...
if (RXF_N)

так вот эта хуета всегда тру (RXF_N от FT600, active low), а если в топе написать

assign xxx = RXF_N;

где xxx- реальный пин, то всё работает как надо.

В чем подвох, м?
1035 435760
>>435751
Текстовое описание не православно. Только блоки, только хардкор. Хотя вивада это пиздец конечно.
1036 435761
>>435757
Перепиши на чистом верилоге. Когда я пробовал sv для синтеза, то по итогу решил, что нахуй пока это счастье.
1037 435766
>>435757
Ты видимо написал такое условие, что этот сигнал ни на что не влияет.
Типа если сигнал 0 записать 1, если 1 - тоже записать 1.
1038 435775
>>435766
Тогда это условие не начинало бы вести себя по-другому от добавления выходного порта и точно так же оптимизировалось бы в константу.
1039 435791
>>435761
Переписал, вроде пока стало получше.
1040 435947
>>433330

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


И нахуя тогда тебе usb3?
Ethernet хватит за глаза.
1041 436101
>>435296

>Все-таки с FX3 плата попроще и там практически лишнего ничего нет, кроме памяти.



есь две ещи, про которые я вычитал на дваче
- FX3 плата
- баофенг
обе хрени мне не нужны, но я рештльчто покупаю.
1042 436124
>>436101
Где брать fx3? А то что-то даже на алике по 5к стоит, а на сайте производителя написано 10$.
1043 436369
>>435947
реалтайм нужен
1044 436370
>>436369
И чем Ethernet уступает USB для этих целей?
1045 436426
>>436370
Раундтрип <мс недостижим
1046 436445
>>436426

>Раундтрип


Что это?
мимо
1047 436446
>>436445
джиттер видимо
11.png12 Кб, 469x301
1048 436499
>>436426

>Раундтрип <мс недостижим


Анус ставишь?
И это 100m ethernet
1049 436502
>>436499
Что за программа позволяет мерять пинг с такой точностью?
1050 436504
>>436499
Так у него на скриншоте все видно. ARPING это. Только это ARP, с обычным пингом наверняка будет заметно больше, если конечно он вдруг реализовал ICMP. Но это я так, как диванный теоретик.
1051 436573
>>436499
На винде с полным стэком будет хуй.
В ядре линупса и не такое возможно.
Один хуй из 100мгц я много не высру в момент, поэтому минимальный пакет будет израсходован впустую
1052 436574
Алсо вивадо - хуй пизда говно гнойного пидора из жопы, с какого-то хуя удалила мне порты из констрейнтов, и молчит сука. Всяки хитровыебаные ошибки так пожалуйста, а то что порт подключен к небу Аллаха - то тишина, всё норм )).
1053 436577
>>436574
А что не Так? Кстати, у вас там какая-то ошибка, хз, не буду собрать проект.
Мимо вивадо.
1054 436593
>>436573
А зачем тебе венда? Чем ты там занимаешься, извращенец?
1055 436630
>>436577
Ну это просто контрпродуктивно - что-то там намодохать в пользовательских файлах и ничего не сказать, чтоб юзер потом полдня искал, а что же не так. Интерпрайз солюшен 24/7. Если бы это не был хоббипроджект на бесплатной версии, я бы имел полное право выставить счёт за потерянное время или как минимум пригласить представителя компании на serious talk.
>>436593
Потом покажу.
1056 436632
>>436630

>Ну это просто контрпродуктивно - что-то там намодохать в пользовательских файлах и ничего не сказать, чтоб юзер потом полдня искал, а что же не так. Интерпрайз солюшен 24/7. Если бы это не был хоббипроджект на бесплатной версии, я бы имел полное право выставить счёт за потерянное время или как минимум пригласить представителя компании на serious talk.



Ты сам определил в проекте констрейнт факл как таргет, сам где-то мышкой натыкал, а потом сам нажал ctrl+s. Так что оплачивал бы ты зря потраченное время представителя компании.
1057 436722
>>436630

>Потом покажу.


Что за секретики от Анонов?
1058 437069
>>433779
Такого нет в природе. Для ядер только дата шиты + есть обычно example project к каждому ядру. У меня есть слитые архивы курсов xilinx academy, там побольше инфы, но все равно все не то. Только экспериментирование и практика, больше никак.
1059 437070
>>433856
Хуйню ты высрал. Logic[100500:0] это регистр и все.
1060 437203
>>437070
Даже fifo generator ip core делается из шифт-регистров в частности, так что ты хуй.
1061 437204
А если бы ты не был хуй, то мог бы пояснить, что широкие векторы с жесткими констрейнтами приведут к congestion. Я уже за эти две недели прокачался дальше двачных икспердов, походу.
1062 437225
>>397766 (OP)
Хочу связать свою жизнь со встраиваемкой.
Какой ПЛИС начать изучать для начала?
1063 437237
>>437204
Ты о чем? Такое вообще может использоваться описания памяти, чтобы не пихать IP блоки каждый раз. Описываешь однопортовую или двухпортовую память с таким регистром, а синтезатор почти наверняка сделает это на блочной памяти. Если ты хочешь трехпортовую память или что-то еще и получаешь в результате неожиданные результаты - то сам дурак.
мимо
1064 437253
>>437225
Скроль тред, много раз советовали китайщену.
1065 437272
>>437253
Не хочу китайщину, хочу нормальные американские/европейские плис.
1066 437273
>>397766 (OP)
аноны я придумал идею для майнера
что если на одну плату поместить много много FPGA и написать для них прошивку майнера и получится очень мощный майнер битков
как вам идея??
1067 437281
>>437204
В анусе твоём будет congestion, прокачиватель мамкин.
1068 437282
>>437272
Младший Intel Cyclone 3/4/5 за косарь с алика.
1069 437290
>>437203
Я про то, что он какие-то шины на регистрах приплел. Я не спорю, что fifo на регистрах делается, таблетки прими, шизоид.
1070 437296
>>437272
Тогда любую от terasic какая нравится.
1071 437305
>>437273
Пиши, или возьми готовое на kintex-7 с гитхаба.
K7 стоит пару тысяч $, сможешь отбить?
1072 437411
Что-то вивадо ебанулась, выдаёт ворнинг, что
[Common 17-55] 'set_property' expects at least one object.
на строку
set_property IOSTANDARD LVCMOS33 [get_ports TX0}]
set_property IOSTANDARD LVCMOS33 [get_ports RX0}]

потом выдает

the following two ports in this bank have conflicting VCCOs:
RX0 (LVCMOS18, requiring VCCO=1.800) and CDRESET (LVCMOS33, requiring VCCO=3.300)

потому что в первый раз не наложила констрейнт, уже джва часа ябусь, в чем дело? Однако номер банка присвоился, значит констрейнт с пином наложился. Я уже даже пробовал переназначать эти несчастные RX0 и TX0 на пины, которые юзались раньше - всё тщетно.
1073 437412
>>437411
Бле }, ебаная скобка.
1074 437413
Синтакс еррор выдать? Нет, надо пользователю мозг ебать
1603836238131.jpg41 Кб, 640x480
1075 437415
Тут, говорят, Xilinx того, куплен АМД?
1076 437418
>>437413
В Tcl это не синтаксическая ошибка. К разработчикам вивады в этом месте не должно быть претензий, кроме разве того что выбрали стандартный в этой области Tcl.
1077 437425
>>437413
Во-во, у вас там ошибка, ебитес.
1078 437426
>>437418
А что это тогда, сервисный смайлик? Хоть варнинг можно сделать?
1079 437427
>>437426
Не вернуться ли тебе обратно в веб-макакинг, из которого ты пришёл?
1080 437429
>>437427
Хуя ты порвался. Я ушел из ПЛИС в веб, но не работаю, если уж тебе так это важно. Спрашивай ещё, расскажу о своей личной жизни, о том на что дрочу и прочее.

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

На вопрос то ответь, о уважаемый знаток низкоуровневого кода? Объясни несчастной безработной веб макаке, почему смайлик не требует предупреждения?

Я так то не ебануый учить очередной недоязык когда есть питон. Но если ты шаришь, молодец.
1081 437430
>>437429
Да, конечно, это я порвался, лол))))))}}}}}
1082 437431
>>437430
Ты можешь на вопрос ответить, клоун?
1083 437432
>>437431
Нахуй иди.
1084 437436
>>437426
Может быть и стоило выдавать предупреждение. Но это совершенно точно не синтаксическая ошибка. Возможно разработчикам вивады в процедуре get_ports действительно стоило сделать вывод предупреждения, а может стоит самому проверять что возвращает get_ports.

>учить очередной недоязык


Не уверен на счет того что Tcl знает анон отвечавший тебе ранее, но в Tcl вообще ничего нет кроме двух видов скобок, кавычек и $ для подстановки значения переменной, поэтому учить там нечего.
1085 437476
>>437429
Чего в веб ушел-то?
На ПЛИСирацию совсем забил или в свободное время гоняешь?
1086 437481
>>437476
Контроллеры изучил, ПЛИС изучил а до веба все руки не доходили.
ПЛИС забросил, нет ни плат, ни желания что-то делать.
Через полгода-год кончатся деньги, может начну шевелиться.
1087 437482
>>437415
Ссылку на новость можно?
Screenshot20201028-121433Via.jpg217 Кб, 720x1560
1088 437484
1089 437486
>>437484
Только наверное не месяцев, а недель, судя по новостям.
1091 437494
>>437415
>>437484
Да туда им и дорога, ненужны.
1092 437499
>>437490

>Производитель чипов AMD договорился о крупнейшем приобретении в своей истории — покупке конкурента Xilinx за $35 млрд.


Мда, вот тебе и Форбс.
1093 437505
>>437499
Как я понимаю, AMD решили бороться за рынок серверов, имеется в виду конкуренция там.
1094 437508
>>437494
А что нужно? Lattice? Вангую, что его скоро купит Nvidia.
1603889002576.jpg687 Кб, 1080x2248
1095 437511
Привет, ПЛИСач.
Скажите, пожалуйста, пикрил йоба нормас для новичка в ПЛИСировании?
1096 437512
>>437511

>max2


Мала. Ищи на базе Cyclon4.
1097 437514
>>437505
Из статьи это явно не следует.

>>437508
Я к тому что и хилые и амд обе две не нужны. А нвидия вроде как хотела интелов выкупить.
1098 437517
>>437511
Рекомендую циклон iv как минимум, хоть он и в 3 раза дороже.

CPLD очень ограничен по сравнению с FPGA.
А циклон ii который был в похожем исполнении у меня за 15$, как оказалось, уже не поддерживается новым софтом.

Их стоит брать, если ничего серьезного нет цели делать. Только обычные регистры, логика, частоты строго до 100 МГц. Например логический анализатор можно сделать, какой-нибудь адаптер для sdram памяти или дисплея, или несколько ШИМ, все что очень простое по сути.

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

Вообще места в ПЛИС всегда не хватает, только захочешь что-нибудь посерьёзнее светодиодом помогать, там протокол какой-нибудь типа ethernet, выч блоков несколько, опа и уже 30% на младших моделях занято.
А больше 70-80 % все равно заполнить нельзя просто так без извращений типа ручной расстановки, синтез на этапе расстановки пошлет тебя нахуй со словами: извини, брат, сложна:)

Так что сколько ни купишь места, все равно будет мало.
Можешь брать дешёвую, но на многое не рассчитывай.
1099 437519
>>437517

>А циклон ii который был в похожем исполнении у меня за 15$, как оказалось, уже не поддерживается новым софтом.


Уже как несколько лет и Циклон 4 считается устаревшим. Последняя версия Квартуса, которая его поддерживала, если правильно помню, 16-ая.

>>437517

>места в ПЛИС всегда не хватает


У меня подгарает с другого. Почему в ПЛИС не вставляют периферию, как по типу с МК? Понятное дело всякие счётчики и таймеры не нужны, но могли бы хотя бы PHY стандартных протоколов засунуть, езернет там, усб, уарт, цапы/ацп, и всё такое прочее? Как бы сильно жизнь упростилась, не надо было бы с внешней обвязкой ебаться.
1100 437522
>>437519

> Почему в ПЛИС не вставляют периферию, как по типу с МК? Понятное дело всякие счётчики и таймеры не нужны, но могли бы хотя бы PHY стандартных протоколов засунуть, езернет там, усб, уарт, цапы/ацп, и всё такое прочее?


Думаю ты сам знаешь ответы, но я перечислю что сам знаю.

На старших есть и phy для usb3.0(super speed)/sata/PCIe, и АЦП какое-то до 1 МГц. Точно знаю что в artix7 есть АЦП, а в kintex и virtex гигабитные передатчики.

Ноги где это поддерживается ничего больше не могут.
На xilinx ultrascale серии, которой несколько лет всего, вроде как собирались ставить быстрое АЦП для цос. Стоит бешеных бабок наверное.

Я лично ебался с GTX передатчиками на работе наверное целый год, пытаясь реализовать jesd204b, который у АЦП современных, когда их айпи блок ещё не взломали. Сейчас не знаю, может уже есть кряк и на него.

Для ethernet все равно нужен трансформатор вроде. UART ты наверное для кучи добавил, для него phy не нужен и так.

USB 2.0 (high speed) phy, хз, почему нигде не встроено. Full speed можно и так реализовать ногодрыгом. На гитхабе есть проект, но я его так и не попробовал.

Ну а стеки протоколов продаются в виде ip.
1101 437523
>>437517
Ого. Огромное спасибо за ответ! :)

Тогда подумаю что брать. В принципе, ничего архимега сложного пока не собирался пилить - максимум, выплюнуть что-то по VGA или, таки да, запилить генератор ШИМ на несколько каналов.
1102 437524
>>437522

>На старших есть и phy для usb3.0(super speed)/sata/PCIe


Может я и ошибаюсь, но все эти высокоскоростные транисиверы поддерживают эти интерфейсы на уровне протоколов, напряжения всё равно нужно согласовывать внешней обвязкой.

И зачем всякие дорогущие АЦП, можно же и по проще вставить.

>Для ethernet все равно нужен трансформатор вроде


Да, но на него напряжение подаётся тоже не 3,3.

>UART ты наверное для кучи добавил


Имел в виду RS-232/485 и подобные.

>Думаю ты сам знаешь ответы, но я перечислю что сам знаю.


У меня есть две версии на этот счёт.
1. Если в дешёвую плис напихать кучу интерфейсов, то мы не сможем реализовать работу со всеми сразу, по причине малого объёма дешёвых плис, хотя есть же Ниос. А значит большая их часть будет простаивать и за них будут зря заплачены деньги. Отсюда следует 2.
2. В дешёвые плис надо вставлять из всего возможного набора только несколько требуемых интерфейсов, а это приводит к резкому росту номенклатуры, что, видимо, для производителя не эффективно с экономической точки зрения.
1103 437525
>>437418
К разработчикам вивады не было бы вопросов если бы она не падала каждые 15 минут, или при прикосновении к окошку с прогрессбаром, или не затирала текущий проект при падении, так-то я был бы повнимательнее к себе, прежде чем искать проблемы в среде разработки...
1104 437529
>>437524

> эти интерфейсы на уровне протоколов, напряжения всё равно нужно согласовывать внешней обвязкой.


Нет, на скоростьях выше 200 МГц (условно) никаких напряжений нет, там токовые драйверы. Погугли lvds.

USB 2.0 тоже токовые драйверы имеет, но он двусторонний, поэтому не поддерживается в gtx. Наверное его можно сделать на простом serdes, но не встречал.

Остальные гигабитные интерфейсы примерно одинаковые на низком уровне, поэтому для них универсальные блоки gtx.
Из согласования только резисторы видел на плате и конденсаторы.

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

> И зачем всякие дорогущие АЦП, можно же и по проще вставить.


Да просто на работе у меня другие не считались за АЦП вообще, скорее как игрушки. ПЛИС же для цос чаще всего нужна в промышленности.

> >UART ты наверное для кучи добавил


> Имел в виду RS-232/485 и подобные.


Тут без вариантов, кто ж а ПЛИС 15 В ставить будет, в МК то же самое.
1105 437533
>>437529

>никаких напряжений нет, там токовые драйверы. Погугли lvds.


Хочешь сказать что и USB и у PCIe одни и те же lvds?
Screenshot20201028-194037Via.jpg141 Кб, 720x1560
1106 437539
>>437533
Те линии что на 3.0 появились да. Там только кодирование отличается, оно в ПЛИС настраивается.
На этих частотах просто нет особого выбора, никакие стартовые биты и клоки как в spi здесь не придут одновременно, и за счёт более высокой частоты не примешь, очевидно.

В ПЛИС есть несколько типов приемопередатчиков. Обычный serdes на частотах 200-600 МГц (обычно до 400), которых достаточно много и их можно на любые линии почти назначить. Получится обычный lvds, если конечно настроить линии правильно.

И гигабитные на частотах выше 1 ГГц, на которых работают все современные протоколы. Gtx, gtp это названия модулей конкретно у xilinx. Они отличаются только скоростями и немного управляющими сигналами .
Чтобы покрыть частоты 600-1000 МГц есть режим оверсемплинга то есть когда один бит растягивается на два и более тактов, и так же принимается.
Этих передатчиков обычно немного, от одного до десяти, стоят на выделенных линиях, имеют отдельный опорный тактовый сигнал на каждый лэйн, лэйны можно связывать чтобы они работали в группе как в pcie или гигабитном эзернете.
Гигабитные интерфейсы не называют lvds, потому что это стандарт другой, но принцип там тот же.

lain это пара приемник и передатчик, по паре проводов на обоих т.е. в сумме 4 провода на лэйн, в usb3.0 ровно один лэйн (помимо старых сигналов usb2.0), в sata в 3 версиях тоже, в PCIe x16 - ровно 16 лэйнов и т.д.

По ссылкам явно не указано usb3, но можешь мне верить.

https://en.m.wikipedia.org/wiki/Multi-gigabit_transceiver
https://www.xilinx.com/support/documentation/user_guides/ug476_7Series_Transceivers.pdf
1107 437541
>>437533
И ещё частоты конечно разные.
1108 437542
>>437539
Ясно, спс.
1109 437569
>>437511
Возьми лучше ep4ce6
https://a.aliexpress.com/_AkueoD
Если потом будет нужна большая плис с ethernet и ддр2 - есть неплохой вариант с EP4CE115
https://a.aliexpress.com/_9is8YD
1110 437598
>>437569
Ооо, первый вариант для меня, похоже, найс.
Спасибо.
1111 437643
Подскажите, пытаюсь победить xilinx fft ip core в ISE. Никак не могу понять, как должны выглядеть для него входные данные, если предположим вход 14ти битный. Какая часть этого числа отвечает за целую, какая за дробную? Например если я хочу подать заранее сгенерированный гармонический сигнал в тестбенче, какой формат данных должен быть?

И каким образом интерпретировать результаты? Если у меня длина преобразования 32бит, частота БПФ 250 МГЦ, то на выходе я буду иметь 32 числа, где 1е это постоянная составляющая, а остальные соответствуют шагу частоты 250/32=7,8 МГц?
1112 437650
>>437643

> Какая часть этого числа отвечает за целую, какая за дробную?


В настройках же задаётся. Там есть и плавающая запятая.

> И каким образом интерпретировать результаты? Если у меня длина преобразования 32бит


32 отсчёта имеешь в виду?

> частота БПФ 250 МГЦ, то на выходе я буду иметь 32 числа, где 1е это постоянная составляющая, а остальные соответствуют шагу частоты 250/32=7,8 МГц?


БПФ это чисто математическая операция, ей безразлично на какой частоте идёт преобразование, важно какая частота отсчётов.
Если частота АЦП, которым этот сигнал был захвачен, равна 250 МГц, то будет 250/2, 250/3 .. 250/16 и вторая часть зеркально отраженная. Это если мнимая часть нули.

4/10 по цос, после пересдачи было, могу путаться.
1113 437652
>>437650
В настройках задаются пикрелейтед. Среди них нет вроде выбора количества разрядов, отвечающих за целую/дробную часть числа.
Только тип (плавающая, постоянная).

Да, 32 отсчета на каждое преобразование.

Частота отсчетов как раз 250, с этим понял, спасибо.
1114 437653
>>437650
Просто я на вход подаю вот такие значения:
максимальное 8191, минимальное -8192. Тоесть целые, а на выходе получаю совсем не то, что должно быть.
1115 437656
>>437653
Видимо ты прав насчёт частоты, там фиксированный шаг Fd/N

https://stackoverflow.com/questions/4364823/how-do-i-obtain-the-frequencies-of-each-value-in-an-fft/4371627#4371627

На втором твоём скрине же задаётся число разрядов на входе. Из них получается и выходная точность. Вроде бы там на выходе тот же формат что и на входе.
Там же есть масштабирование, если нужно подогнать выход.
1116 437658
>>437656
Я и не могу понять, какие числа должны быть на входе.
Число разрядов у меня задается предположим 14.
Это может быть 00 0000 0000 0000 0000 - целое число
либо 0' 0 0000. 0000 0000 0000 - где 0' знак, 0 000-целая часть,
0000 0000 0000 - дробная. Выбрать никак нельзя, в датащите не нашел, но тем не менее, мы выбираем fixed point data
1117 437659
>>437656
За ссылку спасибо!
1118 437660
>>437658
Так там же два поля, первое сколько всего бит, второе дробная. Вроде, не помню точно.

Хз, почему она называется там фазой.
1119 437686
>>437514

>А нвидия вроде как хотела интелов выкупить.


Шта?! Или ты имеешь ввиду, что она хотела выкупить у них Альтеру?
1120 437690
>>437686
Именно интел вместе с альтерой.
Screenshot2020-10-3009-52-46.png58 Кб, 735x717
1121 437731
>>437519

> Последняя версия Квартуса, которая его поддерживала, если правильно помню, 16-ая.


Ты про какой именно циклон? Потому что 4E и 4GX поддерживаются вплоть до последней (не считая Pro) 20.1.

>>437598
Ещё у QMTech посмотреть можно (правда USB Blaster надо будет покупать отдельно):
https://www.aliexpress.com/i/32949281189.html
https://www.aliexpress.com/i/1000006634063.html
1122 437733
>>437731
Мне кажется или спартаны подешевели? Раньше как-то все были от 50$
1123 437757
>>437731

>Ты про какой именно циклон?


Да не помню, помню что была какая-то замута с ним.
1124 437767
>>437690
Не верю, что такое вообще возможно. Я думал, скорее Интел купит Нвидию (но сейчас уже вряд ли, она сильно разжирела).
1125 438611
Залейте прошлый тред на архивач кто умеет, плис, пока его не смыло.
1126 438613
>>438611
Там две кнопки нажать, возьми и залей.
1127 438619
>>397766 (OP)
МК-холоп, мечтающий хотя бы немного научиться в ПЛИС и понять работу процессора репортинг ин.

С одной стороны, мельком я понимаю(на уровне, достаточном для проганья мкшек) устройство микропроцессора, разные виды памяти(flash, ram), что такое бутлоадер, dma, как работают разные регистры сдвигов или как работает uart.

Но с другой, прогаю я на си, собрать регистр или суматор из простых элементов не смогу, что такое архитектура процессора или набор команд, стек, регистр статуса, cisc, risc, mips я вообще не понимаю, что это и зачем, для меня это просто слова. Т.е., скажем так, я работаю с API и набором функций, которые читаю в даташите/описании либы, а что происходит "под капотом" мк для меня "магия".

Конечно, профи по ПЛИС я не стану(этому надо учиться в вузе на соответствующих специальностях), но смогу делать разные поделки на плисках как хобби + наконец-то начну понимать, как внутри работает проц.

Итак, как вам мой план?
1. Прохожу книгу "Код" Петцольца, и параллельно собираю разные триггеры и сумматоры на листочке/ в симуляторе на пеке из логических элекментов.
2. Прохожу книгу "Цифровая схемотехника и архитектура компьютера" Харрис и Харрис, покупаю ПЛИС и простенький логический анализатор/осцилл, делаю упражнения из книги на verilog/vhdl и проверяю на живой ПЛИС, и рано или поздно разрабатываю на плис простеньки процессор с переферией и набор команд и прерываний для него.
1128 438620
>>438619
пройди https://marsohod.org/projects, а теорию будешь учить по мере необходимости
1129 438623
1130 438638
>>438613
Ну вот и нажал бы, разговоров больше.
1131 438639
>>438619

>Итак, как вам мой план?


3. Штудировать ютуб. Начать можно отсюда
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
1132 438640
>>438623
Дичь какая-то. Похоже чувак какую-то нейросеть запилил по созданию прошивок.
1133 438647
>>438623
Это вопрос самомодифкации кода? Только старшие ПЛИС могут менять сами себя и то только на уровне внутреннего порта программирования.

Видимо он сидел и прошивал все 3000 итераций, сгенерированных на компе.

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

Ничего кардинально интересного реализация в железе здесь не даёт. Даже если он сделал так, что ПЛИС сама меняет каким-то образом свое поведение за счёт дополнительного слоя абстракции, например сделал дохуище мультиплексоров соединённых с памятью (по сути ПЛИС внутри ПЛИС, но уже с возможностью менять себя в реальном времени), то это мало чем отличается от симуляции.
image.png3,8 Мб, 1910x1000
1134 438652
>>438647

>по сути ПЛИС внутри ПЛИС, но уже с возможностью менять себя в реальном времени

master-49423852-d7a72d6cdf00e75600223ec23c47c5e2.jpg20 Кб, 640x480
1135 438655
>>438652
Скорее так.
1136 438701
>>433330 репортинг
Наконец поднялась жопа дошло дело до ебли собственно с кодеками, однако оказалось не всё так просто кто бы мог подумоть, путём многократного прикидывания хуя к носу удалось установить что I2C я реализовал верно, т.к. кодек реагирует на запись регистров (ето удолось понять по переключению напряжения на его аналоговом выход например), но всё остальное делать отказывается. В частности он отказывается работать в мастер режиме, когда на выходах должны быть сгенерированы 2 частоты сэмплинга. Диагностика осложняется так же тем, что пайка в qfn формате выполнена кустарно и нет никакой гарантии качества, однако на 2х спаяных платах поведение одинаковое. Заказал на всякий случай QFN сокет, если совсем пизда дурная голова ногам покоя не даёт, хуле, но пока у меня осталась только одна гипотеза - кодеку не нравится клок, самонадеянно сгенерированный внутри FPGA добавление ODDR не помогло, на вид у него довольно таки дохуя гармоник, и фронт вялый. Успокой меня анончик, подтверди эти выводы?
Завтра попробую подключить внешний кристал.
1137 438714
>>438623
Дай угадаю, там рассказывают байку про ПЛИС, которую заставили изображать из себя таймер
1138 438723
>>438714
Противник эволюции порвался.
1139 438735
>>438701
ПЛИС даже самая хуевая может 50 МГц на выходе давать. Для I2c по-любому хватит частоты. Проблема софтовая, подключай ChipScope и смотри сигналы.

Попробуй готовый блок с GitHub какой-нибудь.

Напряжения совпадают? В ПЛИС 3.3 В считается много, может там 2.5 В или 1.8 В и нужно согласовать?
Screenshot20201108-204842QuickEdit+.jpg208 Кб, 720x1560
1140 438738
>>438735
Открыл один из первых своих проектов на ПЛИС (то был мост uart - i2c).

Ебать быдлокод. Но учитывая мизерную частоту i2c можно что угодно писать и тайминги сойдутся.
1141 438748
>>438623
Скорее всего прошивка создавалась путём многократного перебора рандомных значений. По типу как на видосе
https://www.youtube.com/watch?v=SfEZSyvbj2w
1142 438757
>>438738
с I2C проблем как раз нет
1143 438759
>>438738
>>438735
Алсо посмотрел схему девборда CDB42448, там тоже для кодека отдельный осцилятор стоит, несмотря на наличие FPGA, так что что-то мне подсказывает что дело все-таки в этом.
1144 438786
>>438759
Ты конечно такой загадочный. Хорошо хоть чип назвал.

У тебя там 50 МГц максимум мастер клок. ПЛИС спокойно его сгенерирует.

1. Регистры неправильно записаны?
2. Клок генерируется от PLL? Там у тебя 45% - 55% требования к коэффициенту заполнения.
3. Напряжения не согласованы? Клок просто не доходит.
image.png44 Кб, 802x367
1145 438805
>>438786
В датащите уровень описан как 70% от 5v, т.е. вероятно не доходит. Хотя I2C доходит. Регистры чекал уже тыщу раз. Регистр, переключающий VQ Ramp (кодек у меня CS4244, если чо) по крайней мере действует, напряжение на ноге меняется. Чтение регистров пока лень делать было. Щя раздобуду USB I2C, потыкаю как следует.
Выходит, нужно будет пикрил приделать?
1146 438806
Повтыкал, в общем придется затариваться деталями опять.. Пиздос как сложно всё.
1147 438807
А хотя, блет, падажжи, можно же просто на VL 3.3 пиздануть...
1148 438824
>>438805
Нет, пикрил не подходит для больших частот, потому что подтяжка очень медленная вещь. Чтобы она работала на высоких частотах, нужен маленький резистор (постоянная времени как известно R x C, соответственно частота 1/(RC)) который просто закоротит порт.

Нужен полноценный драйвер, чтобы вверх напряжение тоже успевало вырастать. Самый простой вариант txs0108, на 3.3в он до 100 МГц (по даташиту).
Но есть и более профессиональные микросхемы, вот кусок схемы виртекса-6.

>>438807
Попробуй.

Так PLL задействован? Без PLL будет работать наверное, но с ошибками из-за джиттера.
16049349431410.jpg744 Кб, 996x1080
1149 438878
>>397766 (OP)
Чо правда, что вашими потешными микросхемами можно обрабатывать данные на скоростях в несколько Gb/s? Или они начинают стоить как спутник GPS?
1150 438886
>>438878
Даже у старого pci порта скорость 32х33= 1056 Мб/с. Сегодня даже телефон может принимать такой поток и что-то с ним делать.

Вопрос в сложности вычислений.
1151 438895
>>438824
3.3 не помогло
Тут я всмомнил что моя фпга может и сама выводить сразу 5в, но это тоже не помогло.
В клоквизорде стоит опция MMCM.
Попробую поменять на PLL.
В общем где-то закралась фундаментальная хуета, чую придется ждать сокета, чтоб уже быть уверенным хотя бы в том что микросхема в норме.
1152 438905
>>438895
Mmcm это тот же pll, не надо.
1153 438915
>>438905
В общем я от безысходности подключил i2c scan с ардуины, и всё дико нагрелось сгорело нахой ))), теперь и на сигналы от FPGA не реагирует. Осталось ещё пара чипов в запасе.
1154 438917
>>438915
Напряжение из розетки на них подай, а то какая же это безысходность.
1155 438918
>>438917
Я начинаю в таких случаях ножом резать ножки микросхем под корень пока не останется ровный квадратик. Очень успокаивает, рекомендую.
16047534738140.jpg24 Кб, 820x413
1156 438919
>>438917
И часто у тебя такие мысли?
16047534738140.jpg11 Кб, 445x413
1157 438921
1158 438922
>>438918
У QFN нет ножек, они эволюционировали
1159 438926
>>438915
Давай ты внесешь ясность: либо подключай чипскоуп и показывай сигналы, либо запускай симуляцию и показывай сигналы.

Подключай готовый рабочий i2c и показывай нам регистры ошибок.

Показывай, как ты соблюдаешь процедуру старта.
1160 438935
>>438611
>>438613
>>438638
Схоронил
https://arhivach.net/thread/630902/
Добавьте в шапку на следующем перекате.
1161 438975
>>438926
Ето всё соблюдается.
1162 438993
>>438975
Ясно.
1163 439041
Господа, как исправить: есть код на верилоге написанный с помощью конструкций "forever begin", но компилироваться оно не хочет. Я так понимаю. нужно перейти на "always". Но как быть с присвоениями значений?

Например, как в этом цикле сделать счетчик, который меняет значение регистра i?
1165 439076
>>438993
Регисторы я только пока не читал, но там всего то 3 флажка. Клок еррор в мастер режиме не может происходить, сериал еррор тащемта тоже. VQ Ramp переключается, аки на I2C есть (правда вялые какие-то хз, в чем дело, может драйвер слишком мощный). Это разве что если в суппорт письма писать... Прочие регистры можно конечно попробовать повтыкать.
1166 439077
>>439045
always @( posedge clk ) i <= i + 1;

assign..
1167 439090
>>439041
>>439045
Во-первых, у always-блока должно быть тело
always @(posedge clk)
begin
...
end

Во-вторых, assign внутри always-блока писать нельзя.

А вообще наверни этот плейлист
https://www.youtube.com/playlist?list=PL4UMfOeGYsvblwrP3VYKHq11xgkxVqoUj
1168 439094
>>439090

>Во-первых, у always-блока должно быть тело


Не совсем так. begin-end нужны для объединения в один блок, а если statement только один, то ничего такого не нужно. Вот, анон выше правильно написал >>439077

>А вообще наверни этот плейлист


Вредные советы.
1169 439096
>>439094

>begin-end нужны для объединения в один блок


Да, но начинающим лучше этим голову не морочить.

>Вредные советы.


Что это? Вполне годный контент, мне самому хорошо помог в свое время.
1170 439109
>>439096
Тогда нужно уж и про резет пояснить для полноты картины
1171 439113
>>439077
>>439090
>>439094
Спасибо большое аноны, особенно полезно что у олвес должно быть бегин энд для объединения нескольких стэйтмент!
1172 439121
А может кто знает, почему в ISE Design Suite, из семейства, например, virtex5, можно выбрать только несколько процессоров?
1173 439124
>>439121
Пушо всё что ex то всё в вивадо.
1174 439125
cs4244-хуй репортинг.

Собрал яйца в гулаг, надрочил I2C с ардуины с пулапами.
Микросхема начала генерировать сигнал!
Не воспринимались команды судя по всему, из-за того что я не удлинял первый такт I2C клока. Втф из тхис щит, нигде не написано.
Тайминги в датащите об этом ничего не говорят. Вобщем, как обычно.

Однако настоящей глыбой является Cirrus Logic - работает даже после пригорания с дымком!
1175 439126
Жаль одебилевщий осциллограф не хочет записывать файл на флешку, т.к. я удолил там его папку. Видмио пишет в удаленную пидор. Мир не совершенен.
1176 439158
>>439124
Вивадо не существовало до 7 поколения. Не неси чушь.
Screenshot20201112-110103QuickEdit+.jpg231 Кб, 720x1560
1177 439163
https://inst.eecs.berkeley.edu/~cs150/Documents/Interfaces.pdf

Это единственный документ, который научил меня писать простой понятный быстрый (333 МГц параллельный FFT на virtex 6) код.

Вообще не понимаю, что там можно смотреть >>439090 чуть ли не целые сутки. Основы языка помещаются на листе А4, а все остальное без практики пустой звук. Лучше читать чужой код.

Уходя в сторону, лично я гораздо больше получил опыта изучая и используя проект litex https://github.com/enjoy-digital/litex (который на питоне), чем все остальные игры с сигналами. Пока вы сидите и разбираетесь, как объявить сигнал в верилог (или не дай бог vhdl ебал в рот его создателя), там люди сходу объявляют структуры из сигналов, пишут периферию, отлаживаются через uart или ethernet (или PCIe но это я не пробовал).

Проект сам сгенерирует вам констрейны .ucf или вивадовские или квартовские по желанию.
Нужно только один раз вбить описание вашей платы. Миграция между платами и между семействами ПЛИС гораздо проще.

На питоне можете хоть синус, хоть порно заливать в прошивку и строить графики, в отличие от верилога где вычислить триг. функцию это задача для сеньёра, а о графиках можно только мечтать.

> Ряяя питон в ПЛИС ты долбоеб


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

> ряяя у меня весь код на верилоге/vhdl


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

Например первое что я сделал это написал обёртку для PLL. Теперь у меня всех платах генерация частот выполняется одинаково в одну строчку.

> inst.CRG(100e6,"sys")


Вы видели когда-нибудь "100е6" в верилоге? Конечно нет, ведь его хуй синтезируешь. Ты обязательно должен писать 1000000000 в настройках в лучшем случае, к чаще вообще коэффициенты.
А в питоне просто округляешь дальше и все.

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


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

Вы знаете сколько сигналов в GTX мать его приемопередатчике? Там под 500 строк только установка этого модуля! (Пик 1)
А шины как установить, а процессор? Там тоже несколько сотен сигналов, вы заебетесь их назначать по одному.
Именно в таких случаях становится просто необходимо часть сигналов присвоить здесь, часть в другом блоке, чтобы не мешать в кучу.
Поэтому просто пишешь функцию подключатель шины и соединяешь все сигналы в одну строчку.

Вы же не будете припаивать процессор в свой компьютер по одной ножке в сокет? Вы просто вставите весь проц сразу. Так делайте так же и в ПЛИС. Подключайте шины целиком.
Screenshot20201112-110103QuickEdit+.jpg231 Кб, 720x1560
1177 439163
https://inst.eecs.berkeley.edu/~cs150/Documents/Interfaces.pdf

Это единственный документ, который научил меня писать простой понятный быстрый (333 МГц параллельный FFT на virtex 6) код.

Вообще не понимаю, что там можно смотреть >>439090 чуть ли не целые сутки. Основы языка помещаются на листе А4, а все остальное без практики пустой звук. Лучше читать чужой код.

Уходя в сторону, лично я гораздо больше получил опыта изучая и используя проект litex https://github.com/enjoy-digital/litex (который на питоне), чем все остальные игры с сигналами. Пока вы сидите и разбираетесь, как объявить сигнал в верилог (или не дай бог vhdl ебал в рот его создателя), там люди сходу объявляют структуры из сигналов, пишут периферию, отлаживаются через uart или ethernet (или PCIe но это я не пробовал).

Проект сам сгенерирует вам констрейны .ucf или вивадовские или квартовские по желанию.
Нужно только один раз вбить описание вашей платы. Миграция между платами и между семействами ПЛИС гораздо проще.

На питоне можете хоть синус, хоть порно заливать в прошивку и строить графики, в отличие от верилога где вычислить триг. функцию это задача для сеньёра, а о графиках можно только мечтать.

> Ряяя питон в ПЛИС ты долбоеб


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

> ряяя у меня весь код на верилоге/vhdl


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

Например первое что я сделал это написал обёртку для PLL. Теперь у меня всех платах генерация частот выполняется одинаково в одну строчку.

> inst.CRG(100e6,"sys")


Вы видели когда-нибудь "100е6" в верилоге? Конечно нет, ведь его хуй синтезируешь. Ты обязательно должен писать 1000000000 в настройках в лучшем случае, к чаще вообще коэффициенты.
А в питоне просто округляешь дальше и все.

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


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

Вы знаете сколько сигналов в GTX мать его приемопередатчике? Там под 500 строк только установка этого модуля! (Пик 1)
А шины как установить, а процессор? Там тоже несколько сотен сигналов, вы заебетесь их назначать по одному.
Именно в таких случаях становится просто необходимо часть сигналов присвоить здесь, часть в другом блоке, чтобы не мешать в кучу.
Поэтому просто пишешь функцию подключатель шины и соединяешь все сигналы в одну строчку.

Вы же не будете припаивать процессор в свой компьютер по одной ножке в сокет? Вы просто вставите весь проц сразу. Так делайте так же и в ПЛИС. Подключайте шины целиком.
1178 439183
>>439163

>бидон


а на жабе есть, чтоб для людей?
>>439121
https://forums.xilinx.com/t5/Design-Entry/Can-t-select-the-Virtex-5-device-I-need/td-p/156984

плоти нологе
1179 439207
>>439183
Жаба компилируемо язык, битон скриптовъ.
1180 439208
Анончик, расскжаи пожалуйста, где можно почитать подробно о использовании плис? То есть, какие лучше, в чем преиущества, почему нельзя некоторые алгоритмы реализовывать на обычных микроконтроллерах, о переспективнвх направлениях и т.д....

Есть ли вообще темативеские сайты об этом? Если знаете, поделитесь плиз
1181 439321
>>439163

>там люди сходу объявляют структуры из сигналов


В vhdl это тоже делается просто

>в отличие от верилога где вычислить триг. функцию это задача для сеньёра


Тоже простая задача для vhdl. Можно спокойно делать rom с синусом, да и в принципе с любой функцией: любая комбинация из тригонометрических, логарифмов, экспоненты и других.

>или не дай бог vhdl ебал в рот его создателя


Просто ты неосилятор, не могущий в абстракции.

А litex с migen то ещё говно.
1183 439332
Не знаю где спросить, спрошу тут, у плисоводов уровень интеллекта всё же повыше будет.
На алишке есть такая ёба
https://aliexpress.ru/item/32821185351.html?spm=a2g0s.8937460.0.0.5bc02e0eXTgUgt&_ga=2.101097603.388267347.1605216794-1050923915.1597244878

У этой ёбы есть ёба- описание
https://dropmefiles.com/IBSWx
Этой ёбой можно управлять по ёба-разъёму. 1 пик - это картинка из ёба-описания, на ней он не подписан (внизу по центру четырёхконтактный разъём).
Есть описание этого ёба-разъёма, судя по всему там какой-то уарт-подобный протокол
https://dropmefiles.com/W9EfH
Какие там напряжения на этом ёба-разъёме я пока не понял, но это сейчас и не важно. Мне больше интересно как считается контрольная сумма, выдержка на пике 2.
Из того что я понял. Сначала заполняем 16разрядный регистр единицами, затем по исключающему ИЛИ добавляем туда байты сообщения, потом, зачем-то, сдвигаем на один разряд в сторону младших разрядов и если выдвинули 0 то ничего не делаем, а если выдвинули единицу то вот тут я уже не понимаю, какую-то фигню пишут. И как у них в результате всего этого 16разрядное CRC получается тоже непонятно. Анончики, прошу помощи зала.
1184 439344
>>439332

>какой-то уарт-подобный протокол


>какой-то


Modbus RTU, дубень. Гугли про него и наслаждайся порядком вычисления CRC
1185 439350
>>439208
Википедия
numericstdconversions.gif37 Кб, 640x479
1186 439351
>>439321

> В vhdl это тоже делается просто


Объявить можно, да и все на этом. Ничего особенного с ними не сделаешь.

> Можно спокойно делать rom с синусом...


Смотри пикрил. Спокойно не получится. Спокойно это питон. А на vhdl нужно ебаться с кодом.

> Просто ты неосилятор, не могущий в абстракции.


Просто ты ничего сам нипесал на своем vhdl, максимум готовое юзал.
А я писал.

> А litex с migen то ещё говно.


Уровень аргументации ясен.
1187 439352
>>439322
Клоун.
1188 439429
>>439351

>Ничего особенного с ними не сделаешь.


В vhdl можно объявить не только записи, состоящие из сигналов, но и операции с ними. Например для работы с комплексными числами можно определить следующую запись:
complex_signed is record
re : signed;
im : signed:
end record;

Для этой записи можно определить операторы "+", "-" и функции abs(), resize(). Тогда работа с комплексными числами значительно упрощается. Пусть объявлены следующие сигналы:
signal a : complex_signed(re(7 downto 0), im(7 downto 0));
signal b : complex_signed(re(7 downto 0), im(7 downto 0));
signal c : complex_signed(re(8 downto 0), im(8 downto 0));
Сумма двух комплексных чисел будет выглядеть просто как c <= a + resize(b, 9);
1189 439438
>>439351

>Смотри пикрил.


И что я там увижу? Функции преобразования типов? Какая неожиданная новость для языка с сильной типизацией. Чтобы избежать многочисленные преобразования типов, нужно правильно подобрать типы для своей задачи и написать свои. Например небольшие счётчики, особенно если они используются селекторами в мультиплексорах лучше сразу объявлять как integer.

>А на vhdl нужно ебаться с кодом.


Нет не нужно. Сильная типизация отсеивает многие ошибки на этапе компиляции.

>Просто ты ничего сам нипесал на своем vhdl, максимум готовое юзал.


Очень сильное заявление. Я писал и пишу очень много того что тебе и не снилось, различные FEC и сложный ЦОС. Так что давай оставим меренье пиписьками.

>Уровень аргументации ясен.


Здесь уже кто-то поднимал тему Litex и я писал что основная проблема - почти полное отсутствие модульности. Сигналы интерфейса модуля размазаны по всему коду и не понятно какие сигналы необходимо завести в модуль. Работа с клоковыми доменами не очень удобна. В Litex pcie не сделали нормальные констрейнты, чтобы он синтезировался без критических ворнингов.
1190 439460
>>439207
Какое это имеет значение вообще здесь?
image.png2,4 Мб, 1280x952
1191 439461
Всё блет, запустился кодек ебучий.
Бтв в режиме double speed & x128 он вообще не работает, в датащите пиздёж, побрутфорсил ардуиной, пришлось поднять клоки.
Радует что платы спроектированы верно (это мои первые платы!), не придется перезаказывать.
Щя добъю основнюу плату для коммутации и збс.
1192 439468
>>439429
А теперь объяви массив комплексных чисел с настраиваемой длиной массива и самих чисел, через генерики.
Ты конечно скажешь, что в 2000 версии добавили возможность передавать генерики в рекорды, но это 1. Костыль, требующий дикой писанины, 2. Работает далёко не везде, потому что везде гарантировано работает только vhdl-93. 93 год карл

А если нужно комплексное умножение разбить на несколько тактов? Заебись тебе поможет написанный с таким трудом код для всех типов?

Вдобавок невозможно сделать одно поле рекорда входом другое выходом. Как следствие макаронный код из разрозненных сигналов.

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

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

Вот объявление комплексных сигналов. Некрасиво, согласен. Но всяко проще чем рекорды где-то в других компонентах и библиотеках.

def cpx_lay(dw):
return [("re",(dw,True),DIR_M_TO_S),
("im",(dw,True),DIR_M_TO_S),
]

А это вычисление умножения за 4 такта с расчетом что система подставит аппаратные умножители. 3-й такт просто задержка. Решетка - комментарии.
Функция (самописная) sync добавляет регистр указанной длины, назначает ему указанный сигнал или выражение и возвращает новый сигнал. comb делает то же самое без регистра.

#--complex multiplication in 3 real multiplications
#--re(bw) = (b.re - b.im)w.im + b.re(w.re - w.im);
#--im(b
w) = (b.re - b.im)w.im + b.im(w.re + w.im);

#n:=1;
#--b.re-b.im
#--w.re-w.im
#--w.re+w.im
s1=sync(sink.b.re - sink.b.im,(b_size+1,True))
s2=sync(sink.w.re - sink.w.im,(b_size+1,True))
s3=sync(sink.w.re + sink.w.im,(b_size+1,True))
sink=sync(sink)

#n:=2;
#--s1=(b.re - b.im)w.im
#--s2=b.re
(w.re - w.im)
#--s3=b.im(w.re + w.im)
s1=sync(s1
sink.w.im,((b_size+1)2-2,True))
s2=sync(s2
sink.b.re,((b_size+1)2-2,True))
s3=sync(s3
sink.b.im,((b_size+1)2-2,True))
sink=sync(sink)

#n:=3;
s1=sync(s1)
s2=sync(s2)
s3=sync(s3)
sink=sync(sink)

#n:=4;
#--re(b
w)
#--im(bw)
re_bw=comb(s1 + s2,((b_size+1)
2-2+1,True))
im_bw=comb(s1 + s3,((b_size+1)*2-2+1,True))
#sink=sync(sink)

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

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

>>439438

> Сигналы интерфейса модуля размазаны по всему коду


Это не баг а фича. Любой модуль может получить любой сигнал из другого модуля без изменения entity, которого нет.

> и не понятно какие сигналы необходимо завести в модуль.


Для этого существуют комментарии.

> Работа с клоковыми доменами не очень удобна.


Ох нихуя себе, а в vhdl есть работа с клоковыми доменами?

> В Litex pcie не сделали нормальные констрейнты, чтобы он синтезировался без критических ворнингов.


А в vhdl уже все это сделано?

>>439460
Как ты себе это представляешь? Сначала компилируем Яву, потом из Явы делаем верилог? Зачем?
1192 439468
>>439429
А теперь объяви массив комплексных чисел с настраиваемой длиной массива и самих чисел, через генерики.
Ты конечно скажешь, что в 2000 версии добавили возможность передавать генерики в рекорды, но это 1. Костыль, требующий дикой писанины, 2. Работает далёко не везде, потому что везде гарантировано работает только vhdl-93. 93 год карл

А если нужно комплексное умножение разбить на несколько тактов? Заебись тебе поможет написанный с таким трудом код для всех типов?

Вдобавок невозможно сделать одно поле рекорда входом другое выходом. Как следствие макаронный код из разрозненных сигналов.

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

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

Вот объявление комплексных сигналов. Некрасиво, согласен. Но всяко проще чем рекорды где-то в других компонентах и библиотеках.

def cpx_lay(dw):
return [("re",(dw,True),DIR_M_TO_S),
("im",(dw,True),DIR_M_TO_S),
]

А это вычисление умножения за 4 такта с расчетом что система подставит аппаратные умножители. 3-й такт просто задержка. Решетка - комментарии.
Функция (самописная) sync добавляет регистр указанной длины, назначает ему указанный сигнал или выражение и возвращает новый сигнал. comb делает то же самое без регистра.

#--complex multiplication in 3 real multiplications
#--re(bw) = (b.re - b.im)w.im + b.re(w.re - w.im);
#--im(b
w) = (b.re - b.im)w.im + b.im(w.re + w.im);

#n:=1;
#--b.re-b.im
#--w.re-w.im
#--w.re+w.im
s1=sync(sink.b.re - sink.b.im,(b_size+1,True))
s2=sync(sink.w.re - sink.w.im,(b_size+1,True))
s3=sync(sink.w.re + sink.w.im,(b_size+1,True))
sink=sync(sink)

#n:=2;
#--s1=(b.re - b.im)w.im
#--s2=b.re
(w.re - w.im)
#--s3=b.im(w.re + w.im)
s1=sync(s1
sink.w.im,((b_size+1)2-2,True))
s2=sync(s2
sink.b.re,((b_size+1)2-2,True))
s3=sync(s3
sink.b.im,((b_size+1)2-2,True))
sink=sync(sink)

#n:=3;
s1=sync(s1)
s2=sync(s2)
s3=sync(s3)
sink=sync(sink)

#n:=4;
#--re(b
w)
#--im(bw)
re_bw=comb(s1 + s2,((b_size+1)
2-2+1,True))
im_bw=comb(s1 + s3,((b_size+1)*2-2+1,True))
#sink=sync(sink)

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

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

>>439438

> Сигналы интерфейса модуля размазаны по всему коду


Это не баг а фича. Любой модуль может получить любой сигнал из другого модуля без изменения entity, которого нет.

> и не понятно какие сигналы необходимо завести в модуль.


Для этого существуют комментарии.

> Работа с клоковыми доменами не очень удобна.


Ох нихуя себе, а в vhdl есть работа с клоковыми доменами?

> В Litex pcie не сделали нормальные констрейнты, чтобы он синтезировался без критических ворнингов.


А в vhdl уже все это сделано?

>>439460
Как ты себе это представляешь? Сначала компилируем Яву, потом из Явы делаем верилог? Зачем?
1193 439499
>>439468

> Сначала компилируем


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

>зачем


На жабе уберлегко программировать, декомпозировать, оптимизировать и т.п.. если прокачан скил ООП бгг. Но одебилевшие дауны любители "скриптования" например используют в джава билдах гредл яхуею с таких вообще, пиздос, в языке с манагед памятью делать второй язык, почти такой же блед, под который только нет нихуя нормальных сред для автозаполнения и хуй че поймешь как писать, с красными глазами на эту ебанину смотреть только, и всё только потому, что стоит в голове какая -то галочка про скрипты, зачем так жить, типизация и компилякр резко снижает количество ошибок до нуля. Можно отточить качество без ограничений. Скорость развитие проекта будет моё почтение.
1194 439544
>>439163
Чем эта хрень лучше HLS?
1195 439557
Квартус 20.1 не показывает где ошибки только какое их колличество. Кто сталкивался и что я делаю не так?
1196 439574
>>439557
Скрин давай.
1197 439575
>>439344
https://modbus.org/docs/PI_MBUS_300.pdf
Пиздец какой-то. В трёх местах написано как считать и везде по разному.
Снимок.PNG50 Кб, 1706x436
1198 439599
1199 439651
>>439599
Так у тебя всего одна ошибка и 4 ворнинга. Твой модуль "шаги" не определён. Такое обычно бывает когда имя модуля верхнего уровня в Верилоге(, а может и в ВХДЛ тоже,) несовподает с названием файла в котором он сдержится. Имена одинаковые сделай.
1200 439677
>>439651
Святой ты человек. Регистр учитывать нужно?
1201 439693
>>439677
Вроде да, проверь.
1202 439703
>>439461
Так настраивай эти свои клоки быстрее, чего ты ждёшь, Болдуин?

> в датащите пиздёж


Такого быть не может. Разве что есть errata со списком обнаруженных ошибок "особенностей" микросхемы, прилагаемая к даташиту/референс мануалу, но для ПЛИС errat-ы не делают, как мне кажется.
1203 439745
>>439677

>Регистр учитывать нужно?


В верилоге нужно, в вхдл нет.
1204 439757
>>439703

>настраивай эти свои клоки быстрее


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

>Такого быть не может


Ты скозал?
В любом датащите есть ошибки, и всем пох.
В датащите FT600 клок нарисован вверхногами, только колупание чужих и референсных исходников помогло понять реальное положение фазы клока.
В датащите CS4244 - неработающий режим double speed x128, некорректное описаное I2C.
По дороге нашел проект на другой кодек cirrus, cs43.. че-то там, там разные разработчики жаловались на то что надо подрочить резервный бит в регистре, и только тогда достигается работоспособность, притом что саппорт производителя категорически отрицает такую возможность. Итого как минимум 1 ошибка на продукт. Да что далеко ходить, неоднократно был свидетелем некорректной работы ГОСТ сертифаед 24/7 оракл интерпрайза например, полностью ломающего транзакционность и корректность обновления данных, или напрмер тупой баг когда агрегаты с кейсом можо сортировать по возрастанию, а по убыванию возникает интернал еррор - и это продукт с историей, репутацией и сертификатоме. Мир полон нелепого говна и говноделов. Так что пока ты юноша верующий в швитых производителей - не пиши.
1205 439972
1206 440178
>>439544
Ничем, это вообще другое.
1207 440180
>>439468
Ты профессионально ПЛИСами занимаешься?
1208 441012
Тупого вопроса пост:
Можно ли в функции вызывать мегафункции квартуса?
1209 441015
Почему физлицам zynq-7000 без вопросов возят к нам, а us+ нет? Ведь у обоих есть аппаратное шифрование.
1210 441061
>>441015
Предположу, что в зынк7к гебне дали доступ к бекдору, а в усп — нет.
1211 441065
>>441061
Какой бекдор? Там обычный аппаратный AES (+ SHA еще что-то наверное), который обязан работать идентично любому другому AES, хоть программному, хоть аппаратному. Или ты про бекдоры, требующие физический доступ к устройству?

>>441012
Может быть я что-то не понимаю, но мегафункции это обычные модули. А разве можно засовывать модули в функции?
1212 441066
>>441061
Либо они тупо пропустили его, как всегда. Я так понимаю цинк-7000 более новое семейство, все просто забили.
1213 441124
>>441066

>Я так понимаю цинк-7000 более новое семейство


Нет.
1214 441426
>>397766 (OP)

>3 пик


Молодежь пошла ленивая. Ты сначала лаборантом/техником отработай поучись у мужиков уму разуму. Через три - четыре года получишь должность инженера 3 категории. Через еще пять лет имеешь право на повышение категории. К сорока годам станешь ведущим. Вот тогда и будешь себе требовать зарплату 80 тысяч как у опытных мужиков. Мужики опытные по 12 часов работают как говориться от забора и до упора. И не ленятся. А молодежи нужно зарплату чтобы минимум была 40 тысяч. Мы в советские времена не за зарплату работали. А знали что надо. Бывало закончишь наладку схемы в 9 часов вечера и ложились спать в кабинете у осциллографа с ЭВМ, а утром в семь часов уже опять вставать на работу.
1215 441428
>>441426

>Через три - четыре года получишь должность инженера 3 категории.


А как же должности техников 1-3 категорий и младший инженер?
мимо техник-инженер-ведущий
1216 441457
>>441426

>говориться


Смотрите, школьник-недоучка рассуждает о стаже и зарплате опытных мужиков
1217 441469
>>441426
Нахуя это говно в плисотреде? Съеби в питушатник
1218 441556
>>441426
Пошел нахуй отсюда, дрищара
1219 441746
Реально ли достать террагерцовый генератор клока в РФ?
1220 441747
>>433409
Работал в 2013г в aldec, мы уже тогда пилили поддержку system verilog для линтинга. Судя по тому, что алдек плелся в хвосте инноваций, то ксайлинксы и альтеры должны работать с ним. Но это мое вангование
1221 441748
>>433409
Xilinx начиная с вивады (7 серия)
Альтера чуть раньше, с 5 точно
1222 441749
>>433411
Есть примитив ALITIO... че то там, что бы указать явно.

но можешь присваивать выходу Z состояние, может скомпилируеться :)
1223 441787
>>397766 (OP)
Все fpga сычи сидят в телеге @fpgasystems
1224 441792
Как брутальные плисоводы пишут автоматы?
Я понимаю, что простые автоматы на 3-5 состояний можно написать и так, но если состояний штук 15? Рисуется классический граф с кружочками и стрелочками и по нему уже пишется код? А если у нас входных сигналов штук 20 и соответствующее количество переходов, то даже граф будет весьма запутанным. А если у нас выходных сигналов тоже много, то код будет на сотни строк. Как быть?
1225 441793
>>441787
Миша, плес.
1226 441807
>>441792
По-моему такие кейсы это бэд дизайн бай дефолт, проще подумоть и переделать
1227 441830
>>441807
А если свой протокол поднимаешь, например?
1228 441831
>>441792

>А если у нас входных сигналов штук 20 и соответствующее количество переходов, то даже граф будет весьма запутанным.


В смысле, из каждого состояния есть 20 вариантов переходов? Обычно есть варианта-три четыре, типа "остаться здесь", "перейти на следующее состояние", "перейти на обработку ошибки/начать сначала".
1229 441835
>>441792
брутальные - используют модули и абстрагируют логику ровно так же, как это делают программисты на высокоуровневых языках
1230 441841
>>441830
Свой протокол нельзя нормально задизайнить?
1231 441846
>>441807
Ну хз как переделать. Софтпроцессор поднимать? - излишество. Да и если таких автоматов в проекте штук 5, то что, 5 Ниосов поднимать?

>>441831

> смысле, из каждого состояния есть 20 вариантов переходов?


Не, не 20 конечно, переходов 5-7 в среднем, но всё равно автомат до шиша большой и сложный получается, когда таких состояний штук 15.

>>441835
Вот здесь не понято.
1232 441847
>>441841
Есть у тебя в протоколе 20 типов сообщений с разными индукторо идентификаторами, но 1-2 црц. Как будешь поступать? Сократить кол-во сообщений не вариант.
1233 441861
>>441846

>Вот здесь не понято.


Часть состояний можно инкапсулировать в более мелкий автомат. Получится один главный fsm, оркестрирующий более мелкими, которые выделены в отдельный модуль. Ну и 20 входных сигналов, если там не буфер, тоже не ок вообще-то
1234 441864
>>441861
Это не всегда может сработать.
1235 441869
>>441846
Протокол в студию.
1236 442117
Хочу заказать изготовление чипа на пластине на каком-нибудь TSMC или аналоге. Посоветуйте литературу или другое чтиво, где можно узнать в деталях, как это происходит. Особенно интересно, как делается тестирование на дефекты, когда еще пластина не разрезана на отдельные чипы. Это мне нужно отдельно изготовить тестовую плату и отправить им? Или надо им отправить дизайн тестовой платы вместе с дизайном чипа?

Алсо, поясните за ПО, которое генерит transistor-level схему под целевую технологию и техпроцесс. Это доступно рандомному мимокрокодилу или там лицензия стоит под 10к долларов?
1237 442118
>>442117

>Хочу заказать изготовление чипа на пластине на каком-нибудь TSMC или аналоге.


Ты же в курсе, что енти чуваки меньше чем за несколько миллиардов долларей даже не взглянут в твою сторону? А с несколькими миллиардами поставят тебя в конец многокилометровой очереди которую не переживут даже твои внуки
1238 442119
>>442117
Ищи комьюнити, где народ скидывается и заказывает свои кристаллы на одной пластине, у них же и спросишь требования.
Но я слышал, с русскими больше не хотят сотрудничать
1239 442122
>>442118

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


Сомневаюсь. Во-первых никто не делает серийное производство без выпуска тестового чипа, соответственно существует MPW, во-вторых им вообще похуй, производство автоматизировано, в оборудование надо только пластину подать, а в управляющий компьютер отправить шаблон схемы. Через 3 месяца на выходе появится напечатанная пластина, которую и отгрузят заказчику в специальном боксе. Нарезка пластин - это один из этапов packaging, делается на отдельных фабриках.

>>442119

>Но я слышал, с русскими больше не хотят сотрудничать


Коммьюнити или TSMC? А почему?
1240 442146
Анон, есть ли айпикор эзернета, чтоб можно было подключить rxd, txd, клоки и всякие дата рели и валид и получать себе спокойно данные и отправлять их, не ебя себе мозг акси шинами и прочими gmii управлением? Это, наверное что-то типа pcs-pma корки плюс интерфейс хотелось бы. Подразумеваем, что на плате распаян контроллер сети или какой-то сфп свисток будет подоткнут.
ravenanno2.png1,2 Мб, 1032x905
1241 442153
>>442117

> Алсо, поясните за ПО, которое генерит transistor-level схему под целевую технологию и техпроцесс. Это доступно рандомному мимокрокодилу или там лицензия стоит под 10к долларов? >



http://opencircuitdesign.com/qflow/

>This small 32-bit processor was designed for embedded mixed-signal applications and has a 100MHz internal clock. The RISC-V processor core has over 20,000 gates, synthesized by yosys, placed and routed by graywolf and qrouter, and validated by vesta static timing analysis. It was a first-time silicon success triumph for open-source EDA tools.

1242 442165
>>442122
Откуда ты взял 3 месяца?
1243 442179
>>442165
Да, ошибся. 3 месяца - то про другое.
1244 442204
Поясните за дельтацикл в моделсиме.
1245 442227
>>442117
Где то на electronix была тема про дизайн-центр, глянь там.
Обратись в какой-нибудь местный универ/дизайн-центр, в общем случае без нескольких миллионов/десятков миллионов рублей там делать нечего. Тестируют пластины на зондовой станции. Пример ПО - cadence virtuoso, для техпроцесса надо получить pdk фабрики, заключив с ними соглашение.
Asic нужен, если у тебя идут неебацца крупные серии сотнями тысяч/миллионами штук, для малых тиражей определенно лучше ПЛИС/ПАИС+дискретка.
1246 442391
>>442227
Спасибо да ответ. А что такое ПАИС и дискретка? А то гуглится оче плохо

>если у тебя идут неебацца крупные серии сотнями тысяч/миллионами штук


чипов или пластин?

>Тестируют пластины на зондовой станции


На этапе packaging? Как происходит взаимодействие с фабрикой? Буду очень признателен, если ты напишешь в деталях весь производственный процесс выпуска ASIC от разработки до упаковки.
1247 442408
>>442204
Нежели в моделсиме никто не работает?
1248 442420
>>442391

>А что такое ПАИС


Название этого треда.
sage 1249 442438
>>442391

>ПАИС


Программируемые аналоговые интригальные схемы
1250 443118
Привет аноны, помогите разобраться. Я так понимая в ПЛИС xilinx virtex5 есть аппаратный последовательный интерфейс. Как мне до него добраться? Где почитать про то, как через него данные выводить?
1251 443141
>>443118
https://www.xilinx.com/support/documentation/user_guides/ug198.pdf
Странный вопрос. Если оно тебе действительно было бы нужно, то ты бы самостоятельно открыл документацию (по этой ссылке). А так выглядит будто студенту дали такое задание. Вот разобраться в этой документации это уже куда сложнее чем загуглить документацию.
1252 443142
>>443141
Так и есть, студенту дали задание. Спасибо за ссылку, видел этот документ, но как понял он работает только с 20-ти битными данными, поэтому почти сразу отмел его, так и не поняв для чего он. В этом моя ошибка
1253 443216
>>443142
тогда съеби отсюда студень ебучий...
нафиг вы все лезете и демпингуете и без того маленькие зп у плисовиков??
и помагать ему еще за это, лол
мимо профи
1254 443235
>>443216
Почему так? У кого как не у вас большие зп
1255 443244
>>443235
Ой, бля, дошеслась отрыжка с зассатого гос предприятия.
Учи английский и все будет заебись.
И отдемпингуй этого мудазвона по самые уши :)
1256 443272
>>443244

>Учи английский и все будет заебись.


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

>с зассатого гос предприятия.


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

>И отдемпингуй этого мудазвона по самые уши :)


да кого он будет демпинговать, такие тупые зумерки у нас даже собес не пройдут, потому что ничего не умеют а хотят по 25к получать, а западному барину они тем более не сдались пускай лучше сразу в макдак идет
1257 443280
Вопрос проходящего мимо: можно ли на дешевых девкитах, продающихся на Али в районе 10 баксов, типа Циклона 6, сделать свое личное АЦП+ЦАП в одном флаконе?

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

>>443272
Я не вникал в ваши срачи, но читать твой пост крайне неприятно, так как ты показываешь не только отсутствие английского языка, но и русского.
1258 443287
>>443272

>а английский мне зачем? ... переводить я и гугл транслейтом могу


Чтобы доки свободно читать и понимать без гуглтранслейта, так тупо быстрее.

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


Ну так подтяни скиллы и перейди на другую.

>>443280

>типа Циклона 6


Ты имел в виду или Циклон 4/5 или Спартан 6.

>Хочу запилить компрессор звука, примитивный, но шобы в реалтайме


Должно хватить.
1259 443300
>>443280
Можно запросто. Если нужен АЦП/ЦАП можно сразу кодек CS заюзать.
мимо >>439461 хуй
1260 443302
>>443272

> а английский мне зачем? все равно зп не поднимят за знание английского


Проиграл с уебка, с английским ты сможешь заключить контракт и работать по ВЭД с зарубежными дядьми сразу за деньги.

>гугл транслейтом могу


гугл транслейт слабо может в пассивный залог и деепричастный оборот, который в техдокументации используется очень мощно. Это надо осознавать и уметь читать бегло.
1261 443303
>>443280
Алсо вот https://hackaday.io/project/7041/logs?sort=oldest проект интересный, не ПЛИС правда, но на 4-6 каналов даже производительности хватило.
1262 443304
даже на 8 - 8
>>443303
фикс
1263 443322
>>443302
Можно оставить эти разборки уровня /hw за пределами этого треда? Тут место приличное, тут вам не это
1264 443336
>>443272
Мда, зашел написать что погарячился, но передумал
Родители виноваты в том что ты жрешь дерьмо, ну да...
Можешь гнить в шараге сколько тебе хочеться, но не ставь себя пример молодым специалистам, пожалуйста.

П.С. Всегда с радостью помогу молодым специалистам. Делаю это тут часто.
1265 443346
>>443272

>если закончил топвуз дс или вуз в европе то тогда будешь работать на какой-нибудь интел, а если замкадскую парашу то ничего кроме зассатого гос-предприятия и не светит


Братан, это не так. Закончил обычный вуз в Харькове, у нас преподы выполняли подряды интела на верификацию, а выпускники вполне себе работают во всяких интелах и амуде. Плюс справедливости ради, в вузе ты помимо схемотехники должен был изучать архитектуру эвм и программирование. Так что нет никаких причин гнить за 20к в нии, можно просто пойти работать джавомакакой и получать 100к на старте (в дс). А через пять лет выйти на 300к. Тебе шашечки или покушать?
1266 443347
>>443322
Пости приличное. Постинга все равно нет.
1267 443349
>>443336

>Всегда с радостью помогу молодым специалистам. Делаю это тут часто.


Тогда ответь, плес >>442204
1268 443351
>>443349
Пардон, не сталкивался
1269 443356
>>442204
Почему именно в моделсиме? Разве это не к VHDL/Verilog самим по себе на уровне стандартов относится? И по моему воспринимать часто это проще воспринимать как очередность событий, а не какие-то задержки.
1270 443364
>>443356
Спорить с тобой не могу ибо сам в тем плаваю, но насколько понимаю термин "дельтацикл" относится именно к моделированию. Там какая-то тема про то, что моделирование параллельных процессов на ПК невозможно в силу последовательной работы процессора, а потому используется последовательный просчёт состояний элементов за нулевое время в симуляции и разбивается оно на вот эти дельтациклы.
Вот хотелось бы поподробнее, желательно с примерами.
1271 443368
>>443364
Конечно само понятие "дельтацикла" это из симуляторов. Однако симуляторы не должны делать в этом плане ничего выходящего за рамки стандартов VHDL или Verilog. Поэтому наличие или отсутствие дельта-циклов это внутреннее дело моделсима.
1272 443370
>>443368

>внутреннее дело моделсима


Но представление об этом деле лучше иметь всё же. Так результаты работы симулятора становятся более понятны и предсказуемы.
1273 443375
>>443280

>Я не вникал в ваши срачи, но читать твой пост крайне неприятно, так как ты показываешь не только отсутствие английского языка, но и русского.


а на каком языке я по твойму пишу на немецком или на французском ?
ебать даун
1274 443380
>>443336

>молодой специалист


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


пффф)))))
помогай студентишкам сколько влезет, раз делать нечего
1275 443401
>>443370

>результаты работы симулятора


Определяются стандартами языков, а вовсе не дельта-циклами. А если у тебя undefined behavior, то бессмысленно в этом контексте рассуждать о дельта-циклах.
image.png143 Кб, 821x705
1276 443437
>>443302

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


>>443287

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


>Ну так подтяни скиллы и перейди на другую.


Хотите сказать, что 3-й пик из шапки этого треда - это фотошоп?
1277 443450
>>443437
Конечно. fpga-ники это элита технарей - не всякий веб-программист может вкатиться в fpga, но всякий fpga-ник может вкатиться в веб.
1278 443462
>>443450
Элита технарей как раз веб-разработчики.
1279 443463
>>443450

>не всякий веб-программист может вкатиться в fpga, но всякий fpga-ник может вкатиться в веб.


Ошибаешься манюнь как раз наоборот.
1280 443467
>>443463
У веб-макак мозжечка скудного не хватит в параллельные процессы, а уж про метастабильность им что-то объяснять даже и пытаться не стоит.
1281 443637
>>443437
Ну, я тебе скажу что моя ЗП выше самой большой цифры на этом рисунке.

>>443401
Аааааа, говорящее говно из ниица дает мне советы.
1282 443659
>>443637
Может раскроешь свою мысль? Про делта-циклы расскажешь что-нибудь? И зачем нужно о них думать, когда в стандартах верилога о них не упоминается. А так ты просто мерзко выебнулся и все. Очень некрасиво.
1283 443667
>>443659
Я говорю, что нечего комплексовать FPGA разработчикам перед веб. Как эту мысль сообщить по другому я не знаю.
1284 443678
>>443637

>Ну, я тебе скажу что моя ЗП выше самой большой цифры на этом рисунке.


Но ты не из Рашки, верно?
1285 443679
>>443637

>>>443401


>Аааааа, говорящее говно из ниица дает мне советы.


>>443667

>>>443659


>Я говорю, что нечего комплексовать FPGA разработчикам перед веб. Как эту мысль сообщить по другому я не знаю.



Едрить шизик. Ты хоть смотри куда отвечаешь.
1286 443680
>>443467

>параллельные процессы


>метастабильность


Ну почему же, web-ingeners это такие же технари, как и любые другие. Имеют прямое отношение к вычислительной технике, знакомы со стеком TCP/IP, многие ардуинами и малинками балуются как хобби.
Уверен, что за одну лекцию объяснить суть этих понятий веб-разработчику можно.
1287 443682
>>443667

> комплексовать FPGA разработчикам перед веб


Есть смысл комплексовать только по уровню зарплат, ведь у веб-разработчиков (в пределах одной страны, разумеется) зарплаты намного больше.
При том, что по трудозатратам разработка FPGA намного сложнее: надо сидеть с осциллографом, паяльником и генератором сигналов, и прогать железяку непосредственно на рабочем месте, когда веб-макака может сидеть на мальдивах с ноутом на пляже и работать удаленно.
1288 443685
>>443680

>это такие же технари, как и любые другие


Ой ли? Среди этих пруд пруди кто не смог в высшее образование.

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


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

>логические элементы, триггеры


>основы работы транзисторов.


Это же базовый computer science, который должен знать каждый уважающий себя прогер.
В вузе(да что там в вузе, даже в техникуме) образовательные программы программистов начинаются именно с этого и потом уровень абстракции плавно увеличивают до языков высокого уровня.
1290 443687
>>443685
Ого, аж целых 6 лекций на все про все. Непосильная задача
1291 443690
>>443686

>Это же базовый computer science, который должен знать каждый уважающий себя прогер


Лол, блядь, тут недавно (в этом разделе) сразу несколько обезьян доказывали, что им не нужно знать, как компы работают, они хотят быстро научиться, какие кнопки нажимать, чтоб было заебись
1292 443698
>>443467

> а уж про метастабильность


Хосспаде, что о ней можно не понять по первой попавшейся статье в википедии и картинке с шариком на холме между двумя лунками? Концепция явно попроще какого-нибудь шаблона абстрактной фабрики, при всём уважении.
1293 443709
>>443686

>начинаются именно с этого


Но на это все веб-макаки забивают болт.

>>443687
А ещё нужно освоить тулзы, в коих разобраться не так-то просто.

>>443698
Надо не просто понять шарик на холме, нужно понять как эту проблему решать. Все форумы завайпаны вопросом "а как перейти в другой клоковый домен?" хотя, по сути, задача стандартная при понимании принципов работы.
1294 443715
>>443709

>Все форумы завайпаны вопросом "а как перейти в другой клоковый домен?" хотя, по сути, задача стандартная при понимании принципов работы.


Это просто студенты-ньюфаги, ну чё ты. И борются они не столько с метастабильностью, сколько со своим незнанием инструментов. Всё давно есть в готовом виде и помещено в шаблоны кода/IP, даже про шарик знать не требуется.
Аноним 1295 443905
1296 444009
>>443687
Тут анон переборщил, согласен.
Но в осатльном он прав.
ПЛИСо-господа это элита технарей-инженеров.
А веб-макаки - самое дно.
1297 444016
Здарова плисаны.
Кто нибудь работал с Actel/Gowin?
Как у них дела с качеством IDE и емкостью ПЛИС по сравнению с младшими линейками интола?
Стоит ли перекатываться или ну его нахуй?
1298 444039
>>444016
С говин работал, собственно название отражает всю суть.
Иде очень кривая, но зато не перегружена как вивада/квартус. Покупал несколько tang nano со встроенным программатором, пердолинг тот ещё.
1299 444102
>>444009

>ПЛИСо-господа это элита технарей-инженеров.


да нихуя не элита. Обычные технари, сложность во всех инженерных направлениях плюс-минус одинаковая. Серьезный civil engineer напрягает мозг ничуть не меньше, чем серьезный hw-engineer или фулстак гребец.
1300 444132
>>444102
Не знаю как у вас, но у нас плисоведу приходится шарить хотя бы немного во всем, абстрагироваться не получится. Ну либо я просто не похуист и стараюсь смотреть наперед и не ломать систему.
1301 444183
>>444102
Дело не в том что кто-то напрягает мозг больше или меньше, экономисты с юристами тоже свои мозги напрягают. Дело в том что порог вхождения в ПЛИС более высок, это на питоне каждая макака может начать кодить после трёх дней изучения, здесь не так.
1302 444188
>>444183

>это на питоне каждая макака может начать кодить после трёх дней изучения


Сомневаюсь, что за три дня можно осилить что-то вроде Django в должной мере. И это только веб-макакинг, при том что питон используется не только в этой области.
1303 444195
>>444188
Двачаю.
В том же питоне есть data-science и нейросети.
Туда вкатиться еще сложее чем в плис, потому что матан знать надо.
1304 444200
>>444195

>Туда вкатиться еще сложее чем в плис, потому что матан знать надо.


Ну в плисах есть цос, для которого тоже матан нужен.
1305 444201
Итт инженегры открывают, что мир большой и сложный и кроме инженеров есть еще очень много умных, квалифицированных людей
1306 444289
>>444201
Самая сложная работа у плисовиков, разрабов микросхем и тех, кто занимается машин лернинг и нейросетками. Вот там рили рокет сайнс.
Все остальные инжеренрые специальности это детский сад по сравнению с этим.
Screenshot from 2020-12-27 15-51-06.png3,4 Мб, 1798x1642
1307 444294
>>444289
охуительные истории. Передам знакомому материаловеду, что его специальность - детский сад по сравнению с богоподобными плисовикАми.
Нам(программистам) эти плисовики кофе носили, когда я работал над программным продуктом для верификации. И че теперь, плисовики хуже программистов? Лол нет, просто конкретно те спецы - маньки, способные только на написание тестовых кейсов на vhdl/verilog. Или перформанс инженер из оракла, который над jvm пыхтит, он - лалка по сравнению с средним плисовиком?

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

И вообще быть мизантропом - это фу
1308 444300
>>444294
Блядь, с кем я сижу в одном треде?
Надо разделять инструмент и задачу которую решают этим инструментом. Задачи, в любой области, могут быть сколь угодно сложными.
Речь идёт конкретно за инструмент - овладеть ПЛИСами сложнее чем всем остальным, за малым исключением.
1309 444305
>>444300

>Речь идёт конкретно за инструмент - овладеть ПЛИСами сложнее чем всем остальным, за малым исключением.


Нихуя, абсолютно рядовая специальность. Хватит уже насасывать себе ЧСВ, просто открой учебный план по этой специальности и убедись, что из ~40 курсов по специальности к непосредственно проектированию плис относится до 5. Все остальное - математика, алгоритмы и низко/высокоуровневое программирование.
1310 444308
>>444289

>нейросетки


Я с ними на "ты, сука, работать!". И я подбираю коэффициенты для лучшего срабатывания. И обучаю их, снова и снова.
1311 444328
>>444305

>к непосредственно проектированию плис относится до 5


В этом и проблема, шараги и 1/10 не дают того что нужно для того чтобы хотя бы начать работать плисоводом.
1312 444331
>>444328

>В этом и проблема, шараги и 1/10 не дают того что нужно для того чтобы хотя бы начать работать плисоводом.


ага, тайное знание ситхов, передается из рук в руки. Давай так, ты открываешь учебную программу микроэлектронщиков любого топового вуза РФ или мира и говоришь, чего там мало, чего надо добавить и сколько. А то истории одна охуительнее другой.
1313 444334
>>444331
Давай так, ты сам сюда несёшь то что пытаешься доказать, а мы посмотрим. Не знаю как там дела обстоят за бугром, так что неси наши.
Screenshot from 2020-12-27 19-22-44.png470 Кб, 3454x1112
1314 444335
>>444334
Если ты учился по этой специальности как я, то ты можешь по памяти рассказать, какие курсы для плис там преподают. А если не учился, то ты любитель и тебе бы вообще поднимать эти темы.
Вот, например, учебный план на физкеке. Ну и чего тут не хватает?
1315 444336
>>444335
Отставить, проебался с программой. Ща вкину правильную
1316 444343
>>444336
короче хуй знает, как там в физкеке учат микроэлектронщиков, я не нашел хоть сколько-либо приближенной к микроэлектронике программы. Вот тебе программа из светоча науки - MIT. Как видишь, те самые 5 курсов по electrical engineering.
1317 444348
>>444335

>Если ты учился по этой специальности как я, то ты можешь по памяти рассказать, какие курсы для плис там преподают. А если не учился


Я учился в мухосране миллионике по специальности "вычислительные машины, системы, комплексы и сети". Из всех предметов, что хоть как-то можно связать с ПЛИС были теория автоматов (там где графы с кружочками и стрелочками), цифровая схемотехника (там где триггеры, регистры, счётчики, лог. элементы с прочими мультиплексорами) и архитектура процессоров (на примере 8088, кек). Лабораторных работ с использованием ПЛИС не было от слова совсем, это не говоря про изучение Квартуса/Айса, Авалона/Акси, Ниоса/Микроблейза, Сигналтапа/Чипскопа и даже, о ужас, Верилога/ВХДЛя? всё это я осваивал непосредственно работая на месте.
Но я шарагу и не виню, не её это задача учить всему этому, у шараги задача дать теоретическую подготовку.
Так вот моя мысль состоит в том, чтобы освоить всё это, а документация на всё это на буржуйском языке, что добавляет сложности, нужен интеллект и упорство выше среднего по больнице.

>>444343
Я хуй знает что ты принёс и откуда, но не одной аббревиатуры FPGA тут не видно.
1318 444354
>>444348
Подразумевая, что на других специальностях учат тому, что пригодится на работе.
1319 444453
>>444348
Лол. Тоже учился на 230101 (Вычислительные машины, комплексы, системы и сети). Довольно точно описал. Верилог не тыкали. Только на цифровых автоматах в древнющем xilinx ise делали лабы - рисовали схемы и защищали их работу в симуляторе. В железе не делали. Изучали на модели 580ВМ80А.
Знающие могут сдеанонить институт по имени преподов по схемоте - Антик и Жемчужникова.
1320 444571
>>444300
Тут все зависит от уровня - писать простенькие блоки на verilog и моделировать их может любой студент после 3-5 курсов, въехать в цифру и программирование по сравнению с аналоговыми и смешанными системами вообще довольно просто. За рубежом где-то писали, что на обучение цифрового дизайнера asic нужно 2-3 года, аналогового - 5-7 лет, по опыту плюс-минус так и есть.
Я бы отнес к исключениям как минимум разработку аналоговых схем/блоков ИС, мощную силовую электронику, радиосвязь и СВЧ, туда въехать сложнее.
1321 444581
>>443300

>Можно запросто. Если нужен АЦП/ЦАП можно сразу кодек CS заюзать.


Мне нужен в РЕАЛТАЙМЕ, а не когда оно там что-то домеряет, заполнит буфер и отдаст мне.
1322 444591
>>444571

>asic нужно 2-3 года


Звучит как пиздёжь, ибо, как минимум, цена ошибки очень высока.
1323 444594
>>444581
ПЛИС для этого нинужон, сойдёт любой сигнальный процессор.
1324 444639
>>444294

> Или перформанс инженер из оракла, который над jvm пыхтит, он - лалка по сравнению с средним плисовиком?


Да.
1325 444640
>>444591
Цена ошибки высока у разрабов силовой электроники, у который один конденсатор или силовой ключ может стоить, как квартира в замкадье.
1326 444694
>>444639
Проигрунькал с твоего чсв.
1327 444698
>>444640

>силовой ключ может стоить, как квартира в замкадье.


Ты пизди да не запездывайся. Чо это за ключи по 2кк?
1328 444700
>>444694
Прогер на jvm всего лишь пишет программу на процессор, который разработали asic/fpga разрабы-плисовики, понимаешь?
1329 444705
>>444294

>Или перформанс инженер из оракла, который над jvm пыхтит, он - лалка по сравнению с средним плисовиком?


Заебись, аргументируя за сложность программинга, скинул мне jvm, которая пишется под камни, разработанные плисовиками/asic разрабами. Разъебал сам себя. Молодец!

Тот же ПЛИСовик эти процессоры, под которые прогер пишет среду jvm, РАЗРАБОТАЛ, понимаешь? А прогер его всего лишь ИСПОЛЬЗУЕТ. Осознаешь разность масштабов?
1330 444709
>>444640

>ключ может стоить, как квартира в замкадье


Объзмеился с тебя.
А ты представь что будет когда asic-инженер объебётся и ошибку не заметит, а чипов уже наклепают партию размером во многие тысячи единиц, затратив миллионы баксов. Что там квартира, до конца жизни ты, твои дети и внуки в анальном рабстве будут.
1331 444710
>>444705

>Тот же ПЛИСовик эти процессоры, под которые прогер пишет среду jvm, РАЗРАБОТАЛ, понимаешь? А прогер его всего лишь ИСПОЛЬЗУЕТ. Осознаешь разность масштабов?


Оба они по этой логике сосут у мужика с лопатой, который копает песок, из которого потому будут вытягивать монокристалл кремния. Ведь они всего лишь чё-то там делают с кремнием из песка, который этот мужик ВЫКОПАЛ!
1332 444711
>>444698

>кк


Блядь, откуда вы сюда такие лезете? Я ещё понимаю в каком-нибудь маняме-реде так напишут, но тут то?!
1333 444713
>>444711

>2к+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1


>даже уже почти что 2к+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1


>бомбить от кк

1334 444717
>>444713

>>2к+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1


>>даже уже почти что 2к+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1


Что ты высрал?

>>бомбить от кк


>быть технарём и писать "кк" вместо "М"

1335 444720
>>444717
Если у машины пробег 2000км, ты будешь говорить, что её пробег равен 2Мм?
1336 444724
1337 444726
>>444720
Ты тупой или тралишь?
Ты написал 2кк вместо 2000000. Если применяешь подобные сокращения, то применяй так чтобы окружающие кринж не ловили, в /ra/ всё таки сидишь.
1338 444730
>>444726
Словил кринж с тебя, наемник.
1339 444732
>>444700
Плисовики всего-лишь компонуют между собой транзисторы, как обычные водопроводчики, которые потом вытравляются на кристаллическом кремнии. И по сравнению с технологом, который изготавливает пластины с помощью аж 3 химических реакций, плисовики - так, васяны-птушники. А технолог в свою очередь пресмыкается перед богоподобным водителем экскаватора, который песок для пластин подвозит. Мастер аналогий, это ты?
1340 444733
>>444726

>Ты написал 2кк


Это не он, а я написал. Проблемс? Ты так и не предоставил ссылки на ключи и кондеры, ценой в 2 000 000 рублей
1341 444748
>>444732

>Плисовики всего-лишь компонуют между собой транзисторы


Нахуй пиздуй отсюда, школьник.
1342 444750
>>444730
Да что ты такое несёшь.шебм

>>444733

>Это не он, а я написал. Проблемс?


Проблемс написал выше, гуманитарий сраный.

>Ты так и не предоставил ссылки на ключи и кондеры


Про ключи и кондёры писал не я.
1343 444796
>>444748
Плисовик подгорел.
Тушись, паря.
1344 444807
>>444709

>когда asic-инженер объебётся и ошибку не заметит, а чипов уже наклепают партию


Маня не слышала про тестирование на проверку безотказной работы?
Любое устройство перед выпуском проходит тестирование в десятки тысяч часов во всех режимах работы, и там уж ошибка точно всплывет.
1345 444810
>>444807

>точно


Гуманитарий, плз
image.png145 Кб, 824x596
1346 444813
>>444698
Вот маленький IGBT-модуль, 1,5 килограмм веса, за 100к рублей.
https://www.chipdip.ru/product0/9000670385
В сложном электрооборудовании их может быть с десяток, а на электростанциях и подстанциях наверняка силовые ключи намного мощнее и дороже.
1347 444815
>>444813

>за 100к


Во первых - это ЧиД с ебанутыми ценами. У нормальных продаванов по 900 евро от 12 штук. Во вторых - 100к очень далеко от двух миллионов. То что их там десятки, нихуя не значит. Показывай конденсаторы и ключи ценой с квартиру в замкадье или пиздобол!
1348 444820
>>444796
Ты даже не знаешь чем плисовики занимаются. "Компонуют между собой транзисторы" у него, у школотрона сраного, вообще пиздец. Это тебе твоя училка - тётя Срака по информатике в твоей недошколке рассказала?

>>444807

>Маня не слышала


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

>>444810
Сранный гуманитарий решил блеснуть скудным умишкой и поверхностными знаниями перед технарями, но был обоссан. Ожидаемо.
images (1).jpeg4 Кб, 241x209
1349 444822
>>444815
Я не он, но тут тебе никто и ничем не обязан.

Возможно такие ключи есть, скажем, в поездах на магнитной подушке или много-осевых погружных платформах. Но никто не побежит курочить поезд или платформу и убивать людей, только ради того, чтобы предоставить тебе пруфы. Смекаешь?
1350 444823
>>444820
Плисовик, спок.
У тебя транзисторы недрскомпанованы.
1351 444825
>>444720
2Е6
>>444813
Дело не столько в стоимости ключей, сколько в стоимости ремонта кучи промышленных потребителей и тушения потенциального пожара. В случае с транспортом/инфраструктурой вообще можно устроить гуро с несколькими сотнями человек.
>>444807
У кучи широко распространенных чипов есть большие эрраты, нередко баги находят уже конечные пользователи при отладке. Time to market - наше все.
1352 444845
>>444820

>Ты даже не знаешь чем плисовики занимаются. "Компонуют между собой транзисторы" у него, у школотрона сраного, вообще пиздец. Это тебе твоя училка - тётя Срака по информатике в твоей недошколке рассказала?


диагноз по юзерпику от мастера аналогий. Программисты "всего-то" пишут код, используя средства процессора, ну так и плисовик всего-то соединяет логические элементы между собой. Ну потом еще кнопочку нажимает и ему фоточку в транзисторном исполнении умная программка хуячит. Все по твоей логике, максималист мамкин
1353 444860
>>444845
Ты хоть смотри кому отвечаешь. В споре кто больше умственных усилий прилагает программист или плисовик я вообще не участвовал.

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


И снова очередной обсёр.
1354 444865
>>444860
Да тебе и не надо нигде участвовать.
Ты и так победитель специальной олимпиады. По жизни.
14538871279870.webm1,6 Мб, webm,
426x240, 0:22
1355 444893
>>444865
Тушись, манька.
1356 444899
>>444893
После чего? Горишь тут только ты со своим ЧСВ, чушок.
15534329982870.jpg69 Кб, 442x604
1357 444904
>>444899
Обоссан - обтекай.
Талон тебе в придачу.
1358 444926
>>444845
Скачай лучше квартус, лабы для студентов по Verilog/VHDL и посмотри, как там все работает. Или на ютуб зайди. Конечно, там можно напрямую соединять примитивы логики и триггеров, но это неэффективно.
1359 444933
>>444926
Нахуя ты мне это пишешь? То был ответ местному интеллектуалу, у которого программисты jvm всего-то используют инструкции, которые СПРОЕКТИРОВАЛИ! плисовики.
442412101012.jpeg62 Кб, 539x465
1360 444946
>>444904

>нет ты


Ясно.
1361 444968
О, это тут высокочастотники сидят?
Подключать 2 керамических конденсатора последовательно можно если они по напряжению рабочему маловаты?
Никаких приколов от такого лайфхака на высоких частотах работы не будет?
1362 445057
>>444968
А с чего ты собсно взял, что напряжение на каждом будет половина от общего? Конденсаторы не идеально идентичны даже в одной серии
1363 445074
>>445057
Да нахуй мне ровно половина?
Частично сбить напряжения, чтобы перегруза явного не было
Я же не 6 вольт кондёры в выдающую 12 вольт схему собрался ставить.
1364 445404
>>444968
Ну ESR удвоится, например, вместе с напряжением, а тебе зачем?
1365 445461
>>397766 (OP)
Что лучше - DSP или ПЛИС?
1366 445485
>>444968
Лучше один на нужное напряжение.
На ВЧ есть резонанс емкости с паразитной индуктивностью, на частотах выше него импеданс кондера начинает расти, как у индуктивности. У последовательно соединенных ESR и ESL будут в 2 раза больше, соответственно пульсации увеличатся, а максимальная рабочая частота уменьшится. Глянь kemet ksim, чтобы примерно прикинуть для конкретных конденсаторов.
>>445461
Зависит от задачи. Плис лучше подходит для параллельных вычислений, DSP для последовательных.
1367 445590
Наконец то, что-то полезное началось
https://youtu.be/FmvqK5lEwxk
1368 445609
В чем подводные излучения хакрф через усиллки на 20-40дб? Смогу засрать эфир?
1369 445629
>>445609
Тредом ошибся?
1370 445643
>>445629
Да, но все равно у меня ощущение, что в половине ра сидят одни и те же люди.
1371 445680
>>397766 (OP)
Как называется специальность, после которой можно работать ПЛИСовиком, ASIC разрабом?
"Вычислительные машины, комплексы, системы и сети", я правильно понял?
1372 445681
>>445680
"Конструирование и технология электронных средств", но на самом деле похуй, по специальности тебя будут учить КР580, а математика база, которой ты потом будешь пользоваться осваивая актуальные знания по профессии у всех технарей одинаковая.
1373 445685
>>445681

>КР580


не нужная хунта
1374 445690
>>445685
А на чем еще настолько же простом ты предлагаешь обучать студентов? И чем это будет лучше 8080?
1375 445691
>>445690

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


MIPS

>И чем это будет лучше 8080?


Конвейер, RISC.
1376 445693
>>445691
Хорошо, а теперь расскажи, как студенты справятся с заданием написать программу допустим выдачи пилы на ЦАП, потом вручную перевести в машинный код и руками ввести эти коды на стенде? Это при том что до этого они не трогали руками ассемблер.

>Конвейер, RISC.


Чем это лучше для обучения?
1377 445694
>>445693

>Чем это лучше для обучения?


Тем, что оно актуально, ёпт.

>потом вручную перевести в машинный код и руками ввести эти коды на стенде?


Под водовку и картофан.
1378 445695
>>445694
Ты пишешь какую-то ерунду. Если цель лабораторной работы это показать на примере какого-то процессора что там внутри машинные команды, то зачем изощряться? Этот 8080 можно осилить за один вечер при подготовке к лабораторной работе, а потом забыть. Порассуждай еще тут об актуальности.
Студентам еще кучу предметов учить, что им там MIPS или 8080, сколько из тех кто пойдет работать по специальности будет потом касаться MIPS?
1379 445712
>>445680

>"Вычислительные машины, комплексы, системы и сети"


Про принципы синхронного проектирования схем нам именно на этой специальности преподавали. На сколько знаю, на других специальностях такого не рассказывают.
1380 445714
>>445712
Если ты о всяких триггерах, регистрах и счтечиках, т.е. основах на которых все строится, то на радиотехническом факультете на всех специальностях это изучали. Был еще курс о том как строятся всякие ЦОС штуки, такие как БПФ и быстрые свертки, но не на всех специальностях и препод был не то что совсем маразматик, но...
1381 445719
>>445714

>триггерах, регистрах и счтечиках, т.е. основах на которых все строится


Да, но не только о них самих, а ещё про то что нельзя комб схемы ставить на тактовых входах, нельзя обратные связи в кобмб. схемах делать и всё такое прочее. А ещё про автоматы хорошо рассказывали, те что Мили, Мура, как из графа автомата схему получить и тд.
1382 445720
>>445680
Заканчивал в 2005. Да, было что-то такое. И даже курсовая по WHDL была.
Но с нашего потока хуй кто ушел в микросхемостроение.
1383 445722
>>445719

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


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

>и всё такое прочее.


Про асинхронные счетчики например? Было дело, тоже считали для них задержки.

>как из графа автомата схему получить и тд.


Принцип тот же что и при синтезе любого последовательностного устройства, нашел чем удивить.

Но это все ерунда, ничего сложного по сравнению с другими курсами.
1384 445752
>>445690
Если будущих ASIC разрабов и разрабов процессоров - то PDP-11, у него самая простая и лучшая архитектура и набор компанд.
Если специалистов, которые будут разрабатывать устройства на основе МК - то 8051, потому что научившись в этот мк потом без проблем можешь выучить любой другой мк.
1385 445753
>>445720

>Но с нашего потока хуй кто ушел в микросхемостроение.


Почему никто не захотел(не смог?) связать жизнь со столь интересной деятельностью?
1386 445778
>>445722

>асинхронные счетчики


Препод, помню, нас за такое чуть ли не матом крыл.

>Принцип тот же что и при синтезе любого последовательностного устройства


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

>ничего сложного по сравнению с другими курсами


Я не про сложность, а про сам факт наличия. Со мной на работке один поцик работает, он заканчивал ту же шарагу что и я, только радистом, так вот он про такие вещи даже не слышал. Допускаю, что может у них и была пара лекций на эту тему, но он лютый раздолбай - мог и прошляпить. У нас же это были одни из основных предметов на 3-5 курсах.
1387 445779
1388 445780
>>445778
Либо препод дурак, либо ты ничего не понял. Такое нельзя делать в FPGA, это безусловно верно. Простейший ассинхронный счетчик это два Т-триггера друг за другом для деления частоты. Или ты скажешь что тактовую частоту еще делить нельзя триггерами?
1389 445783
>>445780
Ты как-то написал не понятно. Я не пойму, асинхронные счётчики можно делать, или всё таки нельзя?

А вообще, делитель частоты можно и нужно построить и на синхронном счётчике, работать будет не хуже чем тот, а может даже и лучше.
1390 445788
>>445783
Если поделишь частоту одним Т-триггером и подашь эту частоту на счетный вход любого счетчика, то что получится в результате, если не асинхронный счетчик?
Если речь про FPGA, то это уже совсем другое дело, там своя сеть для тактового сигнала и все такое.
изображение.png422 Кб, 1024x767
1391 445820
>>445788

>Если поделишь частоту одним Т-триггером и подашь эту частоту на счетный вход любого счетчика, то что получится в результате, если не асинхронный счетчик?


Получится счётчик считающий импульсы на своём входе.

Если ты имеешь в виду, что использовать асинхронный счётчик, как на пике, для деления тактовой частоты и не для чего больше? - то конечно можно, но так мы получи деление только 2^n.
А если использовать нормальный синхронный счётчик, то можно получить деление на любое целое число, да ещё и скважность менять.
1392 445841
>>445820
Ты спрашивал:

>асинхронные счётчики можно делать, или всё таки нельзя?


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

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


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

>то конечно можно, но так мы получи деление только 2^n.


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

>да ещё и скважность менять.


Генератор тактовой частоты, который выдает что-то сильно отличное от меандра - это будет чем-то слишком специфическим.
1393 445944
>>445680
У меня это была соседняя "Информатика и вычислительная техника", кафедра вычислительной техники, перешел туда с вычислительных машин после 2 курса.
Поспрашивай лучше у студентов или посмотри на сайте ВУЗа/позвони туда.
Специалистов по интегральным схемам готовят МИЭТ в ДС и Политех в ДС2.
1394 445972
А тут никто не курил тему майнинга?
1395 445988
>>445972

>майнинг


>2021


Попустись.
1396 445989
>>445988
сверх скоростная крипто обработка на ПЛИС хорошая тема
1397 445990
>>445989
Видюхи гораздо лучше по хэшам на джоуль. А ещё есть асики. Плисы для майнинга давным-давно неактуальны.
изображение.png19 Кб, 1172x524
1398 445995
>>445841

>Ты спрашивал:


>>асинхронные счётчики можно делать, или всё таки нельзя?


Это был вопрос на уточнение. Было похоже что ты сам запутался.

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


Я про то что делитель частоты можно построить на счётчиках двух типов, асинхронном как на пике >>445820 и синхронном как на этом пике. А первого, перед вторым преимуществ нет, а значит не нужен.

>то у тебя автоматически получится асинхронное устройство


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

>>то конечно можно, но так мы получи деление только 2^n.


>В этом ты не прав.


Прошу привести схему асинхронного счётчика которая может поделить частоту, скажем, на 5.

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


Ты бы ещё времена реле и ламп вспомнил.

Как не крути, а выходит что у асинхронного счётчика перед синхронным нет никакого преимущества, так что...

>Поэтому либо препод у тебя дурак, либо ты ничего не понял.


...Препод - толковый мужик. Похоже что ты втираешь какую-то дичь.
1399 446034
>>444581

>буфер


Ты походу вообще не одупляешь как че работает, датащиты лень читать? Инглиш не можешь?
1400 446035
>>445995

>А первого, перед вторым преимуществ нет


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

>Прошу привести схему асинхронного счётчика которая может поделить частоту, скажем, на 5.


Для примера рассмотри схему https://www.ti.com/lit/ds/symlink/sn54ls193-sp.pdf А именно на 5 конечно не будет.

Остальной твой тупняк даже комментировать не буду.
1401 446089
>>446035

>Какая схема сможет работать на большей частоте?


Ну ок, нашёл одно преимущество. Но и у синхронного счётчика, знаешь ли, цепь переноса можно сделать не последовательной, а параллельной.

>Для примера рассмотри схему


Тут вообще двоично-десятичный счёт. И посмотри сколько там элементов на пути прохождения сигнала - 3. Так что этот быстрее работать не будет.
Что касается конкретно твоего примера, я вообще не понимаю зачем его делать асинхронным. Синхронный бы работал не хуже. Частота, скажешь? Так там всего 32 МГц, для современной элементной базы это тьфу. Видимо по старым шаблонам с 80-х годов как штамповали так и штампуют.

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


Давай сделаем вид, что ты не обосрался, а у тебя просто шоколадка растаяла.
1402 446307
Встречали opensource post card для pci? Хотел бы поучиться на таком примере. Плата, что используется для теста пк.
1403 447493
Поясните по хардкору, какая область применения у ПЛИС?
1404 447498
>>447493

>Поясните по хардкору, какая область применения у ПЛИС?


ЦОС
Прототипирование асиков
Обработка больших потоков информации, коммутоторы Ethernet
Любое другое применение, где у стандартных решения не подходят: например не хватает производительности или слишком высокое энергопотребление, мало линий ввода-вывода
1405 447692
>>397766 (OP)
Что делать, если хочешь использовать в своих коммерческих проектах софт-процессоры, но при этом не готов раскошелится на дорогостоящие IP-блоки?
1406 447701
>>447498

>Прототипирование асиков


Прототипирование цифровых асиков.
Пофиксил.
Аналоговые асики с помощью плис не выйдет прототипировать.
6f688942134b2fbc47a2fa1b9652198e.480x360x1.jpg9 Кб, 480x360
1407 447714
>>447692
Я бы задался еще одним вопросом - может ли кто-нибудь узнать о наличии/отсутствии у тебя лицензии на эти ядра.
reactsirno.png89 Кб, 513x304
1408 447767
>>447692
Ну, что бы сделал, например, я, если бы хотел продавать чьи-то коммерческие разработки для своей прибыли, но не хотел платить закупочную цену? Пошёл бы и украл, это же очевидно.
1409 447792
>>447692

>софт-процессоры


Разве за microblaze (к примеру) берут дополнительные деньги? Оно в бесплатном вивадо вебпак доступно. У Intel в целом вроде бы аналогично, а у Lattice кажется все опенсурсное.
1410 447846
>>447792
Видимо, речь о периферии, которая к нему подключается.
1411 447923
>>447846
О какой периферии? Всякие контроллеры прерываний и ПДП, которые идут отдельными блочками, можно считать частью процессора, только опциональной, денег за них не требуют. Подключение внешней памяти (всякие (LP)DDR3/4 и прочее) - тоже есть. Мелочь вроде FIFO, портов, SPI, I2C и прочего - тоже дают в вебпаке. А что еще остается из того, что можно отнести непосредственно к софт-процессору?
1412 447926
Работает тут кто-нибудь кроме Мишани фаешником? С каким бэкграундом вкатились? Нравится?
1413 447934
>>447926

>Мишани


Кто такой?

>фаешником


Что такое?
1414 447935
>>447934
FAE(field application engineer)
Инженер по применению. Типа инженер-манагер. Хз стоит ли бросать разработку, не заебет ли меня это.
1415 447938
>>447935
А Мишаня кто такой?
1416 447942
>>447938
Кому надо тот знает.
1417 447950
>>447926
Сомневаюсь, что с таким знанием русского языка ты пройдешь первый тур собеседования.
1418 447955
>>447950
Я уже прошел, с каким знанием?
1419 447957
>>447955

>Я уже прошел


Ага
1420 447958
>>447957
Вот и поговорили.
1421 447960
>>447958
Экземпляры, которые не способны выражать свои мысли строго и без формальных ошибок, испытывают большие трудности при взаимодействии с другими участниками производства и при оформлении документации.

Хотя, если вспомнить, как на пост-совке относятся к оформлению документации, то, возможно, тебя и взяли в какую-то парашу.
1422 447961
>>447958
>>447955
А мне больше интересно как ты прошел, не зная того, что за микроблейз не требуют денег.
1423 447963
>>447960
>>447961
Тред конечно не шибко популярный, но детектить своего кумира в каждом постере - это сильно.
1424 447964
>>447963
Ты сейчас ответил двум разным анонам. И разумеется я не предполагал что это ты написал >>447692 вопрос про софт-процессоры. Но появляешься ты в этом треде судя по всему достаточно регулярно. И если все так, то почему не ответил тому анону?
1425 447965
>>447964

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


Потому что я не такой частый гость здесь. Но вангования выглядят забавно.
1426 448017
>>447923
Интерфейсы USB, SATA, MIPI, HDMI, DVI, DisplayPort.
1427 448084
Анон, скажи, как подключить к МК типа стмки ЦАП, который сможет чето типа 10 МГц хуярить? Верно я понимаю, что частота сигнала (пусть будет разрядность 14 бит) будет зависеть от возможностей spi stm? Какие существуют типовые способы подключения? Использовать ПЛИС?
1428 448122
эпоха dsp закончилась? Сейчас большинство на обычных cpu + simd делает?
1429 448123
>>448017
Зачем это может понадобиться на относительно дохлых софт-процессорах? Если вдруг потребовалось такое, то скорее будет уместен SoC типа цинка.

>HDMI, DVI, DisplayPort


Но у Xilinx есть AXI VDMA, а дальше уже не проблема.

>MIPI


А это чем не устраивает https://www.xilinx.com/products/intellectual-property/ef-di-mipi-csi-rx.html ?

>USB


С этим действительно есть определенные сложности. Но в самом простеньком цинке оно уже есть.

>SATA


Этого действительно нет.
1430 448131
>>448123

>а дальше уже не проблема


Хуй знает. Мне на список параметров и портов мультигигабитного трансивера даже смотреть страшно, не то что обёртку для него писать.
1431 448202
>>448131

>даже смотреть страшно


Мне тоже. Однако скорее всего можно найти что-то готовое. Например Digilent дает для HDMI что-то (полу)готовое. Но я не пробовал, потому что не требовалось пока. К тому же можно взять внешний трансивер, тем более что все равно снаружи придется ставить буфер. Еще на работе в соседнем отделе один человек (который вряд ли такой крутой специалист, если за такую зарплату там работает) что-то такое сделал на трансиверах пятого циклона.
Только идея пихать HDMI в дохлый софт-процессор мне кажется сомнительной. Конечно я могу ошибаться, но с высоты своего дивана я так вижу.
image.png1,5 Мб, 800x800
1432 448616
Суп, ПЛИСач. Решил снова вкатиться, до этого пробовал года четыре назад, но потом бросил. Сейчас появились новые идеи и из ящика была извлечена вот такая йоба: https://www.arrow.com/en/products/deca/arrow-development-tools
(пикрилейтед)

Работаю в квартусе пока на уровне хэлоуворлда. Собсно у меня есть пара ламерских вопросов:
- В квартусе есть два режима: код на вхдл и принципиальная схема. Я, как настоящий олд, знающий, как собрать и проапгрейдить ЮТ-88, привык именно к схемам, плюс вхдл декларативный язык, а я привык к императивным. Как преобразовать вхдл-код в схему и обратно? Я нашел как сделать из вхдл кода компонент (symbol), но что у него внутри - не видно.
- В теории из компонентов я могу собирать на более высоком уровне схемы, но т.к. компонент - это отдельный файл, как его редактировать?
- Задумал сделать махарайку с миди-входом, сама разводка с оптопарой у меня осталась от аналогичных опытов с пердулиной. С FPGA непонятно, куда заводить сигнал и как его принимать в коде. На фото там есть ряд RX и RT в две линейки по бокам и куча всего. Частоту, на которой работает миди, я могу организовать на счетчиках, но как засинкать частоты разных девайсов?
1433 448630
>>448616

>но что у него внутри - не видно


RTL view где-то в тулзах.
1434 448636
>>448616

>Частоту, на которой работает миди, я могу организовать на счетчиках


Только использовать ее в качестве тактовой частоты не стоит. FPGA - это даже близко не набор рассыпухи, которую можно соединять как угодно. Как минимум по этому вопросу тебе нужно знать что для тактовых сигналов в FPGA есть отдельные линии, которые имеют свои ограничения. Изучи хотя бы в первом приближении внутренности FPGA.

>но как засинкать частоты разных девайсов?


Скорее всего это не требуется, пусть все работает на большей частоте, а твои низкочастотные сигналы, которые ты собираешься использовать в качестве тактовых, лучше использовать в качестве стробирующих.

>плюс вхдл декларативный язык, а я привык к императивным.


Это не совсем так, даже скорее всего совсем не так.

>Как преобразовать вхдл-код в схему и обратно?


Не стоит заниматься глупостями.

>С FPGA непонятно, куда заводить сигнал и как его принимать в коде.


Открой схему, даташиты почитай. Помигай для начала светодиодами на плате.
1435 448671
>>448630
Спасибо, посмотрю. Редактировать там нельзя?

>>448636

>Только использовать ее в качестве тактовой частоты не стоит.


Это не совсем тактовая, но да, мне нужно просто с определенной частотой мониторить RX на появление стартового бита, отличая его от шума.

>для тактовых сигналов в FPGA есть отдельные линии


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

>пусть все работает на большей частоте


Там же типа UART, и мне надо таки понимать, когда приходит стартовый и конечный биты, для этого у меня должна быть частота больше или равная частоте сигнала, это понятно. Но тут мне надо точно понимать, что у меня между старт и стоп битом ровно восемь с данными.

>Не стоит заниматься глупостями.


Почему? Принципиалки я хоть сейчас рисуй, а тут язык еще, спеку учить.

>Открой схему, даташиты почитай. Помигай для начала светодиодами на плате.


Да эт все пройденный этап. К махарайке не то чтобы подробные даташиты и схемы идут. Но вроде разобрался, можно пхать куда хочешь в те две шины.
1436 448679
>>448616

>вхдл


ВХДЛ - днище, учи Верилог.

>привык именно к схемам


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

>Как преобразовать вхдл-код в схему и обратно?


https://youtu.be/Jt87cbQThSc?t=10560 с таймкодом

>>448671

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


UART на схемном вводе - специально для тебя. Начиная с 29 лекции и далее:
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
1437 448695
>>448671

>Принципиалки я хоть сейчас рисуй, а тут язык еще, спеку учить.


Учи классику — "лучше день потерять, а потом за пять минут долететь".
1438 448698
>>448679

>На схемном вводе далеко не уедешь


Как по мне на схематике гораздо удобнее ваять проекты, естественно не на базовых логических элементах, а превращая свой код в символы. Сразу отпадает необходимость вести схему связей в каком-нибудь визио/компасе. И разбираться в чужом проекте так гораздо легче.
1439 448703
>>448679

>ВХДЛ - днище, учи Верилог.


Верилог - это язык для долбаёбов, если можешь хоть немного в абстракции то лучше VHDL.
1440 448710
>>448698
Тут поддержу. Верхний уровень делать из блоков, соединённых по интерфейсам — очень удобно, пиздец как удобно (вроде block design в vivado). Описание типа structure в HDL — это просто какая-то моча говна из бесконечных объявлений wire, накопипащенных по названиям портов соединяемых модулей, читать которые невозможно. А вот где надо описать работу на уровне регистров и гейтов через behavioral — там только HDL без вариантов.
1441 448711
>>448703

>если можешь хоть немного в абстракции то лучше VHDL


Вроде бы могу, но не уверен. О каких абстракциях идёт речь?
1442 448713
>>448710

>block design в vivado


В виваде кстати блокдизайн полное говно, если лепишь не на акси.
1443 448714
>>448713

>если стрелять в ногу то ходить неудобно


Ну, наверное. У меня к виваде много претензий, но тут их скорее нет.
1444 448722
>>448679
Спасибо огромное за видосы, оч полезно. Странно, что они мне не попадались раньше.

>ВХДЛ - днище, учи Верилог.


Тут уже микросрач поднялся ВХДЛ против Верилога, в чем же неоспоримые преимущества того или иного?
1445 448802
>>448698
>>448710
Отчасти соглашусь, но бывает тоже муторно каждый раз пересоздавать символ для модуля если в нём изменились порты. Да и в сложном топлевеле обилие соединений также не способствует лёгкому восприятию схемы.

>Сразу отпадает необходимость вести схему связей в каком-нибудь визио/компасе. И разбираться в чужом проекте так гораздо легче.


Ну здесь частично спасает РТЛвьювер. Последние версии Квартуса научились снсоно его рисовать.

>>448722

>Странно, что они мне не попадались раньше.


Хз, первые выскакивают по запросу "verilog" и "quartus".

>в чем же неоспоримые преимущества того или иного?


За Верилог скажу, что если знаешь С/С++ то перейти на Верилог будет проще, ибо синтаксис очень похож, точнее там гибрид С и Паскаля. Как по мне зря, лучше бы полностью с Сишника передрали. По этой причине в последствии SystemVerilog будет проще освоить, а тенденция идёт к тому что именно он и победит. А о каких абстракциях говорит этот >>448703 месье, называющий приверженцев противоположного мнения долбоёбами, мне не ведомо.
1446 448807
>>448802

>Ну здесь частично спасает РТЛвьювер. Последние версии Квартуса научились снсоно его рисовать.


Он даже не предназначен для этого. Это инструмент, чтобы искать, какого хера сигнал соптимизировался в константу вместо того, что ты от него ожидал. Изучать функциональную структуру проекта по выходящим с разных сторон блока простыням цепей, в которые синтезировались интерфейсы — это несерьёзно.
1447 449043
>>448807

>Он даже не предназначен для этого.


Я этого и не утверждал.

>выходящим с разных сторон блока простыням цепей


С лева входы, с права выходы, всё как обычно.

>простыням цепей


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

>какой-то мочи говна из бесконечных объявлений wire, накопипащенных по названиям портов соединяемых модулей


?
Правда в схемном файле Квартуса цепи можно объединять в каналы и подключать действительно со всех сторон, но это несильно помогает.
В общем моя мысль такая, что блок-схема топлевела - хорошо, но без неё вполне можно обойтись.
5.png42 Кб, 1627x883
1448 449424
Зачем инвертор на клоке у последнего триггера?
1449 449442
Кто-нибудь может внятно объяснить чем отличается reg от integer в тестбенчах, тобишь в несинтезируемых описаниях? И то и другое переменная. Да, reg имеет произвольную разрядность, integer - всегда 32. Но и всё что ли?
1450 449448
>>449424
Чтобы клок включился за полтакта до своего положительного фронта, иначе может возникнуть ситуация, что

1) сначала клок поднимется, потом он включится
2) от этого первый фронт включенного клока на выходе съедет немного назад
3) период между соседними фронтами клока уменьшится
4) тактируемая схема один период будет вынуждена сработать на более высокой частоте, чем та, на которую она была рассчитана, логические состояния где-то изменятся неправильно, данные распидорасит, придётся всё ресетить
1451 449449
>>449442
По принципиальным отличиям да, на этом всё. Есть ещё мелкая фигня типа интегер по дефолту сигнед, а бит — ансигнед.
1452 449760
Кто-нибудь запускал linux over RISC-V over fpga когда-нибудь? Поделитесь опытом плез
1453 449869
Такой дымящийся кусок кода вообще работать может?
for (i = 0; i < 17; i = i + 1) {
for (t = 7; t < 25; t = t +1) {
number <= [t:i] key;
}
}
1454 449892
>>449869
Сложно сказать, я знаю только verilog и vhdl, а этот код написан ни на одном из них.
1455 449899
Словил забавную проблему на cyclone 5e - грелась как печка и жрала 6 Вт, сначала думал, что неисправна.
Потом проверил msel - там была половина питания (хотел протестить разные режимы, поставил резисторы в обе стороны, забыл убрать ненужные), исправил, все заработало.
1456 449939
>>420645
Очевидно он не покупал. У меня на работе тоже куча таких валяется, причём нигде не числятся, но мне пиздить зашкварно.

Я сам себе собрал.
1457 449942
>>423801
я на этой няше учусь тупо потому что прородитель 5576ХС

есть ещё целая куча МАХ2, кому надо - вышлю это говно для самоделочных отладок
1458 449950
>>449939

>Очевидно он не покупал.


Я себе уже тысяч на 100 накупил отладок инб4: даже ни одну нормальную не купил. Почему бы и нет?
1459 449986
>>449950

>Я себе уже тысяч на 100 накупил отладок


Светлодиодом-то хоть моргнул?
1460 450040
>>449986
И линуксиодом.
зотов.PNG454 Кб, 1244x965
1461 450103
>>397766 (OP)
Сап, плисоводы. Посоветуйте плз откуда вкатываться в microblaze?
Сам я вроде не совсем нуб, родом с алтеры, на алтере делал пару проектов. Одна из первых функций которую хочу реализовать - обновление прошивки во флешке. На алтере я делал это на верилоге конечными автоматами, но теперь на Xilinx повторять подобный подвиг уже не хочу, и нужен софт-проц.

Picoblaze вроде освоил, программное шевеление ножками spi получил 2,5МГц при клоке проца 50МГц. Приделывать аппаратную периферию к слабому picoblaze смысла не вижу, отсюда вот и вопрос.

В пикоблейз я пыттался начать с книжки Зотова, но это пиздец полный. Во время чтения зотова я случайно наткнулся на гайд самого Кена Чапмана из комплекта KCPSM6, и это был как глоток свежего водуха после душного зотова.
Нет ли каких-то нормальных гайдов по микроблейзу?

Пикрил - скриншот страницы той самой книги Зотова. Вместо того чтобы сказать "Выберите Device Size, Package и Грейд" - эта стена текста.
Мои мозги плавятся от этой книги, спасите помогите
flex.jpg100 Кб, 722x693
sage 1462 450173
>>449986
Мигал. Светодиодом на RGB панэльке. Зависимость есть.

>>449939
Когда-то вкидывал кусок чека из ЭФО. За свой счет брал. Сколько времени то прошло. Подфапываю на православную Altera UP2.


>>398368
Вообще-то там есть личная подпись. Так что запросив пруфы моментом сольешься. Пруфанешь с датой и подписью?
1463 450210
>>450173
Чем мгтфные сопли усаживал?
1464 450230
>>450210

>Чем мгтфные сопли усаживал?


Не понимать вопрос. Обычная термоусадка же. Почему в термоусадке, а не в стандартных пластиковых гнездах?? Уже не вспомню почему так делал.
Если вопрос чем грел - то феном, очевидно же.
Это херню со светодиодами надо переделать.
1465 450232
>>450230

>Обычная термоусадка


Я подумал там как у родешварцевских сопель для логического анализатора внутри сердцевина и они в бх вставляются/вынимаются.
1466 450243
>>450103

>Посоветуйте плз откуда вкатываться в microblaze?


С разглядывания референс-дизайнов от Xilinx.
1467 450262
>>450232
Пруфы? Интересно глянуть что это и о чем речь.
1468 450302
>>450262
Вот такие штуки, например. Идеально садятся на стандартные 2.54 и при этом не так сильно убиваются со временем.

https://www.rohde-schwarz.com/ru/products/test-and-measurement/oscilloscopes/probes/oscilloscopes-probes-accessories_251225.html#image10849
1469 450306
>>450302
И въехал и нет... Чем оно отличается от обычных цанговых панелек для микросхем в DIP корпусах (исключая тот факт что даже кувалдой не вбить обычный вывод разъема в цангу для вывода микросхемы)? Они просто больше размером? Или я дебил или у меня цанги почти одноразовые были. Первый раз туго идет + почти не вытащить и после нескольких втыканий-вытыканий похожи на обычные панельки где контакты из загнутой жести или подобного.

Может подскажешь чем вменяемым можно цепляться на выводы SOIC-а и поменьше с шагом выводов 0.8, 0.65, 0.5мм?
1470 450312
>>450306

>Чем оно отличается от обычных цанговых панелек для микросхем в DIP корпусах


Тут оно скорее как замена dupont (пик1). Т.е. рассчитано на кучу перетыканий, но гораздо прочнее.

>цепляться на выводы SOIC-а и поменьше с шагом выводов 0.8, 0.65, 0.5мм


Ну в идеале прищепка, но можно использовать крючки, они охуенны, даже китайские (пик2-3), но лучше родиковские конечно.
1471 450313
>>450312
Алсо, на третьем пике прошивал плисину напрямую с ножек.
1472 450315
>>450312

>3


Что плисина делает на свч плате?
1473 450316
>>450315
Светодиодом мигает, ножками дрыгает.
1474 450318
>>450316
Как быстро?
1475 450321
>>450318
Не стоит вскрывать эту тему. Да это кривая легаси-хуйня, не обращай внимание, ножкодрыг относительно быстрый.
1476 450979
>>397766 (OP)
Сап, плисаны. Поясните, пожалуйста, за set_max_delay констрейн у хилых. Это влияет на place and route? На что это вообще влияет? Интересует в частности вот какой случай. На работе многие пихают его, когда тайминг на каком-то внутреннем участке между двумя флип-флопами с общим клоком не сходится. Хотя у хилых нигде нет такого варианта применения. Из сбивчивых объяснений одного индуса на работе я так и не понял, почему так можно делать и что это помогает достичь. Может кто-нибудь просветить, пожалуйста?
1477 450980
>>448722
Вхдл строже, меньше шансов накосячить. Еще можно прокидывать матрицы между блоками.
1478 451000
>>450979

>Хотя у хилых нигде нет такого варианта применения.


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

Это может работать или не работать в зависимости от того, насколько сигнал критичен. Если это какая-нибудь кнопка. то похуй, но вообще-то для таких случаев используется set_false_path. Если это разряд на шине, то можно знатно наебать самого себя при отладке.

Ебать у вас там индусы, конечно.
1479 451006
>>451000
Спасибо, сам тоже почекал кучу всего сегодня на эту тему. У нас оказывается это практически common practice, а потом удивляются, почему в лабе нихуя не работает при билде с как бы хорошими таймингами. Пиздец, никому нельзя доверять, особенно индусам. Теперь все только самостоятельно проверять.
1480 451022
>>450980

>Вхдл строже, меньше шансов накосячить.


Надо просто ворнинги компиляторов читать, а не хуй на них забивать.
1481 451049
Аноны, у меня начался курс плис по учёбе. Делаем лабы в Xilinx Foundation, который запускается только на виртуалке винды 2002, что скажете об этом софте?
reactporn.webm486 Кб, webm,
640x360, 0:05
1482 451057
>>451049

>Делаем лабы в Xilinx Foundation, который запускается только на виртуалке винды 2002

1483 451058
>>451006
Анончик, вы там сейчас буквально идёте по пути легендарного Боинга и его популярного 737МАХ. Не знаю, кто это такое придумал наверняка, как обычно, эффективный менеджмент, проигнорировав мнение R&D, но хорошего из этого ничего не получится. Вангую, индусы там не просто закидывают листьями и ветошью небольшие violations в пределах наносекунды, а у них там за такт ебашутся на LUTах сразу все вычисления без малейших попыток в конвейер.
1484 451060
>>451057
Что это может значить? Опиши плз словами, видео не всё передаёт.
1485 451065
>>451060
Эта среда старше студентов, которым предстоит её изучать. На аналогичного возраста операционке.

Не то что бы с её помощью нельзя было научиться основам цифрового дизайна, но ты же сам спросил за среду. Если доведётся поработать в актуальных Vitis/Vivado — будешь смотреть на них как на новые ворота кабину истребителя.
1486 451070
>>451058
Там правда за такт ебашится несколько сложений, умножений многоразрядных чисел, но это в асике, который мы верифицируем на плисине. Проблема в том, что никто не дает трогать асиковский rtl и индусы прикрывают фейлы по таймингам вот такими констрейнами, а потом челы в лабе смотрят на результаты и охуевают. Так и живем.
1487 451095
>>451070

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


Даже асик не поможет от такого, лол. Если, конечно, не запускать его на 1MHz.

Теоретически есть возможность нормально делать вычисления, идущие дольше одного такта, без разложения на конвейер, для этого на регистры вместе с clk должны приходить сигналы clken. Если они идут, скажем, один раз в 10 тактов, то вычислительная логика после появления новых данных имеет возможность устаканиваться следующие 10 периодов clk, и в течение этого времени регистр на выходе не будет пытаться защёлкнуть результат. Такое делается при помощи set_multicycle_path.

Разумеется, количество операций в секунду падает до частоты clken, а честный конвейер может их молотить на скорости clk. Индусам про это не рассказывай — не сможешь потом отличить, где они мухлюют, а где реально делают multicycle_path.
1488 451099
А как на процессорах некоторые вычислительные инструкции исполняются за 1-2 такта?
Я когда-то рисовал процессор условного микроконтроллера и у меня вышло так, что каждая инструкция исполняется 3 или 4 такта.
В первый такт идёт запись в регистр инструкции с ОЗУ (к ОЗУ от процессора шина read/write + data на запись N бит + дата на чтение N бит + адрес) и тут же происходят вычисления в АЛУ, открывая нужные регистры исходя из инструкции и тут же записывая результат в промежуточные невидимые регистры.
Во второй такт из этих регистров идёт запись в РОН.
В третий такт там что-то с load register и store register инструкциями связано, уже не понимаю свои каракули, у меня тут тупо шины и провода между модулями проведены.

Я просто думаю, неужели в реальных процессорах какие-то фокусы с нижним и верхним фронтом, чтобы удвоить тактовость, ещё и разные длины дорожек сделать, чтобы из одного места один сигнал успел уйти, до того как придёт другой?
1489 451101
>>451099
Не путай пропускную способность и задержку. процессор может принять одну инструкцию за такт, но выполняет её за кол-во ступеней конвейера тактов.
1490 451173
>>451099
Анон выше написал в целом правильно. Однако можно взять двухпортовую память, тем более что блочная память в FPGA вся двухпортовая, за исключением каких-нибудь флексов, которые не стоит принимать во внимание. Если с двухпортовой памятью один порт выделить под считывание следующей инструкции, а другой под данные, то ситуация улучшается. Получается что-то вроде гарвардской архитектуры. Или можно взять раздельные памятюшки под код и данные. Если после этого ограничиться инструкциями попроще, т.е. чтобы каждая инструкция делала поменьше всего, то легко сделать по инструкции за такт почти что без конвейера. Вот пример такого процессора https://excamera.com/files/j1.pdf
1491 451539
Почему это не работает? Где я ошибся? Ньюфаг
for (i = 0; i <= N; i = i + 1) begin
case (i)
0:temp [7:0] <= number[7:0];
1:temp [7:0] <= number[8:1];
...
endcase
1492 451567
>>451539
Как оно должно было работать по твоей задумке?
Если рассматривать синтезируемое подмножество, то можешь считать что весь код в блоке always выполняется (почти) мгновенно. И это в симуляторе код выполняется, а синтезируется оно в константу. Еще присваивания у тебя неблокирующие, возможно что ты с этим тоже путаешься, но и с блокирующими ничего бы не изменилось.
Если ты хочешь чтобы в temp по очереди с какой-то задержкой что-то откуда-то писалось, то сделай счетчик и так далее.
always@(posedge clk) begin
i <= (i + 1) % N;
case (i)
0:temp [7:0] <= number[7:0];
1:temp [7:0] <= number[8:1];
...
endcase
end
И оно будет у тебя переключать по фронту clk.
1493 451987
>>450243
Спасибо за дельый совет.
Разглядел туториал по microblaze от avnet, там всё предельно понятно и работает.
В том туториале показано что при создании проекта софтовой части микроблейза можно выбрать example test peritherial
Но вот теперь я добавляю xps_spi, а где брать к нему драйвер? Хотя бы хедер с описанием регистров устройства, неужели надо самому рисовать по даташиту xps_spi?
И ещё вопрос: шину какую надо брать, PLB или AXI? Какая шина занимает меньше ресурсов? Или на что приходится смотреть при выборе той или другой шины?
1494 451996
>>451987
Дрова есть в BSP, который генерируется SDK на основе hw description, экспортированного из Vivado. В BSP же есть example designs под microblaze (они генерируются в разделе для соответствующего IP-кора).
1495 452132
Обнаружилась проблема.
Если я создам, скажем, регистр с неким стартовым значением

reg [3:0]REG;
initial REG <= 4'd5;
always @(posedge Clk, posedge Reset)
begin
if(Reset) REG <= 0;
else
if(Shift) REG <= {REG[2:0], D};
end

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

if(Reset) REG <= 4'd5;

но как эта пятёрка будет сформирована? Скорее всего она будет сформирована путём проставления инверсий на выходах триггеров регистра. А ведь это приведёт к искажению результата задвигаемого значения. Если бы это был первый Сыклон так там, по мимо асинхронного сброса, была ещё и асинхронная установка и такой проблемы бы не возникало. У триггеров нынешних плисин есть только асинхронный сброс и как быть в этом случае не совсем понятно.
1496 452151
>>452132

>Скорее всего она будет сформирована путём


>Скорее всего


Проверь для начала.
1497 452188
>>452151
Да как-то был уже такой опыт, правда не помню где и когда. Да и других вариантов не вижу.
1498 452236
>>452188
Ну хз, значит, судьба такая. А у меня подобное синтезируется в FDPE-регистры.
1499 452259
>>452236

>судьба такая


Вообще непонятно зачем убрали асинхронную установку в триггерах. Я, конечно, всё понимаю - минимизация, экономия, вот это всё, но всё же.

> FDPE-регистры


Это что за зверь.
1500 453874
Как думаете, можно или будет скачивать Вивадо с сайта Хилых после свежевведённых санкций США на поставку любых оборонных технологий?
Выглядит как полная жопа. 1501 453877
https://ru.usembassy.gov/u-s-sanctions-and-other-measures-imposed-on-russia-in-response-to-russias-use-of-chemical-weapons/

Arms Sales:Termination of (a) sales to Russia under the Arms Export Control Act of any defense articles, or defense services, and (b) licenses or other approvals for the export to Russia of any item on the United States Munitions List, except in support of commercial space cooperation following a six-month transition period, and government space cooperation.

Exports of National Security-Sensitive Goods and Technology:Prohibition on the export to Russia of any goods or technology on that part of the control list established under Section 2404(c)(1) of the Appendix to Title 50.
1502 453885
>>453874
Можно. Это же довольно размытое понятие. Им и сейчас вроде как нельзя на военку торговать, но все равно пропихивают под видом гражданки.
1503 453890
>>453885

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


Что значит "под видом"? Сейчас им можно торговать с гражданкой и нельзя с рядом предприятий под санкциями типа Алмаз-Антея. А теперь в РФ в принципе нельзя будет оставлять продукцию, имеющую значение для обороны и национальной безопасности.
1504 453891
>>453890

>рядом предприятий под санкциями типа Алмаз-Антея


И они все равно покупают виртексы и ултраскейл+, просто дороже. Вангую всегда найдут способ.
А уж про софт на сайте зайлинкс каждый раз спрашивают сферу деятельности и страну без пруфов, соответственно ставить все кроме рашки.
1505 453892
>>453891
И это прокатывало в каком-нибудь Иране, к примеру? Не стоит считать всех чересчур тупыми, мне кажется.
1506 453944
>>453892
Даже в советское время умудрялись покупать то что нам не продавали, через вторые и третьи руки. А вообще у них капитализм, санкции санкциями, но денег то всем хочется, как говорится: ничего личного, только бизнес.
Ну а сейчас, как бы там ни было, братушки-китаюшки не дадут пропасть.
1507 453993
>>453944
Я думаю, ты понимаешь, что мы в данный момент не в пораше, и речь не о том, найдётся ли взвод чепиг с канистрой новичка и чайником полония, которые проберутся к врагу и скачают там вивадо для нужд оборонки, тем самым показав, какие пиндосы тупые, только и могут, что программировать вивады у себя в силиконовой долине, а про смекалочку даже не слышали.

Речь о том, что для кучи контор риск сидеть без официальной вивады, корок и предсказуемости поставок плисин может оказаться неприемлемым, и анону-плисовику придётся идти торговать шаурмой.
1508 454010
>>453874
Поищи у китайцев и иранцев, я оттуда последние патчи к САПРам Cadence тягаю, если на наших и забугорных торрентах нет. Как правило, всегда находится кто-то, время от времени сливающий последние версии.
>>453944
Пару лет назад ЧиД не смог поставить санкционку - просто обратились к другому поставщику, привезли без проблем.
Имхо эффект от санкций преувеличен.
1509 454015
>>454010
Лол, ещё после первых санкций предлагали прожигаемую космическую пзушку за 1.5 лимона. чем закончилась история не знаю, я больше там не работаю
16141989054730.jpg61 Кб, 714x778
1510 454038
А можно майнить на ПЛИСах?
Сколько они могут выдать?
1511 454041
>>454038
Можно, но плата со стратиксом/виртексом и кучей памяти будет стоить 5к долларов, дешевле на видюхах.
1512 454082
Плисаны выручайте. Нужно на одну шину 64 девайса. В сумме на все девайся приходится 448 управляющих регистра. Работает все это говно на 16 МГц. Каким образом мне организовать шину доступа к регистрам, так, чтобы всё развелось?
1513 454104
>>453993

>для кучи контор риск сидеть без официальной вивады


А кому это создавало трудности.
Мы в околооборонной конторе всю жизнь сидим на левых САПРах и никого это не напрягает.

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


Это тоже всегда было. Жили как-то раньше и дальше проживём.
1514 454981
>>454082
Бамп вопросу
1515 455125
>>454082
Хз че там у тебя,
1) заведи тупо 448 регистров и раздай по проекту, каждый должен писаться из одного места (или с арбитражем заебешься)
2) используй Avalon-mm или AXILite

Чмоки
1516 455697
>>451065

>в актуальных Vitis/Vivado


Т.е. в мире существовали вещи, ещё более дебильные чем современные высеры Xilinx?
1517 455698
>>451049
Узнаю наши ВУЗы.
5 лет назад делал часть лаб в квартусе 9.1, но он вполне нормальный.
>>455697
Как они по сравнению с современным кряктусом?
Не забагованы?
1518 455710
>>455698

>Как они по сравнению с современным кряктусом?


>Не забагованы


Даже после 9 кактуса вивада 2020.1 как говно багованное ощущается. Хз как люди на ней годами работают.
1519 455713
>>455698
делал лабы в квартуе в прошлом семестре. 4К не поддерживает совсем буквы не читаемые и при этом часть кнопок пропадает так что еще как забагованный
1520 455715
>>455713

>4К не поддерживает совсем буквы не читаемые


Надо в свойствах запуска просто ставить масштабирование, как и в любой другой старой проге на вин10.
1.jpg1,3 Мб, 2448x2448
1521 455732
>>450173
кхм
1522 455738
>>455732
Охуеть, да это же бюджетная девборда для 5576хс!
1523 455775
>>455710

>Даже после 9 кактуса


Так то 9.1sp2 кактус самый норм из всех, дальше скатился.
PV0ZzWdcrzY.jpg733 Кб, 1280x749
1524 455806
>>455732
Какая вкусняшка. Правда не мое. ПоФАПал.
У меня правда немного бомбит что что у флексов, что у макс 7000 всего два оффициальных тактовых входа.
На самом деле эта некрофилия полезна для тормозов - проект синтезируется намного быстрее чем под тот же циклон или стратикс и моментом заливается. Хороший такой плюс для неумеющих в моделсим.
Уже стер полсвоей шишки на эту ФАП фантазию. Где бы выкопать? Что это за ёбань? Где бы схемку на нее глянуть? Как не ёбнуться когда сам начнешь писать под нее конфигурацию?
флексоеб
---LED-4-----POST-Card-PCI---32364912882-3.jpg246 Кб, 1000x1000
1526 455852
>>455806

>Как не ёбнуться когда сам начнешь писать под нее конфигурацию?


Начни с чего-то уровня пикрелейтед и подобных девайсов, где лепили кучу простых стареньких PLD вместо одного МК или ПЛИСины. Принцип тот же.
1529 455869
>>455832
>>455855
>>455857
Спасибо! Буду знать на что ФАПать. У кого есть по цене лома?

>>455852
Тут все лишь тупые GAL-ы которые нельзя сравнить с платкой где у тебя под 80 флексин непойми как соединенных между собой.
1530 455883
>>455806

>Хороший такой плюс для неумеющих в моделсим.


Не уметь в моделирование — это безнадёжная профнепригодность.
1531 456967
1532 457080
>>456967
Это в какой шараге терасиковские платы раздают?
dt39x1xtdbp61.png551 Кб, 800x420
1533 457629
Лал.
1534 457797
>>457080
в нормальной.
в моём "высшем учебном заведении" на всю группу была одна отладочная платка на основе атмеги 8. Садился самый умный и проверял на ней свой говнокод, а остальные смотрели. Ещё ругали за постоянное перепрограммирование, ибо это уменьшает ресурс, лол. Про ПЛИС вообще никто не говорил ничего и лаб естественно небыло, ибо препода знающего ПЛИС и умеющего с ней работать просто нет.
и это специальность, напрямую связанная со схемотехникой! Сейчас, на сколько я понял, там даже этого нет, а все дипломы уровня - измерить температуру в помещении и если она выше N градусов - включить вентилятор. Естественно на ардуино, лол.
1535 457824
>>457797
Это норма. У нас то же на курсе "Цифровая схемотехника" в разных инкарнациях ничего не было, только симулятор Xilinx ISE на лабах.
Определенно интересный симулятор внутри был - можно было в "реальном" времени задавать сигналы и смотреть на них реакцию, а не так что подсовываешь готовый waveform и смотришь на результат симуляции. Генерировать руками клок это было больно.
1536 457858
>>457824
А у нас даже плисочных симуляторов не было. Цифровые схемы моделировали либо в мультисиме, который вечно тормозил и лагал, либо в каком-то самодельном убогом симуляторе, видимо это была чья-то курсовая или даже дипломная работа. Зато препод пояснял по хардкору за синхронное проектирование, кек.

>>457797

>в нормальной.


А где это у нас такие нормальные? Платы эти не дешёвые, сомневаюсь что даже в МГУ такое практикуют - раздавать на дом каждому по отладке.
Скорее всего это и было снято в непосредственно в шараге.
1537 457860
>>457858

>Зато препод пояснял по хардкору за синхронное проектирование, кек.


Для этого много ума не нужно, асинхронщина то посложнее будет.
1538 457904
>>457797
Тут все зависит от преподов.
У нас на одном предмете был десяток старых терасиков на циклонах 3, на группу как раз хватало.
Другой препод развел, заказал и собрал пару десятков кастомных дешевых плат на вторых/третьих циклонах и наделал к ним периферийных плат с энкодерами/драйверами/АЦП/ЦАП/etc. В итоге за сравнительно небольшие деньги обеспечили железом несколько предметов.
Вообще новый терасик - это лютый оверпрайс, взять ту же de2-115 за 50к+ и китайский аналог a-e115fb за 10к.
1539 457962
>>457860
Для неё тоже много ума не нужно. Нужно только немного ушибленности, чтобы пытаться в неё на плисах, которые архитектурно для этого не предназначены.
1540 458005
>>457962
Это не совсем так. По крайней мере задачи синхронизации клоковых доменов встречаются весьма часто, можешь посмотреть количество результатов по запросу в гугле. Таким образом во многих более-менее сложных конфигурациях будет заметный кусочек асинхронщины.
1541 458007
>>457860
Да я не про ум, а про то что схемотехнику нам преподавали фактически в базисе рассыпухи, где асинхронщина вполне себе нормально живёт, но препод тем не менее всё равно топил за синхронное проектирование.

>>457904

>ообще новый терасик - это лютый оверпрайс, взять ту же de2-115 за 50к+


300 баксов академическая цена
https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=502
Только говорят хрен купишь в связи с санкциями.
1542 458205
>>397766 (OP)
Ох и зажрались программисты
https://2ch.hk/po/res/42638471.html (М)
Или ПЛИС-разработчиков это не касается?
1543 458485
Есть тестбенч:
initial
begin: sin
reg [15:0]Word[7:0] = {16'hA57E, 16'h8000, 16'hA57E, 16'h0000, 16'h5A82, 16'h7FFF, 16'h5A82, 16'h0000};
for(integer i = 0; i <= 7; i++)
begin
for(integer j = 15; j >= 0; j--)
begin
DI = Word[i[2:0]][j];
@(posedge C);
DI = 0;
end
end
end

Для того чтобы в МоделСиме вывести на диаграммы переменную Word пишу
add wave -hex sin/Word

Но как вывести переменную i?
Пробовал написать так:
for(integer i = 0; i <= 7; i++)
begin: i_
Т.е. блоку присвоить имя i_ и вывести на диаграмму командой add wave -hex sin/i_/i
Но не получается.
Где затарить ПЛИС недорого? 1544 458553
Нужно закупить 15-20 ПЛИСов для занятий со школотой.
Сам юзаю Diligent ARTIX-7, но для детей нужно попроще, в районе 6-7к на штуку.
Где купить сабжа в РФ, чтобы с чеком и доставкой в ДС?
Перерыл половину магазов, 20к+ минимум по цене.
Цистерну чая тем, кто не останется равнодушным.
Аноним 1545 458557
>>455732
Можно разводкой этой радости поделиться?
1546 458558
>>458553
Посмотри Mojo Board. Они на Spartan 6.
Аноним 1547 458559
>>458558
Себе возьму, но для цели не подойдёт. Они заказываются в Китае, что не кайф, тяжело провернуть офф закупку. Есть альтернативы, которые можно найти в России?
1548 458560
>>458558
Хотя не надо, они уже всё.
1549 458562
>>458559
Посмотри Arduino Vidor, в рашкомагазинах есть. C Квартусом работает.

https://amperka.ru/product/arduino-mkr-vidor-4000
Аноним 1550 458565
>>458562
Благодарствую, гляну. Выглядит неплохо на первый взгляд
1551 458566
>>458559
Мне кажется, что за эту цену можно уже самую простенькую терасик смотреть. Лично брал через эфо, правда 4 года назад. Если официально через юр лицо покупать, то мб и академическую цену можно выбить.
1552 458575
>>458485
бамп
1553 458675
>>458575
Братан,
\t\t\tчесно0x20говоря\r\nтупо\tлень\tпарсить0010000твой8'd32говнобенч\n\r
Думаю, если запостишь почитабельнее, то подскажут
1554 458683
>>458675
Да как бы содержимое бенча тут вообще ни при чём. Скорее всего, переменную нельзя добавить на дашбоард потому что он предназначен смотреть сигналы, а не переменные. Мне, по крайней мере, ни разу не приходило в голову им переменные смотреть. ХДЛ-код это же описанная железка, только к физически существующим объектам можно прицепить осциллограф, а физически сущестуют в железке только wire и reg.

Но это не точно.
1555 458738
>>458485
Так не объявляй i, j внутри for, а объяви там же где и Word.
1556 458752
>>458675
Так я ж не виноват что макака тег для выделения кода не может прикрутить. Вон уже кто-то добрый поправил.

>>458683
ХДЛ-код он только тогда ХДЛ-код когда в прошивку компилируется. А когда запускается на симуляцию то по сути скриптовый язык, немного специфический, но в принципе ничего необычного. Вот как говорит этот >>458738 господин я делал, так работает. Но почему я не могу вывести переменную объявленную в шапке цикла мне категорически непонято. По сути она должна быть видна в этом блоке и достаточно только дать ему имя. Но её не видно.
А если, как ты говоришь, переменные не выводить, то как же свой говнобенч отлаживать?
1557 458773
>>397766 (OP)
ну что, FPGA-инженеры, смогли войти в средний класс?
https://2ch.hk/po/res/42674731.html (М)
или деньги на этом рынке не такие уж?
1558 458776
>>458752
Проще смириться с особенностями моделсима.
Предполагаю что причина подобного поведения в области (времени) существования переменных, объявляемых подобным образом. Если Word существует можно сказать что непрерывно, то с i, j это не так. Сейчас то они вроде как существуют непрерывно, но если вставить перед циклом @(posedge C);, то уже все. Можно предположить что Wave может выводить только сигналы с (гарантированной) непрерывной областью существования.
1559 458954
>>458776
Самое странное, что если переменную объявить внутри тела цикла, то к ней доступ есть, а вот если именно в заголовке, то уже нет.

> но если вставить перед циклом @(posedge C);


А это как влияет?
1560 459219
Есть кодировка 4b/5b, с ней проблем не возникает, а есть кодировка 8b/10b, вопрос состоит в том, есть ли алгоритм вычисления, или только табличный метод?
1561 459249
>>459219
Да и да. Есть алгоритм, в нём таблицы, но меньшего размера, чем 210
1562 459312
>>459249

>210


Ты наверно хотел сказать 28?
1563 459347
>>459312
Я хотел сказать 2⁹ потому что вход + running disparity.
1564 459665
Чем плох max10 для каких-нибудь мелких проектов? Циклон 10 лп как-то совсем не впечатлил, ещё и официальная флешка дорогая.
1565 459896
>>459665
Официальная флэшка легко меняется на сторонние, надо просто сверить коды операций и тайминги по даташиту + разрешить ее в настройках. Проверял замену epcq128 на en25qh128 и n25q128a13e. Посмотри еще циклон 5 и 4, они дешевле и достать проще.
1566 459897
>>459896

>Посмотри еще циклон 5 и 4, они дешевле и достать проще


Вот как раз с ними и сравнивал и даже без учёта флешки циклоны получились в 5+ раз дороже младших максов, под проект реально хватит 10м02. Но будет занимать 80% плисины.
1567 459907
>>459897

>Но будет занимать 80% плисины.


Это залет, Господин. У фиттера может начаться попаболь при попытке вписаться в нужные тайминги и ограничения. Без синтеза реального проекта это очень и очень плохая затея.
1568 459928
>>459907

>при попытке вписаться в нужные тайминги и ограничения.


Там частоты <50МГц. Изначально проект был на втором циклоне.
1569 459931
>>459897
Если у тебя основной критерий это стоимость, то может быть посмотришь на Lattice? Если я не ошибаюсь, то у них вроде аналогичные по количеству LUT есть подешевле, только умножителей меньше, а блочной памяти наоборот больше. Но это я так, теоретически, сам я их не касался.
1570 459932
>>459931
Несколько факторов помимо дешевизны. Например полное отсутствие желания возиться с легаси и реворкать проект под другого вендора. В идеале просто поменяю плисину, поменяю пины, примитивы, если будут отличия и все.
1571 459933
>>443462
В чем их ИЛИТНАСТЬ?
1572 459943
>>459897
Если проект готовый, перекомпилируй под 10М04/02 да посмотри, куда влезет, это не займет много времени.
Сначала без пинов, потом с пинами.
Я только PLL заново добавлял, остальное само перекинулось.
Лучше брать с запасом, фиттер может начать хуевничать и на низких частотах.
1573 459969
>>459943
Вот кстати и вылезла проблема младшего макса - он не умеет инициировать памяти.
Есть конечно костыль через юфм, но мне лень ебаться с этим, лучше с запасом поставить предпоследний снизу макс. На нем все нормально скомпилилось, но пару ядер пришлось заменить.
1574 459970
>>459969
А так ещё мелочи типа отсутствия 24ма при 3.3 лвттл.
1575 460077
Можно ли в России работать ПЛИС-программистом, получая через DHL всё нужное и работая удалённо в глобальной команде? Просто почитаешь про другие профессии — депрессия накатывает, как плохо люди живут. Хочу грести деньги на разработке.

https://citizen1980.livejournal.com/310.html

"Я отношусь к среднему классу", — с гордостью говорит человек на Западе, а потом выходит из ветклиники, в которой работает, садится за руль автомобиля и возвращается в свою виллу. На балконе виллы — благоухающие цветы и обеденный столик со стульями. "Я отношусь к среднему классу", — с гордостью говорит врач в России, а потом подходит к подъезду, возле двери которого толпится круг из десятка курильщиков, протискивается между ними, заходит в свой подъезд и нажимает на копчёную, обугленную кнопку, которая изначально была белоснежной, чтобы лифт (картинки 26 и 27) его поднял на 8-й этаж "виллы". На балконе "виллы" — лестница-стремянка, матрац, удочка и старый холодильник.
1576 460085
>>460077
Шанс есть всегда. Технический склад ума спросил бы в терминах вероятности.
1577 460087
>>460085
Да это мамкин рэволюционэр ходит вбрасывать свою жежешку. Предыдущая попытка была здесь >>458773 Пыню никто не любит кроме пыневиков, но это не повод не покормить говном шизика, считающего себя дохуя пропагандистом-манипулятором.
1578 460095
>>458773
>>460077
Лол, опять эта кривая паста.

Ищи вакансии. Удаленка в разработке аппаратуры - вещь редкая из-за специфики профессии.
Зарубежный вариант очень маловероятен - помимо отправки отладочной платы с сомнительными гарантиями нужно будет потом отлаживать твою прошивку на реальном устройстве, в том числе в составе системы, а позже иногда оперативно вносить корректировки и проверять их там же. Отладка запросто может занять пару недель с прототипом, питальником, осциллографом/анализатором и паяльной станцией/девочками с местного монтажного участка наперевес.
Проще взять местных васянов или понаехавших китайцев.
Вполне реален вариант с частичной удаленкой по договоренности в городе проживания.
Если ты с Украины/Казахстана/etc, можно перекатиться к нам, взять квартиру в нормальном районе/хороший загородный дом и ведро, к 35-40 все выплатить.
Прошаренные люди с опытом и кучей связей типа дихальта разрабатывают свои устройства и удаленно работают на кучу заказчиков, но таких очень мало.
1579 460182
>>460095

>к 35-40 все выплатить


Насмешил.
1580 460455
>>460095
К 40 годам можно и получше варианты поискать, чем квартира в ипотеке и жизнь в России
1581 460457
>>460455

>жизнь


>в России


Выбери что-то одно.
1582 460550
>>431097
возможно
1583 460660
>>460565
Жиза.
sage 1584 461095
>>397766 (OP)
представим что я типичный длбб, зачем мне может понадобиться дома ПЛИС?
1585 461096
>>461095
сажа сука
1586 461106
>>461095
Я думаю, что она уже есть у тебя дома, просто ты об этом не знаешь.
1587 461107
>>461106
>>461095
"дома" убрать надо, я случайно, я имел в виду что плис любителям нахуй не нужен, я прав?
1588 461114
>>461107
Ну, например, несколько лет назад тут один анон показывал свой самодельный SDR трансивер. А сколько еще не показывало?
Вычислительная мощь вообще-то никогда не будет лишней для любителей. Например, можно сделать такую ЦОС вместе с помехоустойчивым кодированием, с которыми и современные суперкомпьютеры не справятся, но зато будет немного помехоустойчивее чем то, что используется сейчас. Причем ничего сверхсложного, что-то на уровне того чтобы взять фильтр с очень большим порядком (причем максимально тупо, без быстрой свертки) и сделать декодер Витерби для полиномов очень большой степени.
1589 461125
>>461114
А есть где почитать про это в популярной форме? Я умею в линейную алгебру и ЦОС, но грызть сухо-академично не готов, если мне это не сдавать и не делать по работе. С другой стороны, всё это должно быть очень просто-интуитивно на уровне реализаций, если ты не академик, вычисляющий, сколько нулей после запятой осталось до предела Шеннона.
1590 461137
1591 461197
>>461107
Знаю ПЛИСочника, который не любит контроллеры и примерно так же про них выражается. Купленная просрочка ПЛИС с какого-то завода за копейки оптом - и вопрос на года, или всю жизнь, закрыт.

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

Сейчас, когда можно легко за недорого плату заказать - плис не проблема, если ты умеешь с ними работать, конечно.
1592 461198
>>458773
Да. В нашем миллионнике FPGA-инженегры получают около 150-200к, при общем дефиците специалистов. Предприятия занимаются переманиванием таких специалистов друг у друга. При этом обычный схемотехник может получать 30-60к, зависит от уровня и саморекламы.
Вообще, для микроэлектроанона, умеющего работать с ПЛИС и МК хорошее время настаёт: после 90-х разработка восстанавливается, а специалистов мало, вышка рождает больше инженеров которые могут бумажки перекладывать, чем инженеров которые могут что-то разработать, конкуренции нет в общем то.
1593 461199
>>461198

>В нашем миллионнике FPGA-инженегры получают около 150-200к, при общем дефиците специалистов. Предприятия занимаются переманиванием таких специалистов друг у друга. При этом обычный схемотехник может получать 30-60к


Можешь, пожалуйста, пруфануть ссылками на вакансии?
1594 461200
>>458557
Оффтоп, конечно, но вот я хочу сделать девборду для ВЕ92У. Понимаешь, эти МК у меня есть, преобразователи напряжения тоже есть, даже кварцы смд есть, озу, пзу, прочий обвес, а вот платку заделать времени нет, ну совсем нет.
И если бы нашёлся анон, который трассировал платку да заказал её изготовление, я бы обменял на такую платку определённый комплект элементов включая МК (в металлокерамике).
1595 461201
>>461199

>Можешь, пожалуйста, пруфануть ссылками на вакансии?


а нету вакансии, столько получают проверенные ФПГАшники. Вакансии висят на гораздо меньшие суммы. И не спрашивай про логику этого, у нас СТАНДАРТНЫЙ отдел кадров, который нифига никого найти не может.
Пришедший с улицы (с другого города, так как в этом паспортные данные всех ФПГАшников всем предприятиям известны) приблизится к такому же после подтверждения квалификации, считай после закрытия соответствующей задачи, а до этого будет получать полтос.
1596 461202
>>461200
Я не он, но желания у тебя странные, прямо как плата у того анона.
Можно просто, быстро и не дорого купить отладку у https://ldm-systems.ru/ только в пластике. Но зачем для какой-то отладки металлокерамика? Тем более что 1986ВЕ9х не особо интересные, по сравнению с 1986ВЕ1Т.

>пзу


Зачем?

>времени нет, ну совсем нет.


Но при этом будет время на то чтобы играть с этой платой?
1597 461203
>>461107

> я прав?


Nyet:
http://s100computers.com/My System Pages/FPGA Board/FPGA Board.htm
http://s100computers.com/My System Pages/FPGA Z80 SBC/FPGA Z80 SBC.htm
http://s100computers.com/My System Pages/FPGA 80286 SBC/FPGA_80286 SBC.htm
http://s100computers.com/My System Pages/Lava-10 Board/LAVA-10 Board.htm
1598 461205
>>461202

>Я не он, но желания у тебя странные


Я нищий, который вкатывается в электронику и которому знакомый дед с завода подогнал кучу радиоэлементов и даже б/у измериловку. И зачем мне тратить деньги на что-то готовое, когда есть всё для того что бы собрать что-то похожее по цене платы.

>>461202

>Но при этом будет время на то чтобы играть с этой платой?


В конце мая я поменяю место работы и время появится.
1599 461226
>>461198

>В нашем миллионнике FPGA-инженегры получают около 150-200к


Это где, если не секрет?
1600 461228
>>461205
Ну как знаешь. Только миландровские микроконтроллеры ничем существенным не выделяются на фоне других микроконтроллеров. С тем же успехом ты мог раньше взять плату с STM32F103C8T6 на алиэкспрессе, хотя теперь то понятное дело их там не осталось.
Кстати, а как ты собрался формовать эти микроконтроллеры? А J-Link для их программирования у тебя найдется или будешь через бутлоадер прошивать?
1601 461236
Ва
1602 461266
>>461228

> Только миландровские микроконтроллеры ничем существенным не выделяются на фоне других микроконтроллеров.


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

>Кстати, а как ты собрался формовать эти микроконтроллеры?


тип корпуса хороший, контакты идут снизу, формовка не нужна

>А J-Link для их программирования у тебя найдется или будешь через бутлоадер прошивать?


уже нашёлся, китайская пародия, но говорят работает нормально
1603 461271
>>461266

>тип корпуса хороший, контакты идут снизу, формовка не нужна


Может быть, особенно если на пузе нет ничего металлического. Но вообще подобные корпуса обычно все равно формуют и клеют на плату через прокладку. У меня на работе должны быть компоненты в пикаде и наверное в оркаде, но скорее всего под формованные корпуса.
1604 461282
>>461200
https://ic.milandr.ru/products/programmno_otladochnye_sredstva/otladochnye_komplekty/otladochnyy_komplekt_dlya_mikrokontrollera_1986ve92u_k1986ve92qi/
Берешь PCAD 2006
Ищещь панельку или меняешь ее на посадочное место под 92У
???
PROFIT!!!
1605 461397
1606 461440
1607 461650
>>461266
Вот, открыл пикад, достал микроконтроллер и пририсовал JTAGA. Что тебе еще нужно кроме питания?
Футпринт похоже рассчитан под формовку, поскольку между краями контактных площадок 26,6 мм (смотри второй скриншот), когда на чертеже указано 26,43 max. Можно и без формовки припаять, считаю что будет почти нормально.
E10-altera-fpga-board-altera-board-fpga-development-board-E[...].jpg101 Кб, 750x608
1608 462716
Суп, радиоаноны!
Решил попробовать вкатиться, уже взял платку, а теперь думаю, не полное ли говно взял? Стоило это по скидке около 15-16 евро с USB-blaster и двухстрочным экраном в комплекте.
1609 462722
>>462716
Норм так.
Охуел от того по чём нынче евро.
1610 462732
Вопрос:
Если начинать углубление в SDL, с чего лучше начинать: Verilog или SystemVerilog?
1611 462734
>>462732

>SDL


HDL ты хотел сказать?
Verilog. SystemVerilog это развитие Верилога, и предназначен в большей степени для тестирования схем. Поэтому начинай с чего попроще.
1612 462937
>>462732
Verilog.
System Verilog это ахтунг, там не всё однозначно.
изображение.png26 Кб, 782x516
1613 462956
Что это за состояния сигналов в МоделСиме такие и чем LOGIC_U отличается от LOGIC_X?
1614 462967
1615 463041
>>462967
Т.е. на верилоге таких сигналов не получить?
1616 463064
>>463041
Верилогохолопы ожидаемо соснулей у вхдл-бояр.
1617 463065
С
1619 463165
>>463115
Надо будет проверить...
1620 464810
https://www.youtube.com/watch?v=APf-YGpNXfY
Пример дизайна и применения топовых ПЛИС.
1621 464825
Ну вот...
1622 464837
>>462956
>>462967
И всё же, что такое DC и W?
1623 465398
мочератор собирается чистить спам жежешечкой?
1624 465889
>>397766 (OP)
Стоит ли вкатываться в Verilog из С и Embedded в России чтобы в необозримом будущем завести трактор? А пока, смогу ли я рассчитывать на ЗП 200 и выше (в принципе столько и получаю как Сишник), далее быть архитектором, или до архитектора дольше грести в этой теме, чем даже в С? Или времена захвата своего места под солнцем в теме проектирования микросхем прошли и пробиться сложно?
Суть такова - есть желание ебаться с микросхемам на низких уровнях, но и кушать дораха тоже хочется. Или в Linux Kernel, DSP и Video процессинге легче придти к успеху (что мне тоже нравится, но не настолько)?
В общем на таком распутье...
1625 465915
>>465889
Не стоит. Вакансий меньше, чем в какой-нибудь яве или крестах. Еби линуксы, и точно будет на тебя спрос, а с плисинами — как повезёт.
1626 465924
>>465889

>ЗП 200 и выше (в принципе столько и получаю как Сишник)


Хуя вы там в своих ДС-ах зажрались.
1627 465930
1
1628 466611
>>462716
А где взял? Я только десятый циклон за 100+ баксов находил
1629 466623
>>465889
Как человек перекативший из электроники в программирование, не советую. Это два разных мира, и если у второго есть деньги и найти работу на 200к довольно не сложно с норм опытом работы и знаниями, то первый очень тухлый и с минимумом вакансий. 200к это только с цифровым анализом, только у военных с подпиской о невыезде, и хрен ещё ты попадешь на это место, будучи левым хером с улицы
1630 466624
>>465924
У Яндекса есть яндекс.контест, где они устраивают всякие соревнования. Регайся, тренируйся писать код сразу, не переписывая все, и можешь спокойно идти на собес к ним.
Потом 5 лет работы по ночам, и 200к твои
160041894414401892.jpg204 Кб, 1200x799
1631 466658
>>466611

> А где взял?


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

Как вариант, можно взять за $30 (плюс доставка), но программатор придётся покупать отдельно (аж целых три бакса за китайскую коробочку): https://www.aliexpress.com/item/33007471265.html

мимо другой анон
1632 466683
>>466658
А что скажешь про Arduino MKR Vidor 4000? С одной стороны я понимаю, что отладкой это назвать нельзя, с другой, там же по сути можно будет на какие то тестовые воздействия запрограммировать мк, который на плате стоит.
изображение.png1016 Кб, 1000x793
1633 466686
Сап анончики. Всё давно хочу вкатиться в плис, на руках есть борда от antminer t9+ на ней камушек XC7Z010 с 28к PLC да, я ахуевший, в левом нижнем углу вижу JTAG, думаю купить под это дело программатор https://aliexpress.ru/item/32691266814.html

Какие могут быть подводные с такой жирной плиской/платой? Сразу исключаем то, что я могу спалить плату нахуй, благо этих плат как грязи нет, я не майнер пидарас, просто повезло оказаться под крылом одного хорошего человека, который за бабосы обслуживает майнерскую требуху
1634 466739
>>466686

>такой жирной плиской


>XC7Z010


Не такое оно и жирное, так, раза в три-четыре побольше чем у >>462716 за вычетом арма с его периферией.
1635 466751
>>466686
подводные в том, что у тебя нет схемы, и ты не знаешь, какой пин куда выведен. Как ты будешь подключать периферию?
1636 466771
>>466751

>подводные в том, что у тебя нет схемы, и ты не знаешь, какой пин куда выведен


Это да, но распиновку ответных разъёмов хэш плат найти не сложно

>Как ты будешь подключать периферию?


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

Да и можно сдуть камень > перекатить шары только хз где трафарет искать, если там не "дефолтное" расположение шаров.. и посадить на свою плату
1637 466777
1
1638 466785
>>466771
А мне то по началу казалось что схема есть в открытом доступе. Ну тогда присоединяюсь к анону выше: выкини.

>Это да, но распиновку ответных разъёмов хэш плат найти не сложно


Это почти ничего не даст.

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


99.9% что в этом случае соединишь выход с выходом со всеми вытекающими последствиями. Ну может как-то не спалишь в процессе.

>посадить на свою плату


Интересно где тебе сделают такую плату и чтобы в сумме обошлось не дороже нормальной простенькой отладки с тем же цинком?
1639 466787
>>466771
Если так хочешь именно цинк, то https://aliexpress.ru/item/4001309317597.html
Достаточно дешево и схема есть.
1640 466789
>>466785

>Интересно где тебе сделают такую плату и чтобы в сумме обошлось не дороже нормальной простенькой отладки с тем же цинком?


Ну если под этот же цинк плату разработать и заказывать у китайцев, то ~2-3к ₽, а если учитывать что плата для разработки на этом же камне на ебей стоит 200$, то вполне сносная экономия выходит.
Но по отношению к затраченному времени будет лучше плюнуть и просто отладочную плату на плиске попроще взять, тут я не отрицаю, но меня спортивный интерес подогревает
1641 466790
>>466787
Чаю тебе, сохранил
1642 466792
>>466789

>у китайцев, то ~2-3к ₽


Где ты такие цены видел? Или ты рассчитываешь развести в двух слоях и с шириной/зазорами по 0.15 мм? Что-то я не уверен что даже питание получится развести, а даже если получится, то толку то.
1643 466796
>>466751
Покупаешь вторую
&
Сдуваешь чип
&
Вызваниваешь соединения
&
Профит

А вообще во времена пасты и direct heat трафаретов не уметь в bga как-то странно
1644 466798
>>466796

>уметь в bga как-то странно


Зачем? Делать свои платы под такие корпуса слишком дорого и при возможности намного дешевле обойтись TQFP корпусом и двухслойной платой. Это только тем кто ремонтом занимается такие умения необходимы.
1646 466800
>>466799
Правда китайцы как всегда ахуевшие и доставка выходит почти в 1/4...
1647 466906
>>466611
На Али брал, но у того продавана ("FPGA Board Store") уже нету вообще ничего, и точно такого же комплекта в поиске нету. Изначально искал так: "fpga cyclone iv usb blaster".
>>466658
Может совсем левак какой-то был, меня немного смущает, что в Квартусе есть чипы EP4CE10E22C8 и EP4CE10E22C8L, а моего EP4CE10E22C8N нет.
1648 466957
>>466906

>EP4CE10E22C8N


N - это тип пайки.
1649 466960
>>466623
А как с перспективами в разрабы за бугор?
1650 466973
>>466960
Перспективы, как и во всём, ненулевые, но опять же, значительно меньшие, чем для кодера. Единственный минус — кодера проще держать на удалёнке в его родном Мордоре.
1651 467062
>>466973
А есть вариант упороться в проектирование кристаллов? Если точнее, есть ли какая то связь между эйчдиэльщиками и проектироващиками кристаллов?
1652 467063

>>3

1653 467210
>>467062
Если ты не смог свалить с айти, где тракторы уже клепают на конвейере, то вряд ли у тебя хватит мозгов свалить с микроэлектроникой, где требования к людям куда выше, сорри
1654 467423
>>467210
Да я не тот анон, я наоборот вкатываюсь и думаю, в какаую сторону лучше
1655 467428
>>467423
А ты сам какую цель преследуешь, деньги, слава или забабахать штуку, которую больше никто не может?
1656 467461
>>467428
Деньги
1657 467462
>>467461
https://t.me/profunctor_jobs посмотри, подумай и выбери, что качать
Сохраненное изображение 2021-7-414-22-52.432.jpg194 Кб, 583x720
1658 467467
Начал учиться по Харрисам, есть задание: написать тестбенч, у них в примерах разбирается пикрил код.
У меня не работает конструкция "if (testvectors[vectornum] === 4’bx) begin", зато работает " if (testvectors[vectornum] === ’x) begin"
Вопрос, почему так? Пробовал выводить значения testvectors[vectornum], все с ними норм, после того, как вектора в файле заканчиваются выводит xxxxx, но симуляция не заканчивается.
1659 467479
>>467467
И еще, что за формат .tv?
1660 467697
>>467467
Попробуй или 4'bxxxx или 4'hx
1661 467882
>>467697
Да я ж говорю, как полечить я понял. Интересует, почему оно не работает как в книжке? У них используется ModelSim Altera edition, а я юзаю ModelSim Intel FPGA Starter edition, может там компилятор по другому работает?
1662 467928
>>467882
На vhdl у меня осталось впечатление, что -93 версия работает четко и однозначно, как топор, но нужно много костылей чтобы сделать что-то сложное (я сломал голову пытаясь сделать массив векторов с настраиваемой через генерики длиной и векторов и массива).
Версия 2000 работает везде хуй пойми как, но содержит ряд упрощений для разработчика.

Самое смешное, что я этим занимался в 2015 году, блять. За 15 лет не смогли допилить компилятор (синтезатор, транслятор, похуй).

Короче, проверь может версии языка у себя, не знаю что там у тебя за язык, но вдруг проблемы схожие.
1663 467946
>>467882
Привыкай, хуле. У меня при переходе от одной версии вивадо к другой код тестбенчей ломается. Это та самая причина, по которой на странице загрузок у вендора лежит не только последняя версия среды и, скажем, парочка "стабильных", а все выпущенные релизы. И мигрировать проекты в другую версию вызывает больше ебли, чем держать у себя несколько версий среды (если ты не столкнулся с каким-то мощным багом, который невозможно обойти, и который был точно исправлен в новой версии).
1664 468119
>>467946
Ну это в целом логично, мне было надо понять, что дело не в том, что я криворукий
1665 468172
На сколько реально реализовать игровую приставку 80-х NES Famicom на ПЛИС. И если это возможно какую плату заказать на алике? И какие программы нужны?
1667 468194
Как быстро вкатиться в плис чтобы сделать приставку по типу .....денди
1668 468195
>>468172
>>468194
Нагугли схему приставки, нагугли корки чипов, соедини все вместе, и будет тебе профит.
1669 468201
>>468195
Тогда ему придется оригинальные картриджи подключать, а не ромы
1670 468202
>>468172

>На сколько реально реализовать игровую приставку 80-х NES Famicom на ПЛИС.


https://youtu.be/R-nf4N9ZTbY
1671 468267
>>468202
Этот мудень исходники не выложил, хотя его сто раз попросили
1672 468269
>>468267
Да он скорее весго из гитхабовских что-то собрал.
15905031095160.jpg52 Кб, 640x760
1673 469697
ЕБ ВАШУ МАТЬ, паял года 3 назад махарайки на ep4ce6, а сейчас они на алике от 1к за камень стоят, что случилось то нахуй что цены так скакнули?
1674 469708
>>469697
Спрос вырос
1675 469880
>>469697
Ну ты и соня… Ты где был, когда весной цены, с радостным блеяньем, поскакали к зияющим вершинам?
https://finance.yahoo.com/news/chipageddon-could-last-until-2023-132341226.html
1676 470249
Правильно ли я понимаю, что нужная отрыто-бесплатная архитектура FPGA-чипа, чтобы заинтересовать какой-нибудь Lattice в выпуске физических версий оного? Вот есть сообщество RISC-V, пилят вычислительные блоки просто потому что могут, но неужели никто из них не заинтересован в запиле опенсорсного FPGA?
1677 470250
>>470249
s/нужная/нужна/
1678 470253
>>470249
Ядро ПЛИС - таблицы истинности и триггеры запилить легко (любая sram является таблицей истинности). А вот периферию, интерконнект и чтобы все работало хотя бы на 100 МГц - это задача схемотехников. Открывай не открывай, все равно там (как я себе представляю) серьезные дяди сидят и за большие деньги рассчитывают физику твердого тела, схемотехнику, всякие СВЧ микрополоски от которых мне в универе кошмары снились.
1679 470821
Есть книга о том, как на FPGA реализовывать математические алгоритмы типа корректирующих кодов и эллиптических кривых? FPGA же обсираются на сложной арифметике? Как представлять эту арифметику в виде вентилей?
1680 470823
>>470821
Конечно, если это возможно, обычно целесообразнее взять готовое ядро, особенно если что-то сложное.

>типа корректирующих кодов и эллиптических кривых


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

>FPGA же обсираются на сложной арифметике?


По моему не особо, хотя с кодами у меня небольшой опыт, только Витерби с Ридом-Соломоном, причем уже довольно давно и я успел подзабыть все это. В целом все как обычно, комбинационную логику длинную лепить нет смысла, нужно по возможности делать конвейеры.
1681 470832
>>470821
Это надо публикации читать. Вооружаешься инглишом и гуглишь.
https://www.esat.kuleuven.be/cosic/publications/article-2661.pdf
1682 470853
Привет аноны
Пару лет назад видел пресс релиз у ST, про какой-то SoC, с процессором и программируемой логикой (типо SRAM-FPGA), но найти его не получается.
Может быть помнит кто-то, как железка называлась, или как её искать?
1683 471384
>>470853
Про ST не знаю, но у интела точно есть системы с уже имеющимся армом на борту
1684 471904
А как на заводах переводят ПЛИС в ASIC. Неужели вручную все транзисторы проектируют на карте?
1685 471923
>>471904
Нет конечно, есть специальные САПР, которые все генерируют по коду на verilog/vhdl и обеспечивают весь маршрут от разработки и моделирования до топологии и разварки.
Например, cadence virtuoso.
Про нее есть статьи/учебники на русском.
1686 471925
>>471923
Интересно, а как это все в 70х годах делали.
Если наша цивилизация рухнет, сможем ли мы когда нибудь восстановить электронику хотя бы до уровня 90х-2000х?
1687 471929
>>471925
Конечно сможем. И не так медленно как многие думают
1688 471930
>>471925

>Интересно, а как это все в 70х годах делали.


Точно также как и платы рисовали - ручками. В те года микросхемы были не такие уж и сложные.
В 70-е уже существовали какие-то инструменты автоматизации так-то.
1689 471948
>>471925
Там на Ютубе уже в гаражах свои микросхемы делают 20 мкм техпроцесс, собирают свои компьютеры на макетах и программируют. Да даже в нашей гребаной Беларуси есть Интеграл с какой-то логикой и жк. Как-нибудь соберутся и восстановят. Там судя по всему процесс аналогичный травлению печатных плат, но в масштабах нанометров.
1690 471949
>>471948
А спроектировать с нуля? Тот же HDD это еботня еще та. Ну да, по сути компьютер можно собрать из микросхем типа Xerox Alto. Представь писать заново компиляторы/gui и так далее.
1691 471962
>>471949
Ты изучи вопрос, и твоя паника сразу упадет. HDD можно сделать легко после кассет с данными. Кассеты даже васян освоит - ленту тяни да читай данные. А имея данные можно любой софт написать. А у hdd всего-навсего другой способ считывания.

Компиляторы как нехуй делать создаются. Изучи регулярные выражения и вопрос станет прозрачным.
1692 471982
>>471962
Ладно, а gui?
Я так понимаю, что его можно только высокоуровневым языком создать
1693 471987
>>471982
Выглядишь как брат-близнец того >>471842 (OP) шизика. Ты случайно не он?
В качестве наглядного примера из наиболее распространенного это куча игрушек для спектрума, которые были написаны естественно на ассемблере. Хотя это может и не совсем то что ты хочешь, но тем не менее. Или есть более современная игрушка - KolibriOS. Куда уж низкоуровневее.
Но выше один анон написал что компиляторы - не проблема. А какие компиляторы? Ассемблер? Так это вообще ни о чем по сложности, тут не о чем говорить даже. Какой-нибудь простейший бейсик, лисп или форт могут быть даже проще ассемблера. Значит речь шла про компилятор сишечки или около того, который будет несколько сложнее. А на Си и вовсе куча всего написано. Если не касаться винды, то из современного и достаточно популярного есть GTK3 и GTK4, как пример.
Но вообще вся постановка вопроса это полнейший бред.
1694 472090
>>471987
С нуля смог бы это все создать?
Без текущих компиляторов
1695 472091
>>472090

>слабо?


Съебло
1696 472093
>>472091
Жаль, что 99.9% современных it петушков даже понятия не имеют, как все устроено внутри подробно. Научили обезьянок тыкать компиляторы и все им придумали.
Тру компьютерщики были в 50-80х годах. Современные это скорее продвинутые юзеры, чем программисты
1697 472105
>>472090
Я не программист чтобы мочь такое и вообще не претендую.
Могу сделать какой-нибудь процессор на FPGA, т.е. сам напишу весь код на верилоге, собственно в каком-то из предыдущих тредов я этот код приводил. Графику тоже сделаю, если оно тебя так особо волнует. Более того, по работе "графикой" немного занимаюсь как бы, только со своей спецификой.
Написать программу для GUI? Это в зависимости от того что ты под этим понимаешь. Если вроде менюшек в досовских играх, то такое совсем не сложно, можно вообще и без компиляторов обойтись, написать на ассемблере на бумажке и руками по табличке перевести в машинные коды.
Если ты вдруг подумал что я могу только написать год на верилоге, а на более низкий уровень мне никак не спуститься, то это вовсе не так. Любой кто делает что-то осмысленное на FPGA должен понимать как оно устроено внутри. Поэтому я также смогу нарисовать схему допустим на 74-ой серии микросхем, а уже разрисовать внутренности этих микросхем на отдельных транзисторах тем болеее не сложно.
Однако объяснить тебе как оно устроено внутри? Точно не буду, максимум отправлю читать учебники. Если с восприятием текста проблемы, то можешь посмотреть видосики, тут как-то бегал один анон, пиарил свои видосики (так себе, слишком много воды).
1698 472154
>>472093
Да, и ты один из них.
1699 472172
>>472154
Ну ладно.

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

Так же? Я просто криво выразился, но суть ты понял
1700 472240
>>472172

>Я просто криво выразился


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

>приложение с точки зрения файловой системы это таблица с адресами и командами.


Нет. Какая еще точка зрения у файловой системы? Если ты про винду, то экзешники хранятся в файловой системе точно так же как и любые другие файлы, никаких особенностей нет. А внутри у экзешников конечно свой формат https://ru.wikipedia.org/wiki/Portable_Executable , но к файловой системе это не имеет отношения. Тем более что можно обойтись без файловой системы, для чего-то простого конечно. Короче, у тебя все в голове перепуталось, шиза полная.

>Получается процессор делает условный переход.


Забавные у тебя рассуждения. Как бы для того чтобы запустить программу, операционная система (ты же про тот случай когда оно используется?) должна прочитать всякие данные типа объема требуемой памяти для разных секций программы, из PE-файла (т.е. экзешника), ну или ELF, если у нас не винда или еще чего-либо. Потом оно должно проверить всякое разное, выделить память в ОЗУ, скопировать туда содержимое нужных секций, потом сделать еще кучу действий, о которых я не знаю (я же не претендую). После чего оно должно добавить в https://ru.wikipedia.org/wiki/Диспетчер_операционной_системы соответствующие данные, а потом уже оно периодически будет выделять процессорное время для запущенной программы.
Ну и где тут твой условный переход? Да тут немеренно будет условных переходов, только очевидно не так как ты думаешь.

Не уверен правильно ли тебя понял, но все это может быть сделано по разному. Оно вероятно и сделано по разному в разных операционных системах (и в разных DE).
1700 472240
>>472172

>Я просто криво выразился


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

>приложение с точки зрения файловой системы это таблица с адресами и командами.


Нет. Какая еще точка зрения у файловой системы? Если ты про винду, то экзешники хранятся в файловой системе точно так же как и любые другие файлы, никаких особенностей нет. А внутри у экзешников конечно свой формат https://ru.wikipedia.org/wiki/Portable_Executable , но к файловой системе это не имеет отношения. Тем более что можно обойтись без файловой системы, для чего-то простого конечно. Короче, у тебя все в голове перепуталось, шиза полная.

>Получается процессор делает условный переход.


Забавные у тебя рассуждения. Как бы для того чтобы запустить программу, операционная система (ты же про тот случай когда оно используется?) должна прочитать всякие данные типа объема требуемой памяти для разных секций программы, из PE-файла (т.е. экзешника), ну или ELF, если у нас не винда или еще чего-либо. Потом оно должно проверить всякое разное, выделить память в ОЗУ, скопировать туда содержимое нужных секций, потом сделать еще кучу действий, о которых я не знаю (я же не претендую). После чего оно должно добавить в https://ru.wikipedia.org/wiki/Диспетчер_операционной_системы соответствующие данные, а потом уже оно периодически будет выделять процессорное время для запущенной программы.
Ну и где тут твой условный переход? Да тут немеренно будет условных переходов, только очевидно не так как ты думаешь.

Не уверен правильно ли тебя понял, но все это может быть сделано по разному. Оно вероятно и сделано по разному в разных операционных системах (и в разных DE).
1701 472244
>>472240
Я про ярлык спрашиваю

То что мы видим на экране, это тупо отображение видеопамяти для гоя юзера, ладно.

Когда ты кликаешь на ярлык нужной тебе программы, каким образом адрес ярлыка запускает нужное приложение? Мне подробно нужно. Я прекрасно знаю, как устроена логика компьютера, архитектуры, логические порты/регистры/счетчики и так далее, все что на уровне железа. Мне хочется узнать именно как ОС и графический интерфейс работают, только подробнее, чем это написано в вики.
Если ты мне найдешь код GUI от xerox alto, его операции BITBLT подробно, ты буду благодарен.

Если ты не понимаешь, то еще раз - мышка отсылает координату указателя + прерывает цпу. Идем дальше. Ярлык так же имеет координату свою. Мне этот момент и интересен. Получается, цпу сравнивает адреса ярлыков и адрес указателя мыши. Если они совпадают, цпу подает флаг и происходит условный переход (зависит от архитектура конкретной машины) по указанному адресу, где находится первый адрес для запуска программы (сама программа содержится в множествах ячеек памяти)
Если тебе интересно, как работает цпу в потробностях, то вот, почитай
https://diary.ru/~blakkot/p163874886_ustrojstvo-i-princip-dejstviya-processora.htm

Лучшее не находил.
Проблема всех вузиков, что либо рассказывают очень подробно об устройстве, на уровне ТТЛ транзисторов, либо очень поверхностно, мол ЦПУ копирует данные ко ко пок пок затем умножает и так далее.
70387676.png96 Кб, 840x538
1702 472245
>>472244
Прекрасная пикча, ни один вузик так не пояснял, примитивно, и сразу все понятно.
Еще бы узнать, как УУ работает,особенно на микрокоде
1703 472249
>>472244

> Мне подробно нужно.


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

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


какая именно блетб мышка? usb, например, опросами работает, никаких прерываний.

чуть подробнее, но все равно очень в общем - обработчик событий гуя так или иначе получает инфу от драйвера мыши, что-де произошло событие клика, координата такая-то. Этот обработчик уже занимается всей херней по поводу того, чо дальше делать.
1704 472250
>>472244
Я тебя немного разочарую. Между

>мышка отсылает координату указателя + прерывает цпу.


и

>цпу сравнивает адреса ярлыков и адрес указателя мыши. Если они совпадают, цпу подает флаг и происходит условный переход


существует очень много промежуточных действий.
Происходит примерно так:
Операционная система (ОС) получает координаты мыши, каким образом это отдельный вопрос. Далее ОС, а точнее её алгоритмы, которые, кстати говоря, все исполняются на процессоре, сравнивает координаты мыши с координатами ярлыков на рабочем столе, координаты ярлыков, скорее всего, хранятся где-то в реестре. Если совпали - начинается процедура загрузки программы с винчестера в ОЗУ, это тоже большая и сложная процедура. Программа в ОЗУ тоже хранится не абы как, там свои правила, дескрипторы, страницы и прочее. После того как программа, или её часть, загружена в ОЗУ она ставится в очередь на исполнение, ведь компуктер - многозадачное устройство, это значит что он может выполнять несколько программ одновременно. Но процессор один (многоядерность и многопоточность - отдельная тема), а потому все запущенные программы исполняются по очереди, сначала немножко одна, потом немножко другая, потом третья, потом по кругу. ОС может управлять очерёдностью исполнения.
В общем как-то так. Если тебе надо прям подробно, то упарывай исходники какого-нибудь линукса.
мимодругойанон
1705 472251
>>472249

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



дополню: у тебя может сложиться впечатление, что этот самый обработчик будет запускать твое "нужное приложение". Хера с два, он так или иначе передаст это событие соответствующему приложению - в твоем случае тому, которое в текущий момент отображает оный ярлык.
1706 472252
>>472250
ЮДалее ОС, а точнее её алгоритмы, которые, кстати говоря, все исполняются на процессоре, сравнивает координаты мыши с координатами ярлыков на рабочем столе

строго говоря, ОС как таковая этой херней не занимается. Рабочий стол с ярлыками - обычная юзерспейсная приложуха.
1707 472253
>>397766 (OP)
Вы ебанулись, пиздуйте в нюфаго тред.
1708 472254
>>472252

>Рабочий стол с ярлыками - обычная юзерспейсная приложуха


Ну тут как посмотреть. Всё же является частью ОС.
1709 472255
>>472244

>Проблема всех вузиков, что либо рассказывают очень подробно об устройстве, на уровне ТТЛ транзисторов, либо очень поверхностно, мол ЦПУ копирует данные ко ко пок пок затем умножает и так далее.


У тебя проблема в том что читаешь жопой.

>Я прекрасно знаю


Не верю.

>Еще бы узнать, как УУ работает,особенно на микрокоде


А теперь говоришь что не знаешь. УУ может быть обыкновенным комбинационным устройством. Если процессор не может за один такт выполнить команду, то можно например дополнить УУ счетчиком. Вообще все цифровые устройства это кучка триггеров (т.е. память), подсоединенные к комбинационному устройству.

>Прекрасная пикча, ни один вузик так не пояснял, примитивно, и сразу все понятно.


Это какой-то гипотетический процессор, даже у 8080 внутри все не так.

Вобщем этого уже достаточно для того чтобы поставить диагноз: смотришь в книгу, видишь фигу, только все очень запущено. Так что объяснять что-либо тебе бесполезно.
1710 472257
>>472254

>Всё же является частью ОС.



ну так себе является частью. Даже в десктопной винде можно его прибить и все продолжит работать.
1711 472261
>>472255
Дополню. УУ может почти полностью отсутствовать. Можно брать все эти управляющие сигналы прямо из кода команды (который загружен в регистр команд с >>472245
картинки)? Вот прямо каждый битик из "регистра команд" - отдельный управляющий сигнал.
>>472244

>Я прекрасно знаю


Так что если ты это не сообразил, то значит и не знал ничего.
1712 472262
>>472249
>>472250
>>472251
Во, вот сейчас дельно пояснил, спасибо анон.
Тогда получается, что ОС сравнивает координаты всех ярлыков с адресом указателя?
Например, у меня на рабочем столе 50 ярлыков. Получается, ОС будет сравнивать координаты всех 50 ярлыков с адресом мыши, пока не будет совпадения? Хотя учитывая частоту процессоров, то это оче быстро и займет микросекунды, если не нано.
Кстати, я еще разбирался с BITBLT инструкциями, это те которые отвечают за перемещение блоков пикселей.
Если я правильно понял, то они действует только в двух направлениях. Смотри, пусть у нас есть видеопамять и экран. Координаты начинаются с левого верхнего угла слева направо, пусть в десятичном для удобства 0 1 2 3 4 и так далее. Самая последняя координата 1024 будет в правом нижнем углу. Просто взял от балды. Представь, у тебя открыто окно, которое начинается с координаты 100. И ты такой решил его переместить мышкой вниз, до координаты 800. Тут запускается инструкция BItBLT, которая начинает инкрементировать сдвиг окна от 100 до 800. Т.е. для юзера создается эффект что окно моментально туда сверху вниз перешло, но в реале оно сдвигается постепенно. Просто опять таки из за высокой частоты это за миллисекунды происходит и незаметно глазом. Ну я так понял

анон с шизовопросами
Музыкант 1713 472263
Вернёмся, пожалуй, к теме.
Пытаюсь разобраться с понятием мощности сигнала в Верилоге. Пишу так:

wire (strong1, strong0) [3:0]A = 4'hff;
wire (weak1, weak0) [3:0]B = 4'h00;
wire result;
assign Result = A;
assign Result = B;

Ожидаю на Result увидеть ff, т.к. strong сильнее weak. По факту МоделСим показывает состояние Х.
Или МоделСим не моделирует мощность, или я в лыжи обутый.
1714 472264
>>472255
съебал нахуй, аноны выше уже пояснили, это ты просто сам нихуя не понимаешь, и строишь из себя умника
1715 472268
>>472262

>огда получается, что ОС сравнивает координаты всех ярлыков с адресом указателя?



еще раз: ОС похер. Она передала событие приложению, дальше - его проблемы.

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

Слушай, а в чем главное отличие i/o port и i/o memory mappped.
Первый это напрямую данные со входа идут в цпу по отдельной шине, а во втором данные идут через DMA в зарезервированное место в ОЗУ, и уже потом ЦПУ читает их.
Вот это я реально плохо понял, признаюсь.
1717 472277
>>472263
Вроде бы корректно будет так:
wire A = 1'b1;
wire B = 1'b0;
wire result;
assign (strong1, strong0) result = A;
assign (strong1, weak0) result = B;
initial #1 $display("Result: %v", result);
И результат будет St1.

Потому что у такого:
wire (weak1, strong0) A = 1'b1;
wire result;
assign result = A;
initial #1 $display("Result: %v", result);
Будет результат St1, а не We1, как казалось бы можно было ожидать, если не прочитав стандарт (попробуй еще осилить его...) начинать тыкать.

>>472264
Ну молодец. Я постарался и объяснил тебе про устройство управления, а ты меня посылаешь. Те аноны про "ярлыки" только общие слова, да и то частью спорно. И так очевидно что проверка должна быть на вхождение в определенный диапазон значений координат, для каждого "тыкабельного мышью" элемента интерфейса. Причем ярлыки ничем таким существенным не отличаются от остальных элементов графического интерфейса. Это настолько очевидно, что можно и не писать об этом.
1718 472278
>>472277

>Слушай, а в чем главное отличие i/o port и i/o memory mappped.


Хоть ты меня и послал, но я все же отвечу.
Не знаю откуда ты взял, но под "i/o port" имеется в виду то как это сделано у 8080 и некоторых других. То есть имеется отдельное адресное пространство (отдельное от адресных пространств данных и программ), на котором "висят" устройства. Запись и чтение в это адресное пространство осуществляются отдельными инструкциями. Схемотехнически это может быть отдельной шиной например. Процессор по такой инструкции выдает адрес для устройств на эту отдельную шину, а устройство почуявшее свой адрес выдает на шину свои данные, либо наоборот забирает данные которые выдал процессор.

>i/o memory mappped


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

>Первый это напрямую данные со входа идут в цпу по отдельной шине


Что-то вроде того, только не совсем. Тут первична не отдельная шина, а отдельное адресное пространство. Шина у самого процессора может быть одна, только будет мультиплексироваться как-нибудь (особенно во всяком старье мультиплексируется все подряд).

>а во втором данные идут через DMA в зарезервированное место в ОЗУ, и уже потом ЦПУ читает их.


А это не так.

И конечно же ты ничего не поймешь из моих объяснений, а если поймешь, то все не неправильно.
1719 472279
>>472278

> но под "i/o port" имеется


поправочка, вероятно имеется
1720 472283
>>472278
Извини бро, зря посылал
Спасибо за инфу, приду домой почитаю твое сообщение подробно
1721 472293
Ой пацаны а чем отличается CPU и GPU. Вроде и то и другое реализовано на логике, зачем два ядра в процессоре. Можно же просто ПЛИС поставить и запрограммировать.

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

Ладно признаю, вы такие молодцы, всё рассказали. Спасибо! Хотите хуй?

Можете ещё помочь я тут загулил какую-то хуйню про плис. А сколько у таких профессионалов помещается хуев во рту?
1722 472305
>>472293

>Можете ещё помочь я тут загулил какую-то хуйню про плис. А сколько у таких профессионалов помещается хуев во рту?


Смотря какое семейство и степень матёрости.
изображение.png6 Кб, 593x400
1723 472321
>>472277

>assign (strong1, strong0) result = A;


>assign (strong1, weak0) result = B;



Работает, но не так как нужно.
Вот такой вариант
assign (weak1, weak0) result = A;
assign (strong1, strong0) result = B;
даёт х-результат, если В == 'dz
Мне, собственно надо промоделировать пик.
Микросхема В умеет переводить свой выход в z-состояние, в это время сигнал должен проходить с микросхемы А. А когда на выходе В есть уровень, то он должен перебивать уровень от А.
1724 472325
>>472278

>адресное пространство


>i/o port


Вот тут уточнить - это зарезервированный участок памяти оперативной или все таки используется регистр с адресом контроллера устройства i/o?
1725 472329
>>472325
блэ.

_адресное_ _пространство_. Для ALU не существует никакой "памяти оперативной", это просто набор адресов, откуда оно будет выгребать данные и куда потом складывать. Вся разница между port и memory-mapped в том, попадают ли адреса периферии и RAM в одно пространство (читай как "набор возможных адресов") или нет.
1726 472330
>>472329
для cpu
1727 472333
>>472321

>даёт х-результат, если В == 'dz


Странно.

module test1;

reg A = 1'b1;
reg B = 1'bZ;
reg enableZ = 1'b0;
reg [3:0] cnt = 0;
wire B1;
wire result;

assign B1 = (enableZ ? B : 1'bZ);
assign (weak1, weak0) result = A;
assign (strong1, strong0) result = B1;

initial begin
for (cnt = 0; cnt <= 3'b111; cnt = cnt + 1) begin
enableZ = cnt[2]; A = cnt[1]; B = cnt[0];
#1 $display("enableZ: %d, A: %v, B: %v --- result: %v", enableZ, A, B1, result);
end
end
endmodule

Результат:
enableZ: 0, A: St0, B: HiZ --- result: We0
enableZ: 0, A: St0, B: HiZ --- result: We0
enableZ: 0, A: St1, B: HiZ --- result: We1
enableZ: 0, A: St1, B: HiZ --- result: We1
enableZ: 1, A: St0, B: St0 --- result: St0
enableZ: 1, A: St0, B: St1 --- result: St1
enableZ: 1, A: St1, B: St0 --- result: St0
enableZ: 1, A: St1, B: St1 --- result: St1
1727 472333
>>472321

>даёт х-результат, если В == 'dz


Странно.

module test1;

reg A = 1'b1;
reg B = 1'bZ;
reg enableZ = 1'b0;
reg [3:0] cnt = 0;
wire B1;
wire result;

assign B1 = (enableZ ? B : 1'bZ);
assign (weak1, weak0) result = A;
assign (strong1, strong0) result = B1;

initial begin
for (cnt = 0; cnt <= 3'b111; cnt = cnt + 1) begin
enableZ = cnt[2]; A = cnt[1]; B = cnt[0];
#1 $display("enableZ: %d, A: %v, B: %v --- result: %v", enableZ, A, B1, result);
end
end
endmodule

Результат:
enableZ: 0, A: St0, B: HiZ --- result: We0
enableZ: 0, A: St0, B: HiZ --- result: We0
enableZ: 0, A: St1, B: HiZ --- result: We1
enableZ: 0, A: St1, B: HiZ --- result: We1
enableZ: 1, A: St0, B: St0 --- result: St0
enableZ: 1, A: St0, B: St1 --- result: St1
enableZ: 1, A: St1, B: St0 --- result: St0
enableZ: 1, A: St1, B: St1 --- result: St1
1728 472375
>>472329
Да это я понял
Мне технически понять - отдельное адресное пространство как реализуется? Резервируется часть ОЗУ только для входа и выхода девайсов их адресов, или каждый девайс имеет свой адрес в регистре и отдельную шину?
4ee49db8f8a620fa570ca5674b995664.jpg21 Кб, 450x234
1729 472377
>>472375

ты опять хочешь прям подробных подробностей для очень общего вопроса.

гуглишь референс на архитектуру той конкретной железки, реализацию которой хочешь "технически понять", и там читаешь, как чего в ней нагорожено.
1730 472399
>>472333
Действительно. Просто гуглёжь ещё такой способ показал
buf (strong1, weak0) buff1 (y, a);
buf (pull1, supply0) buff2 (y, b);
http://verilog-r2klab.blogspot.com/2014/07/verilog-strengths.html
Но, видимо, эти примитивы не пропускают z-состояние, потому у меня и была такая лажа.

А по поводу

>Потому что у такого:


>wire (weak1, strong0) A = 1'b1;


>wire result;


>assign result = A;


>initial #1 $display("Result: %v", result);


>Будет результат St1, а не We1, как казалось бы можно было ожидать


с одной стороны как бы понятно, у wire-а есть своя мощность по умолчанию, она равна strong. Но с дрогой стороны, почему тогда
wire result;
assign (strong1, strong0) result = A;
assign (strong1, weak0) result = B;
работает? Ведь у result точно также есть своя мощность по умолчанию, и как минимум
assign (strong1, strong0) result = A;
должен создавать конфликт.

Вообще вся эта кухня какая-то не очевидная.
1731 472495
>>472105
Это другой анон, накидай учебников
1732 475019
не знаю где еще ставить вопрос. этот код verilog как будет в VHDL?

i2c_single #(
.SLAVE_ADDR (SLAVE_ADDR),
.NUM_OF_TRANS (NUM_OF_TRANS),
.HIGH_CYCLE (HIGH_CYCLE),
.LOW_CYCLE (LOW_CYCLE),
.GAP_COUNT (GAP_COUNT)
) i2c_single (
.sys_clk_i (sys_clk_i), // 24 MHz
.rst_n_i (rst_n_i),
.scl_i (rx2_scl), //(scl_in),
.scl_o (csi_scl),
.sda_i (rx2_sda), //(sda_in),
.sda_o (csi_sda),
.done_o (done_o),
.ack_err_o (ack_err_o)
);
1733 475020
i2c_single #(
.SLAVE_ADDR (SLAVE_ADDR),
.NUM_OF_TRANS (NUM_OF_TRANS),
.HIGH_CYCLE (HIGH_CYCLE),
.LOW_CYCLE (LOW_CYCLE),
.GAP_COUNT (GAP_COUNT)
) i2c_single (
.sys_clk_i (sys_clk_i), // 24 MHz
.rst_n_i (rst_n_i),
.scl_i (rx2_scl), //(scl_in),
.scl_o (csi_scl),
.sda_i (rx2_sda), //(sda_in),
.sda_o (csi_sda),
.done_o (done_o),
.ack_err_o (ack_err_o)
);
1734 475021
>>475019
Верилоговские параметры соответствуют generic в VHDL, если ты об этом.
https://allaboutfpga.com/vhdl-component-port-map-tutorial/
https://www.ics.uci.edu/~jmoorkan/vhdlref/generics.html
Вот тебе ссылки на примеры.
1735 477817
>>397766 (OP)
Анонче, а не скажешь открытые проекты и схемы где я могу их скочать и заказать платы чтобы запилить хлебную доску для PCI или PCI-e, чтобы поизучать этот протоколы. А то как-то дороговато выходит - купить готовую за 20-40К с ПЛИСиной Циклон-2 на борту не более чем за 3К.
1736 477825
>>477817

> апилить хлебную доску для PCI или PCI-e, чтобы поизучать этот протоколы.


Пиздуй к китайцам:
https://www.aliexpress.com/item/4000970958552.html
https://www.aliexpress.com/item/4001072461753.html
https://www.aliexpress.com/item/4001125245990.html
https://www.aliexpress.com/item/1005001275162791.html
1737 477830
>>477825
Да я сам думал об этом. Но ни гарантии, нихуя , сам про эти платы что думаешь?
Ну как быть с примерами и докой?
https://m.aliexpress.ru/item/32790810998.html
https://m.aliexpress.ru/item/32845001106.html
1738 477834
>>477825
гарантия, примеры и дока под конкретную доску как раз и стОят 20-40к. Выбирай, что тебе важнее.
199794606childhoodbyTaniDaReal.jpg398 Кб, 1200x900
1739 477836
>>477830

> Но ни гарантии, нихуя ,


При всём богатстве выбора другой альтернативы нет(ц) Потому как если у тебя нет денег на покупку готовой платы, то изготовление того же Simple PCIe FMC carrier тебе тем более не по карману.

> сам про эти платы что думаешь?


А именно эти то нахуя брать (тем более, что вторая это не разу не PCI-E, а просто PCI)?

P.S. Во времена прошлого треда один анон купил такую плату. А также на eevblog: https://www.eevblog.com/forum/fpga/a-xilinx-kintex-7-board-on-aliexpress/ Там, правда, народ интересовался не компьютерной шиной, а SFP модулями.

P.P.S. Ну и к платам попроще (материнка с периферией, плюс две мезонинных платы с четвёртым циклоном) китаец дал ссылку на файлообменник с принципиальными схемами и примерами. Другой вопрос, что машинный перевод с шоаррского^W китайского такой машинный.
1740 477838
>>477836

>А именно эти то нахуя брать (тем более, что вторая это не разу не PCI-E, а просто PCI)?


Потому что я подумал, может начать с PCI, в нем доки побольше, типа старее же.

>При всём богатстве выбора другой альтернативы нет(ц)


Так брать из твоих 4х которые ты предложил? Мои 2 старьё? Какую все таки лучше было б?

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


20К то найду, но если можно и сэкономить, почему б нет, с другой стороны - изготавливая ее и отлаживая я так наебусь, что потом будет не до PCI
1741 477886
>>477817
А почему не ардуино видор 4000? И примеры и писиай, да, это не отладка, но с учетом имеющегося на борту мк, отлаживаться должно быть более чем удобно
1742 477932
>>477886
Гуглил, под эту плату народ особо ничего не делает, что можно взять в качестве примера. Не популярная что-ли?
изображение.png91 Кб, 640x502
1743 478240
Кто-нибудь может внятно пояснить, что это и для чего?
1745 478261
>>478244
Это я видел, но как ни читал понять не смог.
1746 478315
>>478240
Фаза между входом и выходом pll.
Source synchronous требует чтобы на физических выходах, на ногах клок совпал по фазе с данными.
Zero delay buffer видимо формирует такую фразу, чтобы компенсировать задержку имеющегося буффера.
1747 479138
хех, а про конструкцию на 8:35 я не знал, прикольно
https://youtu.be/kju8fPDxi3Y?t=515
1748 479140
>>478315

>на ногах клок совпал по фазе с данными


А откуда pll знает где там на каких ногах когда данные меняются?
1749 479196
>>479140
Имеется в виду не зависимость от данных, а от задержки их защелкивания в выходные регистры. Защелкиваются они каждый такт, даже когда данные проходят одинаковые.
Это тот же самый случай, что и с буффером, только вместо буффера нога.
1750 479670
До чего плисы людей доводят!
1751 485423
>>397766 (OP)
Разработчики VHDL - все?
В симулинке есть функция генерации кода VHDL для FPGA и ASIC, в которой даже человек, не умещий в плис, может собрать мышкой схему из графических блоков и сгенерировать прошивку для плис.
https://www.mathworks.com/products/hdl-coder.html
1752 485426
>>485423
По моему эту фигню стоит рассматривать всего лишь как набор IP-ядер и графическую рисовалку для их соединения. К тому же оно не вчера появилось. А еще точно так же можно мышкой соединять IP-ядра во всяких квартусах и вивадах.
1753 485429
>>485426
Вроде бы тут есть нечто большее: можно писать код на языке матлаб, засовывать его в симулинковский блок, а потом генерировать HDL. Эта фича похожа на HLS, только не для калечного диалекта крестов, а для managed-языка высокого уровня.

https://www.mathworks.com/help/hdlcoder/ug/design-guidelines-for-the-matlab-function-block.html

Но я не представляю себе, как это может работать.
1754 486131
>>397766 (OP)
месяц назад собеседовался в беспилотники яндекса на позицию fpga разраба, тестовое сделал, но отлетел на первом собесе. спрашивайте свои ответы
1755 486156
>>486131
Сколько лет опыт? Че за тестовое было? Че на собесе спрашивали, че ответил, че не смог?
1756 486175
>>485429

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


LiteX есть, на питоне, без накладных. Полный контроль над выхлопом и любые абстракции из коробки. Но как следствие - нужно понимать систему на всех уровнях.
Я вот писал установщик PLL чтобы в одну строчку объявлять тактовый домен. Там как известно всегда сотни параметров нужно задать, или возить мышкой в визарде.
А тут просто поменял частоту в одном месте, и все само вычислится при сборке.

И так можно любой модуль, даже ебаный GTX ставить. Один раз написал обёртку под задачу - и можно параметры менять или вычислять на ходу. Все наглядно и понятно.
1757 486207
>>485423
Доёбистый студент, ты?
1758 486208
>>486156

> Сколько лет опыт?


6 лет во встраиваемке в целом, опыт с фпга 3 года

> Че за тестовое было?


распознавание голосовых команд с помощью цос и отправка их по http

> Че на собесе спрашивали, че ответил, че не смог?


не сказал бы что завалили, просто я сам терминальный додстер, который плохо знает теорию и вообще не является полноценным фпга разрабом

спросили про клоковые домены, метастабильность, асинхронный сброс, кодировку грея, про еще какую-то хуйню. еще писали код на sv, просили написать мультиплексор, но только с помощью &, ~ и assign. еще попросили написать умножитель 4х4 без использования символа *

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

бтв, как мне сказали, максимальное количество собеседований -- 4. тут я чтото прихуел, так как думал, что такого большого количества фпга разрабов не может быть в мск, что аж 4 тура нужно для отбора
1759 486219
>>486208

>распознавание голосовых команд с помощью цос и отправка их по http


Возможно я ошибаюсь, но при чем тут FPGA? Это задача для процессора. От FPGA для такого потребуется только правильно натыкать NIOS/Microblaze. Распознавание и вовсе на AVR делают. Разве не так?
sage 1760 486229
>>486207
Дед, ты?
1761 486251
>>486219
ЦОС это задача для ПЛИС в общем случае. Может у них реалтайм распознавание сразу 9000 фрагментов.
Мимо
1762 486305
>>486251

>Может у них реалтайм распознавание сразу 9000 фрагментов.


Если только так. Да и то возникает вопрос почему это нужно делать именно на FPGA, а не обычном сервере, может даже на GPU.
Да и в целом выглядит не так просто. Не знаю на счет распознавания, не касался, но http без процессора делать слишком муторно и если не требуется особо высокой производительности явно не целесообразно. И на мой взгляд, хотя я не претендую на звание программиста, для тестового задания как-то слишком серьезно, если не на процессоре разумеется.
1763 486377
>>486305
Ну да, я бы не пошел с такими требованиями.
1764 486425
>>486305

>а не обычном сервере, может даже на GPU


Это ж беспилотники, какие серверы, ты о чём.
1765 486426
>>486425
Но если это беспилотник, то откуда возьмутся "сразу 9000 фрагментов"?
1766 486427
>>486426

>>486251 >Может у них реалтайм распознавание сразу 9000 фрагментов

Это всего лишь предположение.
1767 486429
>>486427
Ну я даже не знаю, осталось только придумать откуда такое может взяться на беспилотнике. А на сервере и так понятно что может.
1768 486433
>>486429
Тут скорее всего дело в том что, помимо распознавания, там есть ещё много чего другого, и проще поставить одну жирную плисину, чем десяток процессоров.
1769 486445
>>486433
Ну вот выше и было предложено воткнуть в FPGA софт-процессор. В более-менее минимальной конфигурации софт-процессор займет ну 1000...1500 LE может быть. Попробуй сделай хотя бы в таком же объеме без процессора. Или вовсе можно применить какой-нибудь сок по типу цинка или циклона 5 сразу с армом внутри.
1770 486447
>>486445
Ну опять таки, если хард проц - то он один, а задач может быть много. Если софт проц, то их придётся несколько сувать, и ладно бы если так, но ведь скорость тоже может быть важна.
1771 486452
>>486447

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


Да там хоть целый линукс может быть при необходимости. Оно не то что http, там кучу разных серверов можно крутить.

>то их придётся несколько сувать


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

>скорость тоже может быть важна.


Ага, уже AVR справляется кое-как, а тут-то посущественней будет.

Зачем на пустом месте выдумывать лишнее? Чтобы были основания засунуть намного более жирную и дорогую FPGA? И чтобы оно еще потребляло побольше?
1772 486458
>>486452

>Оно не то что http


Речь не только о http, но и о распознавании голоса, а ещё скорее всего, и о распознавании жестов и образов.
Ни один хард и уж тем более софт проц для встроенных применений не вытянет всё сразу за разумное время, на то она и плис чтобы там распараллеливать задачи.

А http, конечно, выгоднее программно делать.
1773 486497
>>485423

> > В симулинке есть функция генерации кода VHDL для FPGA и ASIC, в которой даже человек, не умещий в плис, может собрать мышкой схему из графических блоков и сгенерировать прошивку для плис.



Много таких по весне оттаивает: https://en.wikipedia.org/wiki/High-level_synthesis
1774 486586
>>486452
Может хватит просто сцепить несколько готовых заголовков http с контентом. Ну content-length может и конечный автомат вставить в поток. Или просто зафиксировать длину пакета для начала.
Я так себе сделал на питоне сервер на сокетах, чтобы не тянуть лишних зависимостей, и все браузеры съедают молча. Там Content-Type, content-length и заголовок. Три строчки.
1775 486626
>>486586
Только тут придется для начала делать отправку ethernet фреймов через MII/RMII, потом TCP и уже после этого http, а еще может захотеться DHCP. Не то чтобы это было совсем сложно, но попробуй сделать так, чтобы заняло меньше ресурсов чем на готовом софт-процессоре.
И с распознаванием то же самое, на готовом софт-процессоре оно элементарно займет меньше ресурсов. Если не строить догадки об одновременном распознавании тысяч фрагментов, нет никаких причин делать иначе. Даже с видео, ну сделай отдельно вычислитель свертки или чего там еще требуется, а процессором им управляй.
1776 486630
>>486626
Ну в принципе да, Ethernet не настолько быстрая штука, чтобы процессор не справлялся.
Tcp/ip я бы взял готовый, уже делал так раньше. rmii или что там было не помню, но тоже или опенсорсный брал, или бесплатный от вендора.
Так что я бы сказал что это легко, если не в первый раз разбираешься. В первый раз мутновато.
1777 486694
>>486630
Делали на встроенном triple speed ethernet + простой конвертер mii to rmii из интернета.
В 5CE4 влезло с запасом, для сетевого стека на nios понадобилась внешняя 32 м оперативка.
Есть в примерах для de2-115 и других плат.
1778 486701
>>486694

>для сетевого стека на nios понадобилась внешняя 32 м оперативка.


Многовато, там по идее десятков килобайт хватит. Похоже слишком у них объемистые HAL и прочие. Как-то использовал с микроблейзом код для AD9364 от самих AD. И тоже пришлось использовать внешнюю память, хотя было бы чего... Хорошо хоть дальше макета дело не пошло. Там еще, если я правильно помню, из коробки вместо newlib была жирная glibc.
1779 488188
>>397766 (OP)
https://habr.com/ru/post/595933/ Школьники уже проектируют. Пиздец. Россия в какую то северную корею в этом плане превращается - то 9летняя мгушница, то 15летние синьоры, теперь вот это. Притом что детей то рождается с хуев нос и в семье алкашей большинство - но пропаганда какой то пиздец показывает, сплошные джимми нейтроны.
>>486208
Каков пиздец.
Яндексовские попытки в настоящее айти а не копипаст гугла каждый раз отдают мухоморной шизоидностью
Список то сам дашь?
>>438619

>этому надо учиться в вузах


Прогиб не засчитан, начинал вообще с пайки телефонов в сц.

>>426658
Вот ты блядь - 19 годиков? Прям сисадмин а не эникей лол?
IMG6267 2.PNG10,6 Мб, 1125x2436
1780 489432
Подскажите плис
Есть плата на Xilinx Spartan-6 с камерой (под задачи машинного зрения) CMV4000
Насколько сложно скопировать ее (видимо слить прошивку) и делать такие +/- же? Есть бюджет под это в пару миллионов рублей
1781 489440
>>489432
Слить прошивку скорее всего почти нереально, если конечно разрабы не дураки. Реверсить плату придется имея на руках хотя бы одну запасную. Топологию придется все равно разводить с нуля, а это помимо по один из самых длительных этапов.
1782 489441
>>489440
Спасибо. То есть проще вообще все с нуля делать тогда.
1783 489442
>>489441
Зависит от текущих ресурсов.
Если у вас там пачка рукастых схемотехников-топологов с опытом и везение (вдруг прошивка не зашифрована) - то тогда можно и отреверсить.
А если имеется штат для разработки такой платы и по к ней, то так конечно быстрее. Тем более что тут кроме сфп (?) и лвдсов вроде ничего сложного. Основная сложность небось на обработке внутри плис.
1784 489478
>>489440
Слить прошивку то, как раз, - одна из самых простых операций.

>>489442

>вдруг прошивка не зашифрована


У Спартана-6 прошивка шифруется?
1785 489479
>>489478

> У Спартана-6 прошивка шифруется?


А то! Но чуваку повезло, там только 75+ камни в списке.
https://support.xilinx.com/s/article/34269?language=en_US

>>489478

> Слить прошивку то, как раз, - одна из самых простых операций.


В коммерческих йобах как раз первым делом защищают от считывания и хотя бы жтаг не распаивают.
1786 489506
>>489479

>защищают от считывания


Как?

>жтаг не распаивают


Ну так плисина как-то грузится с флешки, в чём проблема перехватить поток? На худой конец можно и флешку выпаять.
1787 489516
>>489506

>Как?


Что сделал бы я - прямо в верилоге написал конченый автомат, который считывает серийный номер ПЛИС или ещё чего-нибудь на плате и выводит сообщение "идите нахуй" в уарт. Без понятия есть ли в ПЛИС уникальный номер и можно ли его считать.
1788 489517
>>489506
Шифруют битстрим. Хули ты с этим потоком сделаешь, если у тебя нет ключа?
Сам пробовал такое считать? Там каша вместо данных.
1789 489542
>>489516

>Без понятия есть ли в ПЛИС уникальный номер и можно ли его считать


На сколько знаю в спартане 6 нет.

>или ещё чего-нибудь на плате


Ну это подменить не проблема.

>>489517
Ну вроде разобрались, что в данном конкретном случае шифрования нет.
1790 489548
>>489542
В 6 спартане есть device DNA.
Ну и сам зайлинкс пишет, что через него можно протектить битстрим.
https://support.xilinx.com/s/article/40360?language=en_US
reactanime2.jpg78 Кб, 560x560
1791 489593
>>489479

>А то! Но чуваку повезло, там только 75+ камни в списке.


Это только камни, где ключ хранится в SRAM+батареечка.

В остальный шестых спартанцах он прошивается во внутренний регистр FUSE_KEY (нечитаемый, естественно, стандартными средствами, укладывающимися в бюджет 2кк дерева). Битстрим точно так же шифруется.
kit2.jpg71 Кб, 638x640
1792 489594
>>489593
А, хотя нет, я проебался, FUSE_KEY есть только на тех же моделях, где поддерживается хранение ключа в SRAM. Позор Хилым, совсем не заботятся о том, как зарабатывать на хлеб простым разработчикам. AMD приде - порядок наведе!
1793 489668
>>489594

> AMD приде - порядок наведе!


Сначала второй раз убьют форум, потом введут онлайн верификацию подлинности плис по подключению красненького платформ кабеля к плис и интернету и заживём!
1794 490147
Небольшой вопрос:
На Верилоге насран КИХ на RAM, где память сделана внешними блоками и вычисление выходного отсчёта выглядит как:
accumulator <= accumulator + ram * rom;

Умный (неиронично) компилятор Квартуса суёт умножение в аппаратные перемножители.
Как ему сказать, чтобы он делал перемножитель на LE?
1795 490544
Что такое надёжный (безопасный) автомат?
1796 490547
>>490147
Поскольку один хуй никто не ответил, то расскажу, как это делается у Хилых, а ты, может, по аналогии найдешь похожий метод у Интела.

Цепям, регистрам, модулям и т.д. можно задвать атрибуты, на которые будет смотреть синтезатор. У Хилых, чтобы принудительно заставить синтезатор отказаться от использования DSP, нужно задать атрибут ( use_dsp48 = "no" )

( use_dsp48 = "no" ) module test(clk, in1, in2, out1);

(надеюсь, блядская макаба не съест звездочки)
1797 490548
>>490547
Увы, съела, тогде смотри синтаксис тут — https://support.xilinx.com/s/article/54357?language=en_US
1798 490558
>>490547
>>490147
По атрибутам есть такой видосик
https://youtu.be/Jt87cbQThSc?t=560
1799 492184
test
1800 492270
>>490547
Можно через аттрибуты, можно через констрэйны, можно через ключи и настройки. Нахуй расписаться на то что можно загуглить за минуту.
1649529155-43e725d68ce186b5723b3ed622dc57c1.jpeg103 Кб, 700x875
1801 492308
Радач, подскажи, какую выбрать ПЛИС нубу, который хочет собрать вот такое устройство:

14 bit parallel ADC, 100 MSPS -> FPGA CIC decimator -> SRAM

Хочу еще туда поставить синтезируемый процессор с UART, чтобы он медленно наружу вычитывал данные из SRAM.

Сейчас возможно ли собирать всякие CIC дециматоры и модули общения со SRAM/ADC из готовых модулей? Как бы узнать какое ПО такое позволяет?
1802 492341
>>492308
Да,
Хилых = SelectIO Wizard + LogiCORE CIC Compiler + AXI4-Stream FIFO + Microblaze + Uartlite
Конкретная плисина зависит от того, сколько SRAM тебе в ней надо под данные, остальное особых ресурсов не требует. Если хранить их долго не нужно (просто скидывать в уарт по мере готовности), то подойдёт минимальная плисина, для которой поддерживается CIC Compiler (Spartan 6 какой-нибудь самый дешёвый).
1803 492345
>>492341
Спасибо тебе, анон!

>Конкретная плисина зависит от того, сколько SRAM тебе в ней надо под данные



Нужно хранить не более 1 млн семплов, однократно проведя оцифровку.
Это всего лишь 1.68 мегабайта данных.
1804 492348
>>492345

>Спасибо тебе, анон!


В отличие от того анона я бы посоветовал не использовать процессор. Запись и считывание из памяти это всего лишь пара счетчиков. Полноценный UART тебе похоже не нужен, хватит только на передачу, что совсем просто. Руками такое быстрее написать, чем разобраться с этими IP ядрами.
Дециматор, если лень писать руками, можно нагенерить в матлабе через fdatool/filterDesigner.

>Нужно хранить не более 1 млн семплов, однократно проведя оцифровку.


Это дофига. Это 13,44 МБит. Теперь смотри скриншот. Поэтому целесообразно использовать внешнюю память. Либо сразу передавать на комп, например через Cypress.
1805 494601
Есть код:
`define AAA
//`define BBB
...
`ifdef AAA
wire A;
`endif
`ifdef BBB
wire B;
`endif
...
В Моделсиме добавляю эти сигналы через do-файл:
...
add wave A
add wave B
...

Естественно вторая строчка вызывает ошибку.
Как бы сделать, чтобы Моделсим брал из do-файла сигналы с учётом дифайна?
1806 494621
Насколько реально в домашних условиях из devboard с aliexpress собрать цифровую начинку для ADC 8 bit 1 Gs/s с выходом, либо:
1. 16 пар LVDS, interleave, 500 MSPS
2. 4 пары LVDS, 2 Gs/s

Интересно, продаются ли вообще под такие задачи готовые девборды с ПЛИС на али? Плату для АЦП придется делать самому.
1807 494672
>>494601
Самое простое

>add wave знак_умножения


Добавит все подряд.

Другой очень простой вариант, если предыдущее не подходит
https://wiki.tcl-lang.org/page/catch

>catch {add wave A}


>catch {add wave B}


Можно проверить сработало ли add wave подобным образом:

>if [catch {add wave A}] {echo {vse propalo}}


Вобщем, если задаешься подобными вопросами, то должно быть стоит прочитать учебник по Tcl.

Если и это не подходит, то можно изучить "ModelSim Command Reference Manual", только возможно проще будет сделать поиск объектов (этих А и Б), чем получить директивы препроцессора.
1808 494676
>>494601
И еще, если А и Б не исключать этими директивами, то вряд ли это замедлит работу моделсима и тем более это не повлияет на результат синтеза. Я бы не накручивал кучу ifdef вокруг этой фигни.
Также, по моему, там где это возможно лучше обойтись параметрами, без препроцессора. Потому что такое сложнее проследить - откуда, что и где берется.
1809 494824
>>494672

>add wave знак_умножения


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

>catch {add wave A}


Ага, спасибо, работает. Но это надо для каждого сигнала прописывать, сразу несколько не укажешь, то есть не получается так
catch {
add wave A
add wave В}

В общем нашёл вот такую команду, пропускает добавление всех сигналов которых нет
onerror {resume}

>можно изучить "ModelSim Command Reference Manual"


Мануал смотрел, но на эту тему ничего не нашёл, может в глаза долблюсь, а может англюсик плохо знаю. А было бы неплохо если можно было бы передать директиву в tcl.

>сделать поиск объектов


Что имеется в виду?
1810 494920
>>494824

>сразу несколько не укажешь, то есть не получается так


Ну почему же? Вполне можно циклом

>foreach w {A B C и_так_далее} {catch {add wave $w}}


Можно написать чуть лучше, например {A B C и_так_далее} предварительно сохранить в отдельную переменную. Или можно все это оформить в отдельную процедуру.

>proc add_waves_list {wl} {foreach w $wl {catch {add wave $w}}}


>add_waves_list {A B C и_так_далее}

1811 495087
>>494920
Хера ты жёсткий.
1812 497662
Какого лешего 1'd1 + 1'dZ даёт неопределённое значение?
Почему в бинарных операциях Z-состояние ведёт себя логичным и естественным образом, а в арифметических такая хрень? В чём тут сакральный смысл?
1813 497692
>>497662

>Почему в бинарных операциях Z-состояние ведёт себя логичным и естественным образом, а в арифметических такая хрень?


По-моему, оно себя повело логично и естественно. Z мда, теперь будет триггерить каждый раз это, по сути, обрезанный провод, торчащий вникуда и ловящий любые наводки. В бинарных операциях "логичным и естественным" тоже будет X, кстати, если речь не о |1'b1 или &1'b0

Впрочем, похуй на это всё, т.к. FPGA внутри себя всё равно не умеют в Z.
1814 497980
>>424439

>https://habr.com/ru/post/496720/


>Приятным моментом является то, что код основных инструментов написан на языке Rust.


Блять.
1815 498097
>>497692

> кстати, если речь не о |1'b1 или &1'b0


Об этом и говорю.

>обрезанный провод, торчащий вникуда


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

>Впрочем, похуй на это всё, т.к. FPGA внутри себя всё равно не умеют в Z.


Я пытаюсь промоделировать процессы на плате, а на ней та ещё вакханалия. Там есть два аналоговых сигнала сходящихся в одну точку, да так что они суммируются между собой, один из них может отключаться через специальный двухсторонний мультиплексор.
Решил проблему как-то так
assign Result = Sig1 + (Sig2==='bZ)? 'd0 : Sig2;
1816 498166
>>498097
Аналоговый сигнал не бывает 'd0, это цифровой сигнал по определению. Ты хернёй какой-то страдаешь, найди нормальный инструмент для моделирования аналоговых цепей
1817 498226
>>498166

>нёй какой-то страдаешь, найди нормальный


Я в курсе. Но почему бы таким образом и не промоделировать процессы на плате?
Нормальный инструмент для моделирования аналоговых цепей мне не нужен. Мне нужно смотреть как мой проект взаимодействует со схемотехникой на плате.

И кстати, с чего ты тут бугуртишь?
>>497692

>мда, теперь будет триггерить каждый раз

1818 498264
>>498226
Так. Видимо, ты какой-то хуесос из оборонки. Малаца, всё правильно делаешь, ничего не меняй, моделируй плату на верилоге.
1819 498267
>>498264
Ну что ты так сразу? Мало ли что он там делает. В целом вполне логично и даже необходимо написать тестбенч, который имитирует все необходимые входные сигналы для FPGA. Я, например, для имитации АЦП часто формирую в тестбенче сначала типа аналоговый сигнал в формате с плавающей запятой, а потом складываю с шумом и квантую по уровню.
1820 498276
Как вкатиться ньюфагу? Купить dev плату и делать приколюхи?
1821 498287
>>498276
САПР не скачать Intel заблокировала софт для РФ. Поздно вкатываться. В 8051 надо вкатываться может начнут производить.
1822 498291
>>498287
Ты меня расстроил. А что там у китайских братушек?
1823 498294
>>498287

>заблокировала софт


Шо, даже скачанный ранее Кряктус не будет работать если сейчас поставить? А если в инет не шастать?
1824 498295
>>498287
Все равно можно скачать через впн или прокси.

>В 8051 надо вкатываться может начнут производить.


Если ты про российское производство, то все-таки 5578ТС024 вероятно производят, в крайнем случае точно смогут делать еще ХС4Т без толерантности к 5 В. 8051 и так делают, а по доступности оно очевидно будет одинаково, что 8051, что ТС024.

>>498291
А у них нету более-менее полностью своего, на TSMC они делают, по крайней мере Gowin. В том числе по этой причине официально отказываются нам их продавать. Да и мелкие эти Gowin. Помимо этого сейчас сильный дефицит всяких микросхем. Основная проблема, по крайней мере для любителя, это не санкции, а кризис. Более-менее доступно в основном старье, такое как третий циклон, с четвертым уже посложнее, а с MAX 10 совсем плохо.
Так что советую Intel, тем более что верилог везде один и тот же.
1825 498297
>>498287

>САПР не скачать Intel заблокировала софт для РФ.


Есть же торренты.

>>498294

>Шо, даже скачанный ранее Кряктус не будет работать если сейчас поставить? А если в инет не шастать?


Отлично работает.
Screenshot 2022-06-22 at 19-19-29 Embedded - FPGAs (Field P[...].png122 Кб, 1251x819
1826 498298
>>498295

>кризис


Вот, у этих почти ничего нет из Intel и Xilinx, лишь немного совсем старья осталось, пока еще. Чуть побольше только Lattice осталось.
1827 498300
>>498295

> 5578ТС024


Может и производят, но про топовые 64 и 104 нам сказали "надо потерпеть, пишите позже".

> Gowin


Это совсем не то. У них есть бмти, фудан и цетц. Которые делают клоны седьмой серии на собственной китайской фабрике SMIC (28 нм).
Не сказал бы, что дико горят желанием работать с РФ, но и оттуда бывают отказы из-за военки.
1828 498302
>>498300

>Это совсем не то. У них есть бмти, фудан и цетц.


Не особо интересовался, ну значит по этой части был не прав. Но первый вопрос был в контексте вката, очевидно на любительском уровне. А где все это сможет купить любитель? На алишечке можно купить Intel, Xilinx, Lattice и платку с вот этим Gowin.
Я вот присматривался к китайским GPixel, у них есть весьма неплохие матрицы, но для любительских поделок проще купить сони, только и с ними не все так просто.
1829 498305
>>498264
Хера ты подорвался, а почему бы и нет? Вывел шину в моделсим, настроил аналоговое отображение и сижу смотрю синусы. Чё не так?

>Видимо, ты какой-то хуесос из оборонки


А ты часом не хохол, дружок, что так рвёшься?

>>498267
плисочую
16543619867521.jpg29 Кб, 500x422
1830 498323
Ну так что, что сейчас актуально купить недорого для ньюфага и делать приколюхи?
изображение.png272 Кб, 811x589
1831 498324
1832 498325
>>498324
Я этой хуйней смогу на монитор вывести что нибудь?
1833 498327
>>498325
Вывести изображение вполне возможно, но кто тебя знает... В целом даже мелкой CPLD хватит для формирования VGA сигнала с полосами.
Но я бы не советовал брать говен, по крайней мере программное обеспечение для этой фиговины выглядит пока сыровато. А также, оно продается только в виде этой платы, саму микросхему отдельно на алиэкспрессе не купить.
1834 498332
>>498276
Почитай про плис, посмотри видосики, скачай крякнутый квартус с торрентов или у иранцев/китайцев, потыкайся в нем.
Купи простенькую плату с Altera Cyclone на али за 5 к типа такой:
https://a.aliexpress.com/_DFkACxV

Официальные каналы поставок закрыты, но в принципе все по прежнему можно достать.
Мелкие циклоны 3 и 4 есть на али.

Еще можно попробовать вкатиться в Xilinx (вроде бы есть китайские клоны) или Gowin (китай).

У нас делают для оборонки 5576ХС6Т, 5578ТС024 и еще что-то, стоят в районе 100-200 к. Там тоже квартус + свой трассировщик за бабло для 024.
Миландр хочет выкатить свою мелкую ПЛИС Бриллиант с IDE и всей хуйней в следующем году. ДЦ Союз делает дорогую радстойкую мелочь, хз чо у них с ПО.
У китайцев есть еще pango, но там нихуя не понятно с регистрацией и ПО.
1835 498333
>>498097
У тебя эти аналоговые сигналы укладываются в логические уровни ПЛИС? Фронты нормальные?
Если нет, нужно что-то промежуточное типа триггера Шмитта, компаратора или ацп, можно поймать метастабильность.
1836 498334
Пиздос, я такую за 2,5к в былые времена покупал
https://aliexpress.ru/item/830309351.html?spm=a2g2w.productlist.i14.1.794013ce3LEHTE&sku_id=57361181813
1837 498342
>>498305

>Вывел шину в моделсим, настроил аналоговое отображение и сижу смотрю синусы.


А толку с этого для аналогового моделирования? Как ты будешь моделировать прохождение твоего синуса через RC-цепь, к примеру? ололо преобразование Лапласа плюс билинейное преобразование, а потом вместо дебагинга платы закопаться в дебагинг модели
1838 498344
>>498334
А я когда-то брал в fpga board store ep4ce115 + ddr2 + 2 gigabit ethernet (A-E115FB) за 8 к. Интересно, где сейчас этот китаец?
1839 498387
>>498342

>Как ты будешь моделировать прохождение твоего синуса через RC-цепь


А мне это и не надо. Мне важно знать что синус в принципе дошёл куда нужно. Создал простую модель ЦАП/АЦП, в ней сделал SPI, синус заходит в АЦП и выходит от туда в последовательном виде через SPI. + ещё кой-какая схемотехника на плате.
1840 498401
Ну заказал я циклон с али со всеми выходами и входами на плате. Надеюсь не заброшу после мигания светодиодами.
1841 498405
>>397766 (OP)

Посоны, поясните плюсачу-наносеку, как так выходит, что POPCNT выполняется за такт?
Там какое-то compressor tree в железе, адекватного объяснения по-программистски про это я не нарыл.
1842 498406
>>498405
Если объяснять по програмистски, то тупо на case сделано.
1843 498407
>>498405
Странный вопрос.
1) Чем оно отличается от сумматора, который также "выполняется за один такт"?
2) Существует деление цифровых устройств на комбинационные и последовательностные. Комбинационные это у которых состояние выхода не зависит от предыдущих состояний входа, а только от текущего. Очевидно у комбинационных устройств нет памяти и тактовый сигнал к ним отношения не имеет. Последовательностные устройства наоборот имеют память, например регистр, запоминающий по фронту тактового сигнала что было подано на его вход с комбинационного устройства. Очевидно что popcnt, как и любую булеву функцию (или как погромисты называют, чистую функцию), можно сделать в виде комбинационного устройства.
1844 498428
>>498405

>Там какое-то compressor tree в железе, адекватного объяснения по-программистски про это я не нарыл.



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

Почему это выполняется за один такт — потому что между уровнями сумматоров нет регистров. Когда изменяются значения на входе каждого сумматора, то он сразу начинает генерировать выходное. Регистром защёлкивается только итогове значение, и в этой схеме главное — чтобы сигнал успевал проходить через все уровни в течение одного такта.
1845 498496
>>498406
>>498407
>>498428

Так, интересно, но непонятно.
Мой уровень - знаю виды триггеров, в универе рисовал логические функции в microCAD, по работе приходится местами опускаться до ассемблерных оптимизаций под x86, Agner Fog осилил, мануалы от вендоров - нет, английский свободный.
Нужна легкая литература по теме строения современных CPU.

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



А сколько уровней может проходить сигнал в типичном CPU? 128-битный компьютер невозможен с сохранением текущих частот?
1846 498504
>>498496

>Так, интересно, но непонятно.


Ну а как делается сдвиг сразу на несколько разрядов за один такт?
x = x << 8;

>Нужна легкая литература по теме строения современных CPU.


Вот дядька неплохо излагает.
https://www.youtube.com/c/АПСПопов/videos

>128-битный компьютер невозможен с сохранением текущих частот?


Вполне.
1847 498512
>>498496

>Так, интересно, но непонятно.


Хоть про основы булевой алгебры на википедии прочитай. И вовсе не обязательно что popcnt прям везде считается за такт, где-то может в АЛУ вовсю конвейер используется и результат выдает каждый такт, но с задержкой во сколько-то тактов.

>А сколько уровней может проходить сигнал в типичном CPU?


Уровней чего?

>128-битный компьютер невозможен с сохранением текущих частот?


Чтобы компьютер был полным по Тьюрингу, достаточно лишь одной поддерживаемой арифметической операции - NAND и еще какой-нибудь инструкции условного перехода. Очевидно что скорость побитного NAND двух регистров не будет зависеть от их разрядности. Поэтому можно сделать комп и с большими частотами и с разрядностью хоть в тысячи бит, только смысл?
А еще, что ты будешь делать с int даже на 128 бит? Более того, у тебя комп местами и так выполняет операции с данными по 512 бит, AVX-512 же.
1848 498515
>>498496

>А сколько уровней может проходить сигнал в типичном CPU?


Вопрос смысла не имеет, в каждом случае скорость работы — результат компромисса. Можно расположить дерево сумматоров супероптимальным образом, но в составе CPU это работать не будет, т.к. делается в ущерб оптимальности других блоков.

>128-битный компьютер невозможен с сохранением текущих частот?


Возможен. Задача усложнится, но её можно решить дополнительными ресурсами (пространством на кристалле). В конечном итоге это определит цену для пользователя, и рыночек порешает. Компромисс выбирается на всех уровнях.
1849 498517
>>498515

>Задача усложнится


Не совсем так, все зависит от набора команд, как я написал чуть выше.

>и рыночек порешает.


Тут в другом дело. 64 бита понятно откуда взялись - выросли объемы памяти, только и всего. Смысл от операций с int64_t за одну инструкцию может и наблюдается, но минимальный. А смысл от int128_t в прикладных программах? Совсем минимальный. Есть еще SIMD, но оно и так в наличии, а применяется ограниченно.
1850 498518
>>498344

> Интересно, где сейчас этот китаец?


Переименовался в HPC FPGA Board Store: https://aliexpress.ru/item/4001305962241.html
1851 498769
Написал универсальный демультиплексор, можно указать количество выходов через wAdr и ширину входа/выходов через wBus, т.е. wAdr=3, wBus=4 это ширина входа/выходов 4 разряда, количество выходов -- 8. На Adr подаём номер выхода на который нужно вывести значение с входа In, на остальных выходах будет 0.
module Test
#(parameter wAdr=3, wBus=4)
(input [wAdr-1:0]Adr, input [wBus-1:0]In, output [2⚹⚹wAdr⚹wBus-1:0]Out);
assign Out = In << (Adr⚹wBus);
endmodule

Теперь нужно всё тоже самое, только на остальных выходах вместо нулей должно быть 'bZ.
1852 498838
>>498769
Если нужно, то делай. Или это был вопрос?
Я вижу два варианта:
1) Сделать с помощью конкатенации
assign Out = {{сколько-то{1'bZ}}, wBus, {сколько-то{1'bZ}}}
2) Сделать Out как reg, далее в always
Out = {2⚹⚹wAdr⚹wBus-1{1'bZ};
Out[сколько-то:сколько-то] = wBus;
1853 498839
>>498838

>wBus


Не то скопировал, тут должно быть In. Выглядит как натуральный логарифм.
1854 498912
Как в ISE включить поддержку системверилога?
wire [7:0][15:0]Provod;
не хочет компилить, сцуко!
1855 498920
>>498912
14.7 версия
1856 498932
>>498912

>Provod



Я бы такое тоже отказался компилить, ещё бы и ебальник набил по айпи.
1857 498934
>>498932
ололо
скажи лучше как системверилог включить
1858 498937
>>498912
Но ты, конечно, ещё бы для дедушкиных часов с кукушкой поддержку системверилога спросил. Её и в актуальных-то тулах запиливают с пятнадцатилетним отставанием от принятия стандарта, а ISE дропнут уже хуй знает сколько. Так что никак, сорян.
1859 498939
(и скажи ещё спасибо, что там не VHDL 93)
1860 498946
>>498937
Если так, то херня из под коня этот ваш ксилинкс, в кактусе 9 и то есть. Уж не знаю на сколько она там полная, но во всяком случае двухмерные массивы компилирует.
1861 499056
>>498937
Говорят какой-то Synplify можно подключить. Где его взять и как подключить?
1862 499184
>>498838
Ну вот пока и непонятно как.
1864 499390
>>499389

>#wipe longwords


Хер пойми чё. Макака ёбнулась.
1865 499524
Был у кого опыт заказа отладки отсюда? В чём наёб? Чего-то как-то дёшево за относительно жирные плисины.

QMTECH Official Store
https://a.aliexpress.com/_DErPP5V
1866 499603
>>499389
Может банально кончились, а удалять/перевыставлять не хотят. Или вконец уже ебанулись (WaveShare и раньше дешевизной не отличался, но если в каком-нибудь 2013 году им альтернатив не было, то сейчас то…).

>>499524
Наёб там фирменный, британский, им. Клайва Синклера: экономия на спичках. https://www.eevblog.com/forum/fpga/qmtech-artix-7-wukong-board/
1867 499744
>>499603

>Наёб там фирменный, британский, им. Клайва Синклера: экономия на спичках.


Всего-то? Я уж испугался. Думал, там кристаллы не настоящие. А тут всё ппосто в традициях топазасвоиденьги с китайских площадках.
1868 499792
Interlaken живой ?
789q2ObUnTA.jpg380 Кб, 985x1288
1869 499887
Привет, радач!

Есть вышка по электронике, есть ли какие-нибудь перспективы в ПЛИСах и цифровом дизайне в целом?

Имеет ли смысл ебать себе мозг огромным количеством разноплановой информации (цифровая схемотехника, HDL-языки, тайминги, всратые инструменты вроде квартуса и моделсима) или лучше учить какой-нибудь питон?

Был небольшой опыт работы с Verilog-ом и с электроникой в целом.
Вообще, уже как 3 года РАБотаю, а в деньгах стал получать даже меньше. Есть ли жизнь технарям вне IT?
1870 499898
>>499887
Никаких перспектив. Поставки мало-мальски нетривиальной электроники в рашку ВСЁ (в достаточных для промышленного применения объёмах, ради которых имеет смысл тебя нанимать) и можешь даже не рассчитывать, что они возобновятся после завершения броска пыньгуста как и вообще в ближайшие несколько десятков лет.
1871 499899
>>499898
Да хуйня. Просто теперь не х5 цена для русни, а х10. Но все что можно и нельзя возится.
1872 499900
>>499898
Пчел, ПЛИС официально не ввозятся уже несколько лет. Тут не поменялось вообще ничего.
1873 499902
>>499899
Десятикратная цена уже давно и для всех, а не какой-то русни.
1874 499915
>>499898
Но не для всех вещей же нужно большое количество ПЛИСок?
Например, если компания занимается soft IP, то достаточно пары отладочных плат на инженегра?
1875 499918
>>499915
А для кого она будет пилить эти IP? Если для иностранного заказчика, то после броска пыньгуста они всё. Если для отечественного заказчика, то ему под разрабатываемые IP нужны плисы которых нет, поэтому они, соответственно, тоже всё.

Хочешь осваивать перспективную инженерную профессию — рекомендую техобслуживание авто зарубежного производства со специализацией на отсутствии родных расходников и запчастей.
1876 499919
>>499918

>А для кого она будет пилить эти IP? Если для иностранного заказчика, то после броска пыньгуста они всё.



Тащемто нет, в моей батрачке из иностранных заказчиков никто не отвалился. Насколько я знаю
1877 499921
>>499919
Ты пилишь IP-ядра? А для какой-области применения (можно в общих словах)? А если речь не о плис, а о простом макакинге, то это другое.
1878 499922
>>499921
Нет, не пилю, работаю на должности IT-говночиста с соответствующей зарплатой. Пилим точнее, пилят процессорные блоки на архитектуре RISC-V.
1879 499923
>>499922
Прикольно. Ну, если анону удастся туда устроиться, то можно, пожалуй, не спешить с переквалифицированием в техобслуживание без родных расходников.
1880 499925
>>499923
Ну так вот, этот анон я хочет узнать, если смысл вкатываться в это дело, учитывая, что по запросу "Verilog" хедхантер выдает 31 вакансию в ДС-2, а по запросу "Python" 1286 вакансий?
YOMgMT2yeRc.jpg80 Кб, 527x636
1881 499927
Буквально ИТТ.
1882 499931
>>499925
Да ты и сам понимаешь. Задающиеся вопросом "имеет ли смысл?" на такое не пойдут, потому что им предстоит за эти ультраредкие вакансии конурировать с задротами, которые будут заниматься вериложеством по приколу за еду. Такая же хуйня с микроконтроллерами.
1883 499946
>>499931
Да, анон, ты прав.
Видимо, буду переучиваться самостоятельно на что-то другое. Грустно.
1884 499965
>>499056
Бамп. Его кто-нибудь здесь юзал?
1885 499972
>>499898
Есть такое понятие как параллельный импорт.
1886 500042
>>499887
Да, если тебе это интересно.
Поспрашивай в бывшем универе, кабанчики часто там тусуются.

Можно найти вкусную вакансию в частной конторе, можно податься в импортозамещение или оборонку, во второе сейчас вливают много денег.
Еще есть смежная разработка цифровых интегральных схем (verilog, system verilog), сейчас тоже хуеву гору всего будут делать.
Хуево то, что нет удаленки, иногда нужно сидеть над платой с осциллом.

Санкции несколько осложняют работу, но все по прежнему завозят.
Кризис полупроводников затронул и ПЛИС, по всему миру выросли цены, на диджике и маузере пустые стоки.
Есть доступные китайцы типа Gowin и вроде бы клоны хилых. Еще есть чисто китайские pango и радстойкие casc bmti.
Из наших у ВЗПП остались несколько радстойких ПЛИС, Миландр хочет выкатить что-то простенькое в следующем году.
1887 500497
Надо реализовать деление.
Говорят деление как-то можно заменить умножением.
Я только до такого сумел додуматься:
В / С = А;
можно преобразовать в
1/(1/В х С) = А
Но как взять обратное число, ведь это тоже деление?
Или есть какой-то другой способ?
1888 500507
>>500497
Бери готовое IP-ядро, конечно если тебе нужен результат.

>Или есть какой-то другой способ?


Если нужен не результат, а процесс, то можешь посмотреть как делают деление в процессорах без аппаратного деления.
https://stackoverflow.com/questions/21074682/dividing-a-number-without-using-division-operator-in-c
Это самое простое и очевидное.
1889 500522
>>500497
Погугли CORDIC. Это алгоритм, который использует только сложение и битовый сдвиг, и при определённых параметрах из исходных чисел y и x позволяет получить y/x. Количество действий известно заранее (одна стадия алгоритма даёт плюс один бит точности результата), поэтому на нём можно сделать аппаратный конвейер. Это не единственный алгоритм деления, подходящий для конвейера, но самый простой.
1890 500523
>>500497

>Я только до такого сумел додуматься:


>В / С = А;


>можно преобразовать в


>1/(1/В х С) = А



Всё проще: В/С=А → B*(1/C) = A

Есть варинты получить 1/C из C при помощи приближения полиномами (ряд Тейлора, полиномы Чебышева), в отличие от CORDIC они требуют меньше стадий (два бита точности на стадию алгоритма или даже больше), но каждая стадия требует аппаратного умножителя.
1891 500525
>>500522
В кордике нужны таблицы, поэтому не факт что оно займет меньше ресурсов чем деление "в столбик" >>500507
Ну и можно еще предложить делить банально путем вычитаний, медленно конечно, но бывает что и такое подходит.
1892 500531
>>500525
Таблицы для деления кордиком выглядят так: 100..., 010..., 001... и т.д.
Вспомнил ещё один метод вычисления 1/C — метод Ньютона: x0 = (середина диапазона ожидаемых результатов), xn+1=xn*(2-axn) пожалуй, это наилучший варик.
1893 500585
>>500507
>>500522
>>500523
>>500525
>>500531
Ясно, ничего простого нет, а я то тдумал есть какая-то хитрость. Тогда действительно, проще деление в столбик организовать.
1894 500724
.
1895 504757
Ёбаный пиздец. Скажите, это в верилоге по стандарту положено, что когда происходит операция с signed и unsigned, то оба операнда ПРИВОДЯТСЯ СУКА К UNSIGNED, и знаковый бит signed становится одним из числовых разрядов? Или это только у iverilog такие приколы?
1896 504760
>>504757
а фигли оно за тебя должно конвертировать? оно сделало бит к биту
https://habr.com/ru/company/vk/blog/679002/
1897 505012
>>504760
Хуит к хуиту. Оно сделало одну неявную конверсию вместо другой. Только из всех вариантов неявной конверсии оно выбрало тот, в котором складываеь (signed) -1 и (unsigned) +2, присваивая результат в (signed) большего размера, совершенно логично получаешь (signed) +257. Кому такое может понадобиться блядь вообще?
1898 505499
>>397766 (OP)
Шёл, нашёл, еле ушёл, какую-то промышленную хуйню. (после оживления оказался каплеструйным принтером)
Ясен пень, что мне дома он нахуй не нужен. Покупать печатную головку, емкость для чернил и сами чернила, за сотни тысяч деревянных, я не планирую.
Внутре оказалась интересная начинка. Думаю попробовать хоть вкатится в FPGA на халяву. Что скажете? Пойдет для первых шажков?
1899 505501
>>505499
не проще купить отладочную плату на али, чем вызванивать все эти дорожки?
1900 505502
>>505499
Отладку с ep4ce6 на алике возьми. 4к ячеек такого геморроя не стоят.
1901 505508
>>505502

>4к ячеек


10к навроде, не?
1902 505509
>>505501

>купить


Но тут же ХАЛЯВА?! Плюсом еще и контроллер ARM9 от Техасских Инструментов.
1903 505510
>>505508
10к на этой, на 6к можно купить на алике на плате.
1904 505518
>>505509

>Но тут же ХАЛЯВА?!


Ну выпаешь её потом оттуда и засунешь куда-нибудь в анус.
1905 507990
ПЛИСаны, скажите есть ли какие-нибудь бесплатные верилог программы, через которые можно работать с алтерой? Кроме как квартуса.
Валяется у меня несколько плат МАХ-2, вот думаю, что-нибудь на них замутить.
1906 508006
>>507990

>Кроме как квартуса.


Вендорлок. Прошу любить и жаловать. Нету ему аналогов или замены.

MAX II если не ошибаюсь даже в веб версии старых квартусов без лицензий работал. Проблемы могут начаться при попытке использовать IP Core. В MAX II (и подобных мелких CPLD) SignalTap нет. Даже не ищи.
1907 508043
>>397766 (OP)
Кем вы вообще работаете и сколько платят? Думал из программистов ARM перекатиться. Стоит ли?
1908 508054
>>508043

>Кем вы вообще работаете


Инженегром.

>сколько платя


50к в мухосрани.

>Стоит ли?


Если тебе льстит мысль, что ты смог в параллелизм в отличии от большинства остальных погороммистов, то да. В остальном же какой-нибудь линуксойд может получать и 100 и 200к.
1909 508119
>>508054

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


Ну достаточно сильно льстит. Но больше хочу заниматься прототипированием контроллеров шин данных, SIO, чипсетов и прочих микрух специального назначения.
Я просто работал на проекте и делал примерно то же для в симулятора. Модельки писал.
Такое вообще бывает на нашем рынке?

>В остальном же какой-нибудь линуксойд может получать и 100 и 200к.


Сейчас собственно и получаю 200к, а на ПЛИС вообще реально выйти под такие ЗП и выше? Все-таки узкоспец.
1910 508121
Короче, надо генерить DSSS сигнал с частотой самой расширяющей последовательности ну так 300-500 МГц. Т.е. плисина получает на вход информационный сигнал (~40-80 Мбит/с), сама внутри генерит ПСП с частотой 300-500 Мбит, перемножает информационный на ПСП и результат подается на какой-нибудь пин. Какая самая дешевая плисина это осилит? Пусть будет код голда длиной 512 или 1024
1911 508148
>>508121

>самой расширяющей последовательности


Это русский?
1912 508150
>>508119

>Но больше хочу заниматься прототипированием контроллеров шин данных, SIO, чипсетов и прочих микрух специального назначения


Это куда-нибудь в зеленоградские конторы, по типу Миландра, которого обанкротили, Микрона и иже с ними. Но зп там тоже не очень.

>а на ПЛИС вообще реально выйти под такие ЗП и выше? Все-таки узкоспец.


Ну опять таки, смотря какие задачи будешь решать. Если могёшь в ЦОС на достойном уровне - то вполне, особенно в ДС.
1913 508154
>>508150
Двачну, Плис без цос никому не нужно. Меня в конторе сразу поставили писать распараллеленное БПФ которое я так и не откатал до конца.
1914 508156
>>508154
Не всегда. Мы вот спец коммутаторы делаем, например. ЦОС там, конечно, есть, но на самом минимальном уровне.
1915 508157
>>508154
Но зачем, если их и так уже написано дохуя, и даже опенсорц?
изображение.png34 Кб, 812x310
1916 508159
>>508148
Самой псевдослучайной последовательности, так понятнее?
1917 508205
>>508121

>Какая самая дешевая плисина это осилит?


Если в общем случае, то почти любая с serdes. Если рассматривать алиэкспресс, то это наверное все начиная с третьего цмклона. Хотя сериализатор можно и снаружи прикрутить, даже проще будет.
Но дальше начнутся нюансы. Куда потом подавать все это? Сразу на модулятор? Тогда по любому придется задуматься о джиттере на выходе.

И у тебя не стыкуется картинка и слова. Если у тебя BPSK, как намекает картинка, то на один бит нужно передавать послельность целиком. И из 40-80 Мбит при такой длине будет многовато. Или я что-то не понимаю.

А еще коды Города не могут быть 512 и 1024, только 511 и 1023. Если дополнить эти до 512 или 1024, то даже на нормальном спектроанализаторе будет немного заметна разница.
1918 508212
>>508205

>Города


Голда
Извиняюсь, автоисправление на телефоне сработало.
1919 508238
>>508205

>Если у тебя BPSK, как намекает картинка, то на один бит нужно передавать послельность целиком. И из 40-80 Мбит при такой длине будет многовато. Или я что-то не понимаю.


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

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


А всякие дешевые gowinы не осилят это?

>Хотя сериализатор можно и снаружи прикрутить, даже проще будет.


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

>Куда потом подавать все это? Сразу на модулятор?


Нет, из этого сначала потребуется сформировать дифференциальный сигнал причем биполярный, а не однополярный
1920 508251
>>508238
ПЛИС дешёвые максимум 200-300 МГц осилят, дальше не сойдутся тайминги. Поэтому нужен на выходе модуль, который из параллельного сделает последовательный быстрый сигнал. Это и есть сериализатор от слова serial последовательный. Это может быть внешний чип.
На таких частотах лучше всего сразу из ПЛИС выдавать дифсигнал, если конечно сериализатор внутренний (serdes). В ПЛИС есть в отличие от контроллеров возможность выбрать выходной драйвер почти для всех портов, в том числе есть просто дифференциальный, lvds.
1921 508260
>>508251

>дальше не сойдутся тайминги.


Уже в cad будет видно или только ирл?
1922 508366
>>508260
В кад.
изображение.png266 Кб, 900x559
1923 508388
>>508251

>На таких частотах лучше всего сразу из ПЛИС выдавать дифсигнал


>В ПЛИС есть в отличие от контроллеров возможность выбрать выходной драйвер почти для всех портов, в том числе есть просто дифференциальный, lvds.


О, а может там можно и с common mode 0 V? Чтоб как на пикче было
renditionDownload.jpeg15 Кб, 460x234
1924 508394
>>508388
Синфазное напряжение меняется тупо блокирующими конденсаторами и парой резисторов, которые привязывают постоянку к новому уровню.
1925 508459
Вопрос такой. Реально ли собрать 100 мб езернет на рассыпухе? Ну типа всё кодирование делать в плисине, а преобразователь уровней собрать на транзисторах?
1926 508460
>>508459
Жизнь будет намного проще, если ты возьмешь RMII - ethernet чип вместо транзисторов. А так https://www.fpga4fun.com/10BASE-T0.html
SmartSelect20221108102841Samsung Notes.jpg107 Кб, 1368x661
1927 508480
>>508394
А как заставить эту херню "заткнуться"? Т.е. я хочу иметь возможность выставить там уровень 0, когда нет сигнала. Если мы просто сместим это на несколько вольт, то у нас же при нуле на выходе будет логический минус, а не 0, не?
1928 508481
>>508459
Я слышал от коллеги что там достаточно трансформатор на выход поставить. Ну и Плис чтобы 100 МГц тянула на пинах. Но сам проект не видел.
anime10.png562 Кб, 1280x720
1929 508510
>>508480
Ну да, когда синфазное напряжение с буфера падает с условных 1.5В до нуля, синфазное напряжение с блокирующих конденсаторов на какой-то момент упадёт с нуля до -1.5В, но конденсаторы быстро разрядятся через подтягивающие резисторы, и напряжение снова станет нулевым.

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

Но если тебе надо конкретно прям включать синфазный ноль с буфера и чтобы с барьерных конденсаторов ничего прям не падало ниже -0.5В, можешь добавить стабилитроны на землю, которые будут оперативно сливать заряд при бросках напряжения ниже допустимого.
1930 508577
>>508480

>das pic


PlantUML спасет будующего рисовальщика timing diagramm
1931 508673
>>508460
В статье больше по программной части, мне же интересна аппаратная.

>>508481
Вот тоже видел такое на схемах. Не возникнет ли проблем с согласованием?
1932 508779
>>508673
в статье тупо подключили к плис напрямую, поиграться хватит. Если надо 100мбит фулл дуплекс со всеми автополярностями и с полным соответствием стандарту, лучше прочитать стандарт https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68. Но на транзисторах и логике это будет здоровый ящик гарантированно, смысл, если есть MII/RMII - ethernet чипы?
1933 508795
>>508459
10 Мбит без проблем можно, там манчестер, на марсоходе статья была.
В 100 Мбит 3 или 4 уровня сигнала, нужен примитивный резистивный ЦАП и прием там тоже хитровыебанный.
Почитай даташит на какой-нибудь ksz8081 или dp83848, там все написано.
Проще купить ethernet phy за 200 р.
В обоих случаях нужен трансформатор, например, HX1188 или от мстатора.
1934 508807
>>508795

>100мбит фулл дуплекс


Да.

>со всеми автополярностями


Если имеется в виду автоопределение приёма/передачи то можно и без них.

>нужен трансформатор


Трансформатор - не проблема.

>>508795

>нужен примитивный резистивный ЦАП


Могут ли здесь возникнуть трудности?

>прием там тоже хитровыебанный


Т.е. нужен АЦП? На резисторах собрать можно?

>есть MII/RMII - ethernet чипы


>Проще купить ethernet phy


С закупкой импорта дела всё хуже и хуже.
1935 508808
>>508807
То есть, ПЛИС ты можешь достать без проблем, а Ethernet PHY не можешь? Ты либо ебанутый, либо ситуация пиздец какая уникальная.
1936 508843
>>508808
В связи с последними событиями нам настоятельно рекомендуют по возможности сокращать импортную номенклатуру.
1937 508854
>>508843
Так ты и сокращай, только как-нибудь иначе. Ну там например вместо двух микросхем fpga+конфигурационных память возьми одну микросхему MAX 10 (если по объему хватит). Можно же без столь радикальных шагов обойтись и номенклатуру сократить. Реально то наоборот поставки импорта надёжнее. Хотя бы как с Миландром вышло, да и со многими другими. У меня ещё из недавнего ЦАП от нииэт отвалился.
1938 508920
>>508854

>Так ты и сокращай


Так уже всё и сокращено, остался спартан 6 и флешка к нему.
А вот Миландра - да, больше нет, а там то как раз и были трансиверы, притом сразу два, как раз то что надо. Программка там крутилась не сложная, её можно и в плис перенести, но трансиверы теперь надо ставить внешние. Вот я и думаю как бы обойтись без них.
1939 508943
>>508920
Так воткни макс 10 вместо спартана и будет тебе сокращение номенклатуры на одну штуку, без замены трансивера. В нем же флешка встроенная.
1941 508972
>>508920
Скорее всего на ПЛИС потребуется дополнительная оперативка для полноценного сетевого стека.

Когда делал triple speed ethernet на циклоне, нужна была внешняя оперативка (32 Мбит sdram), во внутренней он не помещался.
У хилых какое-то аналогичное решение было.
По сравнению с миландром разводка такой платы - это просто пиздец, сотня цепей, выравнивание дорожек, bga и 2-3 питальника. И компоненты не самые доступные.

Если что, 10 и 100 Мбит полностью совместимы.
Возможно, хватит какого-нибудь простого варианта на 10 Мбит с отправкой сообщений без полноценного стека, как у марсохода.

Я бы посмотрел в сторону stm32f407/cks32f407/apm32f407 + ethernet phy или ch32v307, но пока ни то, ни другое не использовал.

Идеальный вариант - выкинуть ethernet и заменить на rs-422/485/can, если скорость позволяет.
1942 509000
>>508920
это просто гениальная идея выкинуть ширпотребный фронтэнд, который всегда будет у китайцев, и вместо этого загрузить плисину разбором 100 мб/с последовательных данных, зная что такие плис всегда будут под санкциями
хотя какой суперлогики я хочу от оборонки
1943 509005
>>509000
Хрюкни
1944 509014
>>509005
бутылку из задницы вытащи сначала, а потом указывай что делать
1945 509037
>>508943

>макс 10 вместо спартана


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

>без замены трансивера


Так в этом то вся проблема, Миландр отвалился и теперь нужна замена трансиверам. А со спартаном и с его флешкой проблем пока пока нет.Но в долгосрочной перспективе надо думать и о его замене.

>>508972

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


У нас только канальный уровень, без этих ваших модных тисипи/айпи.

>10 и 100 Мбит полностью совместимы


>Возможно, хватит какого-нибудь простого варианта на 10 Мбит


10 мало, нужно 100.

>Идеальный вариант - выкинуть ethernet и заменить на rs-422/485/can


К сожалению нет. Позняк метаться. Решение принято, ТЗ утверждено, документация заложена, ответная аппаратура закуплена.

>>508946

>начни с этого


спс, гляну.
1946 509044
>>509037

>там есть ПЛЛ, полноценная двухпортовая память, аппаратные умножители?


Да, все это есть. Единственный нюанс в инициализации памяти, версия без АЦП не умеет инициализировать память, так что если оно нужно, то необходимо брать чуть более дорогую версию.
1947 509128
>>509044

>Да, все это есть.


Хорошо если так. Только проблему трансиверов не решает, их как нету, так и нет.
1948 509281
>>509128
Возьми китайские, например, sr8201.
1949 510513
Как реализовать часы, чтобы можно было настраивать, убирая неточность генератора etc

Типа счетчик считает такты и тд.
1950 510515
Как реализовать часы, чтобы их можно было настраивать, убирая неточность генератора etc?

Типа счетчик считает такты и тд. Как system clock в linux
1951 514263
Посоветуйте, пожалуйста, книги, по которым можно освоить базу программирования FPGA.
1952 514269
1954 514314
>>510515
Меняешь у счётчика максимальное значение до которого он может досчитывать и всё.
1955 514319
>>514263
harris, harris, digital design and computer architecture
quartus.png35 Кб, 1031x581
1956 514640
Как в квартусе добавить файл на верилоге к проекту? Я создал проект, потом в меню new создал файл .sv, но он создался сам по себе, а не в проекте.
1957 514645
>>514640
Если еще актуально.
Потом жмешь на "Files", там где ты вопрос нарисовал, кажется правой кнопкой мыши под рукой сейчас нет квартуса, а действия эти выполняю уже на мышечной памяти, и добавляешь в открывшемся окошке файлы.

> потом в меню new создал файл .sv


Это не обязательно, можно точно так же хоть в проводнике (или еще чем) создать пустой файл, мне так даже удобнее как-то. И я бы перед тем как тыкать в квартусе, проверил бы эту ерунду в моделсиме. Тем более такую "лабу" и вовсе синтезировать как-то особо ни к чему.
quartus.png38 Кб, 811x603
1958 514650
>>514640
Я учусь в квартусе кодить. С добавлением файлов в проект разобрался. А как сделать назначение пинов в редакторе? У меня китайская дев плата, на которой стоит альтера EP4CE6E22C8N. В настройках модели чипа была только EP4CE6E22C8 без N на конце, я указал ее. Открываю редактор assignments, а там в поле Value непонятно как задать номера пинов. Какой-то список выпадающий. У меня квартус 22.1.
quartus.png47 Кб, 804x634
1959 514652
>>514650
Как тут добавить программатор USB blaster?
Capture2.PNG177 Кб, 1071x662
1960 514653
>>514650

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


Если еще актуально, то лучше натыкать в "Pin Planner". Там сразу видно к какому банку относятся выводы и все конфликты проверяются. Удобно вобщем, особенно при создании своих устройств.

>>514652
Он сам там появляется в выпадающем списке, нужно только драйвера установить. Это если не переглючит, но такое только в лялихе замечал.
1961 514654
>>514653

>нужно только драйвера установить.


Ну и сам бластер воткнуть разумеется. Вот прямо в "Available hardware items" появляется автоматом. Остается только выбрать в "Currently selected hardware".
quartus.png37 Кб, 741x565
1962 514656
>>514654
А у меня даже типа "USB Blaster" нету. Сам бластер воткнул, в диспетчере устройств он определяется как USB Blaster, а квартус его не видит. ЧТо делать?
1963 514658
>>514656

>ЧТо делать?


Не знаю. Но окошко "Add hardware", которое ты открыл, открывать точно не нужно. Это для того что в LPT втыкается или по сети работает, для USB это никаким боком.
Попробуй перезагрузить что-ли, под виндой с таким не сталкивался. А в лялихе помогает прибить процесс jtag-что-то там.
1965 514661
Открыл видео наугад, а внизу описание

>- Настройки Quartus-а и компиляции;


>- TimeQuest;


>- Ревизии;


>- Копирование, архивирование и восстановление проекта.


Первые два пункта ладно еще, только странно что TimeQuest уделено столь мало внимания.
Но резервное копирование с архивацией? Бред какой-то. Даже если оно там есть это глупо использовать, есть же git или еще что-нибудь по вкусу. Да и с ревизиями почти то же самое на практике. Нафиг было вообще это упоминать, когда таймквесту уделено столь мало внимания.
Помимо этого, вряд ли в видео есть о том как бороться с переглючиванием квартуса, которое случилось у анона.
1966 514664
>>514661

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


Я решил проблему с проглючиванием USB Blaster. Надо было протсо автоматически из диспетчера устройств установить драйвера для бластера, которые лежали в папке с квартусом. Теперь другая проблема - квартус не прошивает плату, пишет вот это:

Error (209040): Can't access JTAG chain
Error (209012): Operation failed
Info (209061): Ended Programmer operation at Sun Jan 8 19:04:19 2023

В чем тут дело?
1967 514666
>>514664
Разобрался. По круглому кабелю ндао было подать питание на FPGA.
1968 514681
>>514661

>Но резервное копирование с архивацией? Бред какой-то.


Это тебе не просто rar-ом запаковать, там свои тонкости.
1969 514692
>>514681

>Это тебе не просто rar-ом запаковать, там свои тонкости.


Просто освой git или еще что по вкусу. Нет там никаких тонкостей. К тому же рар в 2023 году это уже странно.
quartus.png14 Кб, 681x461
1970 514784
Написал такой код для blink'а светодиодом, но при прошивке в плату лампочка просто ровно горит, а не моргает. Что я сделал не так?
1971 514794
>>514784
Ну, в симуляции твой код будет работать, если задать начальное значение для counter и state, потому что иначе там x всегда будет. При синтезе дело иное конечно, но все равно не дело писать так чтобы работало при синтезе, но не при симуляции. Ещё и integer не стоит использовать в синтезируемом коде.

Вобщем если проблема не с тем что ты перепутал выводы или ещё чем-то из той же серии, то стоит заменить integer на reg с требуемой разрядностью и на всякий случай задать там начальные значения.
quartus.png17 Кб, 525x418
1972 514795
>>514794
Вот так? Все равно лампочка горит, а не мигает. И если в блоке initial прописать state = 1, то лампочка не горит. Она горит только если state = 0;
1973 514796
>>514795
1. Ни чё что у тебя stste 32-х разрядная?
2. Какой космический с 20 строчки?
3. У тебя, когда счётчик досчитывает до 25000000 он одновременно и инкриминируется (12 строчка) и обнуляется (15 строчка).
Попробуй так
if(counter == 25000000)
begin
counter <= 0 ;
state <= !state;
end
else
begin
counter <= counter + 1'd1;
end
1974 514797
>>514796

>У тебя, когда счётчик досчитывает до 25000000 он одновременно и инкриминируется (12 строчка) и обнуляется (15 строчка)


Не одновременно, а по условию. Инкрементируем всегда, но если досчитали, то обнуляем.
quartus.png12 Кб, 425x353
1975 514798
>>514797
Не помогло. Все равно не мигает. Что ты имел в виду здесь?

>2. Какой космический с 20 строчки?

1976 514799
>>514795
Значит проблема не в этом коде. Выведи тактовый сигнал на какой-нибудь вывод и посмотри осциллографом, может у тебя там напутано.

>Вот так?


Не совсем. Зачем для state 32 разряда? Да и для счётчика избыточно. Ещё стоит параметры использовать, сейчас это может избыточно, но потом может многое упростить. А разрядность счётчика можно автоматически логарифмом посчитать. Но это на будущее.

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

>>514796

>одновременно и инкриминируется


Не блокирующее присваивание так не работает в любом случае.
1977 514800
>>514799

>А разрядность счётчика можно автоматически логарифмом посчитать. Но это на будущее.


Это как считается логарифмом?
1978 514801
>>514800
Как-то так https://stackoverflow.com/questions/5269634/address-width-from-ram-depth
Только в случае со счётчиком смотри единичку не проеби как этот страдалец https://stackoverflow.com/questions/62493200/verilog-minimum-bit-width Ему там ещё в первом ответе правильно написали.
1979 514802
>>514797

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


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

>>514798

>Что ты имел в виду здесь?


>>2. Какой космический с 20 строчки?


Зачем переназначать state в led, когда вместо
state <= !state;
можно сразу написать
led <=!led;
предварительно сделав led тоже регистром

А вообще посмотри, твой светодиод горит в полную яркость или же нет.
Может быть так что, он мигает, но очень быстро... хотя вряд ли конечно...
И какая частота у твоего генератора?
1980 514803
>>514802

>Можно


А может ты прочтешь о том что такое неблокирующее присваивание и чем оно отличается от блокирующего?
1981 514804
>>514803
А может ты сменишь тон и не будешь выёживаться на пустом месте.
В данном случае присвоение
assign led = state;
избыточно.
state можно сразу вывести на светодиод.
1982 514806
>>514804

>на пустом месте.


Это не пустое место, а дезинформация с твоей стороны. Про повторное присваивание, если что.
Без assign тут конечно можно обойтись, но это уже мелочи.
1983 514808
>>514802

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


Даже при тактовой 250 МГц будет частота мигания 5 Гц. Да хоть при 1 ГГц получаемые 20 Гц уже будут сразу заметны.

Более всего вероятно то что перепутан вывод или enable на тактовый генератор нужно выдать или ещё что-то аналогичное.
1984 514809
>>514802

>И какая частота у твоего генератора?


50 мгц
1985 514810
>>514808

>или enable на тактовый генератор нужно выдать или ещё что-то аналогичное


Как это сделать?
1986 514811
>>514810
Это только предположение что генератор может включаться от плисины. Мало ли как сделали.
На твоём месте я бы ткнул осциллографом в выход генератора для начала. Если там все нормально, то вывел бы тактовый сигнал напрямую на светодиод или ещё куда и ткнул осциллограф уже туда.
1987 514812
>>514811
Ну и разумеется внимательнее посмотреть принципиальную схему твоей платы.
1988 514813
>>514806

>Это не пустое место, а дезинформация с твоей стороны. Про повторное присваивание, если что.


Ещё раз. Где конкретно ты увидел дезинформацию?
1989 514815
>>514809
Покажи какие ворнинги выдаёт Кактус.
1990 514823
>>514815
Info: *
Info: Running Quartus Prime Analysis & Synthesis
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:09 2023
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (12021): Found 1 design units, including 1 entities, in source file light.sv
Info (12023): Found entity 1: light
Info (12021): Found 1 design units, including 1 entities, in source file blink.sv
Info (12023): Found entity 1: blink
Info (12127): Elaborating entity "blink" for the top level hierarchy
Info (286030): Timing-Driven Synthesis is running
Info (17049): 6 registers lost all their fanouts during netlist optimizations.
Info (16010): Generating hard_block partition "hard_block:auto_generated_inst"
Info (16011): Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL
Info (21057): Implemented 30 device resources after synthesis - the final resource count might be different
Info (21058): Implemented 1 input pins
Info (21059): Implemented 1 output pins
Info (21061): Implemented 28 logic cells
Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4754 megabytes
Info: Processing ended: Mon Jan 9 19:49:21 2023
Info: Elapsed time: 00:00:12
Info: Total CPU time (on all processors): 00:00:29
Info:
*****************************************************
Info: Running Quartus Prime Fitter
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:22 2023
Info: Command: quartus_fit --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Info: qfit2_default_script.tcl version: #1
Info: Project = Lab1
Info: Revision = Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (119006): Selected device EP4CE6E22C8 for design "Lab1"
Info (21077): Low junction temperature is 0 degrees C
Info (21077): High junction temperature is 85 degrees C
Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time
Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature.
Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices
Info (176445): Device EP4CE10E22C8 is compatible
Info (176445): Device EP4CE15E22C8 is compatible
Info (176445): Device EP4CE22E22C8 is compatible
Info (169124): Fitter converted 5 user pins into dedicated programming pins
Info (169125): Pin ~ALTERA_ASDO_DATA1~ is reserved at location 6
Info (169125): Pin ~ALTERA_FLASH_nCE_nCSO~ is reserved at location 8
Info (169125): Pin ~ALTERA_DCLK~ is reserved at location 12
Info (169125): Pin ~ALTERA_DATA0~ is reserved at location 13
Info (169125): Pin ~ALTERA_nCEO~ is reserved at location 101
Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details
Critical Warning (169085): No exact pin location assignment(s) for 1 pins of 2 total pins. For the list of pins please refer to the I/O Assignment Warnings table in the fitter report.
Critical Warning (332012): Synopsys Design Constraints File file not found: 'Lab1.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Info (332144): No user constrained base clocks found in the design
Info (332143): No user constrained clock uncertainty found in the design. Calling "derive_clock_uncertainty"
Info (332154): The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers.
Info (332130): Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time.
Info (176353): Automatically promoted node clk~input (placed in PIN 89 (CLK6, DIFFCLK_3p))
Info (176355): Automatically promoted destinations to use location or clock signal Global Clock CLKCTRL_G9
Info (176233): Starting register packing
Info (176235): Finished register packing
Extra Info (176219): No registers were packed into other blocks
Info (171121): Fitter preparation operations ending: elapsed time is 00:00:01
Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family.
Info (170189): Fitter placement preparation operations beginning
Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00
Info (170191): Fitter placement operations beginning
Info (170137): Fitter placement was successful
Info (170192): Fitter placement operations ending: elapsed time is 00:00:00
Info (170193): Fitter routing operations beginning
Info (170195): Router estimated average interconnect usage is 0% of the available device resources
Info (170196): Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X11_Y0 to location X22_Y11
Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time.
Info (170201): Optimizations that may affect the design's routability were skipped
Info (170194): Fitter routing operations ending: elapsed time is 00:00:00
Info (11888): Total time spent on timing analysis during the Fitter is 0.14 seconds.
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:01
Info (144001): Generated suppressed messages file C:/Users/mathe/Documents/Quartus/Lab1/output_files/Lab1.fit.smsg
Info: Quartus Prime Fitter was successful. 0 errors, 5 warnings
Info: Peak virtual memory: 5223 megabytes
Info: Processing ended: Mon Jan 9 19:49:27 2023
Info: Elapsed time: 00:00:05
Info: Total CPU time (on all processors): 00:00:05
Info: *******************************************************************
Info: Running Quartus Prime Assembler
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:28 2023
Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (115031): Writing out detailed assembly data for power analysis
Info (115030): Assembler is generating device programming files
Info: Quartus Prime Assembler was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4694 megabytes
Info: Processing ended: Mon Jan 9 19:49:28 2023
Info: Elapsed time: 00:00:00
Info: Total CPU time (on all processors): 00:00:01
Info (293026): Skipped module Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER
Info: *******************************************************************
Info: Running Quartus Prime Timing Analyzer
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:29 2023
Info: Command: quartus_sta Lab1 -c Lab1
Info: qsta_default_script.tcl version: #1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (21077): Low junction temperature is 0 degrees C
Info (21077): High junction temperature is 85 degrees C
Critical Warning (332012): Synopsys Design Constraints File file not found: 'Lab1.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Info (332142): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0"
Info (332105): Deriving Clocks
Info (332105): create_clock -period 1.000 -name clk clk
Info (332143): No user constrained clock uncertainty found in the design. Calling "derive_clock_uncertainty"
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON
Info: Analyzing Slow 1200mV 85C Model
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -2.183
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -2.183 -40.627 clk
Info (332146): Worst-case hold slack is 0.465
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.465 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -44.636 clk
Info: Analyzing Slow 1200mV 0C Model
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -1.804
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -1.804 -33.190 clk
Info (332146): Worst-case hold slack is 0.416
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.416 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -44.636 clk
Info: Analyzing Fast 1200mV 0C Model
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -0.432
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -0.432 -4.215 clk
Info (332146): Worst-case hold slack is 0.190
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.190 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -33.059 clk
Info (332102): Design is not fully constrained for setup requirements
Info (332102): Design is not fully constrained for hold requirements
Info: Quartus Prime Timing Analyzer was successful. 0 errors, 5 warnings
Info: Peak virtual memory: 4751 megabytes
Info: Processing ended: Mon Jan 9 19:49:31 2023
Info: Elapsed time: 00:00:02
Info: Total CPU time (on all processors): 00:00:02
Info: *******************************************************************
Info: Running Quartus Prime EDA Netlist Writer
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:32 2023
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (204019): Generated file Lab1.vo in folder "C:/Users/mathe/Documents/Quartus/Lab1/simulation/questa/" for EDA simulation tool
Info: Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4638 megabytes
Info: Processing ended: Mon Jan 9 19:49:33 2023
Info: Elapsed time: 00:00:01
Info: Total CPU time (on all processors): 00:00:01
Info (293000): Quartus Prime Full Compilation was successful. 0 errors, 13 warnings
1990 514823
>>514815
Info: *
Info: Running Quartus Prime Analysis & Synthesis
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:09 2023
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (12021): Found 1 design units, including 1 entities, in source file light.sv
Info (12023): Found entity 1: light
Info (12021): Found 1 design units, including 1 entities, in source file blink.sv
Info (12023): Found entity 1: blink
Info (12127): Elaborating entity "blink" for the top level hierarchy
Info (286030): Timing-Driven Synthesis is running
Info (17049): 6 registers lost all their fanouts during netlist optimizations.
Info (16010): Generating hard_block partition "hard_block:auto_generated_inst"
Info (16011): Adding 0 node(s), including 0 DDIO, 0 PLL, 0 transceiver and 0 LCELL
Info (21057): Implemented 30 device resources after synthesis - the final resource count might be different
Info (21058): Implemented 1 input pins
Info (21059): Implemented 1 output pins
Info (21061): Implemented 28 logic cells
Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4754 megabytes
Info: Processing ended: Mon Jan 9 19:49:21 2023
Info: Elapsed time: 00:00:12
Info: Total CPU time (on all processors): 00:00:29
Info:
*****************************************************
Info: Running Quartus Prime Fitter
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:22 2023
Info: Command: quartus_fit --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Info: qfit2_default_script.tcl version: #1
Info: Project = Lab1
Info: Revision = Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (119006): Selected device EP4CE6E22C8 for design "Lab1"
Info (21077): Low junction temperature is 0 degrees C
Info (21077): High junction temperature is 85 degrees C
Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time
Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature.
Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices
Info (176445): Device EP4CE10E22C8 is compatible
Info (176445): Device EP4CE15E22C8 is compatible
Info (176445): Device EP4CE22E22C8 is compatible
Info (169124): Fitter converted 5 user pins into dedicated programming pins
Info (169125): Pin ~ALTERA_ASDO_DATA1~ is reserved at location 6
Info (169125): Pin ~ALTERA_FLASH_nCE_nCSO~ is reserved at location 8
Info (169125): Pin ~ALTERA_DCLK~ is reserved at location 12
Info (169125): Pin ~ALTERA_DATA0~ is reserved at location 13
Info (169125): Pin ~ALTERA_nCEO~ is reserved at location 101
Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details
Critical Warning (169085): No exact pin location assignment(s) for 1 pins of 2 total pins. For the list of pins please refer to the I/O Assignment Warnings table in the fitter report.
Critical Warning (332012): Synopsys Design Constraints File file not found: 'Lab1.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Info (332144): No user constrained base clocks found in the design
Info (332143): No user constrained clock uncertainty found in the design. Calling "derive_clock_uncertainty"
Info (332154): The derive_clock_uncertainty command did not apply clock uncertainty to any clock-to-clock transfers.
Info (332130): Timing requirements not specified -- quality metrics such as performance may be sacrificed to reduce compilation time.
Info (176353): Automatically promoted node clk~input (placed in PIN 89 (CLK6, DIFFCLK_3p))
Info (176355): Automatically promoted destinations to use location or clock signal Global Clock CLKCTRL_G9
Info (176233): Starting register packing
Info (176235): Finished register packing
Extra Info (176219): No registers were packed into other blocks
Info (171121): Fitter preparation operations ending: elapsed time is 00:00:01
Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family.
Info (170189): Fitter placement preparation operations beginning
Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00
Info (170191): Fitter placement operations beginning
Info (170137): Fitter placement was successful
Info (170192): Fitter placement operations ending: elapsed time is 00:00:00
Info (170193): Fitter routing operations beginning
Info (170195): Router estimated average interconnect usage is 0% of the available device resources
Info (170196): Router estimated peak interconnect usage is 0% of the available device resources in the region that extends from location X11_Y0 to location X22_Y11
Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time.
Info (170201): Optimizations that may affect the design's routability were skipped
Info (170194): Fitter routing operations ending: elapsed time is 00:00:00
Info (11888): Total time spent on timing analysis during the Fitter is 0.14 seconds.
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:01
Info (144001): Generated suppressed messages file C:/Users/mathe/Documents/Quartus/Lab1/output_files/Lab1.fit.smsg
Info: Quartus Prime Fitter was successful. 0 errors, 5 warnings
Info: Peak virtual memory: 5223 megabytes
Info: Processing ended: Mon Jan 9 19:49:27 2023
Info: Elapsed time: 00:00:05
Info: Total CPU time (on all processors): 00:00:05
Info: *******************************************************************
Info: Running Quartus Prime Assembler
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:28 2023
Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (115031): Writing out detailed assembly data for power analysis
Info (115030): Assembler is generating device programming files
Info: Quartus Prime Assembler was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4694 megabytes
Info: Processing ended: Mon Jan 9 19:49:28 2023
Info: Elapsed time: 00:00:00
Info: Total CPU time (on all processors): 00:00:01
Info (293026): Skipped module Power Analyzer due to the assignment FLOW_ENABLE_POWER_ANALYZER
Info: *******************************************************************
Info: Running Quartus Prime Timing Analyzer
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:29 2023
Info: Command: quartus_sta Lab1 -c Lab1
Info: qsta_default_script.tcl version: #1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
Info (21077): Low junction temperature is 0 degrees C
Info (21077): High junction temperature is 85 degrees C
Critical Warning (332012): Synopsys Design Constraints File file not found: 'Lab1.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Info (332142): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0"
Info (332105): Deriving Clocks
Info (332105): create_clock -period 1.000 -name clk clk
Info (332143): No user constrained clock uncertainty found in the design. Calling "derive_clock_uncertainty"
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON
Info: Analyzing Slow 1200mV 85C Model
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -2.183
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -2.183 -40.627 clk
Info (332146): Worst-case hold slack is 0.465
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.465 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -44.636 clk
Info: Analyzing Slow 1200mV 0C Model
Info (334003): Started post-fitting delay annotation
Info (334004): Delay annotation completed successfully
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -1.804
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -1.804 -33.190 clk
Info (332146): Worst-case hold slack is 0.416
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.416 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -44.636 clk
Info: Analyzing Fast 1200mV 0C Model
Info (332123): Deriving Clock Uncertainty. Please refer to report_sdc in the Timing Analyzer to see clock uncertainties.
Critical Warning (332148): Timing requirements not met
Info (11105): For recommendations on closing timing, run Report Timing Closure Recommendations in the Timing Analyzer.
Info (332146): Worst-case setup slack is -0.432
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -0.432 -4.215 clk
Info (332146): Worst-case hold slack is 0.190
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): 0.190 0.000 clk
Info (332140): No Recovery paths to report
Info (332140): No Removal paths to report
Info (332146): Worst-case minimum pulse width slack is -3.000
Info (332119): Slack End Point TNS Clock
Info (332119): ========= =================== =====================
Info (332119): -3.000 -33.059 clk
Info (332102): Design is not fully constrained for setup requirements
Info (332102): Design is not fully constrained for hold requirements
Info: Quartus Prime Timing Analyzer was successful. 0 errors, 5 warnings
Info: Peak virtual memory: 4751 megabytes
Info: Processing ended: Mon Jan 9 19:49:31 2023
Info: Elapsed time: 00:00:02
Info: Total CPU time (on all processors): 00:00:02
Info: *******************************************************************
Info: Running Quartus Prime EDA Netlist Writer
Info: Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
Info: Processing started: Mon Jan 9 19:49:32 2023
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off Lab1 -c Lab1
Warning (18236): Number of processors has not been specified which may cause overloading on shared machines. Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.
Info (204019): Generated file Lab1.vo in folder "C:/Users/mathe/Documents/Quartus/Lab1/simulation/questa/" for EDA simulation tool
Info: Quartus Prime EDA Netlist Writer was successful. 0 errors, 1 warning
Info: Peak virtual memory: 4638 megabytes
Info: Processing ended: Mon Jan 9 19:49:33 2023
Info: Elapsed time: 00:00:01
Info: Total CPU time (on all processors): 00:00:01
Info (293000): Quartus Prime Full Compilation was successful. 0 errors, 13 warnings
1991 514826
>>514823
Вроде ничего критичного. А вообще там есть отдельная вкладка, где он только ворнинги показывает без лишней информации.
Микросхема правильно указана?
На твоей отладке есть кнопка? Попробуй кнопку на светодиод прокинуть напрямую.
1992 514827
>>514823
Ещё добавлю. Вот на это обрати внимание.

>Warning (15714): Some pins have incomplete I/O assignments. Refer to the I/O Assignment Warnings report for details



И ещё, посмотри схему в тихнолоджи мап вьювире. Может он всё сминимизировал нахер по какой-то причине.
1993 514829
>>514826

>На твоей отладке есть кнопка? Попробуй кнопку на светодиод прокинуть напрямую


С кнопкой работает. Кнопка включает и выключает диод, с этим ок.
1994 514830
>>514829
Тогда выведи тактовый сигнал напрямую на светодиод. Он должен светится в половину полной яркости.
quartus.png12 Кб, 679x263
1995 514832
>>514830
Вывел clk на диод 74. Он не загорелся вообще.
quartus.png12 Кб, 676x200
1996 514835
>>514832
А clk надо к чему-то привязывать?
1997 514839
>>514832
Что значит 74?

>>514835
Что значит привязывать?
Указать надо тот вывод плисины на который подключён тактовый генератор. Смотри схему своей отладки. И чёта clk на пике у тебя жёлтым цветом.
1998 514841
>>514839

>Что значит 74?


74 это номер пина, к которому подключен диод.

>Указать надо тот вывод плисины на который подключён тактовый генератор. Смотри схему своей отладки. И чёта clk на пике у тебя жёлтым цветом.



У меня плата C4E6/E10-CORE. Вроде тактовый генератор на ней подключен к пинам 33 и 34. Вот здесь >>514835 я выбрал один из этих пинов, но схема не заработала.
quartus.png6 Кб, 675x160
1999 514842
>>514841
>>514839

>И чёта clk на пике у тебя жёлтым цветом.


Уже зеленым, но все равно не работает.
2000 514843
>>514842
Офигенно, заработало! Прочитал на самой плате, что тактовый генератор у меня на пине 24.
2001 514861
>>514813
Я уже писал, но могу повторить. Ты не знаешь как работает неблокирующее присваивание. А именно ситуация которую ты описал в пункте 3 >>514796 может произойти только если присваивается в один регистр из двух разных блоков always, но там синтезатор сразу ошибку выдаст. Если несколько раз присваивается в одном блоке, то в итоге присвоится только последний результат. За доказательствами - в любой нормальный учебник. И не надо пудрить новичкам мозги.

>>514843
Ну вот как я и предполагал, что вероятнее тактовый сигнал не доходит.
Введение в FPGA.mp42,3 Мб, mp4,
960x1122, 0:10
2002 514895
кОтцы, скажите без прикрас, какую борду брать на алиэкспрессе? С какого семейства начинать?
Не олигарх, но в свое прекрасное будущее готов инвестировать 10-20т. На 30т+ жаба уже давит, но если партия скажет надо...

Просветите, что является мегарулезом всех времен и народов?
Altera? Xilinx? ZynQ? GoWin?
Что делать по началу ТОЧНО НЕ НАДО чтобы не въебатся?

Чего хочется стратегически.
Перекотиться из унылого STM32 эмбеддинга в сверкающий мир пони единорогов FPGA разработки. Или хотя бы уметь, понимать и быть готовым.

Чего хочется практически.
Начальные примеры светодиодиков итд понятны. В мечтах 8битный или 16битный комп. Чтобы под камень/семейство/плату были готовые проекты. Чтобы берешь проект или начинаешь делать с какого-нибудь видео или сайта (или из книги), а он у тебя компиляется и работает без проблем. И ты не сношаешь мозг с адаптацией, потому что сношений и отладки мне и на работе хватает.

Что точно не хочется.
Китайчатины с сорцами на китайском. Не хочется голую плату без примеров и уроков. Не хочется плату с дохлым или полудохлым железом (видел и такое в отзывах на али). Не хочется въебаться с поддержкой софта на PC (софт или устарел или новый софт не поддерживает камень).

Как сделать разумный выбор?
2003 514896
>>514861

>А именно ситуация которую ты описал в пункте 3


А, теперь понятно про что ты.
Всё так. Но для новичков, как раз, лучше не погружаться в тонкости блокирующих/неблокирующих присвоений, на начальных этапах это может только всё запутать. Это всё потом придёт с опытом.
2004 514938
>>514895
Zynq 7010 - 7020 если хочется пощупать что-то свежее недорого, если есть деньги - что-то типа https://www.aliexpress.com/item/4001309317597.html , если нет - бери плату от майнера https://fpga-systems.ru/publ/boards_review/xilinx_fpga/zynq_hw_ebaz4205/20-1-0-121 , но может попасться залоченная вирусом
GoWin - если потом искать работу в раше
2005 514994
>>514895
>>514938
Я бы вкат осуществлять советовал всё же с альтеры.
2006 515000
>>514938
>>514994

Спасиб, ребят, зачет. Было бы приятно если б вы еще аргументировали чтобы мне было понятно.

Альтера - почему? Примерно понимаю, видимо накопленные за годы решения проще?
Больше охват среди русскоязычной аудитории?

Zynq - только потому что свежак и крутяк? Сразу крутяк брать это для меня полного нуба глупо. Самое лучшее - некая золотая середина. Не совсем уж убогое нищебродство с которым потом зае..шься. Но и крутяк от которого охуеешь от сложности тоже такое...

Под Zynq ваять звали этой весной в Швейцарию, готовая плата. Пролетел =(
2007 515016
>>514938

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



Это всё, конец? Или восстановимо?
Что там лочится?
2008 515044
>>515000

>Альтера - почему?


За Альтеру скажу так: с неё проще начать вкат новичку. Более дружелюбное и понятное ПО, только не бери последние версии, возьми где-нибудь 15, а лучше, если будешь сидеть под каким-нибудь Сыклоном 4, взять вообще 9.1, самая быстрая и адекватная версия из всех.
Если как ты пишешь

>Чтобы под камень/семейство/плату были готовые проекты. Чтобы берешь проект или начинаешь делать с какого-нибудь видео или сайта (или из книги), а он у тебя компиляется и работает без проблем. И ты не сношаешь мозг с адаптацией, потому что сношений и отладки мне и на работе хватает.


Тут только что-то от terasic
https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=13&List=Simple
На Ютубе видел чувака, на одной такой плате сделал клон Денди.
А чтобы не возится с адаптацией вообще такого не бывает, только если отладка точно-такая же. Возиться с адаптацией - это один из этапов проектирования, потому-то и в том числе поэтому порог вхождения в плисы выше чем в тот же пердуино.
Но у Терасика и раньше было проблемно отладки купить, а сейчас так вообще наверно проблема. Хотя какие-то ихние платы в чип-дипе есть, но какие там цены - сам понимаешь.
А вообще я бы советовал, перед тем как большие деньги тратить, для начала что-то простое взять, посмотреть зайдут ли плисины вообще, поделать простые и средние проекты. На Ютубе есть такой канал, тут ссылку не так давно кидали.
Так-что ищи у китайцев отладки с Сыклоном 4, на данный момент оптимальное цена/качество как мне кажется.
Например
https://aliexpress.ru/item/1005001279028952.html?spm=a2g2w.orderdetail.0.0.33544aa6o455VD&sku_id=12000015559827909
и программатор
https://aliexpress.ru/item/1005002703504597.html?spm=a2g2w.orderdetail.0.0.33544aa6QoXK8V&sku_id=12000021782265860
Найдёшь что-то аналогичное дешевле - молодец.
2009 515053
>>515016

>Что там лочится?


пережигаемые фьюзы

>Zynq - только потому что свежак и крутяк?


потому что ARM в комплекте и куча статей даже на хабре
2010 515151
Бляяя, как же бесит этот ваш ксилинкс.

Хочу я вывести тактовый сигнал с плл на ногу.
микросхема спартан 6 - XC6SLX150-FG484I

В коде пишу

module TopModule(... output ETH1MDC, output ETH2MDC, ....);
...
PLL1 PLL1(.CLK1(ETH1MDC), .CLK2(ETH2MDC), .LOCKED(PLL1LOCK), .CLK(ETH1CLK));
...
endmodule

В .ucf так
NET "ETH1CLK"LOC = W12| IOSTANDARD = LVCMOS33;
NET "ETH2CLK"LOC = Y12| IOSTANDARD = LVCMOS33;

на названия сигналов внимание не обращайте, они почти рандом

А он мне в ответ вот это

ERROR:Place:1205 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH1MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue. Although the net
may still not route, you will be able to analyze the failure in FPGA_Editor.
< PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1205 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH2MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue. Although the net
may still not route, you will be able to analyze the failure in FPGA_Editor.
< PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1136 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins.
< PIN: ETH1MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1136 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins.
< PIN: ETH2MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Pack:1654 - The timing-driven placement phase encountered an error.

И что это такое? Мм? И что мне с этим делать?
Хорошо. Дописываю в .ucf

PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;
PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;

Теперь эти ошибки перешли в разряд вниманий

WARNING:Place:1206 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH1MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was
applied on COMP.PIN <PLL1/clkout1_buf.O> allowing your design to continue.
This constraint disables all clock placer rules related to the specified
COMP.PIN.
WARNING:Place:1206 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH2MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was
applied on COMP.PIN <PLL1/clkout2_buf.O> allowing your design to continue.
This constraint disables all clock placer rules related to the specified
COMP.PIN.
WARNING:Place:1137 - This design is not guaranteed to be routable! This design
contains a global buffer instance, <PLL1/clkout1_buf>, driving the net,
<ETH1MDC_OBUF>, that is driving the following (first 30) non-clock load pins.
< PIN: ETH1MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. Please pay extra attention to the timing and routing of this path to
ensure the design goals are met. This is normally an ERROR but the
CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <PLL1/clkout1_buf.O>
allowing your design to continue. This constraint disables all clock placer
rules related to the specified COMP.PIN.
WARNING:Place:1137 - This design is not guaranteed to be routable! This design
contains a global buffer instance, <PLL1/clkout2_buf>, driving the net,
<ETH2MDC_OBUF>, that is driving the following (first 30) non-clock load pins.
< PIN: ETH2MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. Please pay extra attention to the timing and routing of this path to
ensure the design goals are met. This is normally an ERROR but the
CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <PLL1/clkout2_buf.O>
allowing your design to continue. This constraint disables all clock placer
rules related to the specified COMP.PIN.

Так что ему падле надо? Чтобы вывести тактовый сигнал с пллки наружу почему такая ебля? Как надо сделать чтобы эта ссука удавлетворилась?
2010 515151
Бляяя, как же бесит этот ваш ксилинкс.

Хочу я вывести тактовый сигнал с плл на ногу.
микросхема спартан 6 - XC6SLX150-FG484I

В коде пишу

module TopModule(... output ETH1MDC, output ETH2MDC, ....);
...
PLL1 PLL1(.CLK1(ETH1MDC), .CLK2(ETH2MDC), .LOCKED(PLL1LOCK), .CLK(ETH1CLK));
...
endmodule

В .ucf так
NET "ETH1CLK"LOC = W12| IOSTANDARD = LVCMOS33;
NET "ETH2CLK"LOC = Y12| IOSTANDARD = LVCMOS33;

на названия сигналов внимание не обращайте, они почти рандом

А он мне в ответ вот это

ERROR:Place:1205 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH1MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue. Although the net
may still not route, you will be able to analyze the failure in FPGA_Editor.
< PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1205 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH2MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue. Although the net
may still not route, you will be able to analyze the failure in FPGA_Editor.
< PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1136 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins.
< PIN: ETH1MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Place:1136 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins.
< PIN: ETH2MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Pack:1654 - The timing-driven placement phase encountered an error.

И что это такое? Мм? И что мне с этим делать?
Хорошо. Дописываю в .ucf

PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;
PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;

Теперь эти ошибки перешли в разряд вниманий

WARNING:Place:1206 - This design contains a global buffer instance,
<PLL1/clkout1_buf>, driving the net, <ETH1MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH1MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was
applied on COMP.PIN <PLL1/clkout1_buf.O> allowing your design to continue.
This constraint disables all clock placer rules related to the specified
COMP.PIN.
WARNING:Place:1206 - This design contains a global buffer instance,
<PLL1/clkout2_buf>, driving the net, <ETH2MDC_OBUF>, that is driving the
following (first 30) non-clock load pins off chip.
< PIN: ETH2MDC.O; >
This design practice, in Spartan-6, can lead to an unroutable situation due
to limitations in the global routing. If the design does route there may be
excessive delay or skew on this net. It is recommended to use a Clock
Forwarding technique to create a reliable and repeatable low skew solution:
instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to
Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to
.C1. This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was
applied on COMP.PIN <PLL1/clkout2_buf.O> allowing your design to continue.
This constraint disables all clock placer rules related to the specified
COMP.PIN.
WARNING:Place:1137 - This design is not guaranteed to be routable! This design
contains a global buffer instance, <PLL1/clkout1_buf>, driving the net,
<ETH1MDC_OBUF>, that is driving the following (first 30) non-clock load pins.
< PIN: ETH1MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. Please pay extra attention to the timing and routing of this path to
ensure the design goals are met. This is normally an ERROR but the
CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <PLL1/clkout1_buf.O>
allowing your design to continue. This constraint disables all clock placer
rules related to the specified COMP.PIN.
WARNING:Place:1137 - This design is not guaranteed to be routable! This design
contains a global buffer instance, <PLL1/clkout2_buf>, driving the net,
<ETH2MDC_OBUF>, that is driving the following (first 30) non-clock load pins.
< PIN: ETH2MDC.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. Please pay extra attention to the timing and routing of this path to
ensure the design goals are met. This is normally an ERROR but the
CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <PLL1/clkout2_buf.O>
allowing your design to continue. This constraint disables all clock placer
rules related to the specified COMP.PIN.

Так что ему падле надо? Чтобы вывести тактовый сигнал с пллки наружу почему такая ебля? Как надо сделать чтобы эта ссука удавлетворилась?
2011 515152
>>515151

> #wipe samewords


Моча, чё за хрень? Норм пост же.
2012 515398
>>515151
Ну же, анончики-плисоводчики.
2013 515417
Как купить такую штуку с доставкой в Калининград, Россия? Пишет, что адрес неправильный.

https://digilent.com/reference/programmable-logic/cmod-a7/start
2014 515419
>>515417
Пишет такое

Shipping Method
There is an error with the entered address. Please review the information for accuracy. NOTICE TO CUSTOMERS SHIPPING TO UKRAINE: FedEx has suspended all service to Ukraine and Belarus out of concern for the safety of its employees. EXPORT RESTRICTIONS: Digilent hardware, software programs and technical data may not be sold or exported or re-exported, either directly or indirectly, to the U.S. embargoed destinations or entities of Cuba, Iran, Libya, North Korea, Sudan or Syria or to persons/entities on the Denied Persons List, Unverified List, Entity List, Specially Designated Nationals List and the Debarred List, without prior written authorization from the appropriate U.S. government departments (Commerce, State Department, Treasury). CHINA: we are unable to ship to orders in China, but you can order our products from digilent.com.cn. BRAZIL: unfortunately we had to implement shipping restrictions due to custom changes. Check out our distributor page to order products near your location.
2015 515442
>>515419
Ну, зато у тебя Крым есть, а теперь ещё и Соледар.
2016 515501
>>515442
Если указать United Stated, то ошибка та же самая >>515419
Как будто в строке адреса должен быть какой-то специальный формат.
2017 515528
>>515417
Думаю это единственный вариант:
https://aliexpress.ru/item/1005005024448083.html

А почему хочешь Cmod A7-35T ?
2018 515533
>>515442
Вот бы ещё пидарасы повывелись...
2019 515605
>>515528

>А почему хочешь Cmod A7-35T ?


А что еще можешь порекомендовать? Хочу интересную мощную FPGA для изучения.
2020 515626
>>515151
Никто со Спартаном не работал чтоль?
2021 515649
Посоветуйте любые блоги для новичков о программировании FPGA.
2023 515679
>>515626
Кароч нельзя просто так взять и вывести клок на ногу. Надо понимать, что клоки и сигналы живут в двух разных вселенных и соприкасаются только в специально отведённых местах (например, триггерах или синхронных буферах).

Если тебе надо вывести клок на ногу, тебе надо взять буфер типа ODDR2 (который выводит по очереди два сигнала, один по фронту клока, другой по срезу), завести клок на его клоковый вход, а на сигнальные входы завести постоянные "1" и "0". Как ты понимаешь, на выходе получится тот же самый клок, но в таком виде работать будет, а в том, который у тебя — нет.
2024 515724
>>515679

> а в том, который у тебя — нет


Ну как уже писал, если добавить в .ucf
PIN "PLL1/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;
PIN "PLL1/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;
то компилирует и даже работает.

>надо взять буфер типа ODDR2 (который выводит по очереди два сигнала, один по фронту клока, другой по срезу), завести клок на его клоковый вход, а на сигнальные входы завести постоянные "1" и "0"


Дело в том что вывожу то я не на абы какую ногу, а на специальную клоковую. И если так, а мне, скажем, надо затактировать, какой-нибудь кодек, или езернетовскую микросхему физического уровня, мне, что, надо таким извращением заниматься?
И после этого будут говорить что хилый лучше альтеры? Или всё таки есть нормальный способ вывести клок наружу?
2025 515776
Есть какой-нибудь симулятор верилога, чтобы там в редакторе пишешь, например, wire a; и он тебе рисует провод. Добавляешь assign b = a и он рисует прикрепление провода b к проводу a, и точно так же рисует логические вентили и прочее все?
2026 515819
>>515776
RTL-viewer в Quartus-е. Но он не на лету, как ты хочешь - синтезировать надо.
2027 515892
>>515776
Elaborated Design в Vivado
TerosHDL с генератором схем на основе Yosys. https://terostechnology.github.io/terosHDLdoc/project_manager/schematic_viewer.html

Но имей в виду, что машиногенерируемые схемы похожи на говно. Для дебага их использовать можно, для изучения — нет.
2028 515989
Как провести на FPGA какие-то вычисления и вывести результат во внешний мир? Через что делается вывод? Типа printf в си.
pwm.png7 Кб, 372x183
2029 516056
Хочу разобраться с ШИМ. Как это делается? Я нашел такой пример, но не могу понять, как его запустить на плате. Соединил в pin assignment clk с клоком, led с диодом, а что делать с шиной pwm_input, куда ее?

Пример: https://www.fpga4fun.com/Opto2.html
2030 516057
>>516056
Вроде понял. Надо pwm_input подключить к четырем ногам платы и на них подавать рандомные 4-битные сигналы с ардуинки.
2031 516103
>>516056
Код не является PWM. Это PDM (конкретнее — ΔΣM).
2032 516108
>>515989
Можешь сделать как вот этот
https://youtu.be/AxQtbRhjpYA?t=3276
смотреть с 54:36
но только наоборот, он использовал как ввод, тебе надо как вывод.
Ещё вроде бы как в квартусе была консоль, можно поверх джитага поднять уарт и выводить на неё что нужно. но это не точно
2033 516110
На чем лучше разрабатывать под FPGA, верилог или VHDL? Вроде VHDL оче громоздкий.
2034 516112
>>516108

> можно поверх джитага поднять уарт и выводить на неё что нужно


Как это сделать? Что об этом почитать/посмотреть?
2035 516168
>>516056
Для какого железа или платы все эти примеры с www.fpga4fun.com?
2036 516173
>>516112
Ну можешь сам сделать, купи у китайцев платку uatr to usb.
2037 516176
>>516112
Гугли "uart over jtag [производитель плисины нейм]"
2038 516183
>>516173

>uatr


*uart
2039 516228
Xilinx можно чем-то программировать кроме Vivado/ISE, которые из России теперь хуй скачаешь? Есть тулзы типа GCC для программирования контроллеров, только для FPGA? Какой-нибудь Free govno verilog-gcc.
a79ba5b50366dbc9c63396f1226e321f.jpg80 Кб, 736x736
2040 516458
Здравствуйте господа.
Вот хочу я например залить проект в отладочную плату.
Захожу в документацию отладки, там адрес рандомного чипа, к которому хочу обращаться, указан как 0x50 или 0b0011101.
Что эти цифры значат для верилога ?
assign addr = 0x57 ?
assign addr = 0b0011101 ?
2041 516549
>>516458
Без негатива, тебе рановато в ПЛИС. Тебе бы ардуину погонять. Посмотреть на практике, как работают наиболее распространённые цифровые интерфейсы.
2042 516552
>>516458

>Что эти цифры значат для верилога ?


Ничего не значат. Запись чисел противоречит синтаксису верилога.
2043 516597
>>516549
В чем разница изучения интерфейсов на ардуино от изучения интерфейсов на ПЛИС ?
>>516552
А как считать информацию с чипа по этому адресу ?
2044 516607
>>516597

>В чем разница изучения интерфейсов на ардуино от изучения интерфейсов на ПЛИС ?


В том, что при работе с ПЛИС требуется работать на большем количестве уровней абстракции. Примерно как если бы ты учился варить борщ, и рецепт у тебя был записан через уравнения химии белков, а инструкция к плите — через уравнения Максвелла.
2045 516620
>>516597

>А как считать информацию с чипа по этому адресу ?


По протоколу самого чипа, который изложен в даташите на этот чип. В общем случае выставить на шину нужный адрес, возможно какие-то сопроводительные сигналы. Далее на шине данных ждать ответа, в зависимости от реализации по задержке или по сопроводительному сигналу.
А числа на верилоге записываются так:
разрядность ' система_исчислениячисло
система_исчисления может быть b (двоичная), (десятичная) или h (шестнадцатеричная)
например
1'd0
8'hAB

А вообще ты бы хоть какие видосики на ютубе посмотрел
https://www.youtube.com/playlist?list=PL4UMfOeGYsvblwrP3VYKHq11xgkxVqoUj
2046 516621
>>516620

>(десятичная)


d (десятичная)
2047 516816
Как в квартусе погонять тестбенчи? В pdf от интел, которую я читаю, написано только про какой-то ModelSim.
2048 516844
>>516816
Квартус не поддерживает тестбенчи. Ставь моделсим альтера/интел едишн.
vivado.png7 Кб, 470x207
2049 516887
Мне пришла плата Xilinx. Как в САПР Vivado назначить пины сигналам и как в ней посмотреть синтезированную схему? Например, хочу посмотреть, во что синтезировался такой код.
Есть в вивадо аналог Pin Assignment из квартуса?
2050 517115
Учусь писать тестбенчи. Я написал такой триггер и ТБ к нему. Запускаю симуляцию и вижу, что сигнал out ни разу не принял значение 1, хотя должен был принять, когда clk = 1, стоит сигнал разрешения и нет сигнала сброса. Почему так?
2051 517196
>>517115

>хотя должен был принять, когда clk = 1


Нет, не "1", а posedge (positive edge, переход с "0" на "1"). А у тебя posedge нигде нет, клок не меняется.
2052 517271
Вы перекатывать будете или где?
2053 517431
Где сейчас из России купить FPGA Xilinx типа Cmod или другую? Нету нихрена.
2054 517557
В плисине использую только два банка выводов из четырёх. Незадействованные банки решил не запитывать.
Вопрос, что делать с питанием этих бавнков, оставить болтаться в воздухе, или посадить на землю?
2056 517579
ПЕРЕКОТ
>>517577 (OP) (OP)
САМ ТЫ ВАЙП
2057 518316
Сап двач, такая ситуация
Случайно устроился на работу программистом на верилоге, сам в душе не ебу, как собес прошёл

Дали комп с vivado и какую-то плату, сказали пиши модули, а я на верилоге писал только ознакомительную лабу в шараге, да и то на квартусах

С чего начать, что учить, что читать, как разобраться?
2058 518324
>>518316
Тред перекатили, ответил тебе в новом >>518323 →
2059 525527
>>499925

>по запросу "Verilog" хедхантер выдает 31 вакансию в ДС-2


>>443682
Почему тогда разрабы железы не бойкотируют нахуй работодателей,пока не станут им платить как кодерам софта?
2060 525637
2061 530996
>>397773
Мне в /h/
Душа компании460sv.mp44,3 Мб, mp4,
460x816, 0:40
2062 540547
Как на Verilog или SystemVerilog описать анонимную структуру или union?

Почему-то по сишному не получается, но судя по коду верилятора анонимность допустима.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 февраля в 20:27.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /ra/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски