Этого треда уже нет.
Это копия, сохраненная 15 января 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
450 Кб, 800x505
ПЛИС 127314 В конец треда | Веб
Сап, радач. Дело в том, что я фактически нуб в ПЛИСах и поэтому мне нужна твоя помощь. У меня есть проект простенького кодера на vhdl и я хочу выбрать для него подходящую плату (без прошивки; просто предложить аппаратную реализацию). Какие основные характеристики платы нужно учитывать при её выборе? Предполагается, что кодер работает на тактовой частоте 1 ГГц.
2 127320
Бамп.
3 127342

>на тактовой частоте 1 ГГц


Ты совсем охуевший? Такие частоты разве что последние поколения тянут. Отладка с такой ПЛИСиной стоит не менее нескольких тысяч долларов.
4 127362
>>127342

>Такие частоты разве что последние поколения тянут. Отладка с такой ПЛИСиной стоит не менее нескольких тысяч долларов.


В курсе. Я же говорю, что не собираюсь ничего отлаживать/прошивать. Это проект кодера для системы связи со скоростью передачи данных 1 Гбит/с. Там одно только оконечное оборудование не менее 10к долларов стоит. Лучше расскажи про

>Какие основные характеристики платы нужно учитывать при её выборе?


Буду признателен.
5 127365

>Какие основные характеристики платы


Характеристики ПЛАТЫ с ПЛИС или ПЛИС?
6 127368
>>127365

>ПЛАТЫ с ПЛИС


Надо полагать, что это.
7 127377
>>127368
Это говно, тактовая отсутствует как класс, памяти нет, самопрошивки тоже. Смысл только чтобы эмулировать процессор и быструю логику? Лучше взять малинку, дешеве и перефирии больше.
56 Кб, 1580x700
8 127379
>>127377

>малинку


Что это?
Ладно, чтобы было понятней, пикрилейтед - rtl схема кодера. Какие ксайлинковские/алдеровские платы подойдут для реализации такой байды с тактовой частотой 1 ГГц?
9 127383
>>127379
Говноед предлагает raspberry pi.
10 127399
>>127383
У пидоров сегодня в моде ПЛИС?
11 127434
>>127379
То есть ты хочешь, чтобы указанное тобой на пике говно, скакало с частотой гиг?
Попробуй вот эту плату
http://www.xilinx.com/products/boards-and-kits/EK-V7-VC707-G.htm
6 Кб, 220x187
12 127469
>>127434
Как оказалось, это говно скачет на частоте гиг даже на кристалле семейства virtex 4. Пикрилейтед. А на дорогущем седьмом виртексе при тайм констрейнте 1 нс выше ~750 МГц работать не хочет.
13 127483
>>127469
Да ну нахуй не может быть.
14 127495
>>127483
Почему не может? У меня же всего 5 логических элементов, сгруппированных у входных/выходных пинов. Вот сильно загруженный логикой кристалл такую частоту не потянул бы, да.
15 127527
>>127495>>127469
ебать вы школотроны. как логика может работать на тактовой частоте? это же логика, лол. или вы 155ла3 тоже тактируете, уебы?
16 127530
>>127527
Речь вообще-то шла о тактовой частоте синхросигнала. В моей схеме тактовая частота синхросигнала привязана к скорости передачи данных - 1 Гбит/с. За эту наносекунду тактового сигнала все сигналы в схеме успевают дойти от одного триггера до другого (задержка через критический путь - 0,868 нс).
17 127540
>>127527
У меня для тебя синхронная логика, пидор.
18 127562
>>127495
Мне почему-то казалось или я где-то слышал, что Виртексы пятые можно максимум до 400МГц раскачать, более старые - соответственно до еще меньших частот.
Охуеть блять. Но что у седьмых Кинтексов сраный BUFG может работать максимум на 750МГц - это вообще пушка.
19 127585
>>127562
Меня тоже удивил результат, но верю на слово ксайлинковскому САПРу.
20 133813
Моча, ты зачем удалила второй ПЛИС-тред?
Ладно хоть этот чудом не утонул.
21 137041
ы
22 137059
Сравнение дешёвых плат с FPGA. на английском языке.
http://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
23 137131
>>137059
Проблема в том что у нас хрен что купишь, а если учесть санкции то вообще пиздец.
24 137381
ОП, бери топовый спартан или циклон, это около 100 долларов за чип. Надо переделать дизайн ибо так никто не делает:

С помошью SERDES переводишь входные последовательные данные в паралельные, обрабатываешь на кратно меньшей скорости, и потом преобразуешь назад.
144 Кб, 683x1024
25 138266
Сап, плисач. Какой самый лучший способ для отправки данных с фпга на пекарню? Желательно поскороснее что-нибудь. PCI не предлагать. Алсо, желательно потом заменить пекарню на Cubieboard.
26 138275
27 138330
>>138275
Сложна ли реализация его для плис? Нужен ли какой-то особый драйвер для пекарни/кьюбиборда?
28 138333
>>138330
UPD: может проще Ethernet с PPP поверх него? Ethernet PHY с разъемом на моей борде имеется.
29 138367
>>138266
Очевидный USB HS очевиден.
30 138377
>>138367
Но ведь его заебешься реализовывать. И не понятно, как с ним работать хосту. Надо драйвер будет писать.
31 138413
>>138377
Можно линупс поставить.
122 Кб, 700x525
32 138434
33 138443
>>138434
МАТАН ТРОЛЬ уровень1024
58 Кб, 598x496
34 138541
35 139011
раковник не все читают, так что напишу сюда
привет, радон. суть такова: надоели мне контроллеры и стандартная логика, захотелось поизучать ПЛИС. взял ширпотребную CPLD EPM240T100C5N
в квартусе разобрался, marsohod.org весь прочитал
логику работы понимаю, в симуляторе все отладил, но во тв железе никак не выходит.
развел плату, протравил, все напаял, залил через USB-Blaster, светодиодики сразу забегали как и планировал, но вот вторая часть не заработала. попробовал отладить через JTAG с помощью In-System-Sources-and-Probes, но вообще нихуя не залилось, выдает только ошибку JTAG. контакты все прозвонил. да и вообще плата просто лежала 3 дня, пока я читал доки.
что за хуйня, анон? что я делаю не так?
пару месяцев назад я пробовал сделать демоплату типа того же марсохода и с ней произошло то же самое - 3 дня лежала и испортилась. точнее вообще тестер выдавал, что питание и земля замкнуты.
может стоит заказать плату с какого-нибудь seedstudio? в чем вообще проблема может быть?
36 139090
Дорожки от канифоли отчисть, или какой ты там флюс льешь.
37 139091
38 139233
>>139011
Да. делай как анон говорит. И еще проверь на непропай. А еще проверь все земли и питания, в плис или клпд можно запитать не все банки, тогда логика будет работать, а ноги нет.
240 Кб, 1000x679
39 139495
Помогите с этим >>139426 , посоны. Еще раз поясню суть. Мне нужно подать на вход ПЛИС единичку при первом такте, а затем считать около 3к 45-битных слов при последующих тактах. С помощью какого софта это можно организовать на альтеровских плисах? Встраеваемый отладчик может какой есть и скриптовый движок для записи всего этого в файл?
40 139540
>>139495
Altera signal tap пробовал?
458 Кб, 660x495
41 139544
Антоши, отговорите брать, или насоветуйте девайсов со смежным функционалом подешевле.
Или может не стоит отговаривать?
Стоит отдельно отметить, что это open-source, исходники софта и железа в открытом доступе.
http://www.seeedstudio.com/depot/Bus-Pirate-v4-p-740.html - универсальный reader/writer мира мк
http://www.seeedstudio.com/depot/Open-Workbench-Logic-Sniffer-p-612.html - логический анализатор, 32 канала
Поддерживаемые протоколы
http://sigrok.org/wiki/Protocol_decoders
204 Кб, 300x400
42 139546
>>139544
Забыл добавить, что разориться на оборудование, решил для лёгкого старта знакомства с мк.
И, собственно вопрос по мк. Что лучше- брать дев.борды на каждую архитектуру, и не заморачиваться с распайкой, или покупать микрухи отдельно и колхозить заказ печатных плат у китайцев? Может дешёвые dev-kits в продаже имеются? И какие контроллеры (десятка самых популярных, к примеру) лучше брать, чтобы всё сразу, и не закупаться по сто раз?
43 139547
>>139546
И да, буферный теоретический минимум имеется если что, а с ардуино-мигалок начинать как-то не камильфо.
44 139551
>>139546

> 14113130905910.gif


Сука.
sage 45 139591
>>139551
Ага, я тоже сейчас знатно потупил в эту бабу.

мимо
111 Кб, 640x640
47 139672
>>139544
бамп
1,2 Мб, 300x162
48 140272
Сап, плисаны. Вот есть у меня модуль А на верилоге. В нем есть несколько параметров. И есть модуль Б, в котором с помощью generate соединяются между собой N модулей A с разными параметрами. Как мне сделать, чтобы параметры в модуль А подставлялись из некоторого файла?
49 140364
>>139672
Это блять фонарики, чтоле?
Какой от них толк?
50 140501
>>140272
`include <filename>
или гугли $readmemb $readmemh
Они точно работают в симуляторе, для RTL вроде тоже вроде, не пробовал
7 Кб, 200x200
51 140503
>>140501
Спасибо, анон. `include <filename> вероятно мне не подойдет, а $readmemh порпобую. Не уверен, правда, что будет работать. Помню пробовал заюзать $sformat для того, чтобы генерировать название .mif файла. Было несколько модулей с блоками памяти, каждую из которых надо было инициализировать своим файлом (file1.mif - для первого, file2.mif - для второго, ну и так далее). Дак этот ебаный квартус начал пояснять мне за несинтезируемость этого самого $sformat. Сука, как же мне печет от этих ваших HDL-языков! Нельзя что-ли было сделать что-то вроде комбинации препроцессора с большими возможностями + полностью синтезируемого языка?
52 140516
>>140503
Верилогоблядь, да еще и альтеропидор.
53 140517
>>140516

>Верилогоблядь


Есть более изящные языки?

>альтеропидор


Чем твой хуйлинкс лучше?
54 140521
55 140526
>>140517

>Есть более изящные языки?


Изящные? Эстет чтоли дохуя?

>Чем твой хуйлинкс лучше?


Документация пизже. И новая Вивада, по сравнению с обоссаным Квартусом, - небо и земля.
56 140538
>>140526
Иди попизди на ардуинодрочеров, тут элита
57 140572
>>140538

>Верилогобляди


>алтеропидоры


>элита


Лол.
58 140573
>>140572

>Верилогобляди


Поясни за альтернативу, если ты такой Ылитарий.
59 140586
>>140573
ВаХаДЛ.
60 140590
>>140586
Но ведь это говно без души.
61 140591
>>140590
Как раз таки vhdl - говно с душой, дающее максимальное приближение к железу. Прошивка ПЛИС - это не программа, коей хотят ее видеть неосиляторы. Прошивка - это железо и для описания железа vhdl куда более пригоден.
62 140594
>>140591

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



Ты тупой еблан, который про Verilog, судя по всему, лишь где-то когда-то слышал, что его синтаксис похож на Си.
63 140596
>>140594
Отнюдь. Кодил и на том и на том, вшдл на порядок лучше.
64 140597
>>140596
Пример цифрового элемента, который естественно и удобно описывается на VHDL и не может быть естественно и удобно описан на Verilog?
65 140612
>>140597
Таблица синуса/косинуса.
66 140620
>>140612
И в чём проблема?
67 140630
>>140620
В верилоге нет пакетов с функциями синуса и косинуса. Только если самому писать.
68 140653
>>140630

>В верилоге нет пакетов с функциями синуса и косинуса. Только если самому писать.


И это у тебя называется "VHDL более пригоден для описания железа" и, особенно, "прошивка ПЛИС - это не программа, коей хотят ее видеть неосиляторы"? Не говоря уже о том, что для генерации LUT есть матлаб.
69 140657
>>140653
Нет, это называется "приведи пример элемента, который естественно и удобно описывается на VHDL и не может быть естественно и удобно описан на Verilog".
70 140661
>>140596
Я вот фанат верилога. Считаю его более близким к железу. Программа написана на верилоге ВСЕГДА короче чем то же на ВХДЛ. А еще строгая типизация не нужна, бегин енд тоже ненужен.
71 140662
>>140653
Прошивка это такой процесс, когда феритовые кольца прошивали проволкой. в колечно 1, мимо - 0. Остальное демагогия.

Правильно называть: язык описания аппаратуры
72 140663
>>140657
Функция, которая в compile time генерирует набор коэффициентов для загрузки в блочную память, не является "цифровым элементом".
26 Кб, 1330x442
73 140665
>>140662
Во-первых, не занудничай.
Во-вторых, прошивка - это то, что грузится в микросхему, а никак не язык описания.

>>140663
Блочная память с загруженными коэффициентами, в свою очередь, является "цифровым элементом".

>>140661

>А еще строгая типизация не нужна


Нужна, незаменимая вещь, если уметь ею пользоваться.
74 140666
>>140665

>Блочная память с загруженными коэффициентами, в свою очередь, является "цифровым элементом".


Но ни способ генерации этих коэффициентов, ни описание этого способа не является "цифровым элементом" или его частью. Ты можешь обосновать, почему Верилог дальше от железа, чем VHDL? Функция для расчёта коэффициентов в compile time тут точно нерелевантна.
75 140669
>>140666

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


Потому что компилятор.
76 140670
>>140669
Что ты этим сказать хочешь?
77 140674
>>140670
То, что все, что ты напишешь, потом проходит через компилятор. А поскольку строгой типизации нет, компилятор может из написанного сгенерировать непойми что, вместо знакового числа сделать беззнаковое и наоборот.
78 140677
>>140674
Т.е. верилог как си, а вхдл - как асм. Первый конпелируется, второй - преобразуется по таблице байткодов напрямую в машинный йезык.
79 140686
>>140677
И тот и тот компилируется, не тупите. ВХДЛ скорее с++ или даже паскаль.
80 140687
>>140677

>Т.е. верилог как си, а вхдл - как асм.



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

Я так понял, что в твоём представлении банально "чем больше ебли, тем ближе к железу".
81 140689
>>140687
Асм ближе к железу, именно поэтому на нем можно сделать это: вычислить число с плавающей точкой, потом сложить его экспоненту и мантиссу как два целых числа, а потом результат использовать как указатель.
Как раз в си будет больше ебли, чтобы провернуть вышеописанное.
82 140690
>>140689
Ну так и чего? Ты мне доказываешь, что асм ближе к железу из-за слабой типизации, вхдл ближе из-за сильной типизации. Ты уж определись, как типизация влияет на близость к железу.
83 140691
>>140689
>Как раз в си будет больше ебли, чтобы провернуть вышеописанное.
В Си будет на порядок меньше ебли потому что в нём в принципе на порядок меньше ебли, а всё вышеописанное делается стандартными способами любым, кто осилил K&R.
84 140699
>>140687

>в твоём представлении банально "чем больше ебли, тем ближе к железу"


Я не он.
В моем представлении схема должна работать так, как ты ее описал. Поэтому, в моем представлении, язык должен давать максимум возможностей к описанию схемы. И компилятор тут лишний.
85 140708
>>140699
Каким образом слабая типизация лишает тебя возможностей к описанию схемы? На всякий случай напомню, что неявное преобразование типов не отменяет возможности использовать явное, и лишь позволяет в ряде случаев не писать безумные развесистые конструкции VHDL-ного типа, когда преобразование, предлагаемое по умолчанию, тебя устраивает. Это не более чем мелкое удобство, сокращающее количество набираемого текста и не влияющее на результат при условии, что ты знаком с правилами неявного преобразования.
86 140711
>>140691

>В Си будет на порядок меньше ебли


В асме это джве-три команды например.
А в си - ебля с преобразованиями типов.
87 140714
>>140708
Как в верилоге задать состояния конечного автомата? В vhdl пилишь новый тип с перечислением всех состояний, потом пилишь case. А в верилоге как?
88 140725
>>140711

>А в си - ебля с преобразованиями типов.


Не ссы, поставить (int) - это только в первый раз страшно.

>>140714

>В vhdl пилишь новый тип с перечислением всех состояний, потом пилишь case. А в верилоге как?


[code]
parameter [1:0] state0=0, state1=1, state2=2;
reg [1:0] state;
(...)
case(state)
state0:
(...)
state = state1;
(...)
[/code]
Ближе к железу, кстати.
89 140726
>>140725

>Не ссы, поставить (int) - это только в первый раз страшно.


Это не отменяет еблю.
90 140730
>>139495
Считать/записать значения в альтеровские плис можно с помощью In-System Source and Probes. Вместо gui можно написать скрипт на TCL.
91 140731
>>140730
А для хилых что-нибудь подобное есть?
92 140732
>>140708
Развесистые конструкции в VHDL появляются из-за неправильного использования типизации. Развитая система типов в VHDL позволяет проще реализовывать сложные конструкции.
93 140733
>>140731
Конкретнее для каких?
94 140737
>>140733
Spartan6 более всего интересует.
95 140739
>>140737

>Spartan6


>организовать на альтеровских плисах


Это же не Altera, а Xilinx.
96 140740
>>140739
Сорри. "Хилых" это я имел в виду Xilinx.
97 140741
>>140740
C Xilinx не работал, поэтому не знаю.
98 140744
>>140740
ChipScope же? Или не то?
99 140745
>>140744
Вроде бы оно. Спасибо.
100 140748
>>140730
Да, спасибо анон. Так и сделал. Результат можно посмотреть в цос-треде.
101 141095
102 141184
103 142192
Сап, плисофаги и прочие мимокрокодилы.
Надеюсь господа полицейские радача не решат, что я попиариться пришел.
Есть один проект тематики /ra/ https://2ch.hk/prj/res/1.html (М)
Приглашаю всех к обсуждению. Есть часть, связанная с ПЛИСами. Вдруг кто-нибудь захочет присоединиться.
5,1 Мб, webm,
640x360
104 142786
Смотрите, плисаны, чего я запилил. INB4: Иди нахуй альтероёб
105 142801
>>142786
а что за платка?
106 142803
>>142801
Ну там же написано Altera DE-2.
107 142804
>>142803
дорохо
108 142810
>>142804
Я покупал у китайца вот такую плату http://www.ebay.com/itm/ALTERA-FPGA-NIOS-CYCLONE-IV-EP4CE15-USB-BLASTER-Power-Adapter-Many-Gift-E082-/261058354313?ssPageName=ADME:X:eRTM:US:1123
Относительно дешево, на борту много чего есть. Из инструкций нужна все равно только принципиальная схема.
109 142839
>>142804
Да ты охуел! Студенческая цена всей платы ниже чем цена камня установленного на ней.
http://www.digikey.com/product-search/en?x=11&y=9&lang=en&site=us&keywords=EP4CE115F29C7
110 142868
>>142839
ну и нахер нужны эти ваши плис? за такие то деньги.
у нас на заводе 10+ работает полусоветская релейная промавтоматика, управляемая PIC'ами, и всех все устраивает, работает надежно, новое никому не нужно
вы представляете сколько PIC'ов можно купить за эти деньги? то-то же. ПЛИС - бестолковый проеб бабла, ящитаю.
111 142869
>>142868

>10+ лет


фикс
112 142870
>>142868
Ну вот и работай дальше на своем заводе.
113 142877
>>142868
ПЛИС - таки годнота, но задачи у него специфические. Пики - это МК, они дешевы, но имеют низкие частоты, и высокие задержки, притом не гарантированные.
Ну а где требуется риалтайм или огромные потоки данных - требуется чистая логика, с минимальными и гарантированными задержками. Тут и приходят на помощь плисины - чем сочинять 100500 плат на к155, лучше купить одну плисину и закодить схему в одном корпусе.

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

> релейная промавтоматика, управляемая PIC'ами


Для кого сука плк придумали, не, не хотим, хотим жрать говно.
115 142893
>>142878
Спокуха, в ПЛК те же мк с логикой и релешками, они тупо более юзер-френдли.
116 142904
>>142893
Ну естественно, а ещё они стандартизированны и их программу есть шанс поправить.
117 142906
Заебали шкварить плисотред своим говноедством. Съебите в /wrk/.
118 144373
>>127314
Тред, не тони. А то я как раз купил по дешевке старую Altera DE1.
120 144489
>>144435
Ишь, USB на борту. DE1 попроще будет, там USB только для программирования. Пока запустил прием и передачу через COM порт, запустил VGA и сделал на четверть теннис на одного игрока (мячик-стенки-ракетка). Надо в него проигрыш вставить.
121 144799
Едрена палка. Два вечера провозился, пытаясь понять, отчего матричная клавиатура не хочет работать через GPIO. Оказалось, нужно включить weak pull-up resistor (как это, кстати, по-русски?).
8 Кб, 217x232
122 144800
>>144435

>создал приставку ценой 10$ на плате ценой 600$

123 144803
>>144799
Подтягивающий резистор.
124 144804
>>144800
Фор фан же.
125 144815
>>144804

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


>Фор фан же


Ну разве что.
Не знаю, реализовали ли снес на ардуине лол, но уж на ежевике точно есть.
126 144824
>>144815
Ты не понимаешь сути плис, мудило. ПЛИС это не какой-то хитровыебанный микропроцессор, это в прямом смысле слова переконфигурируемое железо, оно обеспечивает недостижимую для программных решений скорость вычислений, естественно если пытаться закручивать винты молотком ты никаких преимуществ не увидишь, у них своя ниша.
127 144825
>>144815
А ты про это. Обработку 100 ГБит эзернета ты можешь на ардуине сделать? А на ПЛИС можно.
128 144840
>>144825
Можно и троллейбус из буханки, вот только зачем.
129 144841
>>144840
Ты умственно отсталый что ли? Как ты думаешь в топ-энд сетевом оборудовании данные обрабатываются?
Ты меня затролел своей тупостью.
130 144875
>>144841
Ну уж явно не плисами, лол, нахуй эти игрушки когда производители "топ-энд" оборудования могут сразу все в железе сделать.
131 144877
>>144875
Ага, особенно когда тираж конечных изделий пара тысяч штук. Сразу все в железе делают. Заказывают две тысячи микросхем на тайваньских фабриках.
132 144878
>>144875

>Cделать сразу в железе


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


>И подготовка к производству которого стоит овердохуя зеленых президентов


Da ti ohuel! Алсо ПЛИСы используют в оборудовании ОПСОСЫ, т. к. внезапно может потребоваться модернизация под новые стандарты сетей
133 144879
>>144877
Так и запишем - ПЛИСы для нищебродов и микро-контор. Непонятно правда причем тут

>в топ-энд сетевом оборудовании

134 144880
>>144878

>Алсо ПЛИСы используют в оборудовании ОПСОСЫ, т. к. внезапно может потребоваться модернизация под новые стандарты сетей


Так и представил себе опсоса с собственным оборудованием, ололо. Контроллер "МТС-3000" на базе альтерры с прошивкой от Васяна, сегодня 3ж, завтра 4ж, только Васян проспится.

Ты вообще представляешь себе что ты несешь? Да эти пидоры-производители оборудования удавятся скорее чем софтом новый стандарт сделают. Им это меньше всего нужно. Хочешь лте тдд - бери железку. Хочешь лте фдд - прости, вот тебе другая железка, ту можешь выкинуть.
135 144881
>>144879

> ПЛИСы для нищебродов и микро-контор


Ох лол, погугли-ка цены на IP-ядра и топовые плисы, петушок. Слишком толсто ты тралишь
136 144882
>>144880
Во-первых, оборудование на плисах делают не сами ОПСОСЫ. Во-вторых, продавать можно не железку, а дизайн, а цену задирай как хочешь, ведь твое оборудование уже купили. В-третьих, попробуй потоньше.
137 144886
>>144882

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


Ты, наверное, хотел сказать "лицензии", а не дизайн, ну да хуй с тобой. Пруф хоть один будет апгрейда железа на "новые стандарты сетей" или сольешься?
138 144887
>>144886
Зачем пруф на апгрейд если можно дать пруф на оборудование?
http://accoladetechnology.com/
139 144888
490 Кб, 449x401
140 144889
>>144887

>Accolade Technology


>топ-энд

141 144890
>>144889
Как ты в тред пролазишь, толстячок?
142 144908
>>144803
Спасибо.
143 144912
Попробовал поискать ради интереса цены на ASIC. Нашел любопытный тред здесь: http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made
и в нем ссылку на ценник каких-то французов с минимальной партией в 25 кристаллов: http://cmp.imag.fr/products/ic/?p=prices

Для тех, кому лень учить английский: за квадратный миллиметр кристалла от 650 евро (350 нм технология) до 15000 (28 нм). Не сверхъестественно, но и недешево.

Так что для серий в сотни-тысячи изделий ПЛИС выйдет дешевле. Я уж не говорю про стоимость исправления ошибок дизайна - в случае ASIC вся партия идет на выброс.
144 144918
>>144373
>>144799
збс. Приделал матричную клавиатуру к теннису. Можно будет сыну дать поиграть. А то кнопки на плате работают через раз.

Целых 3% FPGA по количеству элементов. Попутно думал над схемой теплой ламповой реализации на ОУ.
145 145785
Сап, плисач. Дело в том, что я гнойный альтеропидор. А мне нужно стать прекрасным ксилинксобогом. Испытаю ли я сильнейший баттхерт при переходе или достаточно одного дня, чтобы пересесть на ксилинковский софт?
146 145788
>>145785
Одного дня - нет, недели точно хватит.
147 145989
ПЛИСаны, поясните один момент: можно ли работать с цифровым сигналом на однократной частоте и начинать дёргать ногами ровно в тот момент, когда это требуется без учёта всяких задержек? А то мельком глянул рандомную блоксхему плисины, а там буфера какие-то на выходах.
148 146016
>>145989
Да, без проблем. Буферы не синхронный, если не укажешь явно. Погугли, например, как подключить к плис кварц, думаю будет ясно.

Двач, задавай вопросы, скучно же.
149 146018
>>146016

можно ли заделоть на плисе pll с блекджеком и частотами
150 146045
Посоны, посоветуйте плату с ПЛИС. Нужна для обучения, и в дальнейшем дрочить на ней хэши (не биткоин). Т.е. максимум производительности за вменяемую цену, SRAM не нужен, дисплей и всякие навороты не нужны, ну обмен какой-то надо с писей, USB или Ethernet наверное.
151 146049
Пытаюсь попробовать этот ваш Xilinx. Ставлю нужный софт, но установка зависает на моменте показанном на первом пикрилейтеде. Если не дожидаться конца и запускать то, что установилось, то вылазит второй пикрилейтед. В чем может быть проблема? Алсо, у альтеры такой хуйни не было.
152 146126
>>146049
Хуй знает, не сталкивался с такой хуйней. На жестком диске места хватает?
153 146134
>>146126
Да, конечно хватает. А ты какую версию себе ставил? Моя 2014.3.1
154 146157
>>146134
У меня 2014.2. Кстати, а зачем ты Виваду ставишь? Собираешься сразу с седьмой серией работать?
155 146291
Сап, плисоны.
Студентота-кун репортинг ин.
В универе успел немного познакомиться с плисами и vhdl, только вот это длилось только один семестр ебаный бакалавриат.

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

Одно дело, конечно, уметь кодить и понимать работу плисов, но было бы еще круто узнать, как найти в рашке работу связанную с ними, да послушать успешных анонов. Навскидку в голову приходят небольшие частные конторы, занимающиеся сетями или гос предприятия, собирающие железо на заказ для всяких роскосмосов. Так ли это вообще, или всем похуй/заводи трактор/тащи-код-с-опен-корес-и-не-парься?
156 146294
>>146291
если хочешь быть успешным в рашке, то нужно изучать не системверилог, а 1с.

если же настолько упорот, что хочется-таки в электронику, то тут одна лишь надежда на цос. но там годы нужны на погружение в тему.
157 146378
>>146294

> годы нужны на погружение в тему


Не пизди, я за год погрузился.
158 146379
>>146291
Не уверен, что в рашке есть конторы, которые пишут на SV.

По поводу работы - ищи на hh и на форуме electronix.ru/forum.
159 147336
Xilinxобоги, помогите вашему братушке. Если вдруг у кого стоит Vivado, не могли бы вы открыть в Dependency Walker'е дллки: E:\Xilinx\Vivado\2014.4\lib\win32.o\librdi_commontasks.dll и E:\Xilinx\Vivado\2014.4\lib\win64.o\librdi_commontasks.dll, а затем запостить сюда результат по ошибкам, если таковые будут? С меня нихуя. Ну или могу вам пак с Зоуи залить куда-нибудь.
160 147394
>>147336

вся суть виндоблядства в одном посте
161 147396
>>147394
Как ты думаешь, почему именно пользователей линукса называют "красноглазыми", а сам линупс "прыщами"? Ничего не имею против Линукса, просто не люблю, когда обижают винду в тех местах, где и прыщи не блещут
25 Кб, 320x332
162 147417
>>147396
стоит только немного обосрать винду так сразу прибежит какойнибудь спермоглот и начинает кукарекать про линупс, я имел ввиду что ДОС круче винды, при ДОСе такой хуйни с длл небыло
163 147439
>>147396
и почему? всегда было интересно это узнать.
164 147478
>>147336
Нинада, посоны. Я решил свои виндо-проблемы. А еще у меня есть пак с Зоуи, а у вас нет.
165 147518
>>147417
Айфон - это кал.
166 147664
Заказал свою первую демоплату FPGA со спартаном, оказалось к ней еще и кабель Xilinx Platform Cable надо блядь!
Что делать-то? Если закажу, ждать долго, пока китайцы отдуплятся. Нагуглил что есть какой-то Xilinx Parallel Cable на резисторах и в LPT, как оно ваще, работать будет? Или медленно?
167 147775
>>146018

>можно ли заделоть на плисе pll с блекджеком и частотами


А поконкретнее?
В некоторых плисах и встроенные PLL есть.
168 147879
Антоны, решил изучать плис. Набрел на сайт марсоход.орг. Годный ли он?
169 147889
>>147879
Плисины там совсем простые, CPLD, а не FPGA. Но примеры годные и их много.
170 147898
Котаны, посоветуйте недорогую хилинх плату со спартаном шестым и VGA. А третий ещё котируется? Просто доллар охуел, а плату хочется
262 Кб, 1227x682
171 151235
Плисаны, помогите советом нубу. Заказал я с Али плату на Altera Cyclone (EP1C3T144C8) и она никак не хочет программироваться. Ошибки Quartus на пике. Проверил осциллографом путь от IDC-10 на бластере до пинов ПЛИСа - все дорожки целы и все сигналы меняют состояние при попытке подключится. В AS режиме EPCS1
вроде бы прошивается, но реконфигурации не происходит. Подключение ног EPCS1 сверил по даташиту и тоже обрывов или других косяков не нашел. В чем может быть проблема?
172 151263
>>151235
там же написано TDI короткое на землю
173 151267
>>151263
Только что проверил, сопротивление между TDI и GND - ровно 10кОм. К тому же, даже если б TDI был замкнут на землю, то отдельно прошитый через AS EPCS1 должен был заново сконфигурировать ПЛИС? Или я не прав?
171 Кб, 314x320
174 153180
ПИДОРЫ, БЛЯТЬ!
Какого хуя, эта ваша блядская Vivado не поддерживает божественный SystemVerilog? Почему интерфейсы запилены через жопу? Кодогенераторы, враперы, хуяперы! Сколько я еще буду терпеть вот такую хуйню:
.S_AXI_ACLK(s00_axi_aclk),
.S_AXI_ARESETN(s00_axi_aresetn),
.S_AXI_AWADDR(s00_axi_awaddr),
.S_AXI_AWPROT(s00_axi_awprot),
.S_AXI_AWVALID(s00_axi_awvalid),
.S_AXI_AWREADY(s00_axi_awready),
.S_AXI_WDATA(s00_axi_wdata),
.S_AXI_WSTRB(s00_axi_wstrb),
.S_AXI_WVALID(s00_axi_wvalid),
.S_AXI_WREADY(s00_axi_wready),
.S_AXI_BRESP(s00_axi_bresp),
.S_AXI_BVALID(s00_axi_bvalid),
.S_AXI_BREADY(s00_axi_bready),
.S_AXI_ARADDR(s00_axi_araddr),
.S_AXI_ARPROT(s00_axi_arprot),
.S_AXI_ARVALID(s00_axi_arvalid),
.S_AXI_ARREADY(s00_axi_arready),
.S_AXI_RDATA(s00_axi_rdata),
.S_AXI_RRESP(s00_axi_rresp),
.S_AXI_RVALID(s00_axi_rvalid),
.S_AXI_RREADY(s00_axi_rready)
Сколько, я вас спрашиваю? Дали вам SystemVerilog, структуры, интерфейсы и юнионы, нет, блядь, хотим жрать говно, дрочить на текстовые простыни и кодогенерировать. Уебки блядь!
460 Кб, 2304x1728
175 156195
Поясните за эту вашу седьмую серию от Хилых. В частности интересует Artix-7. Могу я на него напрямую завести HDMI (а лучше DVI)? В шитах я кое что нашел про про поддержку этой серией TMDS, но как-то это хуево там описано. И документа про TMDS с пояснениями по хардкору, как приладить HDMI к плис, как для Spartan-6 я не нашел. Может пилил кто из вас чего подобное или тут одни махарайщики? Сисечки в подарок.
176 156200
>>156195

Доставьте уже пак с этой няшей.
177 156242
>>156200
За Артикс мне поясни, тогда доставлю.
178 156245
>>127314
Какую нище-плату выбрать если ты нищестудент и связи с последними событиями в жизни рубля, купить отладочную плату для тебя стало нетривиальной задачей?
179 156270
>>156245

Буквально на той неделе загнал на авито BASYS-2 всего за 3к.
180 156433
>>156245
Очевидный «Марсоход-2» очевиден. Плюс у стартеркита есть две простенькие платы (одна на Циклоне-4, другая на Спартане-6) с ценой в районе 3 килорублей.
73 Кб, 750x563
181 156776
Сап, плисаны. Чем шить эту вашу седьмую серию от Хилых? Пикрилейтед с алиэкспресса подойдет?
69 Кб, 597x800
182 157098
>>156776
Отвечайте мне, хули вы?
219 Кб, 1500x1000
183 157107
>>157098
да хоть двадцать седьмую.
подойдет.
184 157112
>>157107
Спасибо, анон. А на пике то у тебя чего?
1,1 Мб, 1929x2113
185 157113
>>157112
махарайка какая-то. с соседнего треда.
186 157114
>>157112
махарайка какая-то. с соседнего треда.
187 157116
>>157113
Ты издеваешься, такие пики постить? А на этом у тебя что? Понятно, что отладочная плата. Что в ней за 4 пустых блока? Почему у нее всего 4? Она что, ебанутая?
188 158936
>>157116

Эй не кипешуй, это несущая плата для отладки мезонинов. Ты же не дымишь когда видишь, материнскую плату с пустыми PCie слотами
189 166814
Какая самая дешевая плисина для скорости симплексного обмена с pc больше 4Gb/s? Spartan-6 lxt и pci-e? Какая недорогая плисина потянет обмен по pci на 4Gb/s?
190 166815
>>138266

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



>SATA2


>USB HS


Разве pcie не легче реализовать?
191 166918
>>166815

>pcie


>Cubieboard


Ну что же ты так, ананас?
192 166954
>>166918

>SATA



а разве сату получится подключить хост-хост?
она вроде скоростнее сраного усб
а вообще сто мигабит хватит всем по езернету
193 166963
Посоны, проясните нюфане за ПЛИС. В чем соль? Просто кристалл с кучей тригерров/счетчиков/таймеров, взаимодействие между которыми мы определяем прошивкой? Чому все так фапают? Киньте ссылок годных, позязя.
194 166964
>>166963

>В чем соль?


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


Сам спросил - сам ответил.
195 166970
>>166964

Ну а что мешает в прости-Господи той же ардунье, там же можно программно делать и таймеры и счетчики и триггеры? Или у неё мала частота опроса входов и выдачи сигналов на выходы?
sage 196 166984
>>166970
Ты что, это же ПЛИС. Ты не понимаешь, это же совсем другой уровень!
197 166988
>>166984

Ну поясни, няша. Или кинь годных руководство по ПЛИС с нуля.
198 166994
>>166984
Вот ты стебаешься, а ПЛИС и вправду другой уровень. Это тебе не для ардуины скрипты писать.
199 167340
Каналья, тут еще один плисотред. Хули делать, перепощу сюда еще.
Анчоусы, передо мной стоит задача: сделать устройство, выполняющее некие операции со звуком и делающее из этого картинку. Также имеется дисплей под это дело с параллельным интерфейсом. Так вот, можно ли на плисине сделать помимо обработки аудиосигнала еще рисование картинки в видеопамяти и вывод этой картинки на дисплей? Какое семейство альтеры подойдет? В крайнем случае могу подумать о альтернативах, но альтеровские штуки под рукой.

Один добрый антоним уже освятил меня на использование плис.
200 167341
>>166970

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


Грубо говоря, всё: http://electronics.stackexchange.com/questions/4382/fpgas-vs-microcontrollers
201 167344
>>127314
Студентота электронщик, имею относительно хороший опыт в программировании STM. Решил обмазаться ПЛИСами. Так вот с чего начать? С одной стороны есть Марсоход с кучей примеров и статей. Но вот смутило меня то что на ПЛИС которую проект юзает, "всего" 10к логических элементов. Это нормально для начала? ну и еще какие есть отладочные платы с ПЛИСинами которые имеют хорошую учебную базу?
202 167369
>>167344
DE2-115 закажи.
Минусы:
-Цена $600
Плюсы:
-115к логических элементов, что очень прилично
-Овердохуя периферии на плате и много светодиодиков с выключательчиками :3
-Есть пдфки с лабами, если не знаешь с чего начать
-Годно выглядит: телки текут, быдло боится
-Для студентов цена всего $300, достаточно прислать скан российского студня.

Алсо сейчас появилась DE1-SoC. Там чуть поменьше логических элементов в плисине и поменьше периферии на борде, но зато есть двухядерный ARM Cortex-A9 прямо в плисине и академ-цена всего 175 бачей.
203 167444
>>167369
А вот есть ли какая нибудь хитрая схемка для того что бы можно определить сколько мне логических элементов понадобиться для проектов из определенных областей? Если с МК в моей голове все просто и я могу определить что для этого мне понадобиться приблизительно такой контроллер, то с ПЛИС как то непонятно.
204 168296
>>167444
Прикидываешь блок-схему. Ишешь, какими IP-блоками можно её реализовать. Качаешь даташиты на них, там всё расписано по занимаемой логике. Складываешь. У множаешь вполтора раза, а лучше в два, потому что place & route хочет некоторого пространства для действий, чтобы по всем констрейнтам укладываться. Примерно так.
205 168358
>>168296
а вот еще один вопрос. Собственно с чего я друг метнулся с МК на ПЛИС. В последнее время меня очень заинтересовало компьютерное зрение, для большинство алгоритмов КЗ на МК жутко тормозят. Более или менее удалось реализовать это контурный анализ на STM32f4 но с хуевым разрешением и само собой о реалтайме речи и не идет. Насколько актуальны реализации алгоритмов КЗ на ПЛИС? есть ли вообще такое? имеет какое нибудь реальное применение? В основном гуглятся какие то абстрактные научные работы не имеющие с сомнительной практической реализуемостью.
206 168360
>>168358
фикс
но большинство
207 168372
>>168358
Сейчас на opencl под плисы можно писать. Так что, очевидно, что все возможно.
208 168403
>>166970
Ты не можешь в ардуине сделать сто счетчиков, работающих параллельно.
209 168404
>>167444

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


Пишешь проект, синтезируешь в САПР, оно тебе покажет, сколько чего будет использовано и влезет ли вообще твой проект в выбранный кристалл.
210 168700
Хочу купить Xc6slx9-3

На али всего несколько (это меня смущает больше всего) предложений с 3 speed grade и сотни с 2. Вот, например, http://ru.aliexpress.com/item/Xc6slx9-3tqg144c-xc6slx9-3tqg144-xc6slx9/1039508354.html - реального фото нет, В обязательствах продавца "при несоответсвии товара возврат денег, но пересылка товара за счет покупателя".

Не наебут ли меня, подсунув 2 speed вместо 3?
211 168701
>>168700

> пересылка товара


В смысле "пересылка товара назад"
212 168711
>>168701
Вот цитата - Если товар не соответствует описанию, Вы можете вернуть товар, оплатив стоимость обратной пересылки, или оставить товар себе и договориться о компенсации с продавцом

Раньше я встречал только Если товар не соответствует описанию, Вы можете договориться с продавцом о компенсации без необходимости возвращать товар

Хуйня какая-то
214 173810
Реквестирую годных методичек по реализации алгоритмов ЦОС на ПЛИС.
215 173837
>>173810
плисую. Что-нибудь простое, образовательное для зайлинкса
Аноним 216 173888

>>12737


Это вы про ПЛИС или про что-то конкретное?
так-то и самопрошивка и память в мегабиты на средних ПЛИСах давно есть
Аноним 217 173889
>>167340
За хилых не отвечу точно, а вот как раз про альтеру, если дружишь с верилогом/вхдл, а не с ниосом, то начиная со второго циклона - можно, ну это если есть микросхема цап для VGA или R-2R матрица для того же... с HDMI лично не знаком
Аноним 218 173890
>>173810
Методички - врядли, а вот оупенкорс - в помощь
219 173937
Altera, Xilinx...
А что насчет Lattice, посоны? Я смотрел по mouser'у, у них есть сверхдешевые небольшие плиски, самое то для всякого рода несложного dsp для мелкорешений вроде "мк+йобасенсор+плис", нет?
220 173941
>>173937

>есть сверхдешевые небольшие плиски


Это за сколько? И сколько gates и какая макс частота?
221 173944
>>173941
ICE40UL1K-SWG16ITR50
Стоит полтора доллара, on-chip HFS = 48Mhz, в даташите написано, что два вида - 640 и 1000 LUTs.
Ссылочка: http://www.mouser.com/ds/2/225/iCE40UltraLiteDataSheetDS1050-526997.pdf
sage 222 174671
>>173937
Для решений мк+сенсор+плис посмотри лучше в сторону Cypress PSoC. У них несколько семейств, особо годные PSoC4 и 5. МК уже внутри, ПЛИСка тоже - небольшая, но для таких применений как предобработка показаний сенсоров обычно хватает. Периодически устраивают распродажи, PSoC4 как-то по доллару раздавали - а там и Cortex M0, и поддержка тач-сенсоров сразу (Cypress сapacitive Sigma-Delta™ (CSD) controller)
223 177870
>>127314
У кого есть опыт заказа плат с terasic? Какие подводные камни?
224 177950
>>177870

>Какие подводные камни?


Никаких /thread Добудь где-нибудь студень, чтобы получить академическую цену.
225 178182
Может платина, но:
Как сделать нейронную сеть на ПЛИСах?
226 178189
>>178182
Это платина. Никак. Плисины предназанчены для программирования булевой логики, и происходит это путем настройки физических связей между компонентами плисины во вземя прошивки. Нейросеть же подразумевает под собой самообучение и создание новых связей в логике. Для данных целей скорее подойдет сигнальник типа тайгер шарк
227 178190
>>173810
поищу тебе дорогой анон но не гарантирую
228 178192
>>173837
>>173810
>>178190
Кароч вот для начала по ксайлинксу не было но вот по квартусу альтера http://irs.nntu.ru/students/full_time/bach/210400_62/ смотреть цифровые устройства и микропроцессоры
Даллее для более серьезных дядек непосредственно алгоритмы цос реализуемые на плис (АХТУНГ!!! Много матана и прочего тяжело вопринимаемого мозгом, но точно говорю все рабочее сам почти все реализовывал включая кордик) http://irs.nntu.ru/students/full_time/bach/210400_62/ тут нада смотреть апаратные средства цифровой обработки сигналов и только лекции кафедра намудрила и практика там вобще по сигнальным процам
229 178193
>>178192
fix 2 ссыль другая вот верная http://irs.nntu.ru/students/full_time/mag/210400_68/
230 178199
>>178189
А если уже обученную нейронную сеть переложить на ПЛИС. И как подступиться к сигнальникам? с ПЛИСами все понятно тысячи плат и сотни материалов. А вот по DSP ничего не видел.
231 178202
>>178192
спасибо тебе анон
232 178203
>>178192
>>178193
спасибо тебе большое анон
233 178266
>>178199

>по DSP ничего не видел


Заходи в наш ламповый ЦОС тред. Алсо, что может быть непонятного в реализации? Складывай, умножай, задерживай. Вот и вся обработка.
234 178272
>>178202
>>178203
По 2 части задавайте свои ответы че помню подскажу. Сам плисинами не мучаюсь но много помню
235 178273
>>178192
учился на этой кафедре
236 178274
>>178273
Рад тебя видеть друг анон. Без деанона я тоже там был.
237 178304
>>178189

>Никак


Ну тащем-та я даже нашел несколько книжек на эту тему, что как бы несколько тебя опровергает. Ссылка в качестве примера: http://lab.fs.uni-lj.si/lasin/wp/IMIT_files/neural/doc/Omondi2006.pdf

>самообучение и создание новых связей в логике


Тоже смутно чувствовал, что это в плисах на данном этапе не реализовать. А если предварительно обучать нейросеть в матлабе (или другом месте), а потом транслировать ее в плис?
238 178315
>>178304
Ну значит я ошибался. Честно сказать по нейросетям только базовые знания, я ж не программист, а вот по плисинам много интересного знаю. На том и основывался мой ответ. Но ты попробуй и дерзай
239 178325
>>178273
есть ли смысл поступать туда в магистратуру ради ПЛИС?
240 178326
>>178304
на самом деле при мне как то разбирали какой то еба ПЛАК от Simens, так вот у него как раз процесс управления осуществлялся через нейронную сеть, и там была ПЛИС'ка и весьма внушительных размеров.
241 178327
>>178326

>фикс


* еба ПЛК
242 178359
>>178325
Хуй знает сам решай. Звание магистра у меня на работку дает надбавку в 5к в отличие от специалиста, вот и вся разница
243 178453
>>178325
нет смысле. Там ПЛИСы ровно один семестр, в конце которого сдаешь небольшой проект - простенький фильтр.
244 178520
DE0-Nano-SoC Kit/Atlas-SoC Kit
DE0-CV Board
DE0-Nano Development and Education Board
Какой годнее? Первые два на куклоне 5, третий на четвертом.
Первый имеет дохуя памяти котекс9, езернет,отг, микросд,акселерометр,немного кнопочки-лампочки и линупс на борту. Такая малинка с плисиной, но имеет около 12к вентилей.
Второй имеет 50к вентилей, ПС\2 вга на 8резисторах(лол). и 64мбайт срам, микросдшку и тучу кнопочек и лампочек.
Последний имеет акселерометр,слоу ацп, мало кнопочек, немого памяти и даже еепром. Короче всего по немногу, и даже нищебродская цена.22К вентилей.
Я начинающий плисоеб, экс адуринщик. Последняя интересная, но все это есть у моего stmf4discovery. Первая манит своей системой, но видеоядро туда не разместишь, и остается вопрос взаимодействия плисины и линупса в чипе.
Первая вроде норм, теплые семисигментники-кнопочки много вентилей-хватит на многое, но прийдется пердолится с дополнительными микросхемами и канифолить шильдики.
Что из них стоит своих денег?
Предпологается что цена будет студенческая
245 178523
>>178520
Подкопи еще 75$ и купи DE1-Soc и там уже все что угодно есть.
246 179035
А живые есть? Особенно такие которые симулировать умеют?
247 179090
>>179035
Что симулировать?
248 179095
>>179035
Кто живые?
sage 249 179107
>>179035
Нет, все умерли.
1,9 Мб, 1914x1393
250 179118
Отлично. Давайте поговорим. Так получилось, что я случайно ПЛИС. И теперь потихоньку въезжаю в тему.

Изучаю VHDL.

Так возникает такой вопрос. Переменные вообще имеет смысл использовать внутри блока процессов? Или они только все усложняют и надо стараться обходиться только синхронным и последовательным поведением схемы?

Если кому интересно давайте что ли тут более активный обсуждач с примерчиками разведем.
251 179128
>>179118
Вот тебе пример использования переменной:

Допустим, есть сигнал channel(3 downto 0), который где-то как-то щелкает.
Допустим, у тебя есть процесс, в котором, в зависимости от текущего канала, что-то должно происходить. Ты можешь в процессе конструкцию типа

a <= b(conv_integer(channel))

Или же объявить переменную и использовать ее:

current_channel := conv_integer(channel)
a <= b(current_channel)

На первый взгляд, разницы особой нет. Но когда процесс занимает несколько десятков строк, городить везде conv_integer менее удобно.
252 179131
Не уверен, что понял. Я если что наверное непосредственно кодом лучше пойму. Сам я пытался переменный использовать, чтобы из длинного входного сигнала получить короткий импульс. Но с этим геморно работать.
253 179133
>>179128
А, походу дошло, ты имеешь ввиду, что-то навроде этого:
a <= b(conv_integer(channel))
bb <= b(conv_integer(channel))
c <= b(conv_integer(channel))
d <= b(conv_integer(channel))

против этого:
current_channel := conv_integer(channel)
a <= b(current_channel)
bb <= b(current_channel)
c <= b(current_channel)
d <= b(current_channel)
254 179134
>>179133
Да, именно это.
74 Кб, 500x473
255 179151
>>179134
Хз. Как по мне это больше похоже на синтаксический сахар. Если всерьез такое использование рассматривать. Завтра с работы принесу свой модуль в тех вариантах где я логику с помощью переменных реализовывал. Сегодня забыл просто.
В принципе вполне элегантное решение(люблю когда лишних сигналов снаружи не торчит) но вопрос в том насколько корректное. Завтра запощу, если интересно. Можем пообсасывать.
256 179215
>>179151
Что значит - насколько корректное?

>больше похоже на синтаксический сахар


Так это и есть синтаксический сахар. VHDL дает тебе инструмент. Пользоваться им или нет - твое дело.

Фишка переменной в том, что в процессе, который тактируется клоком, переменная принимает значение уже на текущем такте. Сигнал же в таком процессе принимает значение только на следующем такте.
257 179289
Парни хули такая дорогая доставка на терасике? Есть ли возможность заказать подешевле?
177 Кб, 1124x1024
258 179291
>>179289
Тебе продают платы дешевле себестоимости, а ты воротишь нос, аки кот с пикчи. Да ты ж охуел!
354 Кб, 1000x1500
259 179298
>>179215
Не это мне понятно. Но зацени процесс.

sync : process (CLK)
variable fd1, fd2 : std_logic := '0';
begin
if (rising_edge(CLK)) then
fd2 := fd1;
fd1 := STROBE;
if (not fd2 and fd1) then
--хитрая колесная логика
end if;
end if;
end process; --sync

Тут CLK - тактовая_лабуда, STROBE - асинхронный гарантировано более длинный чем период нашей частоты сигнал.

Описанный процесс содержит в себе синхронизатора для STROBE и логику которая будет выполняться по его фронту. Более того после небольшой доработки можно сделать что бы по этому фронту выполнялись довольно таки сложные синхронные алгоритмы.
42 Кб, 790x741
260 179299
>>179298
Все отступы упали-пропали .-.
261 179321
>>179298
Такое лучше не синтезировать.
262 179323
>>179321
Аргументируй
263 179324
>>179323

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


Тактировать что-либо чем-либо кроме чистого клока нельзя, потому что синтезаторы такую времянку рассчитать не могут.
264 179325
>>179324
Я неточно выразился. Тактирование осуществляется клоком. А сигнал полученный таким образом можно использовать как сигнал разрешения, например - при взаимодействии с процессором тебе необходимо зафиксировать получаемые от него данные в регистре плис а сделать ты можешь только по приходящим от процессора управляющим сигналам. Протокол EMIF если подробнее. Они для плис вполне себе асинхронные, поэтому их надо синхронизировать и получить из них сигнал разрешения для регистра в котором ты сохраняешь данные.
265 179327
>>179325
Ебала какая-то. В любом случае, то что ты описываешь можно описать и без использования переменных.
266 179330
>>179289
На сколько дорогая?
267 179335
>>179291
нищестудент же
>>179330
175$
268 179848
>>179835
Раз перекатился, то отвечаю.

>ПЛИС прошивается один раз?


Нет, на ПЛИС есть память, или она загружает конфигурацию с внешней памяти.

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


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

>Как экономически вычисляется необходимость реализации проекта в ПЛИС? Чипы же дорогие.


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

>Какие проекты требуют перехода с МК на ПЛИС?


Обработка сигналов, телеком, обработка изображений, высокопроизводительные вычисления, т.е. то, что требует особых архитектурных решений.
269 179857
Парни поясните мне. Хочу купить себе ПЛИСину. Студентота.
Разрываюсь между DE1-Soc и Марсаходом. Поясните какая позиция выгоднее. С одной стороны супер навороченная плата но стоит 250$(студенческая цена + доставка фидексом+ какая то там комиссия) что если учесть курс более чем дахера, НО ее мне хватит наверное до конца жизни по заявленным функциям в изучении.
С другой стороны простенький Марсоход дешевый и зеленый. Сломаю и хуй с ним. Даст возможность попробовать на зубок ПЛИСины. С ним можно будет и SoC посмотреть на сайте есть разобранный подробный проект. Даст ли мне это нормальный скил в плане ПЛИС? И да на Марсоход можно будет прикрутить OpenCL?
270 179859
>>179857
http://www.starterkit.ru/html/index.php?name=shop&op=view&id=76
и вот поясните вот за эту платку. Ее можно будет прошить самым дешевым программатором будет с Алиэкспресса или нужно покупать онли почти за 6к?
http://www.starterkit.ru/html/index.php?name=shop&op=view&id=17
271 179860
>>179859
в целом могу раскажелиться до 9к, если есть годные варианты буду благодарен.
272 179882
>>179859
Насколько я понял из описания, дополнительный программатор не нужен: через ЮСБ ты прошиваешь проц, а потом уже через проц ты заливаешь прошивку в ПЛИС.
273 179934
Раданы, а какая есть ПЛИС, чтоб занидорога сам чип и отладочная плата? Не шарю в железе совсем, хотел для начала AVRы попробовать, но чет и ПЛИС хочется
274 179936
>>179934
Марсоход загугли, лет пять назад помню немного с ним работал - просто, недорого, сайт с примерами хороший.
275 179971
>>156200
>>156200
Angelic Model
118 Кб, 680x1024
276 180028
>>179936
Спасибо, анон
277 180673
>>127314
Анон, я правильно понял, CPLD - это один раз зашил в нее логику и оно все? Больше не перебить написанное? А FPGA - забивай новую логику сколько хочешь?
278 180679
>>180673

>Анон, я правильно понял


Неправильно.
279 180687
280 182705
>>144800
Нужен ПЛИС с паябельным корпусом типа QNF как Lattice XO2.
И сцуко хоть с парой аналоговой периферии вроде компараторов.
Но, видать, не судьба...
281 182715
>>182705
*QFN-32
282 182738
>>182705

>паябельным


>QFN-32


DA TY OHUEL!
283 182758
>>182738
Пофиксил уже, блеат
284 182768
>>182758
я к тому, что если для тебя QFN-32 паябельный, то с хуев ли остальные корпуса стали непаябельными? явно у тебя станция есть с феном, так не выебывайся жи.
218 Кб, 1920x1080
285 182777
QNF легко паяется подогревом снизу и горячим воздухом сверху. (Прилагаю пруф) Проделывал эту операцию не раз на плитке 60-х годов с открытой спиралью и да феном. Контактики все снаружи для контроля, а за pad можно не беспокоиться. Мне нужен маленький, но не BGA с растром в полмилиметра.

И самое главное, мне нужны компараторы и операционники. Хотя бы по одному.
286 182778
>>182777
а к чему эта аннтенка?
287 182779
>>182778
это не антенка, хотя, да, разъём SMA. К широкополосному источнику инфракрасного для управления.
25 Кб, 300x280
EPM240T100C5 288 188154
Сап,
В общем, решил я задрачиваться в ПЛИС, есть Altera Max II EPM240T100C5,
Подскажите, какие книги подойдут?
нашел такие:
Стешенко В.Б.ПЛИС фирмы Altera.Проектирование устройств обработки сигналов.2000
Altera - MAX+PLUS II Quartus II (2002)
Поляков_Языки VHDL и VERILOG в проектировании цифровой аппаратуры_2003
Слышал что эта ПЛИС новая, и как бы она новее чем эти все книги, и САПРы которые там описываются, не будет ли проблем? Книг русских вообще мало. А хотелось бы, ну хоть капельку, чтоб въехать. А там уже и по datasheet`ам буду.
289 188200
>>188154
marsohod.org
290 188207
>>188200
двачую
291 188210
>>188154

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


Не ссы. Помигай для начала светодиодом. Код (Verilog, VHDL) портируемый на любой (99%) ПЛИС, если не юзаешь локальные фишки. Verlog проще по синтаксису.
Забей на schematics editor сразу. Не труъ.
292 188259
>>188210
Чистый верилог без понимания схемы, которая должна получиться в итоге, тоже не тру. Ибо часто у новичков получается обогреватель
293 188262
>>188259
В программах под ПЛИСы есть кнопочка, чтобы зазырить, какая схема получилась. Знания цифровой техники никто не отменяет.

И да, на Verilog надо писать аккуратно. Подводные камни описаны в тьюториалах. Verilog =/= C. Не прощает быдлокод.
294 188281
>>188259
>>188262
т.е. можно убить устройство неправильным кодом?
295 188297
>>188281
Ну да, поделишь на ноль - будет КЗ, а там и всю схему пробьёт нахуй.
296 188325
>>188281
Внутреннюю логику - довольно сложно
297 188341
>>188281
Вот этот парень убил чип, проигнорировав "21000 Combinational loops"
http://www.forrestheller.com/verilog/
298 191141
Всем привет
в ПЛИС не особо разбираюсь (но, наверное, придется), нужно решение, чтобы подключить большое количество кнопок, которые могут быть нажаты как одновременно, так и по одиночке (пианино), матрицей тут подключить не получится, могу получить ложные срабатывания.
пока этапы такие:
1. Вся логика уже описана на микроконтроллере. (MIDI сигналы)
2. подключил МК по midi к компу.
3. теперь нужны кнопки (размыкатели)
3.1. как лучше реализовать снятия данных о нажатии кнопки, т.е. сигнал с ПЛИС о том что нажато и когда, далее пересылка в МК? реализовать что-то вроде usart? (пока это самое простое на плис) не будет ли это медленно? тут USART, дальше MIDI
3.2. есть ли в ПЛИС возможность сделать триггеры шмитта? или нужно ставить внешние?
299 191142
>>191141
первые 2 уже сделал, 3-й в теории, уже разобрался, пока подключил для теста 4 кнопки
300 191145
>>191142
какие нахуй ложные срабатывания? даун?
за каким хуем тебе плис? из за портов ввода вывода? обычную матрицу можно просканировать РАСШЫРИТЕЛЕМ портов, можно задрать частоту сканирования до какихнибудь сотен мегагерц и получить норм клавиатуру
или у тебя ардуина? если ардуина то пиздец
301 191147
>>191141
Реакция твоих кнопок? инбифо сдвиговые регистры
6 Кб, 400x387
302 191152
>>191145

>ложные срабатывания?


> матрицу


на картинке нарисовано какие

>ардуина


не ардуина, не AVR, ни PIC.
а даже если и ардуина, это бы вообще не имело значения.
>>191147

> Реакция твоих кнопок?


Т.е.? время реакции? ~5-10мс.
даже если я и использую сдвиговые регистры, мне все равно нужно будет триггеры шмитта, так? итого 17 триггеров шмитта+ 11 сдвиговых регистров. Хочу плис потому что и начусь работать с ней и будет компактней.
303 191341
>>191152

>Ложные срабатывания


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

>Триггер


Зачем, боишься дребезга? Программный фильтр?

Вообщем все у тебя упирается в частоту контроллера, которая будет ограничивать скорость реакции нажатия кнопки.
304 191348
>>191141
Мне одному кажется, что использовать ПЛИС для подключения кнопок какой-то моветон?
305 191351
>>191341

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



развертка, т.е. "построчное" считывание значений, это как вывод на мониторе, так?
должно срабатывать у меня до 6-8 клавиш одновременно + дублирующие датчики измерения скорости нажатия, итого 12-16 замыкателей, в нажатом состоянии одновременно. При игре дуэтом, допустим, количество нажатых клавиш может увеличиться. ну, скажем плюс 4 клавиши и 4 доп. датчика, соответственно конечно на практике даже по 8 клавиш нажимается редко, но нужно учитывать большой запас
итак, используя матрицу, я смогу добиться выполнения результата поставленной задачи?
справится ли I2C, SPI расширитель портов? http://www.cypress.com/file/37971/download они все сканируют построчно? хотя и ног на МК много

>Зачем, боишься дребезга? Программный фильтр?


пробовал программный фильтр как-то не получилось
1. уход на прерывание
2. отключить прерывания
3. выполнить необходимые действия
4. выдержать время
5. включить прерывания
6. выход из прерывания
где-то происходила запись (скорее всего после ухода на прерывание), о том что прерывание вызвано 2 раза, и дальнейшие действия по программному антидребезгу оказались бессмысленными.
С триггером все чистенько получилось.

>>191348
может ты и прав. но я же ищу решения, рассматриваю варианты, подсчитываю как стоимость так и потраченное время.

Конечно, может идея показаться смехотворной, типа делаешь там себе невротъебенное пианино, с запасом на 4 руки. А сделаешь ли?
306 191359
>>191351

почему классику нечитаем а?

http://easyelectronics.ru/matrichnaya-klaviatura.html
307 191361
>>191351
Про датчики ты ничего не говорил, что касательно кнопок -- то их ты можешь одновременно хоть сотню зажимать, все упирается лишь в скорость реакции на контакт. Ты хоть схему в протеусе типовую собери, чтобы люди понимали что ты хочешь
308 191364
>>191361
датчик - это тоже обычная кнопка, только датчиком будет служить 2 кнопки подключенные к одной клавише. Датчик реализован программным образом - считает время дельта t, чем меньше дельта t, тем, считается, быстрее нажата клавиша.
309 191370
>>191364
Ты определись с архитектурой твоей махарайки, а то у тебя кнопка на кнопке кнопкой погоняет и нихуя не понятно как и на чем ты собираешься это вот все реализовывать.
2 Кб, 547x176
310 191376
>>191370
ну смотри,
у меня есть клавиша от клавиатуры пианино, под нее подложено 2 кнопки, пианино должно издать звук только тогда когда обе клавиши нажаты. сттоят они достаточно близко.
как всё происходит: замедленно
1. нажимаем на клавишу форте, сработала кнопка 1, таймер включился - время на таймере пошло.
2. клавиша двигается ниже, включает кнопку 2.
3. кнопка 2 нажата и остановила таймер.
4. происходят вычисления, собранных данных: если ты потихоньку нажимаешь на клавишу, до полного нажатия проходит время 30 мс. - слабое нажатие, звук тише. если скорость нажатия средняя, ну, скажем 20мс, звук погромче. А если пиздунуть по клавише, то инструмент издаст самый громкий звук, т.к. интервал нажатия клавиш самый малый. Имитация молоточковой механики.
5. не дошло дело до второй клавиши, или слишком поздно - таймаут.
Поэтому нужно подключить абсолютно все кнопки, включая всякие там кнопки настроек, уровня звука, переключения инструмента все, что на панели (каждая клавиша включается при одновременном нажатии 2-х кнопок).
10 Кб, 591x574
311 191377
>>191376
>>191359
да, и МК - stm32f103RCT6, пока хватает.
кнопки скорее по такой схеме надо подключать, так?
312 191378
>>191376
только кнопка 1 и 2 будут в обратном порядке нажиматься, ошибся
313 191379
>>191376
Тогда тебе по такому вопросу в тред к АРМщикам
314 194792
Плисаны, а можно ли PLL циклона заиспользовать без altpll?
315 195002
>>127314 (OP)
не умерай
316 195151
>>194792
Ч... чиво?
317 195184
>>195151
Ну altpll это же модуль из состава библиотеки квартуса, который инициализирует pll на борту циклона. Так? Можно ли без вызова altpll собственно запусить на нужную мне частоту pll на "чистом" Veriloge? Или только делить стандартные 50 Мгц от кристалла?
318 195185
>>195184
Можно, но тебе не понравиться
Попробуй посмотреть на код, который генерит коре генератор. Но ниже инстанса ПЛЛ ты не опустишься, т к. это и есть абстракция хардварного блока на кристале.

Какую ты цель приследуешь?
319 195192
>>195184
Да, спасибо, дружище, я в курсе всего этого. Мой странный вопрос был немного о другом. Зачем?
320 195201
>>195185
>>195192
Ну вот так вот, захотел освоить мир ПЛИС, а поскольку я программер, решил для себя, что все писать ручками без готовых компонентов, и тут же столкнулся с проблемой, что произвольную частоту кроме как через altpll никак не получить. И либо даже гугл не знает, либо я не знаю как спрашивать у гугла. Максимум что уадлось найти - cycloneive_pll вот здесь https://github.com/rkrajnc/minimig-de1/blob/master/lib/altera/cycloneive_atoms.v - хотя не знаю, оно это или нет. Да и вообще стало интересно, какие есть возможности у разработчика по управлению различными модулями на микросхеме и как это вообще реализовано.
321 195203
>>195201
У тебя какой-то странный подход. Ты хочешь всё писать ручками, при этом немножечко далек от внутренней архитектуры устройства, с которым собрался работать.
Во-первых даже pll тебе не даст произвольную частоту, ты подвязан на ту, что есть (в твоем случае 50 МГц), т.е. получить 51.25 МГц тебе будет слегка затруднительно.
Во-вторых, мегафункции там не просто так реализованы. Они позволяют не только быстро реализовать необходимый функционал, но так же сделать это наиболее оптимальным методом.
Всё это развлекалово с клоками в конечном итоге при недостаточной компетенции выльется в ухудшение качества результата твоего труда.
322 195220
>>195203

>даже pll тебе не даст произвольную частоту


Ну понятно, очевидно я имел в виду частоту, значение которой отлично от результата деления базовой 50Мгц

>мегафункции там не просто так реализованы


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

>в ухудшение качества результата твоего труда.


Это хобби. Я собственно хочу читать данные с АЦП, нужны две частоты 3 и 48 МГц. Как получить нужные частоты через altpll - понятно. Но интерес академический - а можно-ли это сделать без мегафункции?
27 Кб, 549x769
323 204039
Сап, плисаны. Что заснули? Взломан ли циклоновский PLL? Подключена ли рояльная клавиатура?

С Новым Годом типа.
324 204043
Тут есть ксилинксоводы?
325 204119
>>204043
А ты задай вопрос, может и ответит кто.
326 204130
>>204043
Есть.
327 204133
Если здесь есть аноны с опытом HDL разработки в компаниях, поделитесь, пожалуйста, опытом организации работы. Например:

- используете ли make или подобные системы;
- как организовано повторное использование кода;
- есть ли автоматизированная верификация (как юнит-тесты у программистов;
- ну и вообще чем отличается командная разработка на Verilog или VHDL от разработки на C и Java.

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

Интерес вполне праздный.
328 204151
>>204133

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


Квартус нужен только чтобы синтезировать проект, а проект должен собираться из исходников. А работа с исходниками может быть организована так же, как и в Си и Джаве - контроль версий, ветки и т.п.
Верификация - с использованием тестбенчей, для SV есть UVM.
329 204162
ПЛИСовцы, ответьте нубу, что можно впихнуть в ПЛИСку с 32 макроячейками? Я чот так и не разобрался как подбирать "емкость" под желаемый функционал.
330 204164
>>204162

>как подбирать "емкость" под желаемый функционал


Эмпирическим путем. Создаешь проект с какой-нибудь ПЛИС, синтезируешь. Если не хватает, берешь ПЛИС пожирнее.
331 204165
>>204162
ПС. Нажил кучу epm3032alc44-10n с панельками, хочу на них чего нибудь смастырить. Частотомер например.
332 204166
>>204164
Ааа, вона оно как. Спасибо, буду пробовать.
333 204211
>>204151
Спасибо. А как именно и чем проект должен собираться из исходников? Вот есть у того же Квартуса инструменты командной строки - надо запускать их из make? А как отслеживать зависимости?

Про тестбенчи и UVM я тоже понимаю. Есть ли практика запускать их автоматически через тот же make? А то в руководствах все больше предлагается смотреть на сигналы глазами.
334 204234
>>204162
Это ты CPLD ухватил, притом не самую свежую, бери FPGA - там ячеек на несколько порядков больше.

>>204211

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


А чем на них надо смотреть, анусом?
Или ты предлагаешь программу писать, которая бы определяла правильность диаграмм? А ведь в ней тоже могут быть ошибки, кто их будет проверять, следующий уровень программ? Этак можно до бесконечности.
335 204235
>>204234

> притом не самую свежую


Нахаляву жи! Тренироваться лучше на дармовом, чем тратить кровные.
336 204237
>>204119
>>204130
Не могу блядскую ПЛЛку отконфигурировать.
У меня есть входная частота с генератора 16,384МГц, заведённая на одну ногу, мне нужно получить около 50 для ядра и 62,5 для УАРТ-приёмника.
Во-первых: точных частот выставить не удалось; во-вторых: одна ПЛЛка с двух выходов таких частот выдать не может, пришлось ставить две разные, но всё равно довольно грубую точность получил.
Две разные на одну клоковую ногу не ставятся, требует убрать какие-то буферы - я убрал, после чего с горем пополам откомпилировалось. И тут поплыли констрейны: УАРТ-приёмник, тактирующийся 62,5МГц более менее работает, а те схемы которые на 50 - сбоят и что с ними делать не понятно.

Блядский ксилинкс, говно собачье, альтера в 100 раз лучше, глаза бы мои его не видели, камни кривые, софтина кривая, всё криво, всё косо, внутрисхемная отладка через жопу, пиздец нахуй, какие же криворукие мудаки там в разработчиках сидят, охуеть можно.
337 204247
>>204211

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


Не знаю, как там в Квартусе это сделано, в Vivado и PlanAhead есть возможность запуска tcl скриптов. Запускаешь среду, из нее запускаешь скрипт и проект автоматически собирается.

>Есть ли практика запускать их автоматически через тот же make?


Почему бы и нет? Вопрос только в сложности всего этого дела; можно написать скрипт, который будет создавать проект, запускать его на симуляцию и оценивать результаты симуляции, после чего писать результаты в файл.
338 204291
>>204234

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



Подожди, а зачем в систем-верилоге все эти ассерты, генераторы часов, события, последовательности... Я грешным делом думал, что правильные пацаны выводят из спецификации модуля инварианты, на которые затем пишут ассерты и гоняют тесты, пока не выстрелит. А уж тогда на сигналы смотрят. Не так, значит?
339 204295
>>204237

>входная частота с генератора 16,384МГц, нужно получить около 50 для ядра и 62,5



Бро, а на сколько разрядов в делителях PLL ты рассчитываешь? Потому что тебе нужно рациональное приближение для

3.0517578125 = 50/16.384
и 3.8146972656 = 62.5/16.384

Вот нашел тебе калькулятор, рациональное приближение считать: http://www.bee-man.us/math/fraction_approximation.htm

Кварц на 20 МГц не судьба поставить? Было бы все просто.
340 204297
>>204247

>Запускаешь среду, из нее запускаешь скрипт



Да tcl скрипт можно и из командной строки запустить, не проблема.

Я-то по привычке считаю, что все, что собирается, должно уметь собираться на билд-сервере, и там же тестироваться. А начальник отдела с утра заглядывает в почтовый ящик и восклицает: "Иванов! Опять в ебутроне регрессия вылезла!"

Вот и пытаюсь понять, насколько это соотносится с обычаями HDL-щиков.
341 204300
Дяденьки, чего почитать тупенькому радиолюбителю-переростку, чтобы разобраться в этих ваших ПЛИСах? В англицкий плоховато умею.
343 204318
>>204302
Спасибище!!!!
344 204407
>>204300
>>204302
Для начала надо теорию цифровой схемотехники подучить, без неё HDL-языки - как мёртвому припарка.
https://youtu.be/aGMfFezjVnQ
345 204409
>>204291

>инварианты


>ассерты


Лол, я таких слов даже не знаю.

>а зачем в систем-верилоге все эти ассерты, генераторы часов, события, последовательности


Если честно, я по систем-верилогу не очень, больше по классическому, как что там не знаю, но думаю, чтобы входные воздействия в тестбенчах было легче создавать. А так чтобы автоматом результаты проверялись - я хз.
346 204704
>>204295
Ты мне про рациональные приближения можешь говорить всё что хочешь, но при опорной частоте 16,384МГц на этом сраном спартане 6 с двух разных ПЛЛок я получил 50,79 и 62,256МГц, а на сыклоне 4 я могу получить 49,99 и 62,464МГц из одной ПЛЛки.
Говно без задач этот ваш ксилинкс.

>Кварц на 20 МГц не судьба поставить? Было бы все просто.


Конечно, но плату рисовал не я, приходится работать с тем что есть, будь моя воля я б альтеру поставил.
347 204811
>>204704

>мне поставили резистор 100 Ом, а мне нужен 200 Ом. Говно без задач эти ваши резисторы по 100 Ом!

348 204812
>>204704

>Говно без задач этот ваш ксилинкс.



Тебе виднее. Уменя крома циклона-2 ничего в хозяйстве нет. Но отношение частот все равно жутко неудобное.
349 204838
>>204409
Оказалось достаточно погуглить и почитать форумы вечерок. Поддержка СистемВерилога 2012 есть только в приличных симуляторах вроде Квесты. Ни МоделСим (который идет вместе с Квартусом), ни Вивадо не тянут. А большинство плисанов ими, видимо, и пользуется.
350 204869
>>204838
Квесту можно прикрутить к Виваде.
351 204916
А есть веб-сервера на ПЛИС?
352 204917
>>204916
Есть на 155ЛА3, схема только в бумажном варианте, сканить не на чем.
60 Кб, 400x400
353 204925
>>204916
Но зачем?
354 204933
>>204917
Пичалька((0(
>>204925
Дабы обрабатывать ещё больше соединений, конечно же.
355 204944
>>204811
Хуёвенькое твоё сравнение, ибо спартан 6 позиционируется именно как конкурент сыклону 4, на деле же сильно уступает, как минимум по вопросам ПЛЛ, а что будет дальше ещё не известно, я только начал с ним работать.
356 204945
>>204916
Есть, посмотри диск идущий с платой Terasic DE2-115, там было, но он, вроде как помню, всё равно на Ниосе крутится.
357 204969
>>204944

>спартан 6 позиционируется именно как конкурент сыклону 4, на деле же сильно уступает


>позиционируется


Давай ты еще про говно мамонта вспомнишь? Уже давно вышла седьмая серия, а ты все на Спартане пердолишься.
358 204973
>>204969
Я ж тебе говорю, я бы рад не пердолится, но что есть, то есть. Ну так сыклон 5 уже как давно есть.
Тут речь именно спартан 6 vs сыклон 4. Спартан сосёт, хотя вроде бы одного класса.
359 204977
>>204869
Квесту можно к чему угодно прикрутить, но ее красть надо, а мне не хочется (да, я странный).
360 204981
Аноны, а может коллекцию ссылок собрать? Или для начинающих хватит марсохода?
361 204984
>>204981
Собери конечно, мне чот марсоход NE OCHE
362 204986
>>204984
Ладно, попробую, только там все больше по-английски будет.
363 204994
>>204973

>я бы рад не пердолится, но что есть, то есть


Ну я и говорю. Ты берешь плату, на которую впаяли резистор 100 Ом и жалуешься, что тебе нужен резистор 200 Ом. При этом мудаками нарекаешь производителей резистора, а не разработчика платы.
364 204995
>>204977
А Виваду красть не надо тип?
365 204996
>>204994
Т.е. ты хочешь сказать, что сыклон 4 лучше спартана 6? Ну ок, я тоже к этому склоняюсь.
366 204997
>>204996
Я хочу сказать, что плату надо проектировать под свои задачи. А не хуй пойми как.
367 205009
>>151235
А нахуя тебе это и что ты хотел закодить?
368 205022
>>151267
Непропай скорее всего.
369 205023
>>205022
А мож проще вторым постом цеплять?
370 205024
>>205023
Бля, доской промахнулся, звиняйте.
371 205052
>>204995

>А Виваду красть не надо тип?


А веб-пак бесплатный? Без СМС, но с регистрацией.
372 205055
Вот, начал собирать ссылкоту. Комментарии приветствуются.

Что это такое?
http://marsohod.org/11-blog/265-fpga

Там какие-то схемы и непонятно ничего!
Харрис Д., Харрис С., «Цифровая схемотехника и архитектура компьютера»
http://easyelectronics.ru/files/Book/digital-design-and-computer-architecture-russian-translatino.pdf
Осиливший книгу до конца сможет самостоятельно реализовать процессор на FPGA.

Так Altera или Xilinx?
Достойное упражнение для специальной олимпиады. В целом Альтера поприятней.

Verilog, SystemVerilog, VHDL?
Начни с верилога, а там разберешься.

А где взять?
Плату – купить на http://marsohod.org/ или http://www.aliexpress.com/ (по запросу ''FPGA development board”). Русская версия http://ru.aliexpress.com/, перевод ужасный.
Софт – скачать бесплатно Altera Quartus с http://dl.altera.com/?edition=lite или Xilinx Vivado http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2015-4.html.
Важно: обе ссылки выше – последние версии продуктов. Они не поддерживают старые чипы. Для них будут нужны http://dl.altera.com/13.0sp1/?edition=web или http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.html.
373 205056
>>205055
Так, сразу битая ссылка
Харрис Д., Харрис С., «Цифровая схемотехника и архитектура компьютера»
http://easyelectronics.ru/files/Book/digital-design-and-computer-architecture-russian-translation.pdf
374 205059
>>205055Классика (все на нерусском):

Stephen Brown, Zvonko Vranesic. _Fundamentals of Digital Logic with Verilog Design_
https://www.researchgate.net/file.PostFileLoader.html?id=54d80f66d039b1d37d8b4659&assetKey=AS:273695321329668@1442265458526

Pong P. Chu. _FPGA Prototyping by Verilog Examples_
https://fpga.googlecode.com/files/FPGA Prototyping By Verilog Examples.pdf

Bryan Mealy, Fabrizio Tappero. _Free Range VHDL_
http://freerangefactory.org/pdf/free_range_vhdl.pdf

Peter J. Ashenden. _The Designer's Guide to VHDL, Third Edition_
http://xilinx.eetrend.com/files-eetrend-xilinx/forum/201404/7000-11806-the_designers_guide_to_vhdlpeter_j.ashenden.pdf
84 Кб, 847x801
375 205077
Братишки, ну не стукайте. Лучше скажите, что обозначают эти опции ПЛЛ?
376 205147
>>205077
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-iv/cyiv-51005.pdf, страница 5-23. Насколько могу понять, компенсация задержек в сети распределения тактового сигнала.
377 205151
>>205147
А схема PLL для IV E там же на рисунке 5-10
378 205186
>>205147
Я, видимо, тупой, ничего не понял.
379 205226
>>205186
Ну по всему выходит, что PLL может синхронизироваться не только внутренней цепью обратной связи через делитель, но и внешней через GCLK например. Нахрена - объяснить не могу, опыта не хватает. Подозреваю, что это как-то компенсирует влияние потребителей на тактовые цепи.

Вот еще про это немного: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ug/ug_altpll.pdf
380 205229
>>205059
Вот еще пара статей Клиффорда Каммингса - о часах и о сбросах.

http://www.sunburst-design.com/papers/CummingsSNUG2003Boston_Resets.pdf

http://www.sunburst-design.com/papers/CummingsSNUG2008Boston_CDC.pdf
381 205370
посоны, хочу окунуться в удивительный мир плис, но бджетненько.
нашел в продаже альтеру, но на 240 вентелей, мне хватит этого для чего-нибудь толкового или стоит копить на вариант поширше?
1,1 Мб, 3870x2958
382 205386
>>205370
Посмотри на барахолках платы от игровых автоматов, я нажил с десяток нахаляву, сейчас в отпуске соберу программатор и буду тренироваться.
384 205390
>>205388
Ну канечна!!! Целых 392 макроячейки.
385 205391
>>205388
Кстати она в терре 863р стоит, неужто печатка у косоглазых на целую тыщу тянет?
386 205395
>>205391
От 15шт - 528р. Нахуя вот нужны эти китайцы?
57 Кб, 746x626
387 205402
>>205390
Тебе в ёбыч дать, или в глазницы перестанешь долбиться?
388 205404
>>205391
Ну там не только печатка, там ещё обвязка, генер, вроде как, тоже денег стоит, монтаж элементов.
389 205439
>>205370
Скачай за бесплатно Квартус, спроектируй то, что хочешь и скомпилируй. Сразу увидишь, во что влезет, а во что нет, там можно выбрать целевое устройство.

240 вентилей это маловато, конечно.
390 205455
>>205439
Он наверное имел в виду CPLD с 240 макроячейками.
38 Кб, 769x649
391 214867
Верилогобоги, бампану тред вопросом. Короче есть один алгоритм AM демодуляции IQ сигнала, надо его переложить на Verilog. Допустим синус\косинус\арктангенс я вычислию через альтеровский кордик, но не могу понять с какой стороны подходить к дальнейшей реализации. Как переходить от плавающей точки к целым числам. Что делать с разрядностью, которая увеличивается буквально после каждой операции? Вангую, есть какой-то устоявшийся подход к миграции мат.операций с плавающей точкой, но ни фига не могу найти. Выручайте.
392 214877
>>214867

>Как переходить от плавающей точки к целым числам.


Вместо единицы делаешь 1024, вместо 0.5 - 512, вместо 1.5 - 1536. Например.
393 214880
>>214867
Ну, во первых, можно все сделать во флоате. Есть для этого все те же корки, ресурсов сожрет немеренно, целесообразность тоже не ясна, но все же. Так, для инфы.

Обычно, 99% случаев, используют fixed point arithmetic. Собственно что на пальцах объяснил >>214877 анон. Тоесть ты не хранишь положение точки в твоем числе, а говоришь. мол точка после третего бита.
394 215035
>>214877
>>214880

>fixed point


Подождите, а зачем мне арифметика с фиксированной точкой, если у меня на входе и выходе целые числа заданной разрядности?
395 215118
Думаю ты сам поймешь почему удобно интерпритировать его именно так. Буквально после первого умножения :)
396 215153
>>215035
У тебя на входе и выходе числа заданной разрядности, поэтому тебе нужна арифметика с фиксированной точкой. Хули непонятного?
397 215166
>>215153

>Хули непонятного?


Непонятно зачем мне в каждой арифметической операции учитывать вещественную часть, если мне нужна только целая часть.
398 215169
>>215166

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

если ты всего этого незнал т ты явно ардуинщег, хули тебе надо в плисотреде?
399 215197
>>215169
Ну ок, теперь более-менее понятно.

>увеличивать разрядность целых чисел


Скорее всего это, так как самих операций немного, большую часть элементов думаю кордик заберет.
Начинает немного прясняться. Например если разрядность значания угла для синуса 32 бита, то для вычисления norm = 2PI/SampleRate, в качестве 2PI необходимо использовать максимальное 32-битное целое число. Верно? И собственно все константы придется вручную вычислять.
И это ковбой, полехче, я конечно не ардуинщик, но всю жизнь писал на СИ, и вот так вот сходу сломать закостенелый мозг и мыслить чистыми битами в отвязке от типов данных не так то и просто. А ПЛИС для меня это хобби.
400 215205
>>215197

>2PI



ога кругли до 6
401 215217
>>215197

>разрядность значания угла для синуса 32 бита


Нахуй такая точность?
402 215231
>>215217
Ну в принципе да, это наверно перебор, просто для примера. Задача простая, есть сигнал на промежуточной частоте порядка 500кГц-1МГц, оцифровываем с частотой дискретизации порядка 3 МГц, подаем на ПЛИС. ПЛИС выполняет квадратурную демодуляцию, кордик здесь оказался очень удобный, можно сэкономить на множителях, поскольку как я понял, кордик вычисляет как раз I = Xsin(ph), Q = Ycos(ph), где X = Y = семл с АЦП. Если частота дискретизации 3МГц, то да разрадность угла выше 24 бит смысла делать наверно нет.
403 215260
>>215231

>3 МГц


>ПЛИС


Тьфу ты, я думал ты чето серьезное пилишь.

12 бит для угла тебе за глаза хватит.
404 216487
Плисаны, как оценить производительность ваших инопланетных технологий в мегафлопсах?
405 216497
>>216487
никак
406 216509
>>216487

для конкретной задачи можно, легко
реализуеш и смотриш сколько получилось
407 216521
>>216487
Мегафлопсы это что? Количество абстрактных процессорных инструкций в единицу времени?
Если так, то тогда -> >>216497
Ибо ПЛИСка никаких команд не выполняет.
408 216545
>>216487
а макс.частоту как показатель использовать норм?
409 216578
>>216545
С большим натягом. Давай проведу маленькую аналогию.
AVR - большой муравей, который и швец и жнец и на дуде игрец - всё умеет, но в каждый момент времени делает что-то одно.
STM32 - муравей пожирнее, всё то же самое, только оче быстро.
ПЛИС - это муравейник. Допустим, что некоторая задача - поле пшеницы. Один муравей может собрать одно зёрнышко за один подход. Тогда соответственно десять муравьёв будут работать в десять раз быстрее. Сто - в сто раз. В зависимости от уровня декомпозиции задачи а плис нужна в параллельных вычислениях чаще всего и количества макроячеек можно построить такой процессор, который будет выполнять поставленную задачу значительно быстрее CPU и даже GPU. Именно поэтому ПЛИС используются в ЦОС - возможность распараллелить вычисления без притаскивания огромной пекарни.
Те же виртексы 7 особенно ультраскейл YOBA-камушки, способные заткнуть за пояс все топовые универсальные процессоры в узких прикладных задачах. Правда в этих задачах почти любая FPGA заткнёт любой процессор.
410 216587
>>216521
Флопс это floating point operation.

>Ибо ПЛИСка никаких команд не выполняет.


Но что-то же она выполняет. Тактовая частота есть , регистры есть. Вот например, как в этом хэлоуворде: https://youtu.be/1y-1glsex7c
411 216605
>>216587

>Флопс это floating point operation.


Тем более.

>Но что-то же она выполняет.


Она схему твою выполняет. Схема это не программа.
Можно соорудить модуль, который твои плавающие точки вычисляет, а потом этот модуль размножить внутри плис. Любой проц заткнуть за пояс можно, при наличии объёмистой плис.
412 216613
>>216605
Ну, к примеру, я хочу сделать свертку изображения (float цвет) 640х480 с фильтром 100х100. Насколько сложна эта задача для плис? Смогёт за один такт?

А если я захочу применить несколько фильтров других размеров, то повторно использовать схему, как я это делаю с кодом процессора, получится?
413 216614
>>216613

> Насколько сложна эта задача для плис? Смогёт за один такт?


Зависит от объёма плиски. Большая - сможет.

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


Получится после изменений. Как правило, для таких задач пишут программу, которая по исходным требованиям составляет программу в свою очередь для плиски, и уже ещё зашивают в плисину.
При достаточном объёме у тебя в плиске может поместиться даже несколько сверток, которые смогут работать независимо и даже с разной частотой, причём некратной (если предусмотреть тактирование отдельных блоков от своего клока каждый).
414 216615
>>216613

> Насколько сложна эта задача для плис? Смогёт за один такт?


>>216614

>Зависит от объёма плиски. Большая - сможет.


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

>>216613

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


Если сумеешь создать универсальный модуль, в который твои фильтры передаются из вне - пожалуйста.
415 216658
Хм, звучит круто, даже за 10 тактов она уделает любой проц, кроме дохуяядерных, лол. А циклон это проц + плис? Они могут работать в связке, к примеру проц меняет схему плис в зависимости от задачи?
416 216664
Какой фильтр за один такт, вы че ебу дали? Для кого конвейеризацию придумали?
sage 417 216683
>>216664

>фильтр за один такт



потомучто мы можем
418 216696
>>216683
Фильтр 100х100? 10000 умножений за один такт? Ну давай, сучечка.
189 Кб, 1535x874
419 216700
>>216696

5.5 Million Logic Elements

ну можно парочку взять плисок
420 216704
>>216700

>умножитель на логике


У тебя клок 1МГц?
421 216781
>>216696
Лол, я примерно так же отреагировал, когда мне показали ломалку DES, которой 10 дней на взламывание требуется.
422 216798
>>216704

прикинь да, умножитель на логике и клок 1.5 Ггц
423 216809
>>216658

>Хм, звучит круто, даже за 10 тактов она уделает любой проц, кроме дохуяядерных, лол.


Да и двухядерные за 20 тактов.

>А циклон это проц + плис?


Сиклон 5, предыдущие - нет.

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


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

>>216798
Логика в плисине на частоте 1,5 Ггц? Что-то ты нам какие-то сказки Андерсона рассказываешь.
424 216888
>>216658

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


Так и работают. На проце поднимается линукс, после чего с его помощью можно легко управлять ПЛИС. Например, грузить те же коэффициенты фильтра.
425 217363
>>216578

>швец и жнец и на дуде игрец


Проиграл от аналогии
426 217532
Лежит на столе Циклон-ii
Подскажите ньюфагу, чтобы запилить голосовой УКВ трансивер этого достаточно? Или все же придется паять всякие АЦПы?
1,6 Мб, 1846x1556
427 217534
>>217532
По возможности накидайте ссылок на тему связи с прабабушкой в Нижневартовске с помощью ПЛИС.
428 217535
>>217532
Этого недостаточно.

>ньюфагу


Сразу нет. Порог вхождения весьма высок, а ты, судя по всему, ничего сложнее пердуины в руках не держал, а если и держал, то с аналоговыми ёбушками дел точно не имел, раз не представляешь, как работает трансивер. Конкретно тебе будет дешевле его купить.
429 217611
>>217535
Спасибо конечно, учту.

>Конкретно тебе будет дешевле его купить.


Ты что-то перепутал. На кой он мне нужен купленный? Мне и скайпа хватает и нанотехнологий с али. Ну ты понял. А с "аналоговыми ёбушками" разбираться все равно придется.
430 217643
>>217532
Ты схему трансивера вообще когда-нибудь видел?
431 217691
>>217643
Видел. И что?
https://marsohod.org/projects/marsohod2/246-fmradio
Вот здесь таки запилили, так что лучше я не буду больше тебя слушать.
432 217699
>>217691
Сам то читал что там написано? Это только демонстрация того что возможно сделать такой передатчик (кто бы сомневался).
Но качество сигнала там никакое и будет всюду срать помехами.
Если хочешь сделать приемник подключив антенну напрямую к АЦП, то АЦП потребуется неслабый и еще необходим полосовой фильтр. У наших барыг: https://www.terraelectronica.ru/catalog_info.php?CODE=56414 и то до УКВ не дотянет. И твой циклон-ii тоже не потянет.
433 217714
>>217691
Если ты читал внимательно, то там как минимум нужна еще и АНТЕННА в виде куска провода. Поэтому ответ на твой вопрос - "У меня есть циклон, хватит ли этого?" - нет.
434 217859
>>127314 (OP)
Virtex-7 и Virtex-Ultrascale разработчик в треде, задавай свои инпуты
435 217860
>>217859

ты разрабочик этих микросхем

//мимотроль
436 217861
>>217860
Я серьезно. У меня два 7-х виртекса лежат. Ибо проще каждый год покупать плату, а не лицуху на них, дешевле выходит. Пруфы нужны? Работаю с Kalray, Thales и кучей евроинститутов. Все довольны. 29 лвл
437 217862
>>217861
Да, опечатался. Разработчик НА виртексах
438 217868
>>217861

>есть два вертекса



ну запили какуенибудь охуительную кул стори
439 217871
>>217861
Как пришел к успеху в плане работы?
440 217954
>>217861
Че пилишь?
441 218086
>>217699
Приемник не нужен. Есть rtl свисток. Отлично справляется для начала. Чем сам циклон будет плох как передатчик, если на кварце генерить?
442 218088
>>217714
Кусок провода мне достался еще от деда. Он с него на фронте вещал и прикуривал. Должен хорошо работать.
443 218094
>>218086
Синусом, например. Где ты синус возьмёшь? Как модулировать будешь?
444 218110
>>218094
Сама плата физически не может быть АЦП? Хоть с минимальной обвязкой?
С синусом да, но ведь большинству похуй, вещают прямоугольником и счастливы. Кодировки разные есть для цифрового вещания в конце концов. На гармоники и искажения в данном случае похуй, я думаю, не? Уже в зависимости от того, получу ли встроенный АЦП, можно говорить о модуляции.
445 218135
>>218110
Что еще за вещание прямоугольником? Насколько знаю, цифра делается путем всевозможных фазовых манипуляций. Или ты не о том?
446 218179
>>218135
Насколько я понял, ты хотел сказать что если я не сделаю на выходе модулированный синус, то я ничтожество срущее гармониками во все поля? Вот я и говорю что для начала сойдет и меандр. А про цифровое вещание не узнавал еще, возможно пизданул глупость. Насчет АЦП, щас вот понаходил много статей на тему как реализовать простой АЦП прямо в ПЛИСе. Так что возможно не все так плохо.
447 218184
>>218179
Ну можно сделать такой передатчик, можно сделать и приемник (но не на УКВ) на плисине. Но если так не делают, то наверно есть на то причины, не задумывался? А причина проста - никакие характеристики и дорогие комплектующие. Ну сделай, получишь какой-то опыт.

Как ты собираешься реализовывать АЦП прямо на плис? Я смог придумать только как сделать АЦП последовательного приближения. Компаратор есть - LVDS вход. В качестве ЦАП - ШИМ и RC цепочка. Но все равно понадобится минимум один резистор и конденсатор. И частота дискретизации такого АЦП будет хуже некуда.

Посоветовал бы почитать теорию по радиоприему, но, чувствую что бесполезно.
448 218188
>>218184
Все что попадалось либо устаревшее, либо вообще не связано с цифрой, либо связано но уже почти не про радио, а про обработку сигналов. Если подскажешь подходящую литературу, буду благодарен!

Получается проблема только в АЦП?

Линейные компоненты на обвязке - это я не считаю чем-то сложным и бессмысленным. А вот добывать и паять отдельные сороконогие микросхемы для преобразователей и фильтров - это как-то западло, тогда вообще непонятно на кой нужны эти ПЛИС, если все равно схема собирается снаружи.
449 218189
>>218188
Проблема в твоей голове. Устаревшее у него. Читай литературу, кукаретик, ты очень смешон.
450 218198
>>218189
И опять ни названий ни ссылок.
451 218239
>>218188

>либо устаревшее, либо вообще не связано с цифрой


У тебя из-за цифры антенна будет по другому работать? Или 2+2 станет равно не 4, а вообще непонятно чему?
Теория полувековой давности вполне применима к "цифровым" радиоприемникам.
Иди, делай уже что-нибудь. Передатчик этот хоть повторил уже?
452 218275
>>218188

> вообще непонятно на кой нужны эти ПЛИС, если все равно схема собирается снаружи.


ПЛИС нужна для цифровой обработки сигнала, например для AM\FM демодуляции.
453 218597
Весело тут у вас.
Есть профессионалы?
Сам делают приемники на алтере.
454 218673
>>218597

>Сам делают приемники на алтере.


Приемники какие и чего?
455 218689
>>218597
Делаю приемники на зайлинксах, задавай свои ответы.
456 218696
>>218673
Радиолокационные. Ну там детекторы, фильтры, свертки, цдо. Ну всякое сопутствующее. Интерфейсы там, память, модели.

>>218689
Есть вариант перескочить на ксайлинкс. Правда говорят там инструментарий говно. На сколько это правда?
Pcie между плисами нормальная тема?
457 218697
>>218696
Точнее даже не то что говно. Как-то слабо верится в это.
Правдали что такая очевидная разница? Я как-то романтично думаю, что проблемы вообще нет поменять одно на другое.
458 218717
И сильно сложно на ПЛИС программировать по сравнению с контроллером?
459 218729
>>218717
Ещё один сравнивальщик тёплого и мягкого.
460 218745
>>218696

>Ну там детекторы, фильтры, свертки, цдо.


Ну не знаю в тему мой достаточно абстрактный вопрос или нет. Короче надо на ПЛИС сделать LPF с плавающей частотой среза, и если собственно частота среза изменилась (ну допустим по команде от микроконтроллера), надо перерасчитать матрицу коэффициентов. Но с другой стороны, если уже мы потратили логические элементы на вычисление коэффициентов, то наверно можно вычислять коэффициент в соответсвующей позиции матрицы на каждом такте обработки очередного сэмпла. То есть матрицы фактически не будет, а коэффициент будет вычисляться динамически. Или я сейчас велосипед изобертаю?
461 218755
>>218689

>задавай свои ответы.


Используется прямое расширение спектра (DSSS) и код Рида-Соломона. На входе измерено отношение сиигнал/шум, нужно добиться заданной вероятности ошибки на выходе. Какие должны быть параметры у этих двух этапов кодирования для достижения максимальной скорости передачи?
462 218761
>>218745

>LPF


low-pass filter?
Если да, то какая реализация? FIR или IIR?

Например это FIR заданного порядка, ну например там 40 или 100. Если у вас будет у такого фильтра меняться частота среза, например вы будете её уменьшать, то будет увеличиваться неравномерность и уменьшаться прямоугольность. Это все будет оказывать как-никак влияние на работу вашей системы.
В такой постановке задачи, я считаю, имеет смысл задаться каким-то приемлимым количеством частот среза и посмотреть их все в матлабе. Ну даже если 100 частот среза, fir фильтр 100 порядка с 32 разрядными коэффициентами. Потратить на это 40кбайт памяти. И по команде загружать нужный набор.
Как ни крути, а память дешевле ресурсы ПЛИС.

Ну может и не том речь.
Кстати а зачем частоту среза-то менять?
463 218775
>>218717
Ну... абстракция другая. Тут даже и не програмирование, а схемотехника. Сравнивать и правда не корректно.

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

+ по статистике алтеры больше 50% проектов на плис содержат процессор. Програмный или аппаратный.
464 218811
>>218696

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


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

>Pcie между плисами нормальная тема?


А нахуя?
465 218815
>>218697

>Правдали что такая очевидная разница?


Не знаю, я с Альтерами не работал.

>>218811

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


Не для жирных чипов, а просто для седьмой серии.
466 218816
>>218755
Хуй знает. Я приемники пилю, а не передатчики.
467 218834
>>218811

>А нахуя?


ну типа мне надо с одной плис на другую передать 14 Гбит/с + управление на периферию с ответами + прерывания. и у меня как раз есть hard ip pcie 2.0 и 4 трансивера под это дело.

Можно придумать конечно что-нибудь свое. но тут кажется вроде норм решение использовать готовый протокол. хотя он какой-то мутный. Эзернет понятнее был.
468 218838
>>218761

>Кстати а зачем частоту среза-то менять?


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

>Правда говорят там есть какая-то вивада


Говорят еще она C\C++ транслировать может
469 218843
>>218838

>Говорят еще она C\C++ транслировать может


Да может и может, но думается мне хуита в итоге получается.
470 219251
>>205055
Может кому-то пригодится
http://ruecm.forum2x2.ru/t52-topic

Сам решил обмазаться Verilog и Xilinx
471 219303
>>219251
Еще дополню http://opencores.org/
Нужна регистрация пароль приходит через два дня
472 219805
>>218838

>для каждого вида демодуляции своя ширина канала.


Тогда разумнее загрузить все таблицы коэффициентов и переключаться между ними
473 219817
>>219805
Разумнее запилить канал управления и регистровый интерфейс, а уже через них грузить какие-угодно коэффициенты.
474 219894
>>219817
А в этом что-то есть. Я планировал по каналу управления загружать частоту среза, на основании которой генерировались бы коэффициенты. Можно дейстительно и на микроконтроллере генерить и заливать. У меня альтеровский EP4CE10. У него NiosII на борту есть? Может его как раз заиспользовать для этого дела? В смысле для генерации коэффициентов.
sage 475 219900
Суп, плисаны, первый раз вкатываюсь к вам, так что множите обоссать, но послушайте. Начальство выдало задачу суть такова: Нужно запилить девайс, способный измерять частоту с 24-х независимых источников в диапазоне 0-100KHz, не реже чем раз в 10 мс.
Сейчас такой девайс существует, но при малом времени измерения (>100 мс) он безбожно глючит и адски неточен, а нужно иметь точность хотя-бы 0,01Hz

Возникло желание запилить новую версию на ПЛИСине. Так как данных будет слишком много, чтобы запихнуть их в UART, то неплохо бы пихать их в ethernet, для чего понадобится процессор, на который также можно возложить некоторую первичную обработку данных.
Короче присмотрелся к спартан-6 и openRISC.

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

Затык ждал в самом начале: где скачать последнюю версию xilinx'овской студии бесплатно без смс?
476 219901
>>219900
Сажа прилипла.
477 219907
>>219900
Ты бы для начала описал как ты предполагаешь использовать ПЛИС в решении твоей задачи.
478 219912
>>219907
Хотел нарисовать блок-схему, но передумал из-за громоздкости.
В любом контроллере уровня STM32 есть несколько аппаратных счетчиков, которые можно настроить на разную херню.
При помощи двух таких счетчиков можно измерять частоту. Один из них просто мотает +1 за каждый такт опорной высокой частоты (считай частоты кварца проца), а другой насчитывает определенное количество импульсов на входе N (измеряемая частота) возможно быстро должен сгенерировать ивент захвата значения счетчика опорной частоты.
В STM32 Я использую ДМА, в камнях поменьше - прерывания.
Затем имея разность двух значений счетчика опорной частоты, а так же зная саму опорную частоту и значение N, можно вычислить саму входящую частоту.
Короче, чем больше опорная частота тем выше точность измерения, а чем меньше время измерения, тем хуже.

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

Алсо, если сделать все операции по захвату полностью аппаратно, то пропадут редкие выбросы, которые случаются на контроллере из-за наложения прерываний и прочего говна, их сейчас приходится подавлять программно.
479 219915
>>219894

>У него NiosII на борту есть?


Насмешил, содомит. Nios - это софтовый проц.

>>219900

>независимых источников


Источники что выдают, простые меандры?

>>219900

>то неплохо бы пихать их в ethernet, для чего понадобится процессор


Совсем не обязательно. Я в своё время всё на жескаче запилил.

А вообще, задачка на вид не сложная.
480 219917
>>219915

>Источники что выдают, простые меандры?


Да, уровни подгоню как надо.

>>то неплохо бы пихать их в ethernet, для чего понадобится процессор


>Совсем не обязательно. Я в своё время всё на жескаче запилил.



Ну так то можно извратиться и запилить все аппаратно, я и не против. Логику самого измерения я себе представляю и смогу её запилить, а вот сетевой стек полностью хардварно не представляю себе.

>А вообще, задачка на вид не сложная.


Ну вроде на пальцах да, для ньюфага могущего и контроллеры норм будет. Поэтому и взялся.
481 219933
>>219917

>сетевой стек полностью хардварно


Опять таки не обязательно. Я вот только МАС-уровень реализовал, ну у нас там сеть была из своих собственных дивайсов, на МАС-уровне подняли свой собственный протокол с блекджеком и шлюхами, а большего и не надо было.
А тебе, если в писюк надо выгружать - можно софтину соответствующую написать, которая и работала бы на этом МАС-уровне.
482 219938
>>219912
Возьми АЦП, и гейты с логическим управлением. ПЛИСкой циклично переключай гейты, поочередно подавая на вход АЦП сигнал с очередного источника, при этом синхронно снимая семплы с АЦП. И спектры сможешь сторить, и алгоритмы применять для вычисления среднего значения частоты. Ну ты понел короче. Может тут и ПЛИС не нужна.
483 219985
>>219938
Это же с какой частотой нужно дрочить ацп, чтобы получить точность 0.01Hz? Да и 24 входа.
484 220041
>>219985
Ммм, ну вот например есть AD9212-65 8 каналов 65 MSPS. Соответвенно 3 замера за 10мс на один канал. Это 300 замеров за 1 сек. Максимально измеряемая частота у тебя это 100KHz, следовательно частота дискретизации должна быть 200KHz, умножаем на 300 - получаем 60MHz. В заявленные 65 миллионов семплов в секунду укладываешься с небольшим запасом. Точность должна быть достаточная. Можешь вообще 3 таких АЦП поставить, тогда гейты вообще не нужны, а точность просто ацкая будет.
485 220042
>>220041
Возможно, я чего-то не понимаю, или ты не догоняешь.
Мне надо и точно и часто, за 1 сек я и на старом девайсе померею, а мне надо за 10мс.
486 220059
>>220042
Хм, вообще да, ты можешь один в один повторить на ПЛИС то, что здесь описал. >>219912. Только ПЛИС позволяет перехватывать вообще каждое изменение логического уровня входного сигнала по триггеру posedge или negedge. Плюс также заводишь триггер на такт от PLL (которая типа опорная частота). Триггер на такт PPL инкрементирует счетчик, триггер на такт входного сигнала сбрасывает в 0. При этом в момент срабатывания триггера на такт входного сигнала также можешь определить частоту сигнала, зная частоту PLL и значение счетчика. Фактически у тебя будет длительность какждого такта входного сигнала. А уж как это интерпретировать дело твое.
487 220087
>>220059
Вот об этом я и говорил, еще заодно можно аппаратно захватывать другой регитр, используемый как часы. Тогда каждый результат можно снабдить меткой времени, когда он фактически был получен, например
Канал 1: 72769.83Hz 13:27:48.689
Канал 2: 687.35Hz 13.27.48.701
Это упростит анализ, если клиенту захочется что-то отследить. И отпадут требования по доставке данных на ПеКа.
488 220091
>>219917
делаю сеть так.
Ниос делает все сервисные передачи по езернету по tcp/ip, udp, icmp.
Отдельно на железе уже собираются и разбираются UDP.
Есть удобство и гибкость настройки и управления, есть канал UDP 1000mbit/s.

Вообще стек не нужен для начала, можно просто udp в чистую сделать.

ЗЫ делать на чистом MAC изврат.
489 220092
>>219894
Нахер их генерить на ходу? Нагенерь в матлабе и сохрани в ПЗУ.
490 220106
>>220092
На ходу можно произвольное значение частоты среза задавать, а в матлабе нагенерить только на ограниченное множество заранее заданных значений.
491 220108
>>220091

>Ниос


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

>делает все сервисные передачи по езернету по tcp/ip, udp, icmp.


Там прям типо библиотечные методы для работы с сокетами?
492 220118
>>220108
слабый ниос - бесплатный, простая перефирия беплатная.
+ лицензии можно и намутить почти на все, это жи интернет.

Там используется usOS-II и NicheStack. Есть пример сервера в ниос ide.
493 220119
>>220106
ну впринципе да, гибенько.
Почему бы и нет.
38 Кб, 500x424
494 220662
Планирую взять борду пикрелейтед.
Все правильно делаю?
>>220087-кун
495 220699
>>220662
Лучше Альтеру бери, в натуре, бля буду.
496 220701
>>220699
Почему? Аргумены вида "Мне они больше нравятся" сразу нахуй.
Алсо, ссылкота http://www.ebay.com/itm/252209726635?_trksid=p2060353.m1438.l2649&ssPageName=STRK:MEBIDX:IT
497 220722
>>220662
На будующее взял бы что-нибудь по мощнее. Рано или поздно (скорее рано) захочется нативную связь с компом. Ну там ethernet, usb, да хоть com port (да можно сэмулировать через программатор, но это не то). Захочется дисплей, звук. Процесслр хуйнуть. Ацп, цап, если угореть по связи. И т.д.

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

Зы у альтеры очень хорошие мануалы. Даже на руском много чего переведено. Так что сперва поищи материал.

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

Езернет буду делать самопальный, благо микросхема 10/100BaseT стоит ~80рупий, платку изготовить дороже, просто добавлю к одному из заказов.

Проц вот этот http://opencores.org/project,altor32 с опенриском дела имел, разберусь, наверное.

В мониторы наигрался на STM32 еще.

>>220740
Первая выглядит интересно, вторая слишком жирно, морда треснет.
На самом деле я лично против альтеры ни чего не имею, но у меня есть знакомый, который может в Ксайлинкс, в случае чего он будет много полезнее, чем гуглинг того не знаю что.
Поясни за качество документации у альтеры, ксайлинксовская на первый взгляд выглядит норм, но зарыться капитально еще не успел, чтобы оценить.
500 220790
>>220741

>Поясни за качество документации


Хуй знает, как по мне, если вражье наречие знаешь, то с доками проблем не возникнет. Я, вот, сам в англюсик не могу, от того и страдаю.
501 220798
Радиоанон, а из дохлых плашеков читалок и прочего говна можно замутить себе отладочную soc? Без разводки своей платы естественно. А так "as-is"?
502 220859
>>220798
Каким боком читалка с планшетиком до ПЛИСок?
503 220914
>>220740
DE2-115 хорошая плата. У меня есть такая. Я к ней подключал АЦП-ЦАП и рулил всем по ethernet.

>>220741

> у меня есть знакомый, который может в Ксайлинкс


Ну вот возьми алтеру. Поделитесь с ним впечатлении, у обоих кругозор будет шире.
Подход к проектированию и инструменты не зависят сильно от производителя. Направление куда гуглить он тебе сможет подсказать.
504 220933
Там ведь стоят разные a9 с cortex ядрами
505 221630
>>220740
Плюсую вот этого. Альтера подружелюбнее будет к юзеру
506 221660
Да тут по большому счёту похуй альтера или ксилик, главное с языком определиться по началу.
507 221703
>>221660
поясни за HDL, давай.
508 221810
>>221703
Delphi или С++? Что хуже?
509 221812
>>221703
ну мне VHDL не нравится из за того что чаще всего на нем строк кода выходит гораздо больше чем на Verilog'e.
510 221818
>>221810
Дельфи = IDE, C++ - язык.
511 221872
>>221810
иди отсюда, пёс.
512 221873
>>221812
а функциональность?
513 221882
>>221818
серьезно?
514 221883
>>221873
Verilog + SV уделывают VHDL в щи.
515 221885
>>221883
да ну нахуй, обоснуй
516 221908
>>221812
Поддвачну.

>>221873
А что с ней?
517 221916
>>221885
Хули тут обосновывать? VHDL просто не предоставляет таких инструментов, какие дает SystemVerilog. В то же время в VHDL нет ничего такого, чего не было бы в Verilog.
145 Кб, 980x864
518 222011
По поводу языков есть вот такая картинка
519 222035
Быстро и решительно поясните мне, как считать всю записанную хуету с CPLD epm3256 ?
520 222058
>>221916

>SystemVerilog


Это всё хорошо, вот только поддержка со стороны компиляторов удручает.
521 222060
>>222011
Интерфейс с языком С и у Верилога2001 есть.
522 222083
>>221916
Пидор ты. Ты столько срал в радаче своим систем верилогом, что я практически решился его изучить.
816 Кб, 2048x1806
523 222121
Э! Мастера FPGA! Ну вы думаете рассказать нубу про это >>222035 ? Хочу посмотреть, что в ней записано перед стиранием.
524 222147
>>222121
Отпаять и слить безопасным образом не вариант?
525 222151
>>222121
Ты сольешь оттуда набор байт. Оно тебе надо? Или ты думаешь, что оттуда сливается код в разных вариациях: VHDL, Verilog и т.д.?
526 222152
>>222151
Ну да, я чо не? Я думал проникнусь работами мастеров. Ну и хрен с ней, буду тренироваться значит.
527 222153
>>222147
Зачем отпаивать? Там даже разъем под бластер распаян, а китайса мне прислал его за 250р.
528 222157
>>222083
Я в первый раз насрал. Так то сам я сижу на VHDL, но чувствую себя дном ебаным, ибо надо мигрировать на SV.
529 222202
>>222157
Меня в универе учили верилогу. Именно из-за этого я изучил VHDL сам, ибо университетская программа вызывает отвращение к объекту изучения. А вот теперь все чаще слышу про SystemVerilog. Правда, исключительно на дваче. Если по вакансиям смотреть, то все еще больше требуются VHDL и Verilog схемотехники.
530 222208
>>222202
Если ты знаешь SV, то значит и Verilog знаешь. SV используют только продвинутые ребята и их немного, это так.
531 222218
Если заниматься серьезно моделированием, то однозначно необходим SystemVerilog, он для этого создан.

А если говорить про синтез, то пофиг на чем писать вообще.
Тут SV ничего супер особенного не дает. Да повышает уровень абстракции, да улучшает читаемость кода, но это имеет выгодны на больших полностью рукописных проектах.

Если вы начнете использовать SV, по просто будете использовать logic и always_ff. Да, потом может быть еще byte для простоты, enum для автоматов, может быть структуры, для разбора регистров. Интерфейсы скорее всего нет, их тяжело сопрягать с qsys или просто со сторонним кодом. Ну операции с многомерными массивами еще. Это вообще мало кому надо.

Если вы делаете все это на Verilog с закрытыми глазами, то вы разберетесь в этом всем полностью за пару недель.

SystemVerilog это не новый язык, это новый стандарт по большому счету.
532 222231
>>221873
И что же я не смогу написать на Verilog'e?
533 222240
>>222218
А где можно почитать по SV на русском?
816 Кб, 2048x1806
534 222325
Guys!!! Я немного переделал проект "Частотомер" с Марсохода и скомпилил его под EPM3256!! Занял всего 152 ячейки. Чем забить оставшиеся? Тетрис туда запихать штоле?
анон с запчастями от игровых автоматов
535 222330
>>222325

>Чем забить оставшиеся?


Фотку своей мамки залей.
536 222335
>>222330
И как ты себе представляешь заливку фотки в ПЛИС, недоумок?
537 222342
>>222335
ебать ты валера тупой.
Фото - это биты. Их можно сохранить в память.
В лутах есть триггеры. Неожиданно, но D-триггер - это память.

Да, все жиры твоей мамки не поместятся в твое маленькое говно, но концептуально все возможно мань.
538 222352
>>222335
Ты в ПЛИС что заливаешь? Битовый поток. Битовый поток - это набор нулей и единичек. Фотка - это тоже набор нулей и единичек.Смекаешь?

Хотя >>222342 прав, твоя жирная мамка даже на седьмой Виртекс не влезет.
539 222356
>>222240
Учи английский или програмь на АЛГОЛЕ!
540 222376
>>222352
Напиши мне модуль на VHDL, чтоб побайтово совпадал с фото моей мамаши и скомпилировался бы в квартусе, мудак.
541 222383
>>222376
Быдло кэннот инту хекс редактор?
542 222409
>>222342
Да на самом деле даже регистры не нужны.
Можно синтезировать многомерную комбинаторную логическую функцию, которая из константы (например все нули) генерирует изображение твоей жирной мамаши.
543 222445
Аноны, может кто-нибудь сталкивался с переводом проектов из ПЛИС в ASIC?
544 222451
>>222445
Не стоит вскрывать эту тему.
545 222460
>>222445
Просто же. Берёшь код и компилируешь под свой ASIC, на выходе получаешь фотошаблоны для производства. Я не прав?
546 222499
>>222460
все возможно
547 222690
>>222460
Нет, все немного сложнее. Да и меня интересует скорее финансовый вопрос, нежели технический
548 222729
>>222690
Сильная зависимость от объема заказа.
549 222778
>>222690
В чём именно сложность, поясни.
550 222815
>>222729
Есть проект на плисах стоимость 8к баксов, серийность мне почему-то не хотят уточнять, но как я понял что-то в районе тысячи штук. Меня интересует несколько вещей.

1. ПЛИС реализована на 28 нм, читал, что цена проектирование асиков с такой технологией улетает в небеса. Есть ли возможность перепилить на менее дорогой техпроцесс?
2. В ПЛИС аппаратно реализованы трансиверы, которые активно используются. Как можно решить этот вопрос? Не запилят ведь на том же tsmc альтеровские IP-блоки. Или запилят? Если у них есть какие-то другие свои решения, означает ли это, что нужно будет переписывать код под них?
3. Ну и собственно, какова будет примерная цена именно проектирования асика? Меньше 800к баксов?

По поводу объема заказа, слышал, что заводы выставляют условие от 15 до 50 тысяч, но есть же варианты с шаттлами?

>>222778
Проектировать топологию надо в САПР подписка на которые стоит лям баксов в год (по поводу этого всего не уверен, все где-то вычитал, точные цифры скрывают власти). И без лицензии на эти сапры заводы в твою сторону смотреть не будут (опять же инфа не 100, тут тоже хотелось бы уточнить у знающих господ).
12 Кб, 447x388
551 222827
Привет парни есть вопрос. Использую в проекте PLL. Создаю через мастер, прописываю в коде компилится все нормально ошибок не вылетает. Но по итогу компиляции показывает что PLL не задействовано. Когда создаю просто чистый новый проект, и там проделываю те же самые операции по созданию IP блока все нормально компилируется. В чем может быть загвоздка?
552 222839
>>222815
Если проект на альтеровской плисе, то обратитесь собственно к альтере то.
553 222840
>>222839
Они больше не занимаются асиками как я понял
554 222846
>>222827
Ты точно полученную PLL подключил к верхнему уровню?
555 222864
>>222815
Посмотри на xilinx easypath
556 222865
>>222827
Может забыл какой то выходной порт подключить, а плл была оптимизирована за ненадобностью. Или ресет подрят
557 222877
>>222864
Спасибо, анон
558 222881
>>222846
извиняюсь я начинающий, это как?
559 222916
>>222815

>Проектировать топологию надо в САПР подписка на которые стоит лям баксов в год (по поводу этого всего не уверен, все где-то вычитал, точные цифры скрывают власти). И без лицензии на эти сапры заводы в твою сторону смотреть не будут (опять же инфа не 100, тут тоже хотелось бы уточнить у знающих господ).


Думается мне у братушек-китаюшек все эти вопросы решены уже.
560 222923
>>222881
Ну у тебя есть верхний уровень - это исходник, который непосредственно цепляется к ногам ПЛИС. Допустим, ты добавляешь в верхний уровень компонент (PLL). Если у тебя PLL окажется ни к чему не подключенной внутри верхнего уровня (подключены должны быть как минимум входной и выходной клоки), то умный синтезатор ее просто соптимизирует.
561 222933
Это самое, а что, когда отключаешь питание от плиски у нее сбрасывается программа? И ее надо подгружать с пзу во время включения?
562 222935
563 222941
>>222933
А ты думал, легко быть плиской?
564 222951
>>222923
да не все норм, подключено.
565 223024
>>222933
Во-первых: у ПЛИСок никаких программ нет.
Во-вторых: ПЛИСка эту самую "программу" сама подгружает во время инициализации, когда на неё подаются питание. Справедливо только для FPGA.
566 223059
>>223024
Спасибо Анон, успокоил, а CPLD схороняет прошивку при отключении питалова?
567 223077
>>223059
Сохраняет. Более того, в отличие от FPGA ей даже не надо ничего подгружать из ROM при инициализации.
568 223082
>>223077
Всё! Принимайте в ряды ПЛИСоводов. Моргаю светодиодом. Завтра начну проектировать машину Судного Дня.
569 223085
>>223059
Ты на CPLD сильно глаз не ложи, она меньше по объёму.
7 Кб, 228x221
570 223111
>>223085
Есть пару десятков EPM3032 с залоченым JTAG-ом. Нигде не найду как разлочить без ЙОБА-программатора за хуилиарды денег. Пичаль.
571 223114
>>223082

>Моргаю светодиодом.


Когда это будет светодиод на разъеме Ethernet, тогда и приходи.
572 223119
>>223114

> светодиод на разъеме Ethernet


Это конкретно как?
573 223125
>>223119
Для него шаг на Ethernet-разъеме, недостижим с папкиным стоваттным лудилом.
43 Кб, 440x336
574 223149
>>223119
Вот чтоб эти светодиоды мигали с помощью ПЛИС.
575 223161
>>223149
Ок. Ща выдеру с материнки, припаяю вместо простого светодиода.
576 223216
>>223149
Когда ты передаёшь инфу: задействован тх трансивер. И мигает от импульсов 1 лед. Когда принимаешь мигает другой. Активна линия рх рессивер.... Иначе они не мигают. Ваш кэп.
577 223247
>>223216
Хуя ты умный, у тебя наверно IQ 160?
578 225036
Анон, есть отладочная плата с xilinx Spartan-3e, писал под неё один простой проект на vhdl в xilinx ide. Хотел попробовать две вещи: vivado ихнюю и systemVerilog. Ide походу не может в sv, а vivado не может в Spartan-3e. Как быть?
Пробовал ли кто кодгенераторы? Вроде в матлабе есть, но я особо не вникал. Знаю, что говно, просто интересно, с орехами или без.
Алсо, чому у эмбедщиков с армами, фриртосами и пинусами на армах зп выше? Причём, солидно выше. Про софтопидоров я вообще молчу блять. Все считают, что плис - говно, и писать под них любой дебил может?
579 225082
С хилыми не работал лично, экстраполирую с альтеры.
1. Можно скачать не виваду а ise, которое поддерживает спартан 3. Вивадо это апнутая ISE.
2. Про SV попахивает пиздежом, Просто очевидно для синтеза ограниченное подмножество применяется. Можно найти документ об этом.
3. Генерировал из матлаба цифровую обработку. Работает норм. + можно прикрутить тулзы производителя ПЛИС. Для альтеры это dsp builder toolbox for matlab. Дает модельное отображение мегафункций в симулинк, а при синтезе используются визарды мегафункций неявно, чтобы было роднее и оптимальнее под заданный кристалл.
На самом деле генерация кода это охуенная тема, и рано или поздно она будет иметь большой вес, почитать хоть анонсы альтеры, ксайлинкса, матворкс или интела. Надо её иметь ввиду и не относиться к ней пренебрежительно.
4. хз чот))) го опрос кто скока рубит))

ЗЫ рассказывай как докатился до жизни такой, что плис захотел использовать?
580 225101
>>225082
А, хуйню написал, я и имел в виду ISE. В справке к ней же написано даже, что она поддерживает синтез vhdl/verilog; isim поддерживает симуляцию vhdl/verilog, да и на форуме у них все пишут, что в ise никто поддержку sv не планировал пилить. Ну и примеров синтезируемых конструкций ни в одном документе к ise нет.
В принципе, насрать, но прямо интересно было, потому что читал, что, мол, sv вобрал в себя самое лучше из верилога и вхдл, плюс охуенные возможности для написания юнит-тестов.

>Генерировал из матлаба цифровую обработку.


Что конкретно? Кодер-декодер можно захуячить? Интересно было бы ещё сравнить то, что сгенерирует матлаб, с ip-ядром производителя ПЛИС.

>как докатился до жизни такой, что плис захотел использовать?


Да никак - сказали, что надо. Оно и понятно, потому что требовалось управлять сотнями ножек. Мне показалось проектирование устройств на ПЛИС весьма интересным, но пока ничего, кроме уарта, я под неё не писал. Делать сейчас нехуй, вот и думаю с платой поиграться.
581 225103
>>225036

>Алсо, чому у эмбедщиков с армами, фриртосами и пинусами на армах зп выше?


Откуда такая инфа?
582 225128

>Что конкретно?


ну там типа приемник, ацп -> iq демодулятор, дециматоры, фильтры fir, быструю свертку на fft. Ну и формирователь сигналов - интерполятор, модулятор -> цап.

>Интересно было бы ещё сравнить то, что сгенерирует матлаб, с ip-ядром производителя ПЛИС.



Я не могу сравнить, мало генерацией занимался. Там много нюансов, которые надо знать и использовать чтобы круто вышло.
583 225135
>>225128

>ну там типа приемник, ацп -> iq демодулятор, дециматоры, фильтры fir, быструю свертку на fft. Ну и формирователь сигналов - интерполятор, модулятор -> цап.


Офигеть, такую же фигню делаю. Как планируешь IQ демодулятор запилить? Я набросал кой чего на верилоге, вернее нагуглил и немного перепилил.
584 225146

>Как планируешь IQ демодулятор запилить?


ну тип умножаю на косинус и синус, брат)

По серьезке есть старый хинт:
Если пч попадает на частоту 1/4 от частоты дискретизации (ну в общем виде (1/4+n)fd, n=0,1,2... на сколько полоса ацп позволяет) , то синус и косинус реализуются как 0 1 0 -1 и 1 0 -1 0, потом убираешь нули, что как бы децимация в два раза, ставишь фильтр скользящего среднего и дециматор простой уже до полосы.

Сейчас делаем по другому. Генерируем синус и косинус кордиком, децимируем каскадно на CIC фильтрах.
Собственно у синуса и косинуса меняется частота динамически, можно перестраивать.
585 225152
Может конфу демодуляторщиков запилим? Я смотрю нас уже трое.
586 225154
>>225152
хз, не умею в конфы. в телеграмме типа? можно тогда конфу треда запилить уж.
587 225161
>>225146
Во-первых: гугли когерентный приём. Во-вторых: гугли схемы фазовой синхронизации: схему Костаса например
588 225163
>>225146

>Если пч попадает на частоту 1/4 от частоты дискретизации (ну в общем виде (1/4+n)fd, n=0,1,2... на сколько полоса ацп позволяет) , то синус и косинус реализуются как 0 1 0 -1 и 1 0 -1 0, потом убираешь нули, что как бы децимация в два раза, ставишь фильтр скользящего среднего и дециматор простой уже до полосы.


Чет не совсем понял, я как раз в сторону кордика смотрел.

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


Дак в этом как раз плюс, можно нулевую частоту менять произвольно, без изменения преносимой частоты в аналоговой части. Плюс кордик позволяет экономить на операциях умножения, при этом разрядность только на 1 бит поднимается. Плюс также если AM\FM демодуляцию на PLL делать, там тоже кордик идеально ложится, и atan2 и гипотенузу вычислять умеет.
589 225164
>>225161

>схему Костаса


ну тип оно и есть.
стоило наверное сказать, что это РЛС и формирователь и приемник работают от одной тактовой частоты. Это и дает когерентность.
590 225166
>>225164
ну всмысле нет смысла в синхронизации гетеродина по схеме костаса, если есть когеретность от тактовой синхронизации.
591 225266
Сап двач.
Нужна помощь.
Интерфейс RS323
Необходимо разработать ПО для реализации протокола обмена между ПЛИС и ПК(на прием и передачу)
Прием : ПЛИС должна принимать десятичное число (от 0-9) и передавать его на семисегментный индикатор для контроля
Передача: возврат полученного десятичного число (от 0-9)
592 225267
>>225266

>RS323


опечатка
конечно RS232
593 225268
>>225266
это все на AHDL
594 225274
>>225268
1) Nios/microblaze
2) Прораммируешь как МК
3) ...
4) PROFIT!

А теперь ответь, нафига тут ПЛИС и на каком железе это собрано?
595 225275

>>это все на AHDL


это брат тебе никто не поможет. От него попахивает уже мертвечиной.
596 225276
>>225274
ну как я понял тестовая задача это. я новичкам такое задаю.
597 225277
>>225266
какое железо? чем собираешь принимать на компе?
знаешь как работает uart? семисигментный индикатор? что такое плис вообще?
АЛСО поковыряй сперва отдельно индикатор. например нажимаешь на кнопку, прибавляется число. по второй кнопке все сбрасывается. дальше спрашивай.

ЗЫ требовать AHDL это вообще за гранью добра и знал. обьясни откуда такое требование?
598 225298
Ребзи, решил обмазаться плис, а именно DE0-Nano-SoC Kit с 5-м циклоном и кортексом на борту. Очень интересная штука, и стоит пока ещё не слишком много - 90 бакинских. Просто марсоход за 5к предлагает хуитку с 10-м максом. Или лучше начать с хуйлинкса? В треде вроде писали, что альтера дружелюбней к пользователю.
599 225302
>>225277

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


универ
600 225303
>>225277

> семисигментный индикатор? что такое плис вообще?


да
с семисигментным чет делал, было давно, вспомнить реально
что такое плис тоже в курсе
вот с uart не знаком
15 Кб, 521x161
601 225305
>>225277

>какое железо?


у меня вроде как и реализация есть проги
только там все коментарии на китайском
и полный пиздец нихуя не понимаю
602 225307
>>225277
вот есть такая тема
603 225309
>>225277

>ЗЫ требовать AHDL это вообще за гранью добра и знал


вообще я тоже думал послать нахуй это AHDL
и делать на verlog
97 Кб, 925x842
604 225316
/П/лисатели, поясните за такую хуйню. Есть одна диаграмма с периодами сигналов, можно ли описать необходимые действия на вашем колдовском языке, чтоб не ломать мозг сочиняя всю логику на 155-й серии?
605 225321
>>225298

>писали, что альтера дружелюбней к пользователю


Писали.
Бери Альтеру и не еби мозги.

>>225316
Можно, конечно, но на первый взгляд, какой-то асинхронный пиздец.
44 Кб, 1108x326
606 225325
>>225321

> Можно, конечно


Решил не оттягивать коту яйцы, а скачал квартус и ебашу по хардкору гугля левой рукой непонятности. Уже захуярил счетчик, два компаратора и на удивление, всё работает в моделсиме. Ух. Ебать моща эти ваши ПЛИСы.
607 225326
>>225302
Дропай нахуй эту шарагу.
608 225330
>>225326
бля последний курс
впадлу
609 225347
>>225330
Один хуй ты даун - не мочь в такую простоту на последнем курсе. В манагеры пойдешь?
610 225352
>>225347
Нет
В гей прон
611 225361
>>225307
это VHDL же

>>225303
Братишка вот я тебе нашел:
http://www.fpga4fun.com/SerialInterface.html
5 лет назад использовал

>>225316
Если что-то можно сделать на логике, то это можно сделать на ПЛИС, но это не значит, что надо так делать.

>>225347
Ну хз чо. К меня вообще такого не было в институте. Лучше хоть так чем никак.
612 225378
>>225361

> но это не значит, что надо так делать.


Можно хоть помоделировать в квартусе, а потом собрать на 155 серии, а дядь?
613 225422
>>225378
Конечно можно брат, только на детской частоте.
614 225427
>>225422
У меня XCL в итоге будет 12.000.000Гц. 155 не потянет.
615 225485
>>225378
Зачем тебе ебашить огромную плату с кучей 155х, когда можно взять самую маленькую плисинку и все запихнуть в неё + еще и изменить поведение в случае необходимости можно будет, а не переразводить и перепаивать.
616 225487
>>225485
Если осилю эту сверхзадачу, то и захуярю на плисине epm240t100c5. У меня другой нет, а покупать лень.
617 225563
>>225487
Кстати, эту плисину, китайца продает по 120р/шт, а на сайте альтеры она 7.50 баксов. Как думаете, подъебка?
http://ru.aliexpress.com/item/1PCS-IC-EPM240T100C5N-TQFP100-ALTERA-NEW-GOOD-QUALITY/32464720379.html
618 225569
>>225563
Вах, нэт, штоты! Себе в убыток торгует, за ради тэбя, дарагой!
619 225574
>>225563
Спиздил с завода альтеры. Ворованное.
620 225578
>>225574
В анусе пронес?
621 225593
>>225578
Как известно подавляющее число микросхем делаются в Китае.
Китайцы честно делают заказанную им партию и передают заказчикам, потом приходят ночью, включают станки и штампуют левак.
Так что эти чипы не совсем альтеровские, и гарантий работоспособности, соответственно, ждать не приходится.
622 225605
>>225593

> включают станки и штампуют левак


Бля, ну это же не сгонов на дюйм с четвертью наточить, а высокотехнологичная хуйня. Мне сдается, что эти чипы были отбракованы из партии, а ушлый желтолицый решил их впарить доверчивому русичу. Чип может и поработает некоторое время, а потом скажет, - досвидос, и сожгет всё окружение.
623 225607
>>225605

>а высокотехнологичная хуйня


Ну так это, я думаю, и не частная инициатива, на гос уровне у них такое поощряется.
624 225633
>>225607
Чорд, он и у в Терре 260р стоит. Наверное у китайцев закупаются. Короче. Возьму парочку, не обеднею на 250р думается.
127 Кб, 600x397
625 226793
Спасайте тему, а то уйдет
626 226797
Ребзя, альтеровский софт встанет на вин10 или нет? Просто заявлена поддержка вин8.1.
79 Кб, 567x614
627 226809
>>226797
Встает
628 226863
>>226809
Ты специально значки в форме хуя расставил?
629 226907
>>226863
NYET! Я их специально, в форме хуя, обвёл.
630 226916
>>226809
У тебя моделсим ломаный?
631 226991
>>226916
Этож альтера эдитион, он халявный
156 Кб, 676x591
632 226992
>>226916
Нет, он с квартусом в комплекте идет. Альтера эдишн.
633 227137
>>226992
Блин. Тогда следующий вопрос - а Квартус бесплатный?
634 227139
>>227137
Есть бесплатная лайт версия квартуса, прямо с сайта альтеры скачать можно.
635 227143
>>227139
Не лайт, а Web Edition. Подбирай версию по модели плиски, а то для меня до сих пор загадка, как у них меняются поддерживаемые чипы от версии к версии.
636 227146
>>227143
У квартуса прайм эта версия лайт называется.
2,6 Мб, 3264x2448
637 229017
Чет притихли все, вот вам няша моя. Неделю назад купил.
638 229036
>>229017
А я нарисовал и скомпилировал все в квартусе, нарисовал схему в орле, купил запчастюшки недостающий (в ЧиДе, в розницу, ебать его табуреткой) и на меня напала охуенная лень и никак не дорисую печатку, чтоб все спаять и радоваться частотомеру.
639 229076
А кто-нибудь пояснит за особенности трассировки ПП с FPGA? С чем есть и что класть на плату?
640 229175
>>229076
Да хз насчет особенностей.
Есть документы типа всякие справочные у альтеры. можно посмотреть.
Ну можно посмотреть отладочные платы terasic. там есть к них схемы, вся фигня.

Более конкретные вопросы мб есть?
641 229314
>>229175
Конкретно - где брать ДШ на конкретные чипы, что кроме самой плисины нужно класть на плату? Вроде пока всё.
642 229322
>>229175
Схемы там принципиальные, вот разводочку бы посмотреть...

Говорят есть какой-то метод совместной разводки платы и проекта в ПЛИС. Ну типа чтобы и сигналы в проекте по ногам грамотно раскидать и чтобы одновременно с этим печатку можно было проще развести.
643 229528
Верилогобоги, есть ли выход из case?
644 229636
>>229528
В смысле?
645 229637
>>229636
есть конструкция, написанная на Verilogе вида:
case(ct)
1:begin
something
end
2:begin
something
end
3:begin
case(pc)
1:begin
something
end
2:begin
something
end
endcase;
4:begin
something
end
endcase;
до второго кейса доходит без проблем и происшествий, но назад не возвращается. default:disable не работает. Что с этим делать не знаю.
646 229638
>>229637
Хуй знает, нужно весь код смотреть.
647 229642
>>229638
Уже похуй, переписал. Разбил просто по участкам и переходами между ними смастрячил. Я так понял в верилоге нет никаких аналогов сишного break.
648 229651
>>229637
Вероилог - ебанутый язык. [7:0]Y и [7:0]y это не одно и то же оказывается. Ну охуеть блять.
649 229658
>>229651
Паскалеблядь чтоле? Только у них вроде нет чувствительности к регистру.
650 229667
>>229658
Тут выше был спор, где было хорошо объяснено, что верилогобляди не люди, так что уймись.
651 229673
В общем посоветуйте плату до 150$, нужно:
ADC - по началу, наверное, сойдёт любой, даже говнецо уровня 20M@8bit
DAC - не обязательно, т.к. сначала буду ебать только ADC, ну а DAC потом можно и накинуть так, но если будет сразу - заебись
Ethernet PHY или IEEE 1394 - первый предпочтительнее
Хоть сколько-нибудь памяти, лучше побольше
Ну и USB там скорее всего и так будет
652 229676
>>229673
ВНЕЗАПНО, но Pinboard II
653 229687
>>229667
Тебе приснилось, маня.
654 229698
А можно на плис сделать сверхбыстрый 32 битный ацп?
655 229699
>>229698
Нет. Но имея сверхбыстрый АЦП от TI и используя FPGA можно сделать осциллограф.
656 229751
>>229698
Нет, но можно сделать сверхбыстрый 64 битный резистор.
657 229761
>>229676
Шутник, на ней же нихуя нет.
658 230066
>>229314
https://www.altera.com/products/fpga/cyclone-series/cyclone-v/support.html
вот например документация на циклон 5. Там все документы важны.
Обрати внимание на обзор, даташит, хендбук, гидлайн и pcb.

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

>>229322
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=745&PartNo=4
качаешь диск.
там есть тестовые проекты, электрические схемы, псб, мануалы, полный фарш короче.

altium designer. в нем можно делать такое.
Но мы никогда так не делали.
659 230406
>>230066

>altium designer. в нем можно делать такое.


>Но мы никогда так не делали.



Совершенно правильно так не делали. Ибо инструментарий для ПЛИС в альтиумах отвратителен (в общем-то было очевидным и предсказуемым для всех, кроме альтиума)
64 Кб, 533x400
661 230551
>>230547
Это чё это? Это всё читать что ли надо? Я сколько плат видел, там нихуя не заметно было, что такое читали.
662 230588
>>229017
Поясни за няшу, там Ethernet висит на HPS? Из FPGA не порулить?
663 230610
>>230588
Да, ethernet висит на процессоре. можно передавать данные из плис в процессор, а из процессора передавать в ethernet
664 230619
>>230610

> можно передавать данные из плис в процессор, а из процессора передавать в ethernet


насколько это сложнее стандартного FPGA<-(MII)->PHY и есть ли какая-то разница в скорости?
665 230621
>>230619
Хуй знает насколько сложнее, я ещё этим не занимался. Просто надо еще писать программу для линупса в процессоре, отлаживать это всё дело. А разница в скорости скорее всего будет заметна, лишняя прослойка жи есть. Хотя можешь скачать диск для этой платы, там есть пример такой связки. или в юсб, не помню точно
666 230623
>>230621

>Просто надо еще писать программу для линупса в процессоре, отлаживать это всё дело.


Ясно, тогда нахуй.
Есть вообще что-то типа этой же платы, только без ARM?
А то либо дешёвая хуита без нихуя, либо килограмовая хуерга с лист А4 за 500+ баксов...
667 230642
Продублирую вопрос https://2ch.hk/ra/res/138868.html#230641 (М)
Пацаны, не могу никак книгу найти "Michael Rice - Digital Communications. A Discrete-Time Approach". Ни у кого нет? Или, может, кто-то знает, где ещё можно поискать?
668 230646
>>230623
Много такого типа есть. Алсо тебе езернет обязателен? Просто у терасика только soc платы имеют езернет
669 230648
>>230646

>Алсо тебе езернет обязателен?


Ну вообще было бы неплохо. Мне он будет нужен в любом случае.
Так-то можно, конечно, шильдик с phy и разъёмом развести, но если будет сразу то ещё лучше.
670 230720
>>230619

>FPGA<-(MII)->PHY


Делал такую херь.
Скорость выжал максимальную, т.е. пакеты вылетали друг за другом в плотную, с минимально необходимыми по стандарту просветами.

>>230648
Чего только нет.
http://ru.aliexpress.com/item/EP4CE10-EP4CE10F17C8N-ALTERA-Cyclone-IV-FPGA-Development-Board-18-Accessory-Modules-Kits-OpenEP4CE10-C-Package-B/780162320.html?spm=2114.03010208.3.209.VzVXFJ&ws_ab_test=searchweb201556_10,searchweb201602_1_10037_10017_10021_507_10022_10032_10020_10018_10019,searchweb201603_6&btsid=1fc93fbd-8fc9-4efc-903c-01f2b7ef0559
671 230727
>>230720

> альтера циклон доска


Проиграл чет
672 230730
>>230720

>Делал такую херь.


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

> Чего только нет.


Ммм, выглядит неплохо, но наверное всё же избыточно для моих целей пока.
Мне бы что-то типа >>229017 только без этого ебаного ARM. Одна небольшая плата на альтере с on-board программатором, немного памяти и езернет, всё остальное на гребенку.
673 230734
>>230730

>Алсо чего конуретно с езернетом пилил-то?


По гос заказу, вот только у государства, видимо, денег не хватило, приостановили пока.

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


Их там все по отдельности можно найти.

>Одна небольшая плата на альтере с on-board программатором, немного памяти и езернет


http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=593

Езернет-модуль докупить у тех же китайцев и на GPIO повесить.
674 230755
>>230734

>Езернет-модуль докупить у тех же китайцев и на GPIO повесить.


Не мог бы ты посоветовать годный, мне 10/100 хватит с головой.
Кун-который-пилит-24-частотомара
Как только совладаю с тулчеином or1knd-, запилю репорт
675 230819
>>230755
гугли
dp83848 module
677 230930
>>230755
Нахуя тебе эзернет на частотомере?
1,1 Мб, 2560x1920
678 230979
Здравствуй, анон. Не мог бы ты помочь мне в изучении VHDL? Делаю однокурсникам лабы, где сначала строится схема в Logisim, а затем она же пишется на VHDL и симулируется в ActiveHDL. На симуляторе-то всё работает, но вот мне интересно, какие вещи я, может быть, делаю неправильно? Что, если в железе мой говнокод может дать сбои? Я хочу научиться в ПЛИС. Ты можешь посмотреть мои исходники, если я их скину сюда, и оценить с высоты своего опыта или тебе недосуг этим заниматся?
679 231003
>>230930
Я писал выше, но повторюсь
Данных будет много, и в uart они уже не пролезут. Почему езернет а не usb? - Езернет универсальнее, и вообще стильно, модно, молодежно.

>>230890
Это мост spi<->ethernet же. Зачем такие полумеры, когда у меня не сраная Авр-ка а плисина?

>>230819
Похоже, это то, что мне надо.
160 Кб, 752x870
680 231007
>>231003

> Данных будет много


Ты там прецизионный частотомер с обсчетом двухвыборочной дисперсии Аллана сочиняешь?
681 231010
>>231007
Откуда страница?
682 231012
683 231031
>>230979
Закидывай, посмотрю.
684 231059
>>231007
Мельком глянул это, пригодится, когда дойду до собственно блока частотомера.

Пилю репорт:
Поднял ядро altor32 http://opencores.org/project,altor32 на Spartan-6 (lx9)
Собственно плата пикрелейтед приехала из китая все цело и работает. С подключением траблов тоже не возникло.
Методом проб, ошибок и гугла добился, чтобы это все запускалось в симуляторе.
Главная проблема была по ньюфажности, как запилить память.
Решение: Двухпортовая память на 32К, одной стороной подключена к шине памяти программ проца, другой к шине памяти данных и IO.
Собранная прошивка заливается при помощи такой хуйни:
[code]
generate
if(IMAGE_FILE != "")
initial begin
$readmemh(IMAGE_FILE, mem);
end
endgenerate
[/code]
Для начала забил память из /dev/random и проверил, что проц извлекает команды и пытается их выполнять.

Далее принялся ебаться с тулчеином. На странице опенкорес была инструкция по сборке тулчеина, попердолившись я смог это собрать и запустить.
В комплекте с ядром идет стартап.S и gdb-stub. Для тех кто не знает: эта хуйня позволяет отлаживаться без наличия JTAG у проца, через UART. Правда пока не очень понял как ей пользоваться, но об этом позже.
Когда удалось собрать и прошить все это, я законектился из обычного gdb к процу
(gdb) target remote /dev/ttyUSB1
Гдб сказал, что все ок, и показал адрес останова.

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

Далее модифицировал пример, чтобы он делал что-то вразумительное (вызвать sprintf)
B и тут-же соснул, ибо стандартной бибилотеки не собрано!

При сборке полного тулчейна с newlib'ом вылезли 2 подводных камня:
1. Не хотел собираться вариант с -mno-delay и -msoft-float
2. Из-за ошибки в организации cmake-проекта линкер пытался слинковать в готовый бинарь все объектники и утыкался в повторяющиеся символы, либо наоборот удалял все символы, по тому, что секция, в которой находятся векторы не линковалась с проектом.
Первую проблему починил найдя бинарный тулчеин для or1k, в котором есть и -mno-delay и -msoft-float. Вторую - переконфигурировав проект.

Нерешенные проблемы:
1. Как работать с gdb-stub. он показывает первый останов и запрашивает состояние регистров, но ска только делаешь continue, все.
[code]
Continuing.
Can't send signals to this remote system. SIGHUP not sent.
Cannot execute this command while the target is running.
Use the "interrupt" command to stop the target
and then try again.
[/code]
2. При попытке слинковаться с *printf() по зависимостям тянется столько, что не лезет в отведенные 32К, будем считать, что НИНУЖНА.

Если моё говно будет кому-то полезно, то вот оно http://rgho.st/6NnC8sNPJ.
684 231059
>>231007
Мельком глянул это, пригодится, когда дойду до собственно блока частотомера.

Пилю репорт:
Поднял ядро altor32 http://opencores.org/project,altor32 на Spartan-6 (lx9)
Собственно плата пикрелейтед приехала из китая все цело и работает. С подключением траблов тоже не возникло.
Методом проб, ошибок и гугла добился, чтобы это все запускалось в симуляторе.
Главная проблема была по ньюфажности, как запилить память.
Решение: Двухпортовая память на 32К, одной стороной подключена к шине памяти программ проца, другой к шине памяти данных и IO.
Собранная прошивка заливается при помощи такой хуйни:
[code]
generate
if(IMAGE_FILE != "")
initial begin
$readmemh(IMAGE_FILE, mem);
end
endgenerate
[/code]
Для начала забил память из /dev/random и проверил, что проц извлекает команды и пытается их выполнять.

Далее принялся ебаться с тулчеином. На странице опенкорес была инструкция по сборке тулчеина, попердолившись я смог это собрать и запустить.
В комплекте с ядром идет стартап.S и gdb-stub. Для тех кто не знает: эта хуйня позволяет отлаживаться без наличия JTAG у проца, через UART. Правда пока не очень понял как ей пользоваться, но об этом позже.
Когда удалось собрать и прошить все это, я законектился из обычного gdb к процу
(gdb) target remote /dev/ttyUSB1
Гдб сказал, что все ок, и показал адрес останова.

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

Далее модифицировал пример, чтобы он делал что-то вразумительное (вызвать sprintf)
B и тут-же соснул, ибо стандартной бибилотеки не собрано!

При сборке полного тулчейна с newlib'ом вылезли 2 подводных камня:
1. Не хотел собираться вариант с -mno-delay и -msoft-float
2. Из-за ошибки в организации cmake-проекта линкер пытался слинковать в готовый бинарь все объектники и утыкался в повторяющиеся символы, либо наоборот удалял все символы, по тому, что секция, в которой находятся векторы не линковалась с проектом.
Первую проблему починил найдя бинарный тулчеин для or1k, в котором есть и -mno-delay и -msoft-float. Вторую - переконфигурировав проект.

Нерешенные проблемы:
1. Как работать с gdb-stub. он показывает первый останов и запрашивает состояние регистров, но ска только делаешь continue, все.
[code]
Continuing.
Can't send signals to this remote system. SIGHUP not sent.
Cannot execute this command while the target is running.
Use the "interrupt" command to stop the target
and then try again.
[/code]
2. При попытке слинковаться с *printf() по зависимостям тянется столько, что не лезет в отведенные 32К, будем считать, что НИНУЖНА.

Если моё говно будет кому-то полезно, то вот оно http://rgho.st/6NnC8sNPJ.
62 Кб, 600x600
685 231109
>>230642

>Пацаны, не могу никак книгу найти "Michael Rice - Digital Communications. A Discrete-Time Approach"



До AvaxHome avxhome.in/ebooks - кладезь книжек, о которой каждый блять школьник знает свою ленивую жопу дотрясти не можешь?!
686 231135
>>231003

>Это мост spi<->ethernet же.


А что плохого в spi?
687 231139
>>231135
В самом spi? Да ничего. Правда и смысла вешать езернет на него тоже не больше.
688 231156
Аноны, а алтеровские циклоны 5V в качестве логической единицы кушают или надо обязательно подгонять под 3.3?
689 231167
>>231156
Спалить можно.
У них там уже не 3,3, если не путаю, а 1,2.
690 231172
>>231167

> а 1.2


1.2 вольта?
108 Кб, 851x690
691 231196
>>231031
Спасибо! Вот, пробую rarjpeg залить.
692 231197
693 231201
>>231197
У меня не открывается ргхост, хз почему.
694 231202
>>231201
Вот, ещё на несколько рандомных файлообменников залил:
https://dropmefiles.com/1xMMR
http://файлообменник.рф/u56pl8uu78tk.html
http://webfiles.ru/files/45010758
695 231209
>>231172
Угу. Вроде ещё 2,5 есть, у них ноги настраиваемые.
697 231218
>>231202
Ага, посмотрел, что тебя интересует? Код говно полное, так нормальные люди не пишут.
698 231223
>>231218
Я был уверен на 99% что пишу 90%-ное говно

1. Я понимаю, что такие механизмы, как счётчики, пишутся не через Т-триггеры, а делал я так, потому что по заданию нужно, вроде как, "дословно" перевести схему на VHDL. Лучше скажи, грамотно ли я пользуюсь включением одной сущности для использовании в архитектуре другой? Или так вообще не стоит делать и нормальные люди делают по-другому?

2. Есть ли места, в которых можно сократить код средствами языка, а не, например картами Карно и вдумчивым анализом? Если есть такая возможность, то покажи где. И, если не лень, покажи как это сделать или что гуглить?

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

Спасибо.
60 Кб, 920x852
699 231228
>>231223

>Лучше скажи, грамотно ли я пользуюсь включением одной сущности для использовании в архитектуре другой?


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

>места, в которых можно сократить код средствами языка


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

>Стоит ли учиться HDL-языкам по примерам из интернета


Смотря че ты хочешь. Синтаксис и основы учатся по учебникам. Но если ты хочешь стать yobaплисоводом, то нужно учить не язык, а схемотехнику и изучать это дело, отталкиваясь от реальных задач.
700 231236
>>231228

> Для вставки однотипных компонентов используй цикл.


> Показал на пике как не плодить клоки и ещё пару трюков


Это великолепно! Как раз то, что мне нужно!

Не понял только, что значит "(others => '0')". Это всего лишь начальное нулевое значение всей шины?

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


Хочу, и встреченные мною задачи показали, что HDL язык вообще чуть ли не последнее, что нужно знать. А вот стандарты интерфейсов, IP-ядра и САПР - это как раз то, что необходимо. Но самому велосипедить гораздо интереснее, чем использовать IP-ядра.

В общем, огромное спасибо! Пойду всё-таки почитаю книгу.
701 231250
>>231210
Посмотрел, на VCCIO у меня подтянуто 3.3 вольта. Хочу закидывать атмежкой упраявляющие команды на плиску. Собственно как уровень до 3.3 вольт опустить? Делителем на резисторах? Ну или буферы использовать?
702 231252
>>231250

>Делителем на резисторах?


Больной извращенец.

>Ну или буферы использовать?


Транзисторный ключ поставь.
703 231262
>>231252
Чем плох делитель, ему же в одну сторону гнать? Хотя я бы поставил резистор с диодом, для обрезания уровня единицы.
704 231269
>>231262
В почему не поставить что-нибдуь из 74LVC - один корпус на несколько линий?
273 Кб, 1280x960
705 232057
Платиновый пост.
Я тот питух с ТТЛ рассыпухой из времени и частоты треда.
Хотелось бы заменить эти отдельные счётчики-триггеры плисинами, чтобы уменьшить жор, габариты и поднять быстродействие пикрелейтед тогда вообще в пару сигаретных пачек влезет.
С чего начинать стоит и что заказывать сразу? Как я понял, мне хватит чего-то простого на 32/64 макроячейки с программированием в виде составления схемы.
Не бейте, лучше обоссыте, если что не так спрашиваю.
706 232059
>>232057
EPM3032A/EPM3064A или XC2C32A/XC2C64A
Заказывай сразу программатор и чипы.
Если с плисами жизнь связывать не хочешь - выбирай Альтеру - программатор дешевле говна стоит. Качай квартус и там ебись со своими схемами.
707 232076
>>232057
Бери чо нибудь типа ЕРМ240/520. И счетчики свои уместишь и еще на цифровую шкалу макроячеек останется.
708 232081
>>232076
*EPM570
прошу прощения, только не обоссывайте.
710 232128
>>232121
Денег столько нет.
Да и экранчик мне как-то не всрался, разбираться с ним год буду.

>>232059
>>232081
А вот это учту, спасибо.
712 233668
>>233650
Давай. Пиши потом про свою новую йобу.
713 233911
>>127314 (OP)
Сап плисаны. Где можно почитать как нормальные парни пишут под ПЛИС? Ну типа когда блокирующие присвоения применять, а когда нет и тд. На сколько я понял если у тебя что то делается по клоку то делаем неблокирующее присвоение, если не по клоку то блокирующее так?
714 233927
>>233911
Не, не так.
Несколько стаей в журнальчике было, погоди, попозже поищу.
716 233951
>>233932
о спасибо большое анон
717 234115
>>233911
x1 <= in;
x2 <= x1;
out <= x2;
На первом клоке значение in запишется в x1, на втором колке значение x1 запишется в x2, значение in которое пришло со второмым клоком запишется в x1, на третьем колке значение x2 запишется в out, значение x1 запишется в x2, значение in которое пришло с тетьим клоком запишется в x1. И т.д.
x1 = in;
x2 = x1;
out = x2;
в x1, x2, out одновременное запишется значение in, и их значения будут сразу меняться если изменится значение in, независимо от каких-либо клоков.
718 234116
>>234115
сложно не понимаю, так когда <= это неблокирующее присвоение, а = блокирующее. Я так как ты описал первое представлял работу, блокирующего присвоения, а ты описал все наоборот.
719 234119
>>234116
Лол, на самом деле все еще немного сложней, тут еще надо смотреть на наличие\отсутствие always. Я во втором варианте описал непрерывное присваивание, то есть без always. Процедурное блокирующее присваивание, то есть с always - это второй вариант, но само изменение значений происходит таки по клоку. Короче неблокирующее присваивание - это цепочка триггеров, каждый из которых при поступлении очередного клока передает свое значение следующем триггеру в цепочке, и при этом получает новое значение от предыдущего триггера. Блокирующее - когда несколько триггеров при поступлении очередного клока переключаются в полученное значение.
720 234127
Блядь. такую телегу написал и все сбросилось.

Вкратце дела такие.
Блокирующее присвоение блокирует что?
Блокирует выполнение следующего оператора, до завершения текущего.

x1 = in; выполнение блокируется пока x1 не станет in
x2 = x1; тут x1 уже in. и опять блокируется. в конце x2 = in
out = x2; на выходе out = in;
в итоге при синтезе это 1 триггер.

далее
x1 <= in; выполнение не блокируется.
x2 <= x1; выполняется сразу же не ожидая результата. тут x1 это x1 c прошлого клока.
out <= x2; аналогично x2 - это x2 c прошлого клока.

в итоге имеет out(t) = x2(t-1)=x(t-2)=in(t-3)
t - текущий такт
t-1 - предыдущий такт
t-2 - за два такта до. ну и тд
чуешь? 3 триггера!

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

Применительно к непрерывному присвоению слова блокирующее/неблокирующее не имеет смысла. assign a=b. это присвоение. просто присвоение.

В конце универсальный совет.
always используешь только для синхронной логики. ВСЕГДА используешь <=.
Для комбинаторной логики используешь assign.

Да можно писать сложную комбитаторику в always при помощи =. Поверь, оно тебе не нужно, всегда есть путь понятнее и проще.
720 234127
Блядь. такую телегу написал и все сбросилось.

Вкратце дела такие.
Блокирующее присвоение блокирует что?
Блокирует выполнение следующего оператора, до завершения текущего.

x1 = in; выполнение блокируется пока x1 не станет in
x2 = x1; тут x1 уже in. и опять блокируется. в конце x2 = in
out = x2; на выходе out = in;
в итоге при синтезе это 1 триггер.

далее
x1 <= in; выполнение не блокируется.
x2 <= x1; выполняется сразу же не ожидая результата. тут x1 это x1 c прошлого клока.
out <= x2; аналогично x2 - это x2 c прошлого клока.

в итоге имеет out(t) = x2(t-1)=x(t-2)=in(t-3)
t - текущий такт
t-1 - предыдущий такт
t-2 - за два такта до. ну и тд
чуешь? 3 триггера!

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

Применительно к непрерывному присвоению слова блокирующее/неблокирующее не имеет смысла. assign a=b. это присвоение. просто присвоение.

В конце универсальный совет.
always используешь только для синхронной логики. ВСЕГДА используешь <=.
Для комбинаторной логики используешь assign.

Да можно писать сложную комбитаторику в always при помощи =. Поверь, оно тебе не нужно, всегда есть путь понятнее и проще.
721 234161
>>234119
>>234127
Проще говоря последовательное соединение и параллельное.
722 234166
Аноны, я таки неожиданно решил вот эту проблему с согласованностью логических урновней >>231250 тем что на атмежку тупо подам 3.3 вольта. И раз пошла такая пляска, и так как атмежка будет и с другоим девайсом общаться, решил заделать I2C на плиске. Есть у кого-нить проверенный модуль? Много LE реализация жрет?
723 234175
>>234166
На опенсорцах ищи.
724 234198
>>234166

>I2C


>на ПЛИС


Ты ебанутый? Универсальный I2C занимает около 500 LE, а именно такой ты в опенсорцах найдёшь. Пиши под конкретный чип протокол и не еби мозги.
725 234448
Аноны, которые модемы делали, прошу помощи. Разбираюсь с символьной синхронизацией, пытаюсь из элементарных блоков собрать схему. Сделал интерпоятор, детектор гарднера, петлевой фильтр, а с NCO затык и нихуя не могу понять. Он должен, судя по книге Райса, стробировать выход детектора с частотой следования символов. Собрал из примера в его же книге - что-то не то, и даже не догоняю пока, что. Нашёл на electronix.ru чьи-то модели в симулинке, там вроде у них работает, но откуда авторы взяли эти схемы NCO хуй поймешь. У Незами в книге я вообще его не наблюдаю, в схеме для bpsk на выходе фильтра интегратор, управляющий интерполяцией.
726 234479
>>234448
Так и чем помочь-то? Выкладывай схему или код, посмотрю.
727 234545
>>234479
Думал, кто-нибудь скажет, где по практической реализации (желательно ближе к плис) что-то почитать про это можно.
Ну ладно, смотри. На первой картинке дискретный (с намного большей частотой дискретизации, чем работает вся схема) синус попадает на блок, который по импульсам с генератора берет отсчеты с частотой два отсчета на полпериода синуса (считаю, что полпериода - это как раз мой один символ). Далее т.н. Fraction Delay, сделанный с помощью Farrow Interpolator, схему которого я взял из книги Nezami. TED, схему сделал тоже по книге, то ли по Райсу, то ли по Незами, я уже не помню. Выход TED стробируется NCO, причем, так как петля работает на частоте вдвое выше частоты этого строба, Райс говорит, что нужно между отсчетами выхода TED вставлять нули. Далее петлевой фильтр опять же из Незами, коэффициенты от балды (из примера с электроникс.ру), про них отдельный разговор. После него задержка, потому что иначе меня матлаб посылает

>Cannot solve algebraic loop involving...


И NCO, который я собрал по книге Райса из кода в примере для PAM с ZCTED.
Как я это все понимаю: рассинхрон по фазе между символьной частотой и частотой тактового генератора АЦП исправляется с помощью дробного интерполятора или хер знает, как он в нашей литературе называется, управляет которым расчет mu в NCO, который зависит от цепи с детектором и фильтром. Соответственно, в генераторе импульсов, я ставлю смещение по фазе на 3 сэмпла синуса, например. Чисто экспериментально я выяснил, что для этого на вход интерполятора должно поступать число "1.845". Что я получаю, если после выхода детектора не вставлять нули: при sample time входного синуса в 0.01 с у меня колбасит интерполятор, потом через 28 секунд с хером NCO перестает давать строб, и mu зависает на значении "1.446". Ну и все это время, само собой, интерполятор словно пальцем в жопу - никак не попадает в нужную мне точку. Если же нули вставлять, то NCO не перестает давать строб, но mu колбасит точно также.
Я тут сейчас подумал, а управляющий интерполятором коэффициент уж не должен ли быть равен значению сдвига? Если так, то должно быть не 1.845, а 1.76.
Алсо, есть подозрения, что схема взятия сэмплов, имитирующая АЦП, полная хуйня. Можно ли туда воткнуть блок даунсэмплинга?
727 234545
>>234479
Думал, кто-нибудь скажет, где по практической реализации (желательно ближе к плис) что-то почитать про это можно.
Ну ладно, смотри. На первой картинке дискретный (с намного большей частотой дискретизации, чем работает вся схема) синус попадает на блок, который по импульсам с генератора берет отсчеты с частотой два отсчета на полпериода синуса (считаю, что полпериода - это как раз мой один символ). Далее т.н. Fraction Delay, сделанный с помощью Farrow Interpolator, схему которого я взял из книги Nezami. TED, схему сделал тоже по книге, то ли по Райсу, то ли по Незами, я уже не помню. Выход TED стробируется NCO, причем, так как петля работает на частоте вдвое выше частоты этого строба, Райс говорит, что нужно между отсчетами выхода TED вставлять нули. Далее петлевой фильтр опять же из Незами, коэффициенты от балды (из примера с электроникс.ру), про них отдельный разговор. После него задержка, потому что иначе меня матлаб посылает

>Cannot solve algebraic loop involving...


И NCO, который я собрал по книге Райса из кода в примере для PAM с ZCTED.
Как я это все понимаю: рассинхрон по фазе между символьной частотой и частотой тактового генератора АЦП исправляется с помощью дробного интерполятора или хер знает, как он в нашей литературе называется, управляет которым расчет mu в NCO, который зависит от цепи с детектором и фильтром. Соответственно, в генераторе импульсов, я ставлю смещение по фазе на 3 сэмпла синуса, например. Чисто экспериментально я выяснил, что для этого на вход интерполятора должно поступать число "1.845". Что я получаю, если после выхода детектора не вставлять нули: при sample time входного синуса в 0.01 с у меня колбасит интерполятор, потом через 28 секунд с хером NCO перестает давать строб, и mu зависает на значении "1.446". Ну и все это время, само собой, интерполятор словно пальцем в жопу - никак не попадает в нужную мне точку. Если же нули вставлять, то NCO не перестает давать строб, но mu колбасит точно также.
Я тут сейчас подумал, а управляющий интерполятором коэффициент уж не должен ли быть равен значению сдвига? Если так, то должно быть не 1.845, а 1.76.
Алсо, есть подозрения, что схема взятия сэмплов, имитирующая АЦП, полная хуйня. Можно ли туда воткнуть блок даунсэмплинга?
728 234546
>>234479
Думал, кто-нибудь скажет, где по практической реализации (желательно ближе к плис) что-то почитать про это можно.
Ну ладно, смотри. На первой картинке дискретный (с намного большей частотой дискретизации, чем работает вся схема) синус попадает на блок, который по импульсам с генератора берет отсчеты с частотой два отсчета на полпериода синуса (считаю, что полпериода - это как раз мой один символ). Далее т.н. Fraction Delay, сделанный с помощью Farrow Interpolator, схему которого я взял из книги Nezami. TED, схему сделал тоже по книге, то ли по Райсу, то ли по Незами, я уже не помню. Выход TED стробируется NCO, причем, так как петля работает на частоте вдвое выше частоты этого строба, Райс говорит, что нужно между отсчетами выхода TED вставлять нули. Далее петлевой фильтр опять же из Незами, коэффициенты от балды (из примера с электроникс.ру), про них отдельный разговор. После него задержка, потому что иначе меня матлаб посылает

>Cannot solve algebraic loop involving...


И NCO, который я собрал по книге Райса из кода в примере для PAM с ZCTED.
Как я это все понимаю: рассинхрон по фазе между символьной частотой и частотой тактового генератора АЦП исправляется с помощью дробного интерполятора или хер знает, как он в нашей литературе называется, управляет которым расчет mu в NCO, который зависит от цепи с детектором и фильтром. Соответственно, в генераторе импульсов, я ставлю смещение по фазе на 3 сэмпла синуса, например. Чисто экспериментально я выяснил, что для этого на вход интерполятора должно поступать число "1.845". Что я получаю, если после выхода детектора не вставлять нули: при sample time входного синуса в 0.01 с у меня колбасит интерполятор, потом через 28 секунд с хером NCO перестает давать строб, и mu зависает на значении "1.446". Ну и все это время, само собой, интерполятор словно пальцем в жопу - никак не попадает в нужную мне точку. Если же нули вставлять, то NCO не перестает давать строб, но mu колбасит точно также.
Я тут сейчас подумал, а управляющий интерполятором коэффициент уж не должен ли быть равен значению сдвига? Если так, то должно быть не 1.845, а 1.76.
Алсо, есть подозрения, что схема взятия сэмплов, имитирующая АЦП, полная хуйня. Можно ли туда воткнуть блок даунсэмплинга?
728 234546
>>234479
Думал, кто-нибудь скажет, где по практической реализации (желательно ближе к плис) что-то почитать про это можно.
Ну ладно, смотри. На первой картинке дискретный (с намного большей частотой дискретизации, чем работает вся схема) синус попадает на блок, который по импульсам с генератора берет отсчеты с частотой два отсчета на полпериода синуса (считаю, что полпериода - это как раз мой один символ). Далее т.н. Fraction Delay, сделанный с помощью Farrow Interpolator, схему которого я взял из книги Nezami. TED, схему сделал тоже по книге, то ли по Райсу, то ли по Незами, я уже не помню. Выход TED стробируется NCO, причем, так как петля работает на частоте вдвое выше частоты этого строба, Райс говорит, что нужно между отсчетами выхода TED вставлять нули. Далее петлевой фильтр опять же из Незами, коэффициенты от балды (из примера с электроникс.ру), про них отдельный разговор. После него задержка, потому что иначе меня матлаб посылает

>Cannot solve algebraic loop involving...


И NCO, который я собрал по книге Райса из кода в примере для PAM с ZCTED.
Как я это все понимаю: рассинхрон по фазе между символьной частотой и частотой тактового генератора АЦП исправляется с помощью дробного интерполятора или хер знает, как он в нашей литературе называется, управляет которым расчет mu в NCO, который зависит от цепи с детектором и фильтром. Соответственно, в генераторе импульсов, я ставлю смещение по фазе на 3 сэмпла синуса, например. Чисто экспериментально я выяснил, что для этого на вход интерполятора должно поступать число "1.845". Что я получаю, если после выхода детектора не вставлять нули: при sample time входного синуса в 0.01 с у меня колбасит интерполятор, потом через 28 секунд с хером NCO перестает давать строб, и mu зависает на значении "1.446". Ну и все это время, само собой, интерполятор словно пальцем в жопу - никак не попадает в нужную мне точку. Если же нули вставлять, то NCO не перестает давать строб, но mu колбасит точно также.
Я тут сейчас подумал, а управляющий интерполятором коэффициент уж не должен ли быть равен значению сдвига? Если так, то должно быть не 1.845, а 1.76.
Алсо, есть подозрения, что схема взятия сэмплов, имитирующая АЦП, полная хуйня. Можно ли туда воткнуть блок даунсэмплинга?
sage 729 234553
Шатает, я не специально.
730 234557
>>234553
А не проще АЦП заюзать?
Сигнал, как я понимаю, цифровой, только не двоичный, а какой-то четверичный.
Накапливаешь отсчёты, потом их анализируешь.
731 234565
сап ночной поясни, что значит вот такая вот операция в VHDL
if xcnt16<="01110" then
если xcnt16:="00000"
732 234566
>>234565
ебать
я аутист
все сам понял
спать видно хочу
733 234568
>>234448
Че за книга?
734 234639
>>234557
Типа блок в симулинке или про какой ацп ты говоришь?
Алсо, костыльная схема тактирования меня тоже смущает слегка, тем более, ни в одном примере я такого не видел. Но других вариантов пока не придумал.
>>234568
Michael Rice - Digital communications. A discrete time approach.
Mohamed K. Nezami - RF architectures & digital signal processing aspects of digital wireless transceivers.
Райс весьма хорошо зделал, малаца. Не голая теория сплошная. Незами ещё ближе к практической реализации, но местами не разжевано.
735 234673
>>234639
Реализация в железе - там та еще херабора. Могу скинуть на фейкопочту реализацию блока восстановления символьной на VHDL.
736 234674
>>234673
Да я представляю, но тот же интерполятор проще будет описать на vhdl, если он будет состоять из блоков задержки, суммирования и тд, чем если он будет взят в виде готового блока симулинка, который хуй пойми как устроен и работает.
Алсо, управляется он не так, как собранные мной.
Пришли код на vasiapupkin80ANUSbkUJ\PUNCTUMru, может, найду что-то в нём для себя. Обещаю не пиздить целиком :3.
Алсо, его же можно будет посмотреть в виде структурной схемы.
737 234679
>>234198
Аноны, запилил короче запись 8-битных регистров через I2C на Verilog. Покритикуйте что-ли стиль, реализацию. Нигде я там явно не обосрался?
http://pastebin.com/XdeNaL1A
17 Кб, 477x181
738 234683
>>234679
Ты это моделировал хоть?
739 234686
>>234683
Нет еще, тестбенч я наверно еще дольше чем сам модуль писать буду, а что не так? Адрес устройства 7-битный, а счетчик 8-битный. Можно было и через generate конечно сделать. Или ты о чем? Я писал по мотивам реализации с fpga4fun, там также примено сделано.
740 234687
>>234679

>Покритикуйте что-ли стиль, реализацию



Хуйня полная, говно собачье. Как ты будешь писать что-то сложнее 50 строк? А что-то быстрее i2c залупы? Реально говно. Буду писать все косяки в кучу пока не наблюю.
Сразу скажу. Да. твое говно будет работать. И будеть работать без ошибок и сбоев возможно.
1. асинхронная хуита. все должно работать от системного клока.
2. "negedge scl" это чо блядь за говно? negedge блядь? охуеть. Нет такого в реальности.
3. Блядь ну у тебя же автомат. вот же:
reg [2:0] phase; // 01 - проверка адреса устройства, 10 - запись адреса регистра, 00 - запись значения регистра
любой мудила поймет, что это автомат. ну и опиши его как классический автомат. В кварте ж даже шаблоны есть, ну еб твою мать.
4. module i2c_slave(sda, scl);
inout sda;
input scl;
741 234688
>>234686
Я верилог плохо знаю, но если на fpga4fun это работает, то тогда ок. Просто на VHDL такая конструкция с множественным присвоением без else не работает.
742 234689
>>234687
сука говно жопа моча. продолжение крч. палец соскочил на шифт
4. это чо за хуйня?
module i2c_slave(sda, scl);
inout sda;
input scl;
это 95 год! ты тогда еще может и не родился!
module i2c_slave
(
inout sda,
input scl
);
5. Форматирование вообще пиздец. Ты видел код настоящий? выбери стиль в нем и пиши все. BSD там например или еще чего.
вот это пушка:
end else begin
16 строка. нахуй оно в одну строку? строчек жалко? хуй разберешь потом жи
6. это чо за хуйня в 21 строке?
phase = 2'b01;
м? блокирующее? это вообще не должно компилироваться.
7, прижимаем sda???? прижимаем?
8. второй раз. phase - состояние системы. кодировать в нем дополнительную информацию и извлекать ей по частям хуево!
743 234691
>>234689
9. про условия. посмотри синтез этого блока. охуеешь. нельзя так бездумно проектировать ветвления. В данном случае это может работать. не спорю
10. спецификатор размера констант нужно использовать всегда!
bitcnt == 7 ??
11. хули параметр локальный? может тебе два говна таких понадобится?
module i2c_slave
#(
parametr I2C_ADR = 7'h27
)
(
inout sda,
input scl
);
12. для ЛОГИЧЕСКИХ операций используй ЛОГИЧЕСКИЕ операторы. Это подчеркивает их ЛОГИЧЕСКУЮ природу. алсо
логические : && || !
битовые : & | ~
13. а где сброс маня? вот ты включишь свое говно в каком состоянии будет phase? 3'b000 ? а ты уверен? А? кстати, нахуй 3 бита, если используешь 2?
14. кстати phase может стать 011, из-за метастабильности. что станет? все умрет?

ой лан заебался. задавайте ваши ответы котаны.
744 234692
>>234691

>задавайте ваши ответы котаны


Хуя у тебя бомбануло.
745 234695
>>234692
ну тип просили покритиковать, лол
746 234710
>>234695

>задавайте ваши ответы котаны.


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


Тактируется по scl мастером, если I2С модуль тактировать оверсемл системным клоком, то я даже хуй знаю как это реализовать.
2. "negedge scl" это чо блядь за говно? negedge блядь? охуеть. Нет такого в реальности.
Поясни. Что не так?
3. ну и опиши его как классический автомат. В кварте ж даже шаблоны есть, ну еб твою мать.
Пока не разбирался, но чую что конкретно здесь будет сложнее и LE больше сожрет.
4., 5. это чо за хуйня?
Ну раз уж сказал, критикуйте ситль - ок. Хотя мне после СИ от этих begin end самому припекает.
6. проебал, да. Хотя квартус сожрал, не знаю как.
7. Лол, комментарии критиковать не просил.

>8. второй раз. phase - состояние системы. кодировать в нем дополнительную информацию и извлекать ей по частям хуево!


Хорошо, если если вместо 2-битового регистра сделаю два 1-битных, тогда норм? Или же сравнивать с конкретным значением всегда? Но тогда больше LE сожрется.

>9. про условия. посмотри синтез этого блока. охуеешь.


Ок, покажи как правильно. Могу предположить, 7-битный адрес надо задать как 8-битный со сдвигом влево на один бит.
10. Ок.

>11. хули параметр локальный?


Не принципиально, всегда можно переделать.
12. Ок.

>13. а где сброс маня?


Сброс при получении START последовательности от мастера

>нахуй 3 бита


Ок, моя ошибка.

>14. кстати phase может стать 011


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

>задавайте ваши ответы котаны.


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


Тактируется по scl мастером, если I2С модуль тактировать оверсемл системным клоком, то я даже хуй знаю как это реализовать.
2. "negedge scl" это чо блядь за говно? negedge блядь? охуеть. Нет такого в реальности.
Поясни. Что не так?
3. ну и опиши его как классический автомат. В кварте ж даже шаблоны есть, ну еб твою мать.
Пока не разбирался, но чую что конкретно здесь будет сложнее и LE больше сожрет.
4., 5. это чо за хуйня?
Ну раз уж сказал, критикуйте ситль - ок. Хотя мне после СИ от этих begin end самому припекает.
6. проебал, да. Хотя квартус сожрал, не знаю как.
7. Лол, комментарии критиковать не просил.

>8. второй раз. phase - состояние системы. кодировать в нем дополнительную информацию и извлекать ей по частям хуево!


Хорошо, если если вместо 2-битового регистра сделаю два 1-битных, тогда норм? Или же сравнивать с конкретным значением всегда? Но тогда больше LE сожрется.

>9. про условия. посмотри синтез этого блока. охуеешь.


Ок, покажи как правильно. Могу предположить, 7-битный адрес надо задать как 8-битный со сдвигом влево на один бит.
10. Ок.

>11. хули параметр локальный?


Не принципиально, всегда можно переделать.
12. Ок.

>13. а где сброс маня?


Сброс при получении START последовательности от мастера

>нахуй 3 бита


Ок, моя ошибка.

>14. кстати phase может стать 011


Не умрет кончено, но сбой при записи будет.
Ну хоть тредик оживили, срачеки припекания, вот это все.
747 234714
>>234710
Я с твоего позволения не буду опять писать развернуто.
2. регистры в в любой реально плисе работают по положительному фронту.
8. это изменит описательную модель. Многие вещи в нашем мире можно описать по разному в разных случаях.
9. не. думать надо, чет лень уже.

отдельно.
Какой у тебя кристалл? чо ты эти LE пытаешься сэкономить? что-то типа <1к?

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

Конечно это если тебе это нужно в дальнейшей работе и у тебя в планах стать гуру в программировании. Если нет, то вообще похуй.
748 234715
>>234714

>регистры в в любой реально плисе работают по положительному фронту.


Ты тралишь меня?

>не. думать надо, чет лень уже.


уже сделал, получилось конечно получше в плане количества LE

>Какой у тебя кристалл?


циклон на 10K, но это не важно, всегда стараюсь экономить ресурсы везде, где это возможно.
749 234720
>>234715
ну ты можешь мне не верить и посмотреть в синтезированную схему. Увидишь инвертор.
Потом можешь почитать документацию.

> всегда стараюсь экономить ресурсы везде, где это возможно.


короче ты этим не зарабатываешь. я уже понял.
В принципе навык безусловно нужный, но довольно редко.
750 234728
>>234720
Анончик, а сколько занимаешья верилогом? Каким еще программированием занимаешься?
Ну и в двух словах про отрицательный фронт поясни плз.

Давно не заходил, а тут такое оживление вдруг.

Сам контроллеро-холоп. Подумываю податься в плисо-боги.
751 234731
>>234720

>Увидишь инвертор.


Ну дак и что? Чем тебе "negedge scl" не понравился-то?

>короче ты этим не зарабатываешь.


Спасибо Кэп, да я Verilog начал ковырять несколько дней назад.

>нужный, но довольно редко.


А потом гроб, гроб, кладбище, пидр, новый КТС заказчику ты за свои деньги покупаешь.
752 234740
>>234639

>Типа блок в симулинке или про какой ацп ты говоришь?


Я говорю про Аналого-Цифровой Преобразователь, микросхема такая.

>>234689
>>234691

>phase = 2'b01;


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


А что ты имеешь против блокирующего присвоения?
За каким-то лешим его же оставили в языке.
Если в одной конструкции begin-end переменная упоминается только один раз то оно работает точно так же как и не блокирующее, зато лишний символ печатать не нужно.

>12. для ЛОГИЧЕСКИХ операций используй ЛОГИЧЕСКИЕ операторы. Это подчеркивает их ЛОГИЧЕСКУЮ природу. алсо логические : && || !


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

>13. а где сброс маня? вот ты включишь свое говно в каком состоянии будет phase? 3'b000 ? а ты уверен? А?


Уверен, сама Альтера гарантирует.

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


И чем он плох, в том случае если вся схема создана как negedge?

>>234679

>always @(negedge scl or posedge start)


>if(start) begin // start = 1, сработал триггер posedge start


Пиздец, конечно. У тебя триггер start в списке чувствительности, это значит что его выход заходит на тактовый вход твоего счётчика bitcnt. Как писали выше, крайне желательно, чтобы все триггеры тактировались одним синхросигналом.
Бывают исключения, но там нужно применять специальные меры.
752 234740
>>234639

>Типа блок в симулинке или про какой ацп ты говоришь?


Я говорю про Аналого-Цифровой Преобразователь, микросхема такая.

>>234689
>>234691

>phase = 2'b01;


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


А что ты имеешь против блокирующего присвоения?
За каким-то лешим его же оставили в языке.
Если в одной конструкции begin-end переменная упоминается только один раз то оно работает точно так же как и не блокирующее, зато лишний символ печатать не нужно.

>12. для ЛОГИЧЕСКИХ операций используй ЛОГИЧЕСКИЕ операторы. Это подчеркивает их ЛОГИЧЕСКУЮ природу. алсо логические : && || !


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

>13. а где сброс маня? вот ты включишь свое говно в каком состоянии будет phase? 3'b000 ? а ты уверен? А?


Уверен, сама Альтера гарантирует.

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


И чем он плох, в том случае если вся схема создана как negedge?

>>234679

>always @(negedge scl or posedge start)


>if(start) begin // start = 1, сработал триггер posedge start


Пиздец, конечно. У тебя триггер start в списке чувствительности, это значит что его выход заходит на тактовый вход твоего счётчика bitcnt. Как писали выше, крайне желательно, чтобы все триггеры тактировались одним синхросигналом.
Бывают исключения, но там нужно применять специальные меры.
753 234766
>>234740

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


Ага, могу предположить, что ты говоришь например о следующей ситуации. Есть два триггера тактируемые клоком, при этом один меняет значение регистра, второй считывает его. Если допустим между триггерами будет рассинхрон, из-за того что клок на него подключен через некий элемент, который добавляет задержку по времени, то на достаточно высоких частотах второй триггер вероятно будет считывать фактически рэндомные значения регистра. Ну и наверно еще возможны какие-то негативные последствия. Так? Но если разобраться что приосходит - scl и sda это именно ноги плиски, которыми рулит внешний девайс на максимальной частоте в 400КГц. Стартовая последовательность - спад sda при высоком уровне scl, start выставляется в 1, срабатывает триггер posedge start, по которому инициируется значение счетчика. Возможное следующе событие - только спад scl, по которому уменьшается ранее установленное значение счетчика и собствнно все измненеия регистров далее идут только по сигналу scl, а по спаду sda в start всегда устанавливается 0. Короче триггер posedge start за весь цикл записи срабатывает только один раз при поступлении стартовой последовательности I2C, далее по спаду scl декрементируется счетчик битов либо переключение на следующую фазу, по фронту scl читаем значение бита от мастера и сравниваем с адресом устройства, либо формируем адрес и значение регистра. Если я ошибюсь - поправь меня. Собственно вовсе необязательно всегда использовать posedge clk, если конечно понимаешь, что делаешь.
754 234767
>>234728
5+ лет. Verilog, C, matlab.

>>234731

>КТС


эт чо такое?

>>234740

>Если в одной конструкции begin-end


В одном процедурном блоке always

>Вот это полная хуита.


ты нихуя не понял, из того что я написал.

>Альтера гарантирует.


альтера на fpga да, гарантирует. Но но это не единственная причина почему надо явно инициализировать сигналы и делать сбросы.
да и ты уверен, я уверен, а он может и не уверен... надо понимать что делаешь)

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


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



это асинхронный сброс. счетчик считает по scl

И в конце отдельно про negedge clk.
Схема логического модуля аппаратно так реализована, чтобы работать по положительному фронту. Там типа D-триггер на кмоп логике и вся фигня.
Так вот чтобы получить этот положительный фронт на триггере синтезатор вставит на клоковую цепь инвертор.
Вы ведь знаете про глобальные тактовые линии? Так чтобы проинвертировать сигнал его нужно вывести из глобальной линии на линию данных и подать на логический модуль. Дальше разные варианты: завести обратно, не заводить обратно, где этот модуль располагается физически, как много у этого нового клока абонентов...
В итоге это выливается в понижение стабильности сигнала самого по себе, а так же в несинхронность его прихода ко всем абонентам. Как следствие гонки и низкая максимальная тактовая частота работы.
Если этого не знать, то выглядит как магия и странные необъяснимые глюки. Например зависит работоспособность от компиляции к компиляции, от загруженности кристалла, от температуры.
Кстати знаете ведь про временной анализ? timequest, вся фигня.
754 234767
>>234728
5+ лет. Verilog, C, matlab.

>>234731

>КТС


эт чо такое?

>>234740

>Если в одной конструкции begin-end


В одном процедурном блоке always

>Вот это полная хуита.


ты нихуя не понял, из того что я написал.

>Альтера гарантирует.


альтера на fpga да, гарантирует. Но но это не единственная причина почему надо явно инициализировать сигналы и делать сбросы.
да и ты уверен, я уверен, а он может и не уверен... надо понимать что делаешь)

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


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



это асинхронный сброс. счетчик считает по scl

И в конце отдельно про negedge clk.
Схема логического модуля аппаратно так реализована, чтобы работать по положительному фронту. Там типа D-триггер на кмоп логике и вся фигня.
Так вот чтобы получить этот положительный фронт на триггере синтезатор вставит на клоковую цепь инвертор.
Вы ведь знаете про глобальные тактовые линии? Так чтобы проинвертировать сигнал его нужно вывести из глобальной линии на линию данных и подать на логический модуль. Дальше разные варианты: завести обратно, не заводить обратно, где этот модуль располагается физически, как много у этого нового клока абонентов...
В итоге это выливается в понижение стабильности сигнала самого по себе, а так же в несинхронность его прихода ко всем абонентам. Как следствие гонки и низкая максимальная тактовая частота работы.
Если этого не знать, то выглядит как магия и странные необъяснимые глюки. Например зависит работоспособность от компиляции к компиляции, от загруженности кристалла, от температуры.
Кстати знаете ведь про временной анализ? timequest, вся фигня.
755 234772
>>234767

>Если в одной конструкции begin-end


>В одном процедурном блоке always



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

Кстати еще пришло в головку.
Когда пишешь If и не пишешь else,то это вместо мультиплексора и триггера, которые есть в ячейке породит защелку которая будет хуево сказываться на быстродействии.
756 234773
>>234767

>КТС


>эт чо такое?


Комплекс техинческих средств. Хард заказчика, на котором выполняетя твой софт. Не экономишь на тактах и байтах, твой софт начинает тормозить, заказчит из бюджета проекта тратит бабло на новый хард, вместо того, чтобы выплатить тебе премию. Видимо не сталкивался, раз навык экономии считаешь редко нужным.
757 234774
>>234773
Это да, хард всегда свой.

Экономишь на тактах и байтах в ущерб понятности и структуре - не справишься с большими проектами. Типа на одной плате проц и 3 плис по 150к алм.

Видать ты просто никогда не сталкивался с большими проектами.
758 234775
>>234774

>на одной плате проц и 3 плис по 150к алм.


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


Лол, ты представляешь себе софт и хард мобильного оператора на 100 миллионов абонентов?
759 234777
>>234775
Положил на лопатки. Сдаюсь.

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

Или я что-то не так понял?
17 Кб, 1212x274
760 234783
>>234766

>Если я ошибюсь - поправь меня.


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

>это асинхронный сброс. счетчик считает по scl


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

>>234767

>В одном процедурном блоке always


Верно глаголишь.

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


Может ты и прав, конечно, но всё же.

>ты нихуя не понял, из того что я написал.


Да всё я понял. В топку логические операторы.

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


Извини, но вот тут ты объебался.
Поставь инвертор на тактовом входе, откомпилируй проект и посмотри в чип планер. Я даже не поленился и сам сделал, на пик глянь.
Увидишь что инвертор физически ставится непосредственно перед тактовым входом. Актуально для Сыклона I и IV, на других не проверял.

>>234772

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


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

Как-то раз было у меня в схеме два автомата.
Один своим сигналом запускал второй, второй выполнял задачу, а после своим сигналом давал оповещение о том что задача выполнена, и всё заново. А автоматы эти были оба Мили, в которых, как известно, выходные сигналы зависят не только от состояния, как в Муре, но также и от входных сигналов.
И вот получается, что сигнал оповещения зависит от сигнала запуска, а сигнал запуска зависит от сигнала оповещения, получилась классическая петля в распределённой между автоматами комбинационной логике.
А проявлялось это в том, что сигналы на одном из автоматов через какое-то время работы срывались в автогенерацию.
Эту ошибку я отлавливал долго.
17 Кб, 1212x274
760 234783
>>234766

>Если я ошибюсь - поправь меня.


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

>это асинхронный сброс. счетчик считает по scl


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

>>234767

>В одном процедурном блоке always


Верно глаголишь.

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


Может ты и прав, конечно, но всё же.

>ты нихуя не понял, из того что я написал.


Да всё я понял. В топку логические операторы.

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


Извини, но вот тут ты объебался.
Поставь инвертор на тактовом входе, откомпилируй проект и посмотри в чип планер. Я даже не поленился и сам сделал, на пик глянь.
Увидишь что инвертор физически ставится непосредственно перед тактовым входом. Актуально для Сыклона I и IV, на других не проверял.

>>234772

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


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

Как-то раз было у меня в схеме два автомата.
Один своим сигналом запускал второй, второй выполнял задачу, а после своим сигналом давал оповещение о том что задача выполнена, и всё заново. А автоматы эти были оба Мили, в которых, как известно, выходные сигналы зависят не только от состояния, как в Муре, но также и от входных сигналов.
И вот получается, что сигнал оповещения зависит от сигнала запуска, а сигнал запуска зависит от сигнала оповещения, получилась классическая петля в распределённой между автоматами комбинационной логике.
А проявлялось это в том, что сигналы на одном из автоматов через какое-то время работы срывались в автогенерацию.
Эту ошибку я отлавливал долго.
761 234793
>>234777

>первокур унижает школяра


Найс
762 234815
>>234783

>Извини, но вот тут ты объебался.


Обосрался по полной. Старый азиат напиздел и я не заморачивался 5 лет.
Спасибо, открыл глаза.

>>234793

>>первокур унижает школяра


>Найс


Лол)
Поделись мнением, если есть что сказать.
763 234825
>>234815
>>234783

>Извини, но вот тут ты объебался.


>Обосрался по полной.



Получил дополнительный результат. Пикрелейтед.
Пояснишь за negedge?
764 234828

>это асинхронный сброс. счетчик считает по scl


>>234783

>Если честно, не понял что ты расписал



Ну да, у него он не будет асинхронным сбросом, потому что описан не правильно. Тут будет асинхронная предуставновка и это займет любые ваши лишние ресурсы.
Пример асинхронного сброса на пиках.
Синхронный сброс кстати будет работать чуть быстрее.
5 Кб, 524x169
765 234849
>>234828

>Ну да, у него он не будет асинхронным сбросом, потому что описан не правильно.


Ну ок, опиши почему не правильно, и как будет правильно? Сброс должен генериться по условию START.
12 Кб, 857x533
766 234854
Кстати, подправил условия
if(bitcnt == 4'h7) adr_match <= (sda == I2C_ADR[7]);
else if(bitcnt > 0 && sda != I2C_ADR[bitcnt]) adr_match <= 1'b0;
и посмотрел на схему, оказалось что все триггеры тактируются scl.
767 234855
>>234849

>Ну ок, опиши почему не правильно, и как будет правильно?


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

if(start) begin // start = 1, сработал триггер posedge start
bitcnt <= 4'h8; // инициируем счетчик битов
phase = 2'b01; // переходим к проверки адреса устройства
end

Вот место описывающее сброс.
Нужно сделать чтобы значения сбрасывались в ноль. т.е. чтобы первое состояние phase было 2'b00, и сделать счетчик битов в другую сторону. Не 8:-1:1, а 0:1:7.
768 234860
>>234855

>чтобы первое состояние phase было 2'b00, и сделать счетчик битов в другую сторону. Не 8:-1:1, а 0:1:7.


Ага, понял, спасибо. Действительно выход start тогда подключается на CLR phase и bitcnt. Но I2C присылает сначала старший бит, а счетчик будет считать от младшего. Придется тогда корреткировать значение индекса битов, типа [4'h7 - bitcnt], или разворачивать в множество условий. А это опять задействование дополнительных ресурсов. Или есть другой вариант?
769 234870
>>234860
я может не очень хорошо подумал. Но ты можешь ведь все записать? Просто старший бит будет на месте младшего?
тогда можно на шине инвертировать порядок бит и все. При синтезе это сделается бесплатно.

Ну например есть
wire [7:0] A;
wire [7:0] B;
assign B = A;

надо инвертировать порядок бит на выходе
wire [7:0] A;
wire [0:7] B;
assign B = A; вот тут я не очень подумал надо проверить бы. Да и не очевидно на вид.

но вообще идея такая
wire [7:0] A;
wire [7:0] B;
assign B[7] = A[0];
assign B[6] = A[1];

ну в цикл завернуть надо, можно еще чего придумать.
22 Кб, 1552x259
770 234873
>>234870

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


Да, адрес и значение регистра пишем, а вот при проверке адреса устройства - просто сравниваются очередной пришедший бит и бит адреса определенного как localparam.
Вообщем пока сделал вот так http://pastebin.com/q8e3nh2c
по принципу assign B[7] = A[0]; в виде val_mem[4'h8 - bitcnt] <= sda;
И вроде даже дополнительных ресурсов не потребовалось.

>wire [7:0] A;


>wire [0:7] B;


>assign B = A;


Такую конструкцию квартус в что-то жуткое развернул.
771 234888
>>234825
Ну во-первых: хуй знает что у тебя там за Ария 5 такая, я сам всю сознательную жизнь на Сыклонах сидел.
Во-вторых: прописал ли ты констрейны? Может ты их не прописал и у тебя Квартус каждый раз разводит как попало.
Ты лучше покажи что в чип планере делается.

>>234873
У тебя разные регистры по разным фронтам тактового сигнала тактируются. Нахуй такие схемы.
И на трёхстабильный буфер посмотри, у тебя на его входе жёсткий ноль висит. А управляет им комбинационная схема, так тоже лучше не делать.
И тактовый сигнал, который scl, заходит на вход данных регистра старт, это тоже стабильно работать не будет.

Ты задачу изложи подробно, будет понятно как тебе помочь.
772 234901
>>234888

>Ты задачу изложи подробно


I2C slave только в режиме записи

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


Да, так как по форнту scl происходит чтение sda, но после считывание последнего бита, при формировании ACK по спаду scl должно быть установлено значение sda ДО фронта scl.

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


Да, это как раз формирование ACK по спаду scl, если данные пердназначались для нас, до очередного фронта scl на sda необходимо установить 0, либо в high impedance, чтобы дать возможность другому устройству также установить 0.

>И тактовый сигнал, который scl, заходит на вход данных регистра старт, это тоже стабильно работать не будет.


Да, это необходимо для идентификации START последовательности - спад sda при высоком уровне scl, происходит это один раз за весь цикл записи. Да, I2C у меня работать будет макимум на 400кГц.

Да, если говоришь, "так лучше не делать", объясняй почему, в этом самая мякотка.
773 234904

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


Ну это как циклон 5. Архитектура такая же.

>Во-вторых: прописал ли ты констрейны? Может ты их не прописал и у тебя Квартус каждый раз разводит как попало.


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

>Ты лучше покажи что в чип планере делается.


Тоже что и здесь >>234888. При использовании отрицательного фронта ставится инверсия на каждом триггере. Ну ALM вместо LE циклона 4, но это не важно.
774 234921
>>234901

>У тебя разные регистры по разным фронтам тактового сигнала тактируются


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

>А управляет им комбинационная схема, так тоже лучше не делать.


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

>Да, I2C у меня работать будет макимум на 400кГц.


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

А вообще тебе без нормального тактового сигнала не обойтись.
Эти твои scl, sda для этого не годятся.
Нужен тактовый сигнал хотябы раз в 10 побыстрее этого scl, тогда и код будет красивый и геморроя меньше.
Например так можно сделать твой триггер (код не проверял):
module Test(
inout Sda,
input Scl,
input C //тактовый сигнал
);

reg TStartStopQ;
wire FFrontSdaY, RFrontSdaY;

always @(posedge C)
begin
//синхронизируем сигнал sda для выделения спадающего и нарастающего фронтов
TSdaQ0 <= Sda;
TSdaQ1 <= TSdaQ0;
//триггер Старт-Стоп
if(FFrontSdaY & Scl) TStartStopQ <= 1'd1;
else if(RFrontSdaY & Scl) TStartStopQ <= 1'd0;
end

assign FFrontSdaY = !TSdaQ0 & TSdaQ1; //спадающий
assign RFrontSdaY = TSdaQ0 & !TSdaQ1; //нарастающий

endmodule
774 234921
>>234901

>У тебя разные регистры по разным фронтам тактового сигнала тактируются


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

>А управляет им комбинационная схема, так тоже лучше не делать.


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

>Да, I2C у меня работать будет макимум на 400кГц.


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

А вообще тебе без нормального тактового сигнала не обойтись.
Эти твои scl, sda для этого не годятся.
Нужен тактовый сигнал хотябы раз в 10 побыстрее этого scl, тогда и код будет красивый и геморроя меньше.
Например так можно сделать твой триггер (код не проверял):
module Test(
inout Sda,
input Scl,
input C //тактовый сигнал
);

reg TStartStopQ;
wire FFrontSdaY, RFrontSdaY;

always @(posedge C)
begin
//синхронизируем сигнал sda для выделения спадающего и нарастающего фронтов
TSdaQ0 <= Sda;
TSdaQ1 <= TSdaQ0;
//триггер Старт-Стоп
if(FFrontSdaY & Scl) TStartStopQ <= 1'd1;
else if(RFrontSdaY & Scl) TStartStopQ <= 1'd0;
end

assign FFrontSdaY = !TSdaQ0 & TSdaQ1; //спадающий
assign RFrontSdaY = TSdaQ0 & !TSdaQ1; //нарастающий

endmodule
775 234922
>>234904

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


Ну хуй знает. Может попозже сам попробую. По логике вещей всё норм должно быть.

>Тоже что и здесь


Здесь ничего нет, эта ссылка на мой пост.
776 234929
>>234922

>Тоже что и здесь


>Здесь ничего нет, эта ссылка на мой пост.


сори, здесь >>234783
777 234932
>>234921
Да, наверно буду все-таки перепиливать на внутрисистемный клок, принцип понятен.

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


Ага, то есть буфер надо только на триггер подключать? Вот собственно кусок кода assign sda = (bitcnt[3] & adr_match) ? 1'b0 : 1'bz;
тогда синхронно присваивать значение в какой-либо внутренний регистр и триггер на фронт повесить? Или как?

>сначала на тактовый вход, а потом на вход данных? Вдруг наоборот. Тут как повезёт.


Чем это обусловлено?
778 234936
>>234932

>Ага, то есть буфер надо только на триггер подключать?


Буфер должен управляться триггером.

>Вот собственно кусок кода assign sda = (bitcnt[3] & adr_match) ? 1'b0 : 1'bz;


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


Ну да. Надо этот sda пропустить через D-триггер.
sda на вход триггера, выход триггера на вход управления буфера.

>Чем это обусловлено?


Каждый раз проект компилируется по разному, и сигналы по плиске прокладываются по разному и время прохождения этих сигналов получается разным.
А если тактовый сигнал будет подключён только к тактовым входам триггеров можно быть уверенным что тактовый сигнал будет проложен по специальным тактовым цепям, а они очень быстрые, за счёт того что там мало элементов коммутации, и за счёт этого тактовый сигнал приходит на все триггеры почти одновременно.
3 Кб, 713x319
779 234947
>>234936

>и за счёт этого тактовый сигнал приходит на все триггеры почти одновременно.


Спасибо за разъяснение, бро.

>Надо этот sda пропустить через D-триггер. sda на вход триггера, выход триггера на вход управления буфера.


Типа как на пикче? Вот только код получился мегастранный.
wire _sda;
assign _sda = (bitcnt[3] && adr_match);
reg __sda;
always @(negedge scl) __sda <= _sda;
assign sda = __sda ? 1'b0 : 1'bz;

Это норма?
780 234958
>>234947
Ну типа такого.
Можно и компактнее написать, без лишних переменных.

reg __sda;
always @(negedge scl) __sda <= (bitcnt[3] && adr_match);
assign sda = __sda ? 1'b0 : 1'bz;
781 234959
>>234958
Ага, понял. А чем обусловлена нестабильность выхода комбинационной логики?
782 234962
>>234959
Каждый логический элемент цепи вносит задержку, задержка у них разная. Зависит от класса скорости, но в общем можно сказать, что от технологии производства.
+ от длин цепей между элементами, что может отличаться от разводки к разводке. Анон выше упоминал об этом.
783 234964
>>234962
+ самое важное, что это все дерьмо зависит от температуры и ряда прочих внешних факторов
784 234965
>>234959
Проще вот этого хмыря глянь:
начиная с 1:01:30 и до конца
https://youtu.be/101az-mZFOA?t=1h1m27s

а после тут:
начиная с 26:10 и тоже до конца
https://youtu.be/uW8DPE6TRxM

Да и вообще, пощёлкай там по роликам, для общего развития.
785 235749
Есть кто с Краснодара? Как там с работой для ПЛИСоводов?
786 236079
>>234965
Годные лекции, буду все смотреть, но фигово, что он на листочках рисует, интерактива не хватает для наглядности.
А объясните еще за разрадность. Я допустим хочу сделать FIR. Сформировал коэффициены, нормировал их так, что в сумме дают 1, привел к разрядности в 16 бит, так что в сумме дают 16'hffff, и если допустим разрядность входных данных также будет равна 16 битам, то разрядность выходных данных = [разрядность коэффициентов] + [разрядность входных данных] + 1 = 33 бита. Я все правильно понял? Как вообще округление применять? Например есть несколько каскадно стоящих элементов, выполняющих арифметические операции, каждый из которых повышает разрадность в два раза, но на выходе все равно ЦАП в 16 бит стоит. Как правильно поступать, накапливать разрядность, а потом просто 16 старших бит на ЦАП выводить, или после каждого элемента разрадность до 16 бит понижать, или еще как? Есть какие-то общие правила на этот счет? Вроде видел где-то формулу типа "разрядность на входе + log2(полоса на входе/полоса на выходе)", и вроде это только для фильтров, но почему именно такая формула - непонятно.
787 236151
>>236079

>накапливать разрядность, а потом просто 16 старших бит на ЦАП выводить


Ага, так и делай. Можно просто лишнее отбрасывать, можно округление добавить.
788 236207
>>236151
Не совсем верный совет.
т.к. ты использушь целочисленную арифметику, то очевидно у тебя коэффициент передачи >1.
т.е. чтобы привести коэффициент передачи к 1 ты должен поделить выход фильтра на максимум АЧХ фильтра. Это даст естественное усечение разрядности выхода до разрядности входа.

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

ЗЫ подход верный, все разрядности берешь из оценки по максимуму, усекаешь после вычеслений.
789 236208
>>236207

>поделить выход фильтра на максимум АЧХ фильтра


Деление в ПЛИС - та еще ебала.
790 236212
>>236208
Зависит от того что тебе надо)
Для моих условий, деление это 0 проблем. Точность важнее ресурсов)

Есть другой вариант на самом деле.
Можно подобрать коэффициенты фильтра таким образом чтобы коэффициент усиления фильтра был близок к 2^n. Может придется расширить разрядность коэффициентов, порядок. ну короче понятно, повозиться в матлабе.
Потом сдвигом поделить на 2^n и получить близкое к 1 значение коэффициента передачи. ( на самом деле нужно получить немного меньше 1, чтобы не получить переполнения)
791 236214
/gg
792 236240
>>236212

>Для моих условий, деление это 0 проблем. Точность важнее ресурсов


>Может придется расширить разрядность коэффициентов


А зачем заморачиваться с делением и коэффициентами? Можно-же найти наиболее подходящий множитель коэффициента усиления до степени двойки. Например, тот-же кордик дает 1.647 * 2487 = 4096.089. Дешево и сердито. Или я чего-то недопонял?
793 236245
Бля, вот вам делать нехуй. Есть же плавающая точка.
794 236257
>>236245

>Есть же плавающая точка.


Ты про свой анус или о чем ты?
795 236258
>>236257
https://ru.m.wikipedia.org/wiki/Число_с_плавающей_запятой
Только нужны специальные блоки для таких чисел
796 236265
>>236258
Толсто
797 236271
>>236258
Реализовывать фильтры на плавающей точке?
798 236274
>>236271
Плавающая точка дает больший динамический диапазон и точность данных, можно спокойно умножать делить нормировать. Но стандартные АЛУ процессоров и логика плис для этого не подходят, для этого созданы fpu- спец блоки для работы с такими данными.
799 236277
>>236274
И эпический оверкил для DSP, где все данные пришли с ЦАП и уйдут в АЦП конкретной разрядности. Даже запас по разрядности лучше чем использовать флоат
800 236281
>>236277
Маня, ацп тоже могут быть float
801 236736
>>236281
Пруфы этих полтора АЦП в студию
802 236744
>>236736
Черт, тогда нахера делают dsp с float? - не понимаю
803 236873
Поднимаю веки в этом треде.
Плавающая точка не дет точность. Она дает динамический диапазон. Для ких фильтра это не нужно, огромный перерасход ресурсов.
Но во всяких адаптивных алгоритмах это очень полезно. Например обращать матрицу при подавлении помех в mimo связи.
Насчет деления кстати. Кордик тупо имеет большую латентность чем деление, выигрыш ресурсов сомнительный при этом. Ну от кристалла зависит естессно.

Кстати плис с фп не за горами, готовимся.
804 236875
>>236281
Братик расскажи подробнее?
Она квантует сразу в фп? Но это игры с богом.
Мб там какая-то интерполяция стоит или другие предвычесления.
Или скорее всего просто преобразователь в фп, но это чушь. Тип ведь кастится в одну строку.
Крч непонятно.
805 236876
>>236875
Еси ты такой умный, то объясни, нахуя целые линейнки dsp с фп у ti?
806 236880
>>236876

>Еси ты такой умный, то объясни, нахуя целые линейнки dsp с фп у ti?



Спрашиваю про ацп, ты мне кидаешь бычку про дсп. Ват?
807 236882
>>236880
С кем ты разговариваешь?
808 236883
>>236882
что за вопрос? есть же ссылки на всех сообщениях.
Ты меня тралишь?
809 236911
>>236873

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


Чет я не понял, зачем ты кордик с делением сравниваешь, и причем тут латентность.
810 236912
>>236876
Да никто тебе не говорит что ФП не нужно, просто чаще всего алгоритм ложиться на целочисленный ДСП, который быстрее выше и сильней при той же цене.
811 236913
>>236873

>Кордик


Что это?
812 236919
>>236911
Ну деление с помощью кордика и деление напрямую делением, так сказать. Как lpm divide делает например, через умножения и вычитания.
813 236922
>>236919
Я думал тут >>236240 про деление с помощью кордика, попутал.

>>236913
CORDIC. Загугли, попсовая шняга в узких кругах.
814 236923
>>236873

> Кстати плис с фп не за горами, готовимся.


Чего? А это что?
https://www.altera.com/products/fpga/features/dsp/arria-v-cyclone-v-dspblock.html
815 236924
>>236923
Хардварного саппорта ФП там нет
816 236926
>>236924
Дсп блоки это не хардварная поддержка ФП? А что это тогда?
817 236927
>>236926
MAC же, умножитель с аккумулятором
818 236928
>>236923
это не фп. фп блок будет в арии 10 и стратиксе 10. про ксайлинкс хз.
819 237476
Сап, няши.
1 Как пайплайнить простые с точки зрения behavioral операци? Например, я готов делать сложение с latency в лишний такт, как это объяснить компилятору? Только честным описанием структуры со всеми переносами carry в два этапа и т.д.?
2. Нужна линия задержки. Если не создавать руками SRL16, синтезатор все сделает на 16 флип-флопах, или поймет, что можно и одним CLB в режиме SRL16 обойтись?
3. Если написать линию задержки из SRL16 и флип-флопов (для пайплайнинга, если вход и выход далеко друг от друга), синтезатор догадается, что флип-флопы и SLR можно менять местами для лучшего использования логики, ведь на результате это не отразится?
820 237611
>>127314 (OP)
Как вкатиться в плис?
821 237635
>>237611
Колбаской
822 237671
>>237476
1, 2, 3 напиши код да попробуй засинтезировать, хули ты как не инженер? Да и про какой компилятор речь идет? Кроме того, у синтезаторов есть настройки, в том числе: использовать или нет SRL для линий сдвига.
824 238844
>>237611
Я читал выборочно (на самом деле почти все после пары первых глав) вот это: Дэвид М. Харрис и Сара Л. Харрис - Цифровая схемотехника
и архитектура компьютера. Она же, но на английском digital design-and computer architecture. Охуенно вкатишься в то, что это такое вообще, с чем едят, и какая концепция написания кода в эту шнягу. Дальше скачай среду для альтеры или сасайлинкса (для последнего лучше ise, она как-то понятнее и интуитивнее, чем вивада, да и поддерживает старые небольшие fpga, но там не будет systemVerilog), бахни там счетчик, напиши ему юнит-тест, закажи дешевую платку, пока едет, напиши уарт и думай, что ты будешь делать с ней дальше, чтобы она не лежала бесполезно как черкаш на труханах. А то я в свое время малиновый пирог купил и теперь он мне на хуй не всрался.
После всего этого Сергиенко можно почитать, у него есть книга неплохая по VHDL и по ЦОС.
А тебе для каких целей?
825 238904
Анон, а используешь ли ты программируемую логику для своих проектов? Я сейчас от нечего делать написал конфиг для считывания сеговского геймпада, сижу, дрочу на ровные тайминги.
826 239431
>>238844
Вивада унаследовала юзеринтерфейс от планахеда, я вкатился довольно быстро. Из плюсов хочу отметить на порядок более быструю отрисовку схематика, удобный дебаг с назначением цепей из того же схематика(ядра чипскопа + визуальная среда как в симуляторе), блочный дизайн вместо уебанского XPS, раздельный синтез для IP блоков. Зато полно каких то детских болезней и вылетов, нет старых серий - пиздец, хотя бы шестую оставили; констрейны на XDC вроде бы и плюс, но после их изменения устаревает синтез.
мимо 5 лет на ISE'е - кун
27 Кб, 438x606
827 239460
>>239431

>после их изменения устаревает синтез


Кэннот инту галочки?
828 239571
>>239431
Я даже не знаю, стоит ли мне пытаться вкатываться, потому что выше шестой серии у меня не будет железок скорее всего. А отладочная плата так вообще на 3e.
А вот, кстати, про констрейны - где почитать? Я весьма смутно пока представляю, что это и как применяется. Знаю только как самый длинный путь посмотреть, а там же наверняка больше возможностей есть.
829 239648
>>239571

>про констрейны - где почитать?


Constraints guide гугли.
830 239678
Анон, каким образом осуществляется сдвиг фазы синуса (а точнее хуй пойми чего) в цифровой схеме? Вот собрал я в симулинке схему синхронизации несущей для qpsk с использованием возведения в 4 степень, и получается у меня, что даже при использовании одного и того же опорного генератора между возведенным в 4 степень модулированным сигналом на несущей и возведённым в 4 степень опорным сигналом разность фаз всяко pi/2. Надо двигать. В книжке тоже написано, что надо двигать, а как это сделать - хуй знает. Это вообще возможно?
Ну и так-то для qpsk при использовании готового блока vco из симулинка возникает та же проблема.
Нашёл в книге по цос про фильтр Гильберта, там фчх на каких-то участках константа, пытаюсь сделать фильтр в матлабе - фчх линейно меняется на всем секторе частот. ЧЯДНТ?
831 239715
>>239571
Совсем не про xilinx, но гугли "TimeQuest для чайников". Там под квартус неблохо расписано. Примеры на верилоге, синтаксис констрейнов на tcl (правда, для ISE не актуально). По сути похожий инструмент есть и в ISE и в планахеде.
832 240636
>>127527
Если ты смотрел, из чего состоит логический элемент в ПЛИС, увидел бы триггер на выходе LE.
833 243663
Радиач-помогач, какого хуя?
Пилю в квартусе, вот под эту шутку:
https://www.youtube.com/watch?v=wgHmtQfMBIk
Не бейте, лучше обоссыте.
На третьей пикче - что мне надо. В простом виде (т.е. с фиксированными интервалами, без нужного сейчас кейса) работает, что в видео можно наблюдать.

ттл-пидор-совкоёб-из-времени-и-частоты-треда
835 243783
>>243675
Разобрался. Спасибо.
836 243937
ПЛИСо-бояре, есть одна двадцать ПЛИСин EPM3032 с игровых автоматиков. Эти пидары дабы исппользовать все ноги обрубили JTAG и заняли его своими выводами. Перерыл всю Альтеру в поисках способа включения или внутричипового стирания и сброса до заводских и нихуя не нашел. Может тут есть усачи знающие способ включить взад эти пины? Или брелков с них наделать?
837 243942
>>243937
In user mode, to use JTAG pins as regular I/O pins, tie the JTAGEN pin to a weak 1-kΩ pull-down. To use JTAG pins as dedicated pins, tie the JTAGEN pin to a weak 10-kΩ pull-up.
838 243943
>>243942
Это в MAX10, а у меня MAX3000.
839 243944
>>243943
Сорян, проебался. Тогда получается, что можно прошить эти камушки только через высоковольтный программатор
841 243951
>>239431
Поясни что делаешь в планахеде? Я кроме расстановки пинов не использую.
842 243952
>>243945
не. у меня не срабатывает такая фишка.
сигнал ОЕ1 так же как и все звонится на vccio
пробовал 12в давать и на ое2 и на гклрн %) всё так же, дейвас не определяется.

значит всё гораздо сложнее

http://zx-pk.ru/threads/25998-programmator-mikroskhem-programmiruemoj-logiki(cpld)/page6.html

Но всё равно попробую, спасибо!
843 243954
>>243951
Планахед - недопиленная вивада. В планахеде тот же flow, что и в ISE - к примеру, написал/накидал исходников, симуляция, синтез, имплементация, вот это все. он быстрее отрисовывает нетлисты, не так тормозит на больших нетлистах, если вдруг откроешь такой. ну и тайминг анализ там более удобный, можно сразу отрисовать failing path, если после имплементации где-то проблемы.
844 243956
>>243954

> В планахеде тот же flow, что и в ISE - к примеру, написал/накидал исходников, симуляция, синтез, имплементация, вот это все.


Разве в виваде другой flow?

>симуляция, синтез, имплементация


Как это сделать средствами планэхеда? Я не пойму где этот функционал заныкан, то что в глаза бросается - только расстановка пинов
срян, я в понедельник тугой
845 243957
>>243956

>Разве в виваде другой flow?


Ну как минимум в виваде есть IP integrator с блочным дизайном, который посути заменил уебищный XPS.

>Как это сделать средствами планэхеда?


Запускаешь планахед не из ISE, создаешь проект ну и дальше по списку. Поидее, при запуске из айса на определенном этапе проекта, в планахеде откроется "набор"(layout) окон под конкретную задачу, как, например, расстановка пинов.
846 243958
>>243957
Блять, 3 года на ise от звонка до звонка пахал и не знал про такие фичи планэхеда.
126 Кб, 781x878
847 244173
Плисаны, прошу помощи!
Есть одна ПЛИСина и проц в ней, все работает, но ВСТАЛА проблема.
Запилил бутлоадер как образ блочной памяти, он запускается и начинает читать spi-флешку из которой грузилась сама плисина на предмет поиска специальной ключевой последовательности.
Найдя её он должен распарсить заголовок и скопировать все в память -> запустить.
Однако подводный камень вылез где не ждали:
promgen вместо того, чтобы сгенерировать такой образ
top.bit ---- 0x0
--------
app.bin ---- 0x80000
-------
преобразует app.bin в hex и ложит во флешку текстом! получается пикрелейтед.
Как пофиксить?
127 Кб, 802x903
848 244174
>>244173
Исправил пикчу.

Алсо, использую команду
promgen -w -spi -c 0xff -p mcs -o top.mcs -u 0x0 top.bit -data_file up 0x80000 app.bin
849 244237
>>244173
>>244174
Спасибо за помощь.
Сам виноват, объебался с cmake, а promgen все правильно делал.
850 244258
>>244237

>Спасибо за помощь.


Обращайся, всегда поможем.
851 244284
>>244237
Все вы, программисты, дебилы какие-то.
852 244537
Пацаны, насоветуйте годную книгу по vhdl, в которой внимание уделяется синтезируемым и несинтезируемым конструкциям, с примерами в нормальном виде, а не ебнутом наглухо, как у Сергиенко. Пиздец, в коде лишнего какого-то говна напихано, пока читаешь, сломаешь глаза, что там на самом деле код, а что какая-то моча автора, его съевшая.
Алсо, мне надо в юнит-тесте симулировать отправку по uart команды, состоящей из 5 байт: 3 буквы сама команда, 1 байт - параметр, 1 байт типа контрольная сумма, которая считается как (сумма предыдущих 4 байт & 0xFF). Чтобы не делать это руками, решил написать на vhdl процедуру, которая на входе будет иметь строку из трех символов, байт в виде std_logic_vector и будет из всего этого говна считать контрольную сумму. Как я не ебался, у меня вместо контрольной суммы либо UU, либо XX. Либо вообще ошибки вылазят и симуляция не стартует. Как это правильно сделать? Пробовал приводить к unsigned каждый символ и складывать в unsigned переменную внутри процедуры, потом приравнивать контрольной сумме эту переменную, приведенную к std_logic_vector, и нихуя.
853 244603
>>244537

>которая считается как (сумма предыдущих 4 байт & 0xFF)


Нахуя 0xFF, он же на результат не влияет?
854 244662
>>244603
Имплаинг, оставить только младший байт от результата.
855 244787
>>244537

>насоветуйте годную книгу по vhdl



FPGA Prototyping by VHDL Examples - Xilinx Spartan-3 Version (Pong Chu)
856 244796
>>244662

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


Ну так и выводи только младших 8 бит от результата, это же не си, прастигоспади
857 244855
>>244603
Ну я уточнил на всякий случай, понятно, что этому приравнять можно просто вектор восьмиразрядный. Алсо, проблему решил приведением (хотя это в C привидение, а тут хуй знает что) к виду std_logic_vector(unsigned(x)) и задержкой. В смысле, после приравнивания строки сигналу команды нужно было подождать один такт. В связи с чем вопрос: как обрабатываются тестбенчи в симуляторе? Я думал, что последовательно по строке, грубо говоря, прямо как работает код на том же C. Выходит, не так. А как тогда? Не так, как синтезируемые конструкции, не последовательно. Блять, какой-то прыжок изподвыподверта.
>>244787
Спасибо, гляну.
858 244879
>>244855
В тестбенче как раз таки последовательно, но каждое изменение входных данных должно быть привязано ко времени или событию (фронт клока/сигнала, определенный уровень или значение на шине итд)
859 244880
>>244855

>В связи с чем вопрос: как обрабатываются тестбенчи в симуляторе?



Как-то так.
860 244935
>>244880
Тестбенчи на VHDL - адовый пиздец.
861 244936
>>244935

>VHDL - адовый пиздец.


fixed
862 244954
>>244936
Верилогоблядь чтоли закукарекала заместо Авроры?
863 244973
>>244954
Ты чо, бля, верилог не уважаешь?
864 244976
>>244973
Плисаны, посяните за регистры ввода-вывода.
Вот у меня есть в ПЛИСине несколько одинаковых блоков собранных generate.
В каждом из них 3 вегистра RO и 1 RW все 32 битные.
Сделал все в лоб, подключил это к шине и соснул на синтезе - триггеры кончились.
Прозреваю, что это надо делать при помощи двухпортовой памяти. Но если со стороны шины всё понятно, то со стороны девайса - нет.
Ткните ебалом на какой-нибуль пример.
865 244977
>>244976
Ответ прилип чот
866 244979
>>244973
Верилог уважаю, верилогоблядей - нет.
867 244981
>>244976
Не уверен что все правильно понял, но если твоих регистров в сумме наберется на килобиты, то, возможно, есть смысл и о двухпортовке задуматься. За примерами в доки к производителю. По внутренней шине - погугли, например, wishbone на опенкорсах. Там есть небольшие проекты по типу pci=>wishbone=>uart16550 или wishbone и какя-нибудь хуйня с регистрами.
868 244993
>>244981

>wishbone на опенкорсах.


Именно её и юзаю.

Тогда буду смотреть какой-нибудь езернет как сделан. Там должно быть много регистров.
SPI, например тоже оттуда, всё работает но там 1.5 регистра. Я делал примерно как там и соснул.
869 245497
>>244880
А, ну я вот так и сделал, всё заработало. Без ожидания такта нихрена не выходит.
>>244936
А какие альтернативы? Я в верилоге нихуя не разобрался с присваиваниями и типом "reg", мне коллега сказал, чтобы я забил на это болт и писал на vhdl, один хуй остальные на нем пишут.
Чем верилог лучше vhdl? Алсо, поясните за присваивания и типы.
870 245502

>плиз

871 245503
>>245497

>Чем верилог лучше vhdl?


Как минимум выразительный простой синтаксис, хотя begin и end прямо из паскаля и вызывают отвращение.

>Алсо, поясните за присваивания и типы.


wire - провод, ему нельзя присвоить значение, только соединить выход с n входами
reg - Д-триггер - ячейка памяти на 1 бит. Ей можно присвоить значение синхронно (always @(...)) или асинхронно (ну знаешь, как у триггеров есть входы R/S)
872 245504
А дайте пример несложной задачи для ПЛИС, чтоб проникнуться идеей.
5,3 Мб, webm,
1080x1920
873 245511
>>245504
Ну вот например изи задача для вката.
874 245522
>>245504
Частотомер.
875 245541
>>245522
В приличном обществе за такие схемы обосут личико.
876 245542
>>245541
А пояснить?
877 245565
>>245542
ПЛИС, представь себе, это не отдельные вентили, которые могут соединятся как угодно, а вполне определенная структура.
В первом приближении каждая ячейка ПЛИС - это программируемое комбинационное устройство (с 3-5 входами), подключенное к триггеру. Входы синхронизации всех триггеров подключены к единой (программируемой) сети.

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

Ну и у графического ввода полно недостатков.
878 245569
>>245565
может книжку посоветуешь? Первую - для начинающих, вторую - для профи.
1,8 Мб, 2560x1920
879 245573
>>245565
Про структуру я знаю. Просто после компиляции, если надо, смотрю, что у меня там насоединялось, и анализирую схему своими небольшими знаниями цифровой схемотехники. Увидел, например, что тактовый вход у триггеров в счётчике общий (не последовательно они соединены т.е.) - значит можно ждать хорошего быстродействия. С симуляцией еще не разбирался, пока проще осциллографом потыкать.

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


Где и как его формировать тогда? Плодить корпуса, вынося наружу в виде рассыпухи?

>Входы синхронизации всех триггеров подключены к единой (программируемой) сети


>сети


Не к одному проводу же.

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

>Ну и у графического ввода полно недостатков


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

ттл-пидор-совкоёб
880 245576
>>245503
Я бы не сказал, что в vhdl синтаксис сложный. Begin и end меня вообще выбешивали всю жизнь, когда я узнал, что в C это говно заменили на фигурные скобки, он стал моим любимым языком. И по сей день такой, пожалуй. Жаль, что некоторые вещи типа работы со строками и парсинга на нем писать заебешься.

>wire - провод, ему нельзя присвоить значение, только соединить выход с n входами


Значение чего? Сначала я думал, что wire годится для комбинаторной логики, а reg для автомата с памятью. Потом я где-то видел такую фразу, мол, reg - это не регистр и не триггер ни разу, а тип сигнала. Нихуя не понятно. Триггер разве не надо описывать целой конструкцией? Как тогда на тип reg завести клок и сбросы? Или точно также описывается триггер, просто для него необходим тип reg, но сам по себе он в триггер не синтезируется? Wire для портов входа и выхода у модулей что ли нужен? Или только входа? А если на вход триггер надо поставить?
881 245577
>>245542
Коротко говоря - лютая асинхронщина.

>>245569
Глянь этого хмыря, для начала:
https://www.youtube.com/user/jack0ov/videos

Книги:
"Проектирование на ПЛИС. Курс молодого бойца (К. Максфилд, 2007).djvu"
"Проектирование систем на микросхемах программируемой логики.pdf"
"Схемотехника и средства проектирования цифровых устройств.pdf"
"ПЛИС фирмы Altera (Стешенко).djvu"

"основы проектирования цифровых схем.djvu"
"Проектирование цифровых устройств.djvu"
"Проектирование Цифровых Устройств - Хоуп.djvu"
"Угрюмов Е. Цифровая схемотехника.djvu"
"ЦИФРОВАЯ СХЕМОТЕХНИКА Гудилин.pdf"
"Цифровая схемотехника и архитектура компьютера.pdf"
"Цифровая электроника для начинающих (Хокинс).djvu"
"Цифровые системы. Теория и практика (Точчи).pdf"
882 245583
>>245576

>Begin и end меня вообще выбешивали всю жизнь


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

>>245576

>Значение чего? Сначала я думал, что wire годится для комбинаторной логики


Короч смоти.
wire - это полный аналог провода, он состояния хранить не может, только передавать от до.

reg - может синтезироваться как в комбинационную логику так и в триггер (регистр), тут как напишешь. В Верилоге, для меня, это был самый трудный момент: как так, пишем reg а на выходе получаем комблогику?
Вот такая есть в нём нелогичность, но это, пожалуй, единственный такой скользкий момент.

комблогика (мультиплексор):
wire хуй, говно, моча;
assign хуй = пизда? говно : моча;

reg Хуй;
always(*)
begin
if(пизда) Хуй = говно;
else Хуй = моча;
end

регистр (мультиплексор с триггером на выходе):
always(posedge злоебучий_клок or злоебучий_асинхронный_сброс)
begin
if(злоебучий_асинхронный_сброс) Хуй = 0;//типа асинхронный сброс
else
if(пизда) Хуй = говно;
else Хуй = моча;
end

Как видим в первом олвейсе вместо тактового сигнала стоит звёздочка, это значит, что наш триггер без клока, а раз он без клока, то это комблогика.
Во втором олвейсе клок указан, значит это полноценный триггер.
882 245583
>>245576

>Begin и end меня вообще выбешивали всю жизнь


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

>>245576

>Значение чего? Сначала я думал, что wire годится для комбинаторной логики


Короч смоти.
wire - это полный аналог провода, он состояния хранить не может, только передавать от до.

reg - может синтезироваться как в комбинационную логику так и в триггер (регистр), тут как напишешь. В Верилоге, для меня, это был самый трудный момент: как так, пишем reg а на выходе получаем комблогику?
Вот такая есть в нём нелогичность, но это, пожалуй, единственный такой скользкий момент.

комблогика (мультиплексор):
wire хуй, говно, моча;
assign хуй = пизда? говно : моча;

reg Хуй;
always(*)
begin
if(пизда) Хуй = говно;
else Хуй = моча;
end

регистр (мультиплексор с триггером на выходе):
always(posedge злоебучий_клок or злоебучий_асинхронный_сброс)
begin
if(злоебучий_асинхронный_сброс) Хуй = 0;//типа асинхронный сброс
else
if(пизда) Хуй = говно;
else Хуй = моча;
end

Как видим в первом олвейсе вместо тактового сигнала стоит звёздочка, это значит, что наш триггер без клока, а раз он без клока, то это комблогика.
Во втором олвейсе клок указан, значит это полноценный триггер.
883 245597
>>245577

>Коротко говоря - лютая асинхронщина


Ну дык, мне тут только частоту поделить да импульсы посчитать. Специально после счёта перед выводом на индикацию сделал задержку, чтобы все счётчики досчитали.
Дальше буду синт с ФАПЧ делать - вот там будет синхронный ДПКД.

Пикрелейтед - самый сложный модуль частотомера. Он работает, занял 50 LE, но можете меня обоссать, потому что от идеала инфа сотка, что далёк.
884 245631
>>245597
>>245573

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


Не формируй тактовый сигнал вообще. Формируй стробирующие (разрешающие) импульсы.
226 Кб, 1524x969
885 245636
>>245577

>Коротко говоря - лютая асинхронщина.


Я хуй, который пилит 24 частотомера.
Буквально вчера пытался собрать новый вариант и компилятор меня на хуй послал с моеё асинхронщиной.
Коротко говоря, по срабатыванию триггера мне нужно записать значение регистра в блочную память. Результат пикрелейтед.
Что теперь делать? Использовать выход триггера как ENABLE а писать по общей синхронизации?
886 245640
>>245636

> Использовать выход триггера как ENABLE а писать по общей синхронизации


This
А вообще, если уж хочется проверить что ты написал, то эту ошибку можно превратить в warning, последнюю строку без кавычек <> с пика добавь в файл констрейнов *.ucf
887 245653
>>245640

>эту ошибку можно превратить в warning, последнюю строку без кавычек <> с пика добавь в файл констрейнов *.ucf


Не, ну нахуй. зачем писать заведомый говнокод.
888 245654
>>245497
SystemVerilog впитал все лучшее из VHDL и при это остался верилогом. После релиза этого божественного языка битва языков окончена. Все. Там кстати вмето reg и wire теперь просто logic. Единственный минус, только 7-я серия у Xilinx. У альтеры с этим получше, помоему.
889 245655
>>245522
Вот все в тебе хорошо, железки делаешь, но форсить их везде заебал решительно. В каждом ебучем треде твое поделие.

И да, схематик для пидаров.
890 245656
>>245654

>только 7-я серия у Xilinx


Жадные проприентарщики. Искуствено создают ограничения, лишь бы бабла срубить.
1,8 Мб, 2560x1920
891 245666
>>245655
Если в радиаче всего три треда (времени и частоты, ПЛИС и прикрепленный), то в каждом, да.
Про схему сказал уже.

>>245631
Когда я попытался сделать сразу 10 мс из 50 МГц, Квартус меня нахуй послал. Пришлось делить.
Что я делал не так?
892 245702
>>245583

>комблогика (мультиплексор):


Wire-переменной может быть присвоена только другая wire-переменная или порт, правильно? Она нужна только для соединения модулей что ли? А reg можно присвоить и reg, и wire, так?
Короче, для внутри модуля всем signal из vhdl можно сопоставить reg из verilog, за исключением тех, что заводятся на выход включенного в данный модуль модуля, например. Верно?
>>245656
Они вообще пидоры. В ISE нет SV, а Vivado не поддерживает небольшие плис. ISE еще и поддержки больше никакой не имеет вроде.
893 245713
>>245666
Вот тебе простой пример. Разумеется, такой код не имеет практического применения, он только показывает принцип.

>>245702

>Wire-переменной может быть присвоена только другая wire-переменная или порт, правильно?


Неправильно. wire можно присвоить комбинационное выражение. Прочти еще раз код того анона.
894 245715
>>245713
Сделал небольшую ошибку, вместо clk_div_8 написал clk_div_16
895 245727
>>245702

>Wire-переменной может быть присвоена только другая wire-переменная или порт, правильно? Она нужна только для соединения модулей что ли?


Да, но не только.
wire drisnya = govno & mocha;
Здесь провод drisnya является выходом элемента И.

А reg можно присвоить и reg, и wire, так?
Угу.
896 245735
>>245666

>Когда я попытался сделать сразу 10 мс из 50 МГц, Квартус меня нахуй послал. Пришлось делить.


>Что я делал не так?


А как ты пытался сделать 10 мс не деля?
42 Кб, 648x481
897 245757
Наконец дошло, как работает DDS.
Запилил пикрелейтед. Тактовая частота 50 МГц, шаг 1 кГц, аккумулятор 32 бита, занял всего 68 LE. По фронту с валкодера на соответствующем входе увеличивает или уменьшает частоту на шаг.
Но есть проблема: при вращении ручки в случайные моменты добавляется ошибка, некратная шагу.
Почему так?
898 245775
>>245757
Дребезг наверно. Используй триггер.
899 245777
Ой, у тебя еще и блокирующее присваивание в блоке always. Переписывай нахуй.
900 245811
>>245777
Переписал.

>>245775
Триггеры и так были, но видимо фронты прыгали, поэтому ввёл одновибраторы по 200 мкс, теперь всё чётко.

Попробовал расширить аккумулятор до 64 бит - работает. При клоке 50 МГц и шаге 10 Гц относительная ошибка установки частоты 2.4х10-14.
Паром ссу. Как несложно, оказывается.
901 245815
Есть среди ПЛИС варианты копеечных готовых плат, типа китайской ордурины нано? Чтобы обучаться и ваять простые махарайки.
902 245817
>>245811
Ты про точность кварца на плате не забывай.
>>245815 Копеечные только китайские с Али, из фирменных посмотри de0-nano. Но она 7к стоит примерно. Э
903 245820
>>245817

>Ты про точность кварца на плате не забывай


После знакомства с пикрелейтед 1 это первое, о чём вспоминаю.

>>245815
Пикрелейтед 2 - плата CPLD на 570 LE за 10 баксов. Не сильно дорого, ящитаю. Найдёшь на Али по запросу "EPM570".
76 Кб, 640x480
904 245825
>>245815
Ищи на али по запросу waveshare altera.
905 245826
>>245820
>>245825
Что скажете об этом варианте?
http://www.aliexpress.com/item/ALTERA-FPGA-CycloneII-EP2C5T144-Minimum-System-Development-Board-Learning-Board-FZ0697/1966348170.html

>waveshare altera


Оно в 2 раза дороже этих двух вариантов. Дорохо для нуба.
906 245829
>>245826
Второй Сыклон уже не в тренде.
907 245831
>>245826
Cyclone II и Cyclone IV, теперь видишь разницу?
Конечно, если ты не собираешься делать что-то быстрое на ПЛИС (например обработку сигналов), то этот вариант подойдет.
Посмотри: http://ru.aliexpress.com/item/xilinx-fpga-development-board-spartan6-xilinx-spartan-6-XC6SLX45-xilinx-board-xilinx-spartan-6/967529392.html
Также не забудь, что с этими платами тебе потребуется USB-Blaster.

Но я бы посоветовал брать плату с динамической памятью, например DE0-nano. Т.к. в FPGA все же мало блочной памяти для многих задач (например простейшей обработки видео).
908 245838
Скажите, а в прыщах есть среды для работы с ПЛИС?
909 245857
>>245713 >>245727
Поясните тогда мне из ISE такую конструкцию (в code templates есть):

parameter ADDER_WIDTH = <adder_bit_width>;

wire [ADDER_WIDTH-1:0] <a_input>;
wire [ADDER_WIDTH-1:0] <b_input>;
wire [ADDER_WIDTH-1:0] <sum>;

assign <sum> = <a_input> + <b_input>;

Здесть wire присваивается выход сумматора. Он изменится вместе с изменением одного из входов? Что поменяется, если все wire в этом коде поенять на reg? D-триггер появится только если добавить код чувствительности к клоку?
Вообще, поглядел на verilog - он и правда куда легче и удобнее vhdl, с присваиваниями более-менее разобрался, осталось до конца в типы въехать, и можно начинать писать на нём.
910 245883
>>245838
Зайлинксовская ИСЕ и Вивада есть под прыщи и норм пашет.
Брат жив, зависимости нет. Правда я извращенец и пишу в КуТэ креаторе и собираю всё это говно Цмэйком.
Просто студия мне не нравится. Она выглядит чуть лучше блокнота. Подсказки? - хуй ты нюхал!
Только убогая подсветка синтаксиса.
911 245886
>>245883
Покежь типовой cmake
sage 912 245888
>>245886
Вот та часть, что отвечает за сборку верилога,
но там еще куча вспомогательных модулей, загрузчик и прошивка.
Суть в том, чтобы отслеживать изменения в коде загрузчика и пересобирать образ памяти по необходимости.
Если меняется прошивка - пересобирать битстрим.

Могу на гитхаб проект залить
913 245889
>>245888
Сажа прилипла
914 245891
>>245888
Залей, плиз
916 245893
>>245892
Спасиб
917 245897
>>245857

>Что поменяется, если все wire в этом коде поенять на reg?


Не скомпилится.
918 246385
Шалом плисаны. Надо сделать вундервафлю, в которой происходит загрузка в DDR3 32 гигов данных с некой ПЗУ. Но есть ограничение по времени. Весь процесс должен занять не более 30 минут. Какую память выбрать? Важный момент: надо обойтись без процессора. Контроллер ПЗУ должен быть полностью аппаратным.
Для макета планирую использовать сд-карту. На сколько реализуемая задача?
919 246395
>>246385
Самое сложное тут подключить к ПЛИС 32 гига памяти, таких девбордов не много.
А так, ваще на легке, тут даже арм справиться
920 246396
>>246395
Ненене, Девид Блейн. Никаких процессоров. Контроллер SD должен быть полностью на логике. Причем SPI режим не подходит по скорости. Нужно UHS-II. Кто-то делал подобное на FPGA?
921 246400
>>246395

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



С ддр как раз все более менее понятно. А вот с ПЗУ куча вариантов
922 246645
Дельта-сигма из говна. Хватило, чтоб DDS промодулировать.
https://www.youtube.com/watch?v=WnmWHj7p0Z0

Но я сжёг плисину, уронив землю щупа осциллографа на плату, поэтому вопрос: сколько LE уйдёт на обоссаный ФНЧ порядка так эдак 10-го с разрядностью 12 бит? Денег мало, но нашёл на Али плату за 1к с самым простым вторым циклоном на 4к элементов, думаю, влезет ли в неё фильтр и сколько ещё останется на приёмник
923 246651
>>246645
Смотря как сделаешь.
Мы же не знаем, какое тебе требуется быстродействие.
Комбинационный умножитель очень большой, поэтому если ты сделаешь его на LE, он мало того что займет много LE, так еще и медленным будет. Поэтому в FPGA имеются готовые умножители, в EP2C5 есть 13 умножителей 18х18 разрядов. Сколько тебе потребуется умножителей для твоего фильтра?

А так же, LE в втором циклоне и четвертом отличаются, у LE четвертого вроде больше возможностей.
Возьми лучше четвертый циклон, как я советовал выше, всего лишь на 170 рублей дороже.
http://ru.aliexpress.com/item/xilinx-fpga-development-board-spartan6-xilinx-spartan-6-XC6SLX45-xilinx-board-xilinx-spartan-6/967529392.html
8 Кб, 774x314
924 246668
>>246651

>Смотря как сделаешь.


Пикрелейтед. На входе АЦП, сигнал с которого перемножается с сигналом с перестраиваемого DDS, затем децимируется, фильтруется и преобразуется в аналоговый. Получается классический приёмник прямого преобразования, только в цифровом виде.

>Мы же не знаем, какое тебе требуется быстродействие


От фильтра требуется обрабатывать НЧ сигнал с частотой дискретизации не выше 50 кГц. Задержка побоку. Разрядность - 10..12 бит.

>Поэтому в FPGA имеются готовые умножители


В курсе. Вопрос в том, что их не сильно много, и

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


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

>Возьми лучше четвертый циклон


Заказал только что эту плату попутно недоумевая с названия в ссылке и успев обосраться, не разглядев поначалу флешку.
925 246689
>>246668
Частота дискретизации ФНЧ получается в пару тысяч раз меньше тактовой. Можно одно умножение хоть за 20 тактов делать. Для такого ФНЧ хватит одного умножителя. Даже микроконтроллеры с таким справятся..
А как ты себе представляешь дециматор? Дециматор это тоже ФНЧ, который наверняка окажется побольше.
DDS - таблицей тут не выйдет сделать большую разрядность, целесообразно взять библиотечную мегафункцию (IP core), NCO CORDIC кажется называется.
Советую попробовать все это смоделировать в симулинке, в нем можно из готовых блоков нарисовать всю схему и посмотреть получаемые спектры.

Тут наверное мало людей с опытом разработки устройств ЦОС. У меня такого опыта тоже почти нет.
В НИИ, в котором я работаю, относительно недавно взяли работу по разработке подобного приемника, хотя раньше подобным не занимались.
Вот теперь я почти в одиночку делаю этот приемник, и совета спросить почти не у кого.
926 246715
Я короче фиг знаю, что вы делаете, но CORDIC позволяет выполнять умножение на синус\косинус вообще без множителей, дециматор - это CIC фильтр, коэффициенты не нужны, но нужны для компенсационного FIR фильтра - можно тут посмотреть https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an455.pdf
Сам делаю нечто подобное. CORDIC сам делал, CIC взял на OpenCores, FIR тоже сам делаю - один множитель, линия задержки на RAM.
927 246740
>>246715

>CORDIC сам делал


Выложи на git, плис
928 246742
>>246715
И что с того, что для CIC не нужны умножители? Он от этого проще становится?
Вот по примеру на который ты ссылаешься получается коэффициент усиления фильтра 162 дБ. Неслабо? Получается там требуются 12+27 = 39 разрядные сумматоры.
Или ты можешь сказать где можно отбросить разряды? Можно какие-то разряды отбросить вроде бы, но не все так просто. И все равно получается приличная разрядность.

И нахрена нужен компенсаторный фильтр, если после все равно ставишь ФНЧ?

>FIR тоже сам делаю - один множитель, линия задержки на RAM.


>>246645

>ФНЧ порядка так эдак 10-го


Анон из треда частоты и времени тут явно хотел IIR поставить, который намного менее требователен к ресурсам, чем FIR.
19 Кб, 544x408
929 246746
>>246742

>Или ты можешь сказать где можно отбросить разряды?


Почитай вот здесь http://read.pudn.com/downloads163/ebook/744947/123.pdf

>however, truncation or rounding may be used


at each filter stage reducing register widths significantly

>И нахрена нужен компенсаторный фильтр, если после все равно ставишь ФНЧ?


Это и есть ФНЧ - только он еще АЧХ выравнивает, поэтому коэффициенты нужно специально рассчитывать

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


Лол, вот тут тебя переполнение разрядности свойственное для IIR не смущает

>намного менее требователен к ресурсам


После дециматора на один семпл приходится куча тактов, дял FIR достаточно одного множителя и одного сумматора ну и еще немного LE.
79 Кб, 638x479
930 247226
Сап, плисаны. Кто ковырял AXI4-full?
Поясните плз за хендшейк.
Нахуя это вообще нужно? Особенно нихуя не понял про тот случай, когда valid и ready выставляются одновременно.
931 247227
>>247226
Мониторил илой AXI4 от интерконнекта до ядра DDR - везде встречался только первый вариант, когда мастер выставляет valid, через несколько тактов слейв выставлял ready и оба сигнала уходили в низкий уровень
932 247231
>>247226
Вангую, что все эти случаи - следствие асинхронного взаимодействия.
1. Мастер готов предоставить данные раньше чем слейв готов их прочитать.
2. Слейв готов считать данные раньше чем мастер готов их предоставить.
3. И мастер и слейв оказались готовы одновременно.
Что-то похожее есть в I2C но там слейв линией клока может управлять если не готов данные читать. А здесь отдельная линия.
933 247510
>>247226
в альтеровском авалоне такая же штука.
Честно я не вижу сложности. задай дополнительные вопросы.

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

Механизм valid/ready позволяет делает это и еще много чего.
934 247738
Скоро, вероятно, вкачу в ПЛИС на работе virtex-7. Блиц-вопросы:
Код на vhdl переносим?
Есть ли что-то типа бесплатных либ под плис, не на очевидном си?
Ip-коры были придуманы для покупки?
Если я у Арма куплю ядро, они мне дадут некие файлы, и я смогу на плис развернуть ядро?
935 247836
>>247738

>Код на vhdl переносим?



пиздец, я его надух непереношу, дерьмо это

>Если я у Арма куплю ядро



если у тебя дохуя денег, отдай их лучше мне, больше пользы будет
936 248064
>>247738

>Код на vhdl переносим?


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

>Есть ли что-то типа бесплатных либ под плис


opencores.org

>Ip-коры были придуманы для покупки?


Проприетарщина, да.

>Если я у Арма куплю ядро, они мне дадут некие файлы, и я смогу на плис развернуть ядро?


Жирно слишком АРМ тебе. На том же опенкоресе полно процессоров. В частности видел Amber - открытая реализация набора команд Cortex-M3. Сам не щупал, для моей задачи он слишком жирен, сам пилю на altor32.
Алсо.

>они мне дадут некие файлы, и я смогу на плис развернуть ядро?


Вцелом так оно и работает.
937 248096
>>248064
Спасибо, добра, все пояснил по хк.
>>247836
А тебе хуй под ребро, не добра.
938 248157
>>247738

>Если я у Арма куплю ядро, они мне дадут некие файлы, и я смогу на плис развернуть ядро?


Для такого по моему проще отдельный микроконтроллер поставить или взять Xilinx Zynq или Altera SoC какие-нибудь.
Например, какой-нибудь четырехъядерный Freescale iMX6Q на 1ГГц стоит всего лишь 50...60$. У microblaze, кстати, на virtex-7 максимальная тактовая 320МГц.
Часто проще и удобнее внешний процессор использовать, этот же процессор тогда сможет ПЛИС конфигурировать.
939 248185
>>248157
Спасибо, но я свой вопрос подводил к вопросу о разработке всяких чипов/мк в РОССИИ. На плис разработать логику, иметь n исходники, и эту логику развернуть на всяком кристалле. Арм взял для примера, понятно, что оно если и влезет, то займет почти все пространство плис
940 248718
Плисаны, объясните по хардкору, почему во всех гайдах советуют избегать образвания защелок?
Что из себя представляет защелка?

Я правильно понимаю, что если в машине состояний в одном из ее состояний написать:

state1: begin
if (wire1==1) begin
reg1<=1;
state <= state2;
end
end

То мы получим эту самую защелку, т.к. не указали else?
6 Кб, 453x486
941 248790
>>248718
Защелка это триггер с статическим управлением (по уровню), см. картинку.
Архитектура FPGA предполагает использование триггеров с управлением по фронту, хотя бы потому что они имеются на выходе каждой LE.
А триггеры со статическим управлением мало того что займут два LE, так еще и будут находится в неопределенном состоянии после включения. И синтезатор может неправильно посчитать задержки, т.к. задержки с триггерами со статическим управлением труднее считать.

>Я правильно понимаю, что если в машине состояний в одном из ее состояний написать:


Нет, если ты делаешь это по фронту клока, то никаких триггеров со статическим управлением не образуется.
942 248791
>>248790
Добра тебе! Можешь посоветовать какую альтеру купить на али с перспективой наебенить эмулятор 8086.
943 248859
>>248791
Один процессор сам по себе влезет в практически любую FPGA. Но тебе ведь захочется клавиатуру, видео, памяти побольше.
Для такой задачи основной критерий - наличие микросхемы динамической памяти, а такие платы на али часто дороже плат от нормальных производителей.
Советую что-то вроде http://store.digilentinc.com/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists/
944 248860
>>248790
Ясно, защелка это асинхронный RS-триггер, если по русски.

На плисоводских форумах столько хайпа по поводу быдлокода под плис. Но что-то у меня все норм работало до 200 МГц. Выше просто не было потребности заходить. Единственное правило, которого я придерживался - не использовал ассинхронщину.

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

Чтение чужих исходников тоже не особо помогает. Все как-то по разному пишут.
945 248861
>>248790
Да ещё и работает значительно медленнее.
9 Кб, 571x469
946 248909
>>248860

>Ясно, защелка это асинхронный RS-триггер, если по русски.


По моему защелкой называют еще и триггеры со статическим управлением (т.е. по уровню, а не по фронту), см. картинку.

>Но всё же хочется познать более глубже все тонкости ПЛИС. Но натыкаюсь на такой момент, что на работе мои сырцы вообще не смотрят. Главное, чтоб тесты проходили, логика соответсвовала ТЗ, а как я там все сделал никого не ебет.


Все то же самое, к тому же смотреть почти некому.

Мне помогает рисование на бумаге блок-схемы устройства, иногда вплоть до отдельных мультиплексоров. Примерно так: http://www.kit-e.ru/assets/images/1011/87_5.jpg
Такой подход помогает минимизировать устройство.
947 248958
>>248909

>По моему защелкой называют еще и триггеры со статическим управлением (т.е. по уровню, а не по фронту), см. картинку.


У тебя на картинке синхронный RS-триггер.
Не понимаю как он может управляться по уровню? Состояние на входах S и R будет учитываться по фронту сигнала на входе С
948 248984
>>248958
Или ты меня так странно траллишь или ты программист по специальности.
Нет, оно в этой схеме учитывается не по фронту, а в течение всего времени действия сигнала на входе С.

Класификация триггеров.
1) По логической функции - RS, T, D, JK
2) По способу записи информации - асинхронные, синхронные, универсальные.
У асинхронных триггеров информация записывается сразу при поступлении сигнала на информационные входы.
В синхронных триггерах информация записывается только при наличии разрешающего сигнала.
Универсальные - могут работать в качестве синхронных и асинхронных.
3) По способу управления - со статическим управлением и с динамическим.
Триггеры со статическим управлением воспринимают сигнал на информационных входах в течение всего времени действия разрешающего сигнала.
С динамическим управлением - воспринимают сигнал на информационных входах только при изменении разрешающего сигнала.
С 0 на 1 - по переднему фронту, с 1 на 0 - по заднему фронту.

Из асинхронного RS-триггера можно сделать синхронный D-триггер со статическим управлением: S = C & D, R = C & !D
А теперь представь, что нужно сделать из таких триггеров регистр сдвига: reg = (reg << 1) | input_bit, который будет срабатывать при подаче тактового сигнала.
Или попробуй представить T-триггер со статическим управлением.

Современные триггеры с динамическим управлением делают из двух триггеров со статическим управлением, как-то так: http://digitalchip.ru/uploads/2011/09/t_trigger_onlogic_t.gif При С=0 информация записывается в первый триггер, при С=1 во второй.
2 Кб, 514x370
949 248995
>>248984

>Современные триггеры с динамическим управлением делают из двух триггеров со статическим управлением, как-то так: http://digitalchip.ru/uploads/2011/09/t_trigger_onlogic_t.gif При С=0 информация записывается в первый триггер, при С=1 во второй.



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

А вообще вот чувак пояснил за триггеры по хардкору:
https://youtu.be/i1_VdJOMStE
https://youtu.be/JY7rmZoaq8Y
https://youtu.be/uW8DPE6TRxM
950 249027
>>248995
Добавлю что так выглядит Д-триггер собранный на логических элементах, а в реальности эта схима ещё сминимизирована на уровне транзисторов.
951 249029
Вас не в ту степь понесло. Говорили же про защелки.
952 249031
>>248995
Этот твой авторитетный чувак несет чушь. То что он называет двухступенчатыми триггерами ими не является.
Да, я согласен что схему с запрещающими связями, которую ты привел, нельзя отнести к двухтриггерным master-slave схемам, но двухступенчатый master-slave триггер от этого не перестает иметь динамическое управление.
В качестве примера: http://ee-classes.usc.edu/ee459/library/datasheets/sn7472.pdf аналог К155ТВ1.
Советую лучше почитать http://golibgen.io/view.php?id=1287528
>>249027
Согласен.
953 249040
>>249031

>То что он называет двухступенчатыми триггерами ими не является.


А чем же они являются?

>но двухступенчатый master-slave триггер от этого не перестает иметь динамическое управление


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

Вот тут посмотри:
http://bookfi.net/book/488525
На рис 41 обрати внимание.
954 249113
>>248791
Циклон 4 покупай
955 249115
>>248791
de0-nano
956 249221
Ананасы, а есть на верилоге решение для вычисления 20log10? Типовая задаче-же.
957 249238
>>249221
Тебе для чего?

Например:
`define cnt_max 128
reg [$clog2(`cnt_max + 1) - 1:0] cnt;
10 Кб, 198x65
958 249264
>>249238
Рассчитать уровень сигнала в децибелах. Нужен логарифм по основанию 10, $clog2 не подходит же.
Embed-Превед! 959 249283
Аноны, среди вас наверняка есть эмбедеры. Есть задача считать данные с DVD-диска и передать в FPGA. С какой стороны подступиться к этой задаче??
Очевидно, что это должен быть либо жирный микроконтроллер, который потянет линух, либо SOC типа цинка, так же с поднятым линухом.
Сидюк, полагаю, лучше взять с USB-интерфейсом?
Сложно ли поднять линух? Сложно ли написать необходимый драйвер?
960 249285
>>249264
О, бро. Это изотерическое траханье.

Есть пару способов, зависит от точности что тебе нужна.
таблица и/или метод апроксимации сплайнами

Хорошо алгоритм ложиться на флоатпоинт, считаешь мантису апроксимацией, експаненту таблицей... профит
961 249286
>>249283
Возможно ли заставить работать дрова из комплекта USB-DVD которые например написаны под убунту?
962 249287
>>249286

>Возможно ли заставить работать дрова из комплекта USB-DVD которые например написаны под убунту на эмбедерском линухе


быстрофикс
963 249294
>>249283
Как быстро это надо сделать? Если очень, то вот в порядке убывания сложности

1) IDE CDROM, ваше легко программировать
2) Sata, сложнее но нужны трансиверы, а это дорого
3) USB Host будет анриал реализовать в HDL, но можно глянуть на SoC
3 Кб, 220x200
964 249296
>>249285
Ну вообще я S meter хочу сделать, то есть фактически 10 значений нужны. Наверно действительно таблица нужна, по которой проверять вхождение значения в диапазон. Но блин даже ее просто синтезировать используя заднную разрядность я так понимаю не получится? Проще отдельно вычислить?
965 249298
>>249296
10 штук... Да просто в лоб напиши кучу if - else.
966 249300
Аноны, хочу спросить, насколько быстры ПЛИС в плане математики? Допустим если запрограммировать ПЛИС на одну единственную функцию - решение системы линейных уравнений количеством например 200. Или взять какой нибудь stm32 с FPU и это будет быстрее?
967 249302
>>249300
Будет точно быстрее на FPGA, они для такой хрени подходят идеально
968 249316
>>249302
Кстати, если аппаратные множители заканчиваются, генерятся множители на LE?
969 249317
>>249316
Не, ошибка про передоз
Вот с памятью компилятор может попробовать решить этот трабл... но чаще всего это выливаеться в часы компиляции и все равно передоз
970 249395
>>249294

>IDE CD легко


Что там легкого?
971 249416
Аноны, а кто поднимал на цинке или микроблейзе линух?
Может есть какие статьи по линуксу для железячника-ньюфага в этих ваших пингвинах? Хотя бы обзорного плана, дабы понять как вообще работает загрузчик, какие действия надо осуществить с дистрибутивом линуха, чтобы он заработал на данной аппаратной платформе
973 249441
>>247226
Essentially for AXI VALID/READY handshaking is this:

The slave asserts READY when it can accept new transfers (VALID doesn't have to be asserted for this).

The master asserts VALID when it has something to transfer (READY doesn't have to be asserted for this).

A master can't wait with asserting VALID until a READY is asserted since the slave can wait for VALID before asserting READY.

If the master waits for READY, this can create a deadlock where both master and slaves waits for each other to assert the signal.

When both READY and VALID is asserted so it the transfer happening.

There are some requirements on the VALID.

VALID can not be deasserted after being asserted except when a transfer is happening (READY active).

The slave can withdraw READY at any time, however the cycle when both READY and VALID is asserted is still a valid transfer and the slave has to accept it.
974 249865

>В сообщении присутствует слова из спам-листа

975 249866
>>249865
Ах да, бранч mimimac_no_fifo
976 249961
>>249865
Я конечно не шибко спец, но могу предположить. За один такт возможно только одна операция синхронного чтения-записи. Ты же за счет синтеза через for собираешься делать сразу несколько операций. Поэтому генерятся триггеры вместо SYNC_RAM.
977 249968
>>249961
Точно не в этом дело.
Рядом лежит файлик wb_dp_ram.v там такой же принцип и синтезируется без вопросов.
Алсо, дело в том что весь этот фор раскрывается в одно действе и нужен только для параметризации.
Похуй, других идей нет, выпилю всю универсальность и попробую в лоб, может какие мысли появятся.
978 249984
>>249968

>Рядом лежит файлик wb_dp_ram.v там такой же принцип и синтезируется без вопросов.


Я кончено хз, но возможно там генерится например двухпортовая память. Ну подумай сам, если WORD_WIDTH задать допустим в 1024, как можно за один такт фактически всю память считать, а еще при этом перезаписать другим значением.
979 249990
>>249865
А попробуй памяти задать атрибут ram_style = "block", хотя вряд ли поможет. Ну и ширину шины данных пробуй менять (не больше 32 бит для одной BRAM, например).
81 Кб, 720x924
980 249991
>>249968
Если ты хочешь разложить память на разные клоки, то вместо signal память надо описывать как shared variable.
981 249996
>>249991
иди на хуй со своим паскалем
982 250007
>>249996
Чет я даже не обратил внимания, что там Верилог. Ну ладно, ебись сам тогда.
983 250009
>>250007

>Паскаль


язык богов если ты не знал
984 250017
>>249984
>>249990
Ясно, собственно в сорцы заглянуть слишком обременительно для вас оказалось, не стоило и пытаться, а именно там есть:

>parameter WORD_SIZE = WB_DATA_WIDTH/WORD_WIDTH;


И не более, хотя я не уверен, будет ли в спартане и 64 работать, но всё же 32 точно собирается в соседнем модуле

>// ( RAM_STYLE="BLOCK" )


>reg [WB_DATA_WIDTH-1:0] mem[MEMORY_CELLS_NUMBER - 1:0];


Уже всё указано

>>250007
Собственно и ебусь, но нахуй твой паскаль послал другой хуй.
985 250040
>>250017

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


Я заглядывал, но по делу ничего подсказать не могу.

>попробую в лоб, может какие мысли появятся.


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

>выпилю всю универсальность


А вот это не обязательно, в верилоге для такого есть оператор generate.
986 250055
>>250017
Я вообще хз где исходники твои лежат, дал-бы ссыль прямую. Не все знаешь-ли знают "того анона-из-времени-и-частоты-треда" следят за его исходниками.
987 250121
>>250055
Ну есть же ссыль на гитхаб на пике, прости, не догадался продублировать текстом.
только не говори, что не умеешь переключать бранчи

>>250040

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


И на том спасибо.

> По моему желательно описывать память так, чтобы ее можно было сразу заменить на сгенерированную core genrator-ом (или мегафункцию на альтере).


Вообще не знаю что это такое. Я как саму студию открыл, так и сразу пошел гуглить, как собирать cmake-ом, слишком убого.
Открываю, только чтобы посмотреть шаблоны кнопка с лампочкой

Алсо после написания "в лоб" оно возьми и заработай, только теперь модуль приёма надо перепиливать, но лучше так.
988 250163
>>250121

>Я как саму студию открыл, так и сразу пошел гуглить, как собирать cmake-ом, слишком убого.


Нет, это не относится к "студии" или к графическому интерфейсу, по крайней мере для альтеры.
У альтеры мегафункции - это всего лишь разнообразные параметризуемые модули, такие как PLL. Как у xilinx это вроде бы называется примитивами.
Для мегафункций у альтеры есть графический конфигуратор, которым никто не заставляет пользоваться.

CMake конечно неплохая штука, но тут целесообразно использовать Tcl. Не знаю как у xilinx, но у альтеры сборка проекта на Tcl пишется в несколько строк.
989 250178
Плисаны, а можно ли как-то в FPGA получить псевдо-случайное число?
991 250193
>>250178
Я думаю можно взять два счётчика тактируемых разными не кратными частотами и в момент когда нужно получить рандомное число поделить или какое другое действие значение одного счётчика на значение другого.
992 250347
Плисаны, вивада выдала такой вонинг:
[Timing 38-282] The design failed to meet the timing requirements. Please see the timing summary report for details on the timing violations.
Что делать? Я раньше с таймингами не связывался. Вообще не знаю что тут ковырять
993 250348
>>250347
Проект так то работает. Но я чувствую, это очень хуёво.
994 250350
что такое TNS - Total Negative Slack?
Total Hold Slack?
995 250379
накидайте инфу по sopc builder. интересует всякие шины которые там есть типо CPU, tristatebridge и т.д.
996 250441
>>250347
Гугли TimeQuest для чайников. В свете того, что в виваде такой же синтаксис для скриптов констрейнов, должно быть понятно. Ковырять надо Open implemented->report timing. gui выведет тебе проблемные цепи в списке, плюс по каждой можно схему отрисовать. Короче, инфы для анализа хватит, лол
997 250444
>>250347
Твоя схема не может работать на той частоте, которую ты указал. Либо оптимизируй схему, либо понижай частоту.
998 250451
>>250444
но я не указывал частоту. Если только в клокинг визарде
999 250696
Плисаны, объясните, пожалуйста, тупому, что делать, чтобы загрузить конфигурацию в флешку. Среда - Quartus II 9.1 Web Edition.
Приехало. В такой всратой коробочке и с немного погнутыми штырями.
1000 250699
>>250696
File -> Convert Programming File -> выбираешь тип флешки, указываешь .sof файл и конвертируешь.
Tools -> Programmer -> выбираешь режим Active Serial Programming, полученный .pof файл и программируешь.
Как-то так, вроде не напутал. Схему платы хотя бы нашел? А то мало ли что китайцы навыдумывали.
Вообще-то при разработке устройства чаще прихоится загружать конфигурацию в FPGA напрямую, минуя флешку, т.к. это намного быстрее.

>>250451
Вот эта частота и прописалась в созданном .ucf файле.
1001 250700
>>250696
Скинь продавана, давно купить собираюсь
1002 250710
>>250700
https://ru.aliexpress.com/item//967529392.

>>250699
Стирание происходит, а запись прерывается в некоторый момент.
При конвертировании можно выбрать EPCS16, но у меня на плате стоит M25P16. Неужели память не та?

>Схему платы хотя бы нашел?


Можно спросить у китайца. А что на схеме смотреть надо?

>Вообще-то при разработке устройства чаще прихоится загружать конфигурацию в FPGA напрямую, минуя флешку


У меня кроме плисины ничего не будет, поэтому единственный способ хранения конфигурации - флешка.
1003 250711
html в ссылке проебал.
1004 250748
>>250710

> При конвертировании можно выбрать EPCS16, но у меня на плате стоит M25P16. Неужели память не та?


Не знаю как у этой вашей альтеры, а у КСАЙЛИНКСА флешка вибирается из немаленького списка. И если промахнуться то при прошивке будешь послан.

> Можно спросить у китайца. А что на схеме смотреть надо?


Как ты собрался пилить на ней что-то не имея хотябы схемы?

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


Нет, тут суть в том, что в обычном режиме плисина после включения питания грузит конфиг из флешки сама, но для отладки можно в любой момент ей скормить конфигурацию прямо по jtag и она останется до выключения питания. Это на порядок быстрее тем и ценно.
1005 250755
>>250748

КСАЙЛИНКСА флешка вибирается из немаленького списка


Ну, у Альтеры из маленького.

>Не знаю как у этой вашей альтеры


А зачем тогда пиздишь?

>Как ты собрался пилить на ней что-то не имея хотябы схемы?


Есть плата, на ней выведены и подписаны все USER-CONFIGURABLE IO PINS, разведено питание и флешка по аппноту, стоит генератор, который подписан, к какому пину он подключен.

>для отладки можно в любой момент ей скормить конфигурацию прямо по jtag и она останется до выключения питания


А я и не знал! Я канешн тупой, но не настолько.
Это работает, мне во флешку залить надо.
1006 250991
>>250755

>>Как ты собрался пилить на ней что-то не имея хотябы схемы?


>Есть плата, на ней выведены и подписаны все USER-CONFIGURABLE IO PINS, разведено питание и флешка по аппноту, стоит генератор, который подписан, к какому пину он подключен.


Если ты еще не разобрался, то читай https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-iv/cyiv-5v1.pdf
Как видишь, есть разные варианты подключения. Соответственно для программирования либо ставить два разъема или https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an370.pdf http://www.kit-e.ru/articles/memory/2005_2_126.php
Или поставить как-то переключатель, как на некоторых отладках бывает.
118 Кб, 700x857
1007 252460
Платиновый вопрос.
Какую плату заказать с aliexpress для вкатывания в плис?
Чтобы подключение по usb было и прошивальщик в комплекте и все такое.
1008 252469
>>252460
бpaзильчyю вопрос
534 Кб, 730x942
1009 252527
Сап, ПЛИСаны. Я с ПЛИСами знаком на уровне чуть больше, чем "накидал в кусисе ниос, залил, прошил, отхеллоуворлдился", писал немного на HDL-ях. Ковырял только MAX 10.
Есть задача разрезать цельный кадр 5120x1440, приходящий по дисплейпорту, на две части, перевернуть один из них и отправить на два HDMI. Частота 60Гц.
Вопрос: какая альтеровская плиска с этим справится в одно рыло при минимальной цене?
Подскажите, хотя бы, на какие параметры ПЛИС смотреть? LVDS это то что мне нужно? Ещё у сайклонов пятых есть какие-то 6.144Gbps трансмиттеры, которые я вообще не вкурил, это тоже то что мне нужно? По рассчётам поток будет в 10.8гигабит. Всю логику планирую писать сам.
1010 252553
>>252460
>>252469
Тыщу раз уже было >>245825 >>237699
1011 252566
>>252527
Для таких вещей используют ФАПЧ для восстановления клока и сдвиговый регистор, гугли LVDS Serializer/Deserializer, SERDES.
Само собой такие штуки ставят во многие ПЛИС, бывают и внешние подобные микросхемы, например http://www.ti.com/product/TLK10002
Существуют варианты с передачей клока отдельной линией и без передачи клока.
И мне кажется, что будет дешевле использовать отдельную микросхему Serializer/Deserializer

>это тоже то что мне нужно?


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

Весь мой опыт по этому вопросу - использование микросхемы Serializer/Deserializer совместно с древними ПЛИС на невысокой скорости.
1013 252600
>>252566
Спасибо большое, ты открыл мне глаза на многие вещи.

> в ПЛИС не хватит памяти под целый кадр


Да, стандартных M9K/M10K блоков точно не хватит, внешняя память на скорости в десяток гигабит так же нереальна, но можно утилизировать очень много обычных LE под импровизированную память из регистров, но тут я тоже не уверен, что их хватит даже в количестве пары сотни тысяч. Это серьёзная проблема - хранить 21-мегабайтный кадр.

> SERDES


Да, это очень хорошо, но стоят они по ~$50 за штуку и содержат всего пару каналов. Для DisplayPort'а понадобится таких две, и ещё три на пару HDMI. Выходит ~$350 за одни только PHY'ки, которые могут замениться встроенными интерфейсами даже на маленькой Arria 10 за ту же цену. Ладно, шучу, мне и 3,7Гбита на канал цвета хватит, а эти 3,7Gbps SERDES'ы (TLK3132) всего по ~27$, тогда выходит ~$190 за интерфейсы.
1014 252606
>>252600
Ах, да, ещё придётся амплитуду поднимать до уровня TMDS'а. Это всё странно.
1015 252638
>>252606
Есть спец микосхемы для DP и TDMA HDMI. Для внешней памяти заюзай QDR, дорогая конечно, но выбора у тебя нет. Плис из серии среднего диапазона (ария, кинтекс, цинк) хватит за глаза
1016 252742
Аноны, поясните плз, в чем разница между:
wire wire_1;
и
wire [0:0] wire_2;

Обязательно ли писать
assign wire_1 = wire_2[0];
или достаточно:
assign wire_1 = wire_2;
Часто вижу в исходниках, когда задают массив с одним лишь элементом. Нахуя так делать, если можно обойтись одиночным регистром или проводником?
разве если только ты хочешь написать дикоуниверсальный код, в котором параметром задается ширина шины
1017 252743
>>252742
Можно, это скорее всего код сгенерированный МАШИНОЙ!!!!1111один
1018 252935
>>252743
Плисачую, это скорее всего сгенерированый код.
Так-то разницы нет.
1019 253176
>>252590
Поясните, что этот анон наворочал? Принял радио на sdr-приемник? Но это можно сделать и без плис.
алсо доставьте пожалуйста эту музыку
1020 253294
Аноны, поясните плз за клоковые буферы.
В каких случаях их надо использовать? Они работают как точка-точка: например от источника клока к отдаленной PLL и никуда больше или от одного источника сразу к нескольким приемникам?

Вообще тема интересная, пилил я проект по кускам. Каждый кусок по отдельности отлаживался в плиске. Когда собрал весь проект - появилось куча warnings по клокам. Хочется все сделать по человечески, без быдлокода.
1021 253323
>>253294

>Хочется все сделать по человечески, без быдлокода.



идеалист хуев?
1022 253328
>>253323
Нет. Вообще ни разу не идеалист. Просто хуйня в том,что по отдельности узлы проекта работают, собрал всё вместе и пошла хуйня, даже ILA не определяется по джейтагу
1023 253330
>>253328

вообщето ILA и придумана специально для тролинга, на неё же нужно клок подать с jtag'a
1024 253334
>>253330
Что-то троллингом здесь только ты занимаешься
1025 253362
>>253176
Передатчик это, на плисине. С частотной модуляцией. Приём на свисток.
На схеме: SD_ADC - сигма-дельта АЦП, DDS - синтезатор частоты, sin_table - восьмибитная тааблица периода синусоиды.

https://www.youtube.com/watch?v=nxbFBA8l-4M
1026 253374
>>253294
Насколько я помню, у хилых буфер ставится не между источником и ПЛЛ, а между ПЛЛ и потребителем, и потребителей тактирующихся от одного буфера может быть много.
1027 253536
>>253294
Буферы определяют, к каким тактирующим ресурсам ты что подключаешь. Можешь, например, подключить источник к глобальному дереву, можешь к региональному. Синтезатор с этим неплохо справляется сам, если код адекватный.

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

Либо, если у тебя там Setup Slack отрицательные, то place-n-route тупо не может реализовать твою охуительную схему при такой частоте работы. Это вопрос не к клокам, а к тебе - переписывай пути с большими задержками, добавляй в них промежуточные регистры.
1028 253537
Анон, в чём разница между reg [7:0] a[3:0]; и reg a[7:0][3:0]; в верилоге?
85 Кб, 1419x973
1029 253548
>>253536
Бро, спасибо за ответ. Просмотрел я отчет по таймингам. Проблемное место в участке где данные из большого регистра (640 бит) сохраняются в фифошку на двух блоках RAMB36E1. Дабы было понятнее вкину мутную схему проблемного участка.
Правильно ли я понимаю, что из-за того, что регистр большой некоторые его части (FDRE) находятся ближе к брамке, а некоторые дальше и сигнал от отдаленных FDRE до входа брамки не успевает дойти к фронту клока?
Сорян за мелкую схему - двощ не дает прикрепить тяжелый файл.
1030 253549
>>253548
Самое главное как победить эти тайминги?
1031 253568
>>253565
Значит регистр в 640 бит запихнуть в две брамки на частоте 156 МГц это хуйня?

И еще как в терминах вивады называется трансфер дилэй и логик дилэй? где посмотреть?
1032 253576
>>253571
спасибо за доку!
У меня есть регистр 640 бит хватит всем в котором копятся данные в течении нескольких десятков тактов. Есть стандартная хилая корка FIFO в которой я указал 640 бит ширину и глубину 1024. Когда данные готовы wr_en в высокий уровень и все дела.
Я не правильно выразился, про брамку. Блок называется RAMB36E1 и он вроде как может работать в режиме FIFO или в режиме bram (одноа большая или две маленькие).
1033 253591
>>253537
reg [7:0] a[3:0]; reg a [7:0][3:0];

первое одномерный массив из четырех восьмибитных чисел.
второе двумерный массив 8 на 4 однобитных чисел.

В верилоге в массиве ты можешь обращаться только к элементу. Нельзя обратиться к строке или столбцу целиком.
1034 253593
>>253566
>>253567
Вот например такой мультиплексор из альтеровского примера. я и сам так пишу.

assign avs_s0_readdata = (avs_s0_address == 4'h0) ? ({{29{1'b0}}, error_bit, running_bit, go_bit}) :
(avs_s0_address == 4'h1) ? (mac_dst[47:16]) :
(avs_s0_address == 4'h2) ? ({{16{1'b0}}, mac_dst[15:0]}) :
(avs_s0_address == 4'h3) ? (mac_src[47:16]) :
(avs_s0_address == 4'h4) ? ({{16{1'b0}}, mac_src[15:0]}) :
(avs_s0_address == 4'h5) ? (ip_src_addr) :
(avs_s0_address == 4'h6) ? (ip_dst_addr) :
(avs_s0_address == 4'h7) ? ({udp_src_port, udp_dst_port}) :
(avs_s0_address == 4'h9) ? ({{8{1'b0}}, dscp_reg, ident_reg}) :
(avs_s0_address == 4'hA) ? ({flags_reg, offset_reg, ttl_reg, proto_reg}) :
(avs_s0_address == 4'hB) ? (packet_len) :
(avs_s0_address == 4'hC) ? ({{16{1'b0}}, mac_type}) :
(packet_count);
1035 253594
>>253593
форматирование сьехало. ну вы поняли крч
50 Кб, 1297x847
1036 253636
>>253593
Хм. Оба варианта, конечно, похожи на говно, но вариант внизу, по-моему, чуть больше.
1037 253637
>>253593
Я так тоже пишу, конечно, но обычно только если в одни (...) ? : не приходится вкладывать другие (...) ? : , иначе получается кровь-кишки-говно. То есть конечные автоматы всегда через case, например.
27 Кб, 651x107
1038 253774
>>253593

>я и сам так пишу.


Тоже так пишу, хоть и блевать хочется от этого синтаксиса.
1039 253792
>>253636
Нахуя в always-ах использовать вложенные ?: ?Пишите через case, как все нормальные люди, или через if.
1040 253842
>>253836
Я к тому что на пике >>253636 в always-блоке внутри кейса лучше использовать if, или ещё один вложенный кейс, в зависимости от ситуации.
Вложенный ?: это адский ад.
1041 253846
>>253843

>?: это и есть if/else


Оно ясно.
Как по мне if/else куда нагляднее, хотя это всё вкусовщина.
1043 253855
>>253847
Так самый дешёвый Сыклон в линейке же.
98 Кб, 1440x900
1044 253920
>>253847
Камни вообще по три сотки:
https://ru.aliexpress.com/item/EP4CE6E22C8N/32722649725.html
Заказал себе два, где-то поблизости, выехали из Екб позавчера.

Алсо, я же лох пиздец. Свою эту плату >>250696 сжёг, после чего наконец заземлил пекарню и заказал БОЛЬШЕ ЦИКЛОНОВ.

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

Вопросы >>246645 разрешились после пары ЦОС в универе, лол. Понял наконец работу FIR.
Квартус для последовательного 10-битного фильтра с сотней 20-битных коэффициентов в M9K (и регистрами там же) пророчит 593 LE, 8 блоков M9K и 11 тактов на семпл. Пикрелейтед.
1045 254255
Аноны, поясните за констрейнсы для сигнала reset. Этот сигнал априори не может распрастраниться одновременно на всю логику.
Какой здесь я вижу кейс:
1) Отключить оптимизацию этого сигнала вообще, но в документации на устройство прописать, что ресет удерживать в течении n тактов.
2) для отдаленных триггеров пустить сигнал на прямую, а для ближних изобразить цепочку из нескольких лутов для выравнивания задержки

Какой вариант более правильный? Чем грозит отключение оптимизации для этой цепи?
1046 254272
>>254255

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



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

Хилые в своих руководствах предлагают устанавливать ресету set_false_path, то есть твой первый вариант.

Если какие-то регистры зависят от того в каком порядке они ресетятся, можешь сделать им синхронный ресет вместо асинхронного. Если их много, можно передавать им резет через конвеер - тогда за три, к примеру, такта ресет синхронно разойдётся по всей плисине.
1047 254280
>>254272
Спасибо и добра тебе, анон. Продолжу свою войнушку с таймингами.
26 Кб, 640x176
1048 254282
>>254255
Вот оче старый гайдец от хилых про ресет http://www.xilinx.com/support/documentation/white_papers/wp272.pdf
tl;dr

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


> важно не момент включения ресета, а его снятие


> синхронный сброс FTW, если сброс для куска логики асинхронный - синхронизируй его в этом клоковом домене (пикрил)


> в 99,99% проектов сброс на "горячую" правильно проинициализирует устройство, для цепей, критичных к сбросу есть сихронный ресет

1049 254288
>>254282

>пикрил - цепочка триггеров.


Как ее правильно запилить на верилоге, чтобы не выпилилась при оптимизации?
1050 254299
>>254288
Не силен в верилоге, но как то так.
На буферы на пике не обращай внимания, это отсинтезированный результат, с подключенными пинами.
1051 254321
>>254299
Поясните ньюфагу, как работает такая цепочка? В каких случаях ее применяют?
1052 254324
>>254321
Наркоман чтоли? Обычный сдвиговый регистр. Применяется когда надо задержать/сдвинуть сигнал на несколько тактов.
1053 254335
Приехали Циклоны наконец.
Накатил 11-й Квартус, теперь EPCS16 нормально шъётся.

Но беда: пытаюсь сделать FIR-фильтр, и получаю 3 пик без какого-либо прогресса. Что за беда может быть?
1054 254346
>>254335
Покажи параметры
1055 254380
1056 254400
>>254335
А почему ты таких мелких набрал? Разве нету совместимых более емких?
1057 254404
>>254400
Деньги.

И при чём тут это? При синтезе фильтра надо знать только семейство.
1058 254405
>>254404
Ну ты же одним фильтром не ограничишься? Захочешь что-то еще туда запихнуть, а места нету.
1059 254406
>>254405
На несколько фильтров (ФНЧ, Гильберта), несколько перемножителей и пару синтезаторов частоты хватит. Больше и не надо пока.
1060 254829
Это правда что CPLD хранит прошивку в себе а с FPGA нужна ебля?
1061 254832
>>254829

CPLD и FPGA это уже несколько устаревшие термины
современые устройства это гибридные монстры
конечно с ними нужна ебля, нахуя они ещё нужны?
1062 254945
>>254829
Да, правда.
>>254832
Чё несёт, вообще охуеть.
166 Кб, 1080x1080
1063 254951
>>254945
Брат, посоветуй CPLD начинающему, основное требование подключение по юсб и попроще.
1064 254967
>>254951
Если нужен kit, чтоб работал искаропки, глянь в треде выше.
В лоукост сегменте, имхо, неплохо играют lattice. Глянь серию MachXO - это небольшие ПЛИС с встроенной энергонезависимой памятью, есть в qfp корпусах. Как правило, киты и референсы идут со встроенным отладчиком/программатором usb.
1065 254995
>>254945

А ты чё несёшь деградант?

Zynq-7000 это чо FPGA может CPLD или ARM? Самое оно для ебли.

lattice cpld для деградантов и ардуинщиков хорошо заходит
1066 255040
Плисаны, как прописать set_false_path для нескольких цепей одной командой?
Допустим у меня сотня приемников сигнала от одного регистра. Есть другой способ кроме как прописать set_false_path сотню раз?
1067 255171
>>255040

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


Читни мануал, там расписаны все параметры set_false_path'а. Если ты пропишешь set_false_path -from regname, он применится ко всем путям, выходящим из regname.

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_4/ug903-vivado-using-constraints.pdf
страницы 111-114
1068 255230
Кто-нибудь ставил последнюю версию Vivado? На рутрекере лежит установочник без таблетки. Но в обсуждениях говорят, что есть способ заюзать вивадо на халяву.
http://rutracker.org/forum/viewtopic.php?t=5242265

судя по аватаркам - половина отписавшихся под раздачей с двача
1069 255240
>>255234
Но мне и нужно под виртекс
1070 255256
Подскажите что будет лучше ньюфагу:
1.Mojo
2.waveshare altera
3.cool runner
Спасибо.
1071 255258
плисина
1072 255273
Пацаны, нахуя в седьмой айфон мелкую плисину впихнули?
1073 255305
>>255273

видимо неуспели ASIC заказать, из за деадлайнов, а может посчитали и оказалось плисина дешевле ASIC даже оптом, мелкие плисины рулят
1074 255312
>>255256
Mojo бери, годнота. Сам брал. Уроки у них на сайте есть, если в инглиш можешь а если не можешь - придётся смочь, не раньше, так позже.
863 Кб, 1920x1080
1075 255333
Посоветуйте дешман побаловаться на досуге. Ценой примерно малинки хотя бы, не платы от 30к для профи. Ещё круче было бы какие-нибудь микроварианты, как замена схеме из десятка-сотни к155. Я конечно понимаю что микроконтроллеры нашевсё для наколенных махараек, но всё же любопытно есть ли сопоставимые по цене/сложности плис?
1076 255335
>>255333
Mojo бери, годнота. Сам брал. Уроки у них на сайте есть, если в инглиш можешь а если не можешь - придётся смочь, не раньше, так позже.

Вот как так можно даже последний пост в треде не прочесть?
1077 255337
>>255335

>Mojo


>Spartan-6


>ебаться ISE


>кроме плисины на плате нихуя нет


Нахуй так жить? Лучше взять Arty за 100$ она тоже ардуино совместимая, но за то у нее есть DDR - можно попробовать эмбедерством позаниматься.
Или еще лучше взять Zdeboard за ~150% на божественном цинке. А эту мочу на старом камушке оставить ардуинщикам
1078 255339
>>255335
Ну я не то чтобы нюфаня. В плисах да, опыта нет. Во какой список нашёл
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
1079 255341
Кроме того на Mojo программатор, как я понял, собран на avr. Хуй знает как он будет работать. На официальных платах есть JTAG-модуль от Диджилента, который ахуительно работает и может во внутрисхемную отладку. Такие дела.
1080 255344
Ананасы, бампаю вопрос про кряк крайней версии вивадо. У кого был опыт взлома flexlm, какие мысли? там же такая защита стоит?
1081 255358
Плисаны, а что за фича PFC(Priority Flow Control) в ethernet?
1082 255363
>>255344
На ftp электроникса есть ломаная лицуха к 16.1, она по идее подойдет к 16.3, по крайней мере с ISE такое прокатывало
1083 255369
>>255363
На фтп электроникса вроде пускают только "своих". Можешь устроишь слив для братушек-анонов?
1084 255382
>>255363
На рутрекере скачай крек, он там чуть ли не файл сгенерированный без привязки к маку
1085 255398
>>255382
кинь ссыль пожалуйста. Я в свое время утащил все раздачи с рутрекера и не только, но при этом не нашел годный генератор
sage 1086 255797
>>255344

>крайней версии



Говна въеби, быдло.
1087 255807
>>255797

>Матерится в плисо-треде


>Сагует плисо-тред


>Придирается к термину "крайняя версия"


>Обзывает кого-то быдлом


Почему погроммисты такие злые? От классов мозги поехали?
1088 255808
>>255807

какое отношение плисотред имеет к програмированию, никакого
1089 255812
>>255808
Плисотред сагают только программисты. Алсо это стандартная модель поведения для них.
Приходишь на форум программистов с вопросом по программированию
@
Групповое обоссывание новичка
@
RTFM! RTFM сука!
@
Тема скатывается в срач, обсуждают какую-то левую хуйню
@
Читаешь громадный мануал, в котором о твоей проблеме инфы с нихуя
@
После долгого гугления и экспериментов узнаешь, что проблема из-за какой-то банальной хуеты, а советы которые тебе дали на форуме только мешали найти решение

Приходишь на форум по электронике с вопросом о электронике.
@
Получаешь совет по делу
@
Все посылают друг-другу лучи добра
DP83848-Ethernet-Board-3.jpg55 Кб, 705x529
1090 255856
>>249865-кун репортинг ин.
Пилю текущие достижения:
1. Ethernet
Удалось завезти это чудо. Итак аппаратная часть состоит из приёмника и передатчика RMII и контрольной логики с набором регистров.
Приёмник подключен к блочной памяти, разделенной на 4 куска по 1530 байт. Передатчик имеет 1 кусок на 2кб (1х RAMB16BWER). Плюс к этому аппаратный MDIO-контроллер для управления PHY.
Контрольные суммы Ethernet вычисляются программно, а вот преамбулы фреймов обрабатываются аппаратно.
Самый сложный момент был в том, что синтезатор не сошелся со мной во мнении о памяти приёмника и так наоптимизировал, что приёмник нормально записывал данные только в первый 2кб, а у остальных шина данных оказалась подключена к 0 (WTF?). Пришлось за эту память рученьками на примитивах RAMB16BWER.
Вторая проблема в том, что PHY отказалась работать на 50MHz подаваемых с ПЛИСины, пришлось мутить с кварцем, который был припаян к самому модулю PHY пикрелейтед и синхронизациеё клоковых доменов CPU <-> MAC.

2. Частотомер
Короче, он работает. Сейчас на плате подключено 10 входов, просто больше пинов не осталось, однако эта зараза оказалась чувствительна задержкам распространения внутри ПЛИСины. В итоге кроме синхронизаторов на все управляющие сигналы пришлось младшие 4 бита счетчика опорной частоты заменить счетчиком кода Грея. Говорят, эта хуйня работает на много лучше на высоких частотах, чем обычный счетчик. И действительно, после этой модификации и починке вылезших косяков частотомер стал работать идеально. Не скажу что дело только в счетчике Грея, но самое его добавление позволило выявить по варнингам косяки.

3. Софт
Разделен на 2 части: первая - загрузчик + отладочный мост на UART, загружается при инициализации ПЛИСины. Затем он инициализирует модуль SPI и начинает читать флешку. Там за прошивкой самой GKBCины лежит код приложения.
Распознаётся по заголовку, если он корректен, то загрузочный код копирует приложение в память, очищает .bss и передаёт управление в main(), однако отладочный код по прежнему активен и я с ним работаю.
На текущий момент запилено обслуживание частотомера и простенький UDP-срвер, который по запросу скидывает намереные значения запрашивающему на тот же порт.
Так же работает ARP и ICMP. Под #ping -f <IP-девайса> Не падает и не проёбывает пакеты.

В планах:
Поддержка TCP -> HTTP -> сервер -> вебморда.
Шкрепты.js и страницы.html буду хранить в загрузочной флешке и грузить строго по требованию.
Где хранить настройки? Есть вариант добавить на плату часы и хранить настройки в их памяти питающейся от батареечки, тем более что часы я и так хочу.

https://github.com/ololoshka2871/or1k-spartan6-freqMeter
DP83848-Ethernet-Board-3.jpg55 Кб, 705x529
1090 255856
>>249865-кун репортинг ин.
Пилю текущие достижения:
1. Ethernet
Удалось завезти это чудо. Итак аппаратная часть состоит из приёмника и передатчика RMII и контрольной логики с набором регистров.
Приёмник подключен к блочной памяти, разделенной на 4 куска по 1530 байт. Передатчик имеет 1 кусок на 2кб (1х RAMB16BWER). Плюс к этому аппаратный MDIO-контроллер для управления PHY.
Контрольные суммы Ethernet вычисляются программно, а вот преамбулы фреймов обрабатываются аппаратно.
Самый сложный момент был в том, что синтезатор не сошелся со мной во мнении о памяти приёмника и так наоптимизировал, что приёмник нормально записывал данные только в первый 2кб, а у остальных шина данных оказалась подключена к 0 (WTF?). Пришлось за эту память рученьками на примитивах RAMB16BWER.
Вторая проблема в том, что PHY отказалась работать на 50MHz подаваемых с ПЛИСины, пришлось мутить с кварцем, который был припаян к самому модулю PHY пикрелейтед и синхронизациеё клоковых доменов CPU <-> MAC.

2. Частотомер
Короче, он работает. Сейчас на плате подключено 10 входов, просто больше пинов не осталось, однако эта зараза оказалась чувствительна задержкам распространения внутри ПЛИСины. В итоге кроме синхронизаторов на все управляющие сигналы пришлось младшие 4 бита счетчика опорной частоты заменить счетчиком кода Грея. Говорят, эта хуйня работает на много лучше на высоких частотах, чем обычный счетчик. И действительно, после этой модификации и починке вылезших косяков частотомер стал работать идеально. Не скажу что дело только в счетчике Грея, но самое его добавление позволило выявить по варнингам косяки.

3. Софт
Разделен на 2 части: первая - загрузчик + отладочный мост на UART, загружается при инициализации ПЛИСины. Затем он инициализирует модуль SPI и начинает читать флешку. Там за прошивкой самой GKBCины лежит код приложения.
Распознаётся по заголовку, если он корректен, то загрузочный код копирует приложение в память, очищает .bss и передаёт управление в main(), однако отладочный код по прежнему активен и я с ним работаю.
На текущий момент запилено обслуживание частотомера и простенький UDP-срвер, который по запросу скидывает намереные значения запрашивающему на тот же порт.
Так же работает ARP и ICMP. Под #ping -f <IP-девайса> Не падает и не проёбывает пакеты.

В планах:
Поддержка TCP -> HTTP -> сервер -> вебморда.
Шкрепты.js и страницы.html буду хранить в загрузочной флешке и грузить строго по требованию.
Где хранить настройки? Есть вариант добавить на плату часы и хранить настройки в их памяти питающейся от батареечки, тем более что часы я и так хочу.

https://github.com/ololoshka2871/or1k-spartan6-freqMeter
1091 255915
>>249287

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


Нет, наверное нельзя. Пиши свой драйвер.
1092 256167
>>255856
плисач ТОРТ!
Софт у тебя на микроблейзе крутится?
1093 256168
>>256167
Микроблейз == проприетарщина -> ненужно.
У меня это altor32 с опенкоресов и немого допиленый тулчеин под него, ибо он не может в аппаратное умножение. Работает на 50 MHz.
1094 256169
>>255856
как дошел до счетчика кода грея?
1095 256170
>>256168

>Микроблейз == проприетарщина -> ненужно


Но ты же используешь проприетарный спижженный ise, что мешает использовать и микроблейз? Это что-то на уровне христианства. Искусственно создавать себе трудности из ничего.
1096 256171
>>256168
А не рассматривал sparc? Он вроде тоже распространяется с открытым кодом.
Снимок экрана от 2016-11-02 16:28:02.png51 Кб, 1001x541
1097 256172
>>256169
Сложный вопрос, просто уперся лбом в стену, было вот так и хз что с этим делать, гуглил по всякому, наткнулся на статейку где вскользь упоминались небинарные счетчики.
Пикрелейтед - до счетчика грея.

>>256170
Да, дело принципа, можешь не соглашаться, дело твоё.

>>256171
Да, рассматривал. Даже хотел его поднимать, но решающим стала возможность отладки.
У данного проца в софте прилагался модуль отладочного моста через UART. Он глючный и портит данные в стеке, но он есть и работает, а у спарков такой фигни не было, а без отладки я, увы, не умею. Я пытался понять что там глючит но не смог и мучаюсь так.
1098 256178
>>256172

>Да, дело принципа, можешь не соглашаться, дело твоё.


Я просто пытаюсь понять на чем основаны эти принципы.
И еще не понятно, в проекте вообще ни одного IP-ядра от хилых не заюззал?
1099 256179
>>256178

>И еще не понятно, в проекте вообще ни одного IP-ядра от хилых не заюззал?


Именно так. Только примитивы RAMB16BWER и DCM_CLKGEN явным образом.
1100 256816
можно ли программировать ПЛИС на чем-то более низкоуровневом, чем распространенные HDL? чтобы контролировать расход ячеек и так далее
1101 256839
Антуаны, я понимаю, что тема уже протухла, но если ли в сети открытый проект майнера биткоинов на FPGA?
слоупок.jpg
1102 256840
что если поднять ферму на рабочем железе, чтобы по ночам и выходным майнить битки.
1103 256856
>>256817
Есть.
Открываешь чиппланер для Квартуса и ебашишь там по хардкору.
1104 256892
>>256817

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


я могу понимать это в точности или с точностью до каких-то множителей?
1105 256893
спасибо за ответы
1106 256938
>>256892
a[0] <= b[0] занимает один регистр. a[7:0] <= b[7:0]; занимает восемь регистров. Каких - зависит от того, какой ты им сделаешь ресет. assign a[0] = (b[0]==0) ? c[0] && d[0] : e[0] || f[0]; занимает один LUT, если количество b, c, d... не больше шести-семи. Понимать эту хуйню в любом случае надо, но не для школооптимизаторства, а потому что иначе ты сделаешь кипятильник, которые будет работать максимум на паре мегагерц.
1107 257378
>>256839
Бамп вопросу
1108 257379
Плисаны, а не запилить ли нам манифест плисовода?
1109 257416
>>257379
Что за ебаная гомосятина?
1110 257538
>>257379
Про что? Про то, как мы презираем микроконтроллерное быдло?
1111 257956
>>257416
>>257538
у погроммистов есть свой манифест и не один. Чем мы хуже?
Можно пойти шире, написать манифест электронщика
1112 258875
>>127314 (OP)
Сап плисаны. Учу Verilog написал двух приоритетный шифратор из упражнения к книге. Работает. Но есть подозрения что я сделал это максимально по уебански. Не могли бы поправить если где то ошибся и объяснить как надо.
reg [9:0] first;
reg [9:0] second;
reg [9:0] buffer;
always @(SW)
begin
buffer = SW;
casex(SW)
10'b1xxxxxxxxx: first <= 10'b1000000000;
10'b01xxxxxxxx: first <= 10'b0100000000;
10'b001xxxxxxx: first <= 10'b0010000000;
10'b0001xxxxxx: first <= 10'b0001000000;
10'b00001xxxxx: first <= 10'b0000100000;
10'b000001xxxx: first <= 10'b0000010000;
10'b0000001xxx: first <= 10'b0000001000;
10'b00000001xx: first <= 10'b0000000100;
10'b000000001x: first <= 10'b0000000010;
10'b0000000001: first <= 10'b0000000001;
default: first <= 10'b0000000000;
endcase
buffer = buffer & (~first);
casex(buffer)
10'b1xxxxxxxxx: second = 10'b1000000000;
10'bx1xxxxxxxx: second = 10'b0100000000;
10'bxx1xxxxxxx: second = 10'b0010000000;
10'bxxx1xxxxxx: second = 10'b0001000000;
10'bxxxx1xxxxx: second = 10'b0000100000;
10'bxxxxx1xxxx: second = 10'b0000010000;
10'bxxxxxx1xxx: second = 10'b0000001000;
10'bxxxxxxx1xx: second = 10'b0000000100;
10'bxxxxxxxx1x: second = 10'b0000000010;
10'bxxxxxxxxx1: second = 10'b0000000001;
default: second = 10'b0000000000;
endcase
end
assign LEDR = second | first;

SW - это входной сигнал, LEDR - выходной
1112 258875
>>127314 (OP)
Сап плисаны. Учу Verilog написал двух приоритетный шифратор из упражнения к книге. Работает. Но есть подозрения что я сделал это максимально по уебански. Не могли бы поправить если где то ошибся и объяснить как надо.
reg [9:0] first;
reg [9:0] second;
reg [9:0] buffer;
always @(SW)
begin
buffer = SW;
casex(SW)
10'b1xxxxxxxxx: first <= 10'b1000000000;
10'b01xxxxxxxx: first <= 10'b0100000000;
10'b001xxxxxxx: first <= 10'b0010000000;
10'b0001xxxxxx: first <= 10'b0001000000;
10'b00001xxxxx: first <= 10'b0000100000;
10'b000001xxxx: first <= 10'b0000010000;
10'b0000001xxx: first <= 10'b0000001000;
10'b00000001xx: first <= 10'b0000000100;
10'b000000001x: first <= 10'b0000000010;
10'b0000000001: first <= 10'b0000000001;
default: first <= 10'b0000000000;
endcase
buffer = buffer & (~first);
casex(buffer)
10'b1xxxxxxxxx: second = 10'b1000000000;
10'bx1xxxxxxxx: second = 10'b0100000000;
10'bxx1xxxxxxx: second = 10'b0010000000;
10'bxxx1xxxxxx: second = 10'b0001000000;
10'bxxxx1xxxxx: second = 10'b0000100000;
10'bxxxxx1xxxx: second = 10'b0000010000;
10'bxxxxxx1xxx: second = 10'b0000001000;
10'bxxxxxxx1xx: second = 10'b0000000100;
10'bxxxxxxxx1x: second = 10'b0000000010;
10'bxxxxxxxxx1: second = 10'b0000000001;
default: second = 10'b0000000000;
endcase
end
assign LEDR = second | first;

SW - это входной сигнал, LEDR - выходной
1113 258894
Анон, помоги. Посоветуй отладочную плату с ПЛИС и возможностью запихнуть в нее MicroBlaze, а лучше (гораздо лучше) если там будет PowerPC. Пикрелейтед (ml505) был бы идеален, но во-первых где ж его достать, а во-вторых, ебать мой хуй что за цена.
ml505.JPG224 Кб, 1200x884
1114 258895
1115 258963
>>258875
Да, по уебански. Не стоит смешивать блокирующие и не блокирующие присваивания в always, это запросто может привести к возникновению защелок. Выше по треду про это довольно много писали.

>>258894
Для чего? Если для "Мам, я процессор сделал!", то купи самую простую плату на алиэкспрессе, выше по треду была ссылка на плату с EP4CE6 за ~1100р.
1116 259080
>>259022
>>258963
нет, там я затупил неправильно написав. То что блокирующие и не блокирующие не надо смешивать я знаю.
1117 260044
Йоу-йоу, радачи. А имел ли дело кто с плисинами от ACTEL?
Внезапно узнал, что ИНТЕГРАЛ делает копии актелевских плисин http://integral.by/ru/products/bmk-i-plis
1118 260093
>>260044
Какие-то они мелкие совсем. И не радстойкие похоже, в отличие от оригинала.
Интереснее воронежские аналоги второго циклона 5578ТС024. Но у них все портит кривое и тормозное ПО.
1119 260205
>>260093

>Но у них все портит кривое и тормозное ПО.


Лол што?
Они же полностью совместимы с оригиналами, всё клепается под родным квартусом.
1120 260253
>>260205

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


Это 5576, которые аналоги FLEX10K, полностью совместимы. 5578 совместимы частично, для них в квартусе делается только нетлист, place&route делает уже воронежский софт.
1121 260403
>>260253
Вот ведь пидоры, вместо того чтобы полный аналог выпустить, надо обязательно изъебнуться.
1122 260409
Сап, радач.

Изредка пользуюсь Моделсимом для простого моделирования. Хочу узнать больше, но по документации как-то не совсем для меня понятна, например, такая фича как Code Coverage. Анон, расскажи, пожалуйста, простым доступным языком, что это такое, и как я могу ее применить с пользой для дела.
1123 260411
>>260409

>Code Coverage


Полнота теста.
Есть разные способы подсчёта, в среднем 70% на сложных проектах считается хорошим каверджем.
Как этой хернёй пользоваться в Моделсиме я хз, самому интересно.
1124 260412
>>260411

> Полнота теста


Это типа все ли возможные воздействия на входные сигналы я предусмотрел в своем тестбенче? Т.е. подсчет вероятности того, что моя схема проверена во всех возможных режимах?
1125 260415
>>260412

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


Как бы да, но не совсем.
Можно перебрать все комбинации на входах, но скажем какой-нибудь автомат не попадёт в пару состояний, т.к. он устройство последовательное, и в этом случае кавердж будет не сотка, а вот если твой автомат побудет во всех состояниях - тогда да.
1126 260688
я так понимаю, защита дизайна в MAX II несовместима с его обновляемостью? в каких дешевых ПЛИС есть обе фичи?
1127 261255
>>260415
Побывать во всех состояниях еще не означает полное покрытие. Как минимум еще нехватает пройти все варианты ветвления
1128 261542
Привет, плисач, суть такова. Разрабатываю видеокамеру. С матрицы я получаю поток х4 ЛВДС по 300 МГц ДДР каждый, иными словами 2,4 гбита инфы в секунду. Я уже написал десериалайзер для приёмника, но встал вопрос как эту картинку отправлять. 1 пиксель - 12 бит, значит при разрешении 1920*1080 получится 3,1 мбайта на кадр, а таких отправлять надо 60 в секунду. Отправлять 2,4 х 2 Гбита/c не хочется (2 изображения - 1 яркость и по 2 х 0.5 на цвет), потому кадры надо обрабатывать и сжимать. В свою очередь для этого надо эти кадры где-то хранить. Помогите с выбором памяти. Каждые 200 нс я получаю 4 слова по 12 бит, и их надо записывать как-то. Вот, извиняюсь за неровный подчерк, если что готов пояснить.
Безымянный.png100 Кб, 1232x563
1129 261833
Как подсоединить к microblaze контроллер прерываний?
В настройках контроллера нельзя изменить "Number of peripheral interrupts" - оно выбирается автоматически.
1130 261904
>>261833
Это баг, было в виваде 2013. Потом вроде пофиксили. Попробуй сначала validate design (F6), еще помогало удалять/добавлять конкат или контроллер прерываний.
1131 261919
>>261904
Спасибо, помогло F6. Вивада 2016.3
1132 262880
>>166970
В пердуине один ALU и какая-то переферия к нему, в FPGA ты сам задаешь то, что тебе нужно, можно хоть штук сто арифметических блоков сделать с параллельным вводом-выводом.
1133 263053
Мужики, требуется помощь. Делаю на кинтексе 7 интрефейс i2c по типу https://eewiki.net/pages/viewpage.action?pageId=10125324 только для конкретной ПЗУ 24LC01B. Акноуледжи приходят,анализатор протокола показывает все верно, вроде как запись в память осуществляется, но чтение по всем адресам дает 0хAB, в чем может быть проблема? Осциллограммы цикла записи прилагаю.Спасибо.
1134 263059
>>263053
Ванговать не буду, что у тебя не работает, но вот тебе идеи:
1. Запиши во флешку что-нибудь, например 1 2 3 4... программаторм. Так ты поймёшь, чтение или запись не фурычит.
2. Недавно пилил ш2ц для часов в своём проекте. Юзал это https://opencores.org/project,iicmb , там есть разные интерфейсы ядро <-> шина, в том числе RAW если ты без проца, у меня взлетело без проблем.
1135 263133
>>263053
Емкости на питании 24-ки, и скорость записи проверь. Я как-то полвечера убил, а оказалось между записями при побайтовом режиме надо паузы делать %5кто ж даташиты-то читает%%
IMG8250.jpg45 Кб, 1731x118
1136 263150
>>263059
Спасибо,посмотрю решение с твоего сайта.

>>263133
С емкостями все ок, пишет на скорости 388 кГц. У меня запись в режиме page write. В глаза долблюсь :(,после каждого байта,помимо акноуледжа еще паузы делать?
1137 263153
>>261666
скорее всего придётся работать с циклоном 4, а он дд3, как я знаю, не поддерживает.
лвдс написал сам на логике (2 приёмника, один по переднему фронту, другой по заднему, в итоге формируют один регистр на 12 бит)
синхрокоды детектирую следующим образом, матрица работает в режиме мастера, из неё идёт строчный синхрик, после него я считываю 4 слова (fff 000 000 и ещё какое-то) после него начинаю записывать полезную инфу
1138 263446
а бывают ли хуйни как ПЛИС, только для аналоговых цепей, а не цифровых?
1139 263451
Плисаны, а есть ли в сети рабочие проекты с USB на верилоге? Нужно загнать в плиску по юсб поток 20 Мб/сек
1140 263465
>>263446
Да, FPAA
1141 263467
>>263451
Есть, смотри код USRP или BladeRF
14634198058700.jpg31 Кб, 704x512
1142 263502
Вечер в радость плисаны! вчера заказал эту няшу: https://www.aliexpress.com/snapshot/0.html?orderId=81104359759325&productId=967529392
вместе с усб бластером. Вопрос в том, что я не знаю как ее запитать, видел на хабре что на некоторых 2А и 5V, но здесь мой китайский друг не написал этого.
1143 263511
>>263502
Там на плате у разъема написано "DC-5V".
У четвертых циклонов ядро и PLL питается от 1,2В, по остальным входам ток потребления намного меньше.
>>250696
На фотографии видно, что для получения 1,2В стоит стабилизатор AMS1117, максимальный ток которого 1А. Выводы?
Хватит зарядки от телефона.
1144 263514
Сап, плисачи! Нубасос репортинг ин, требуется помощь. Кто пробовал интеграцию MATLAB/Simulink с Xilinx ISE? Какие подводные при такой реализации алгоритмов ЦОС на ПЛИС? Посоветуйте, пожалуйста, годные книги по данной тематике, а также сурсы на годные репаки с Матлабом и Ксайлинксом (кстати, вообще ХЗ, какие версии дружат друг с другом).
1145 263550
>>263467
Няш, поясни подробнее плз, что за проекты? На гитхабе искать?
Какой phy используют?
1146 263601
>>263550
EZ-USB FX3
Да, гитхаб
https://github.com/Nuand/bladeRF
только там используют нечто большее чем просто фай, что бы еще и плиску прошить. На сколько помню, интерфесом FX2 принципиально не сильно отличаеться
1147 263854
>>263170
1) я жду сигнала XHS с матрицы, который идёт на отдельную ногу
2) по идее надо ждать 3 раза по 1111, но я жду только 2, т.к. иногда синхросигнал запаздывает на бит или два
3) после того как я принял 2 раза по 1111 я жду перепада в ноль и начинаю делить на слова по 12 (сигнал fff может прийти исключительно в синхрокоде)
nuTStoP.gif292 Кб, 540x386
1148 264006
>>263511
Спасибо!
1149 264463
>>255856 Репортинг
Последний рабочий день уходящего года - пилю отчет о проделанной работе:

Вцелом девайс готов, подводные камни собраны, шишки набиты.
1. Ethernet
По причинам, о которых ниже требовалось поднять быстродействие -> разогнать проц. Поэтому требовалась нормальная синхронизация. Я посчитал, что нахера мне эта гибкость, когда куча триггеров требуется а толку 0, поэтому приколотил гвоздями слоты передачи и приёма к конкретным адресам. Всё равно я их так же прибивал по в программе, а так дикая экономия. После этого допилил синхронизацию, которая раньше косячно работала.

2. I2C
Я подумал, что надо где-то хранить настройки и под руку попались часы ds1338. там кроме часов есть память, которая питается от батареечки. На настройки хватит ну и часы бонусом.
Сначало скачал с опенкоресов вот этот модуль https://opencores.org/project,iicmb - взлетело однако потом пришлос от него отказаться и сделать программный I2C, об этом позже. В проекте оставил опцей аппаратный / программный.

3. СОФТ
Перейдем к самому интересному. Я хотел запилить вебсервер, и да он работал.
Среди множества либ, я нашел вот такую https://github.com/ibexuk/C_Communications_Ethernet_TCP_IP_Driver
Хотя написана она невероятно странно и состоит из стейт-машин, но она мало весит, поэтому я взял её. долго допиливал, но в итоге UDP/TCP/HTTP всё это поднялось.
Сделал шкрипт, который генерит блоб из необходимых для вебморды файлов и зписывает его после программы во флешку, далее на стороне ПЛИСины он парсится и контент читается из этой самой флешки по требованию клиента (браузера). Тестовый шаблончик работал. И казалось-бы вот оно счастье, но нет! Проблема в том, что это всё занимало ужасно много места, оставалось около 2% памяти ПЛИСины, и это без некой логики, при помощи которой клиент сможет забирать результат измерений!
Было принято волевое решение дропнуть вебморду отключил в настройках, а из либы воспользоваться только UDP на котором поднять гугло-protobuf
https://koti.kapsi.fi/jpa/nanopb/
имел дело с ним раньше - годнота.
В итоге логика протокола заняла нехило места, но удалось уместить все, что хотел.

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

Первым делом пришлось поднять частоту проца до 64МHz, больше - увы начинет глючить.
во вторых - аппаратный умножитель, который аппаратно выполняет стандартную gcc-шную функцию int __mulsi3 (int a, int b).
В третьих пришлось отказаться от аппаратного i2c, тут я не совсем понимаю, но когда он есть, то быстродействие ухудшается - проц нормально работает только на 60 MHz, видимо это связано с высоким процентом использования ПЛИСины (90+).
Еще был добавлен аппаратный вычислитель CRC32, но он, однако ощутимого выигрыша не даёт, оставил опцией вкл/выкл.

Теперь коллега займется разводкой платы и сборкой, когда приедут детали, а мне пилить софт на ПеКу под это поделье.
1149 264463
>>255856 Репортинг
Последний рабочий день уходящего года - пилю отчет о проделанной работе:

Вцелом девайс готов, подводные камни собраны, шишки набиты.
1. Ethernet
По причинам, о которых ниже требовалось поднять быстродействие -> разогнать проц. Поэтому требовалась нормальная синхронизация. Я посчитал, что нахера мне эта гибкость, когда куча триггеров требуется а толку 0, поэтому приколотил гвоздями слоты передачи и приёма к конкретным адресам. Всё равно я их так же прибивал по в программе, а так дикая экономия. После этого допилил синхронизацию, которая раньше косячно работала.

2. I2C
Я подумал, что надо где-то хранить настройки и под руку попались часы ds1338. там кроме часов есть память, которая питается от батареечки. На настройки хватит ну и часы бонусом.
Сначало скачал с опенкоресов вот этот модуль https://opencores.org/project,iicmb - взлетело однако потом пришлос от него отказаться и сделать программный I2C, об этом позже. В проекте оставил опцей аппаратный / программный.

3. СОФТ
Перейдем к самому интересному. Я хотел запилить вебсервер, и да он работал.
Среди множества либ, я нашел вот такую https://github.com/ibexuk/C_Communications_Ethernet_TCP_IP_Driver
Хотя написана она невероятно странно и состоит из стейт-машин, но она мало весит, поэтому я взял её. долго допиливал, но в итоге UDP/TCP/HTTP всё это поднялось.
Сделал шкрипт, который генерит блоб из необходимых для вебморды файлов и зписывает его после программы во флешку, далее на стороне ПЛИСины он парсится и контент читается из этой самой флешки по требованию клиента (браузера). Тестовый шаблончик работал. И казалось-бы вот оно счастье, но нет! Проблема в том, что это всё занимало ужасно много места, оставалось около 2% памяти ПЛИСины, и это без некой логики, при помощи которой клиент сможет забирать результат измерений!
Было принято волевое решение дропнуть вебморду отключил в настройках, а из либы воспользоваться только UDP на котором поднять гугло-protobuf
https://koti.kapsi.fi/jpa/nanopb/
имел дело с ним раньше - годнота.
В итоге логика протокола заняла нехило места, но удалось уместить все, что хотел.

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

Первым делом пришлось поднять частоту проца до 64МHz, больше - увы начинет глючить.
во вторых - аппаратный умножитель, который аппаратно выполняет стандартную gcc-шную функцию int __mulsi3 (int a, int b).
В третьих пришлось отказаться от аппаратного i2c, тут я не совсем понимаю, но когда он есть, то быстродействие ухудшается - проц нормально работает только на 60 MHz, видимо это связано с высоким процентом использования ПЛИСины (90+).
Еще был добавлен аппаратный вычислитель CRC32, но он, однако ощутимого выигрыша не даёт, оставил опцией вкл/выкл.

Теперь коллега займется разводкой платы и сборкой, когда приедут детали, а мне пилить софт на ПеКу под это поделье.
image.png691 Кб, 640x1136
1150 265937
Аноны, для первоначального знакомства с ПЛИС подойдёт данный набор?
1151 265942
>>265937
Более чем.
1152 265943
>>265942
а чем он лучше пердуины, за что там 2к?
1153 265944
>>265943
Это совсем разные вещи
1154 265952
>>265943
Тем что пердуина - это микроконтроллер, а то ПЛИС.
1155 265953
>>265937
По моему для начала хватит симулятора. Если хочется сразу видеть результат, то такая плата сойдет для начала. Но можешь взять https://ru.aliexpress.com/item/EP4CE10/32637947021.html или https://ru.aliexpress.com/item/EP4CE6/967529392.html
Наиболее дешевая из более серьезных плат, с DDR памятью, это наверное http://store.digilentinc.com/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists/
Брать более серьезную плату я бы не советовал, ПЛИС довольно быстро устаревают.
1156 265964
>>265953
Выбор пал на тот вариант, так как он уже содержит перемирию на борту, и имеется возможность побаловаться с vga портом. Возится и что то подключать самостоятельно нет желания большого, а по финансам и тот доступен мне.
1157 265965
>>265964
Периферия
Возиться
14252085739339.jpg445 Кб, 1000x582
1158 266687
Здорово, посоны. Есть тут опытные спецы-гуру, которым не в падлу, а то и в радость поделиться знаниями по такой сложной, но важной тематике? Только начинаю вкатываться в это интересное дело, так что не поносьте меня сильно, пожалуйста, за мои, возможно, глупые вопросы. Вот скажите, можно ли запилить какую-нибудь демодуляцию сигнала (скажем, FSK или PSK) на VHDL для какого-нибудь Spartan'a-6? Или же отдельно процесс демодуляции аппаратно не реализуем, разве что только в составе какого-нибудь приёмника, где присутствуют какие-нибудь фильтры, детекторы и т.п.? Также не понятно, как на ПЛИС реализуются блоки (или ХЗ как ещё по-другому это назвать) входных сигналов? Вот допустим, я хочу демодулировать сигнал, запись которого представлена в файле с расширением .mat, слышал, что многие спектроанализаторы пишут именно в mat'овские файлы, возможно, чтобы проще было их обрабатывать в MATLAB'e получается, что мне нужно определиться с интерфейсом, через который нужно будет подавать этот файл на входы плиски, и описать его на HDL? Также сразу встаёт вопрос: а что делать, если у меня нет записи и всё идёт в прямом эфире, т.е. сигнал типа прямо в аналоговом виде поступает с антенны? Нужно подрубать какой-нибудь АЦП и уже его подключение к ПЛИС описывать в проекте на HDL? Попытался разобраться сам, почитав и Хоровица, и Харрисов, и даже Зотова, но что-то как-то никакого серьёзного понимания в голове не отложилось (видимо, на это нужно гораздо больше времени, чем я потратил вернее, очевидно, что это так), так что подумал, что, может быть, вы, добрые аноны, которые съели не одну собаку уже на этом поприще, как-нибудь откликнитесь на мой SOS. С меня пока нихуя, но надеюсь, что, благодаря вашей поддержке, в скором времени вкачусь в серьёзное проектирование и уже сам смогу раздавать советы направо и налево таким же доходягам как я.

P.S./UPD писал подвыпившим, так что ещё раз прошу прощения за ошибки различного рода. Наверное, стоило начать с вопросов о том, как вообще вкатываются в профессии, связанные с работой с ПЛИС...
14252085739339.jpg445 Кб, 1000x582
1158 266687
Здорово, посоны. Есть тут опытные спецы-гуру, которым не в падлу, а то и в радость поделиться знаниями по такой сложной, но важной тематике? Только начинаю вкатываться в это интересное дело, так что не поносьте меня сильно, пожалуйста, за мои, возможно, глупые вопросы. Вот скажите, можно ли запилить какую-нибудь демодуляцию сигнала (скажем, FSK или PSK) на VHDL для какого-нибудь Spartan'a-6? Или же отдельно процесс демодуляции аппаратно не реализуем, разве что только в составе какого-нибудь приёмника, где присутствуют какие-нибудь фильтры, детекторы и т.п.? Также не понятно, как на ПЛИС реализуются блоки (или ХЗ как ещё по-другому это назвать) входных сигналов? Вот допустим, я хочу демодулировать сигнал, запись которого представлена в файле с расширением .mat, слышал, что многие спектроанализаторы пишут именно в mat'овские файлы, возможно, чтобы проще было их обрабатывать в MATLAB'e получается, что мне нужно определиться с интерфейсом, через который нужно будет подавать этот файл на входы плиски, и описать его на HDL? Также сразу встаёт вопрос: а что делать, если у меня нет записи и всё идёт в прямом эфире, т.е. сигнал типа прямо в аналоговом виде поступает с антенны? Нужно подрубать какой-нибудь АЦП и уже его подключение к ПЛИС описывать в проекте на HDL? Попытался разобраться сам, почитав и Хоровица, и Харрисов, и даже Зотова, но что-то как-то никакого серьёзного понимания в голове не отложилось (видимо, на это нужно гораздо больше времени, чем я потратил вернее, очевидно, что это так), так что подумал, что, может быть, вы, добрые аноны, которые съели не одну собаку уже на этом поприще, как-нибудь откликнитесь на мой SOS. С меня пока нихуя, но надеюсь, что, благодаря вашей поддержке, в скором времени вкачусь в серьёзное проектирование и уже сам смогу раздавать советы направо и налево таким же доходягам как я.

P.S./UPD писал подвыпившим, так что ещё раз прошу прощения за ошибки различного рода. Наверное, стоило начать с вопросов о том, как вообще вкатываются в профессии, связанные с работой с ПЛИС...
1159 266702
>>266687
Тебе нужно вкатываться в таком порядке:
1. Основы цифровой электроники. Комбинационные и последовательные цифровые устройства. Синтез вручную этих устройств. Рекомендую изучить эту методичку: http://www.twirpx.com/file/68915/
2. Изучить внутреннюю структуру ПЛИС. Можешь начать со старых CPLD MAX7000 и закончить старыми FPGA FLEX10K.
3. Изучить Verilog, VHDL. Освоить средства моделирования, такие как modelsim.
Поскольку возникают такие вопросы:

>Нужно подрубать какой-нибудь АЦП


То с аналоговой частью у тебя не лучше, поэтому:
4. Для начала изучить курс "радиотехнические цепи и сигналы". Мог бы посоветовать учебник Баскакова или Гоноровского, но без лекций и практических занятий такой учебник трудно осилить.

>Spartan'a-6


Выкинь, он устарел.

>Или же отдельно процесс демодуляции аппаратно не реализуем, разве что только в составе какого-нибудь приёмника, где присутствуют какие-нибудь фильтры, детекторы и т.п.?


Не вполне понял. Подрубить напрямую к ПЛИС антенну и принять сигнал не выйдет, но для демодуляции оцифрованного аналогового сигнала (например с АЦП) хватит только ПЛИС.

>Вот допустим, я хочу демодулировать сигнал, запись которого представлена в файле с расширением .mat


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


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

>Попытался разобраться сам, почитав и Хоровица, и Харрисов, и даже Зотова


Никого из этих не читал. Цифровая обработка сигналов и программирование ПЛИС - это разные, хотя и соприкасающиеся области. Поэтому изучать их стоит отдельно.

Дальше на твои вопросы не вижу смысла отвечать, это тебе не поможет в изучении всего этого.
187.jpg94 Кб, 886x722
1160 266711
>>266687
ПЛИС - цифровое устройство, всё что может делать процессор, то может и ПЛИС и даже лучше. От этого и пляши. Т.е. ЦОС - это математика и алгоритмы, а на чём их лучше реализовать - вопрос второй.

>VHDL


Тупиковый путь, лучше сразу verilog, если знаешь Сишник - вкатишься легко.

>>266702
Рекомендую изучить эту методичку
Можно также глянуть что-нибудь на подобие этого
https://youtu.be/NQE5Mlsj-9k
1161 266719
>>266711

>если знаешь Сишник - вкатишься легко


Я вот реально не понимаю, как люди могут всерьёз утверждать, что умение писать программы для процессора настолько легко перенесится на описание цифровых схем на ПЛИС, что все проблемы, которые при этом возникнут - это каким символом обозначается побитовый сдвиг. И что исходя из этого и надо выбирать язык.
1162 266766
>>266719

>как люди могут всерьёз утверждать


Я не про перенос умения с процессора на ПЛИС, я про выбор языка говорю.
Ежу понятно, что HDL отличается от программирование кардинально, но если знаешь Си, изучение virilog-a пойдёт легче чем vhdl-я.
1163 266883
>>266766
А я в отличие от >>266719, не понимаю даже чем Си больше похож на верилог чем на VHDL. Разве что неявным привидением типов, но тогда можно сказать что VHDL похож на java.
В любом случае практика со временем заставит разобраться в обоих языках.
1164 266890
Пачаны, а есть какой-нибудь реестр или список всевозможных библиотек и пакетов для вхдл? Где об этом можно узнать? Хочу посмотреть, что вообще еще можно заюзать помимо всяких стд лоджик.
1166 266940
Разбираю код с гитхаба, наткнулся на такую запись
else if (|hba_reset_cntr) hba_reset_cntr <= hba_reset_cntr - 1;

(|hba_reset_cntr) нахуя здесь оператор | и как это будет работать?
явно крестовый программист писал
1167 266966
>>266940
Поидее, работать будет так же как и
if (hba_reset_cntr). Зачем так написано хуй знает. А можно больше контекста?
1168 266970
>>266966
Я тоже так думаю, но зачем-то эту закорюльку поставили

>больше контекста


разметка конечно же проебётся..
always @(posedge aclk) begin
if (arst) hba_reset_cntr <= 0; // 1; no HBA reset at arst
else if (set_hba_rst) hba_reset_cntr <= {HBA_RESET_BITS{1'b1}};
else if (|hba_reset_cntr) hba_reset_cntr <= hba_reset_cntr - 1;

hba_rst_r <= hba_reset_cntr != 0;

if (arst) port_rst_r <= 0;
else if (set_port_rst) port_rst_r <= ahci_regs_di[0]; // write "1" - reset on, write 0 - reset off

if (arst || port_rst_on) was_hba_rst_aclk <= 0;
else if (set_hba_rst) was_hba_rst_aclk <= 1;

if (arst || set_hba_rst) was_port_rst_aclk <= 0;
else if (port_rst_on) was_port_rst_aclk <= 1;

if (arst) arst_r <= ~0;
else arst_r <= arst_r << 1;

end

https://github.com/Elphel/x393_sata/blob/727bf4bcab3be44b0395b3d9bbc9b1a7f42c6b86/ahci/axi_ahci_regs.v

Я мягко говоря афигел, когда наткнулся на их гитхаб. Наши бывшие соотечественники пилят такие крутые проекты.
Алсо среда в которой они пилят походу тоже их разработки - некий VDT-плагин для эклипса
1168 266970
>>266966
Я тоже так думаю, но зачем-то эту закорюльку поставили

>больше контекста


разметка конечно же проебётся..
always @(posedge aclk) begin
if (arst) hba_reset_cntr <= 0; // 1; no HBA reset at arst
else if (set_hba_rst) hba_reset_cntr <= {HBA_RESET_BITS{1'b1}};
else if (|hba_reset_cntr) hba_reset_cntr <= hba_reset_cntr - 1;

hba_rst_r <= hba_reset_cntr != 0;

if (arst) port_rst_r <= 0;
else if (set_port_rst) port_rst_r <= ahci_regs_di[0]; // write "1" - reset on, write 0 - reset off

if (arst || port_rst_on) was_hba_rst_aclk <= 0;
else if (set_hba_rst) was_hba_rst_aclk <= 1;

if (arst || set_hba_rst) was_port_rst_aclk <= 0;
else if (port_rst_on) was_port_rst_aclk <= 1;

if (arst) arst_r <= ~0;
else arst_r <= arst_r << 1;

end

https://github.com/Elphel/x393_sata/blob/727bf4bcab3be44b0395b3d9bbc9b1a7f42c6b86/ahci/axi_ahci_regs.v

Я мягко говоря афигел, когда наткнулся на их гитхаб. Наши бывшие соотечественники пилят такие крутые проекты.
Алсо среда в которой они пилят походу тоже их разработки - некий VDT-плагин для эклипса
1169 266979
>>266978
Афигеть, мир тесен!
Жаль, что у тебя не срослось, анон. Расскажи про эту поездку, если не лень
1170 266983
Что-то у меня самооценка еще ниже упала, может электроника это не моё? Народ вон кто в Америке пилит крутые камеры, кто в Корее а я полное дно
1171 266989
>>266988
В том то и дело, что не школьник. Пишу с мобильника :(
познавший_кризис_среднего_возраста_в_27_лвл
1172 266991
>>266989
А работаешь кем?
1173 266995
>>266991
БыдлоFPGAшником. Конечное звено в цепочке попила госбабла.
Осознаю что это хуже червя пидора, но все могло сложиться еще хуже
1174 267008
>>266883
Си:
for(i = 0; i < n ;i++)
{
}

верилог:
for(i = 0; i < n; i = i + 1)
begin
end

Ну хуй знает.
1175 267009
>>266988

>пошёл на курсэру


Куда пошёл, простите?

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


Не знаю, как это может быть легко. Сколько не пытался вкатиться в ЦОС - не выходит, может, просто, я тупой.
1176 267011
>>267009
Для ЦОС нужна математическая подготовка. Ряды Фурье и вот это всё.
1177 267018
>>266995
Тогда все у тебя есть. Мониторишь вакансии на хедхантере@валишь из сраной рашки@добираешь на реальных проектах знания, для которых в рашке не было задач по причине потешности ее обороноподелок.

>>267009
coursera.org
Начни качать эльфа чуть раньше, с пределов, интегралов, рядов и комплексных чисел. Алсо в цос-треде есть книги для нубья.
1013757599.jpg156 Кб, 803x1200
1178 267037
>>266929
Благодарю. Ещё интересует вопрос подбора литературы. Что посоветуете почитать из того, где есть хотя бы мало-мальские намёки на практическую часть (что-нибудь эдакое для маленького ребёнка студента, как лабораторный практикум с пошаговыми гайдами)? И где вообще советуете пиратить добывать книги по околоПЛИСам? Вот наткнулся на пикрил – что скажете, стоит знакомиться? Если нет, то прекрасно, а то ни скачать, ни купить пока нет возможности. https://www.ozon.ru/context/detail/id/34802000/
1179 267047
>>267011

>Ряды Фурье и вот это всё.


>>267018

>Алсо в цос-треде есть книги для нубья.


Вот пытался читать первый пикрил, но даже его не осилил. Мне надо что-то типа второго пикрил, вот его я почти весь понял, но литературы такого уровня я не встречал.

>>267037
По HDL на русиче совсем мало книг, так-что выбирать не приходится.
1180 267061
>>267047

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


Можешь пример привести, ну типа "вот тут понимаю, понимаю, понимаю, а вот тут БАЦ и не понимаю уже"?
1181 267199
Анончик, с понедельника пойду от работы на курсы фирмы Эфо по квартусу, по окончанию отчитаюсь в треде.
1182 267202
>>267199
Был там, нового мало узнал.
Будут рассказывать как проекты создавать, даже о ХДЛ ничего не скажут. У них вроде как отдельный курс есть, то ли по вхдлю, то ли по верилогу.
1183 267210
>>267202
мне от работы надо было ещё 2 месяца назад, за это время сам всё выучил уже, но деньги уплачены, чтож, послушаю
1184 267215
>>267061
Глава 3, забуксовал там где начали про вектора и пространства функций втирать.
Я ещё вперёд посмотрел, там совсем хардкор с комплексными числами пошёл.
В общем мат подготовки мне не хватает.
1185 267219
>>267215
Где учился и по какой специальности, если не секрет?
На любой технической специальности все это должны объяснять на линейной алгебре. А на радиотехнических специальностях все это повторят еще несколько раз на разных курсах.
1186 267223
как у меня горит с комментов программистов
https://habrahabr.ru/post/267183/
Разбил ладонью лоб, пока почитал комменты до середины
1187 267224
>>267219
Специальность называется вычислительные машины, системы, комплексы и сети. Немного не тот профиль, да и математику преподавали так себе и всего пару семестров, если правильно помню.
!UmBa9G4cT. 1188 267276
Анон, как считаешь, будет иметь смысл подбиралка трипкодов? В универе есть Копакабана с 16 планками на 133МГц, препод говорил, что на каждую по 4 ядра DES входит, но tripcode explorer даже на моем дряхлом ноуте выдает 5 миллионов комбинаций в секунду.

Алсо, надо проверить, какой тут алгоритм генерации.
1189 267305
>>267276

>будет иметь смысл подбиралка трипкодов?


Оглянись вокруг, сколько ты видишь трипфагов на этой доске?

>Копакабана


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

>16 планками на 133МГц


И мне сразу представилась DIMM память. А при чем тут память? Отдельная память для подбора паролей вообще не нужна.
Оказалось что эта COPACOBANA состоит из плат в формате DIMM, на каждой из которых по 6 XC3S1000.
На каждой FPGA по 4 вычислителя DES, всего у тебя получается 384 вычислителя https://www.httpcs.com/es/news/cloud-cryptanalysis-how-the-cloud-could-modify-the-hacking-customs-in-a-close-future За сколько тактов считается один хэш не понятно.
В любом случае эта COPACOBANA - старье, сейчас все это можно заменить одной XC7A200T, например.

>на моем дряхлом ноуте выдает 5 миллионов комбинаций в секунду


Для начала возьми версию на CUDA или OpenCL. И на двойных паролях все равно обломаешься.
1190 267316
>>267305
О как, думал, эту фирму тут все знают. Надо было приложить ссылку.

>Оглянись вокруг, сколько ты видишь трипфагов на этой доске?


Не поверишь, в /fag/. Там у них целый тред есть и у нескольких человек осмысленные части трипкодов довольно длинные, интересно, как они их подобрали наверняка облачные инстансы с GPU.

>За сколько тактов считается один хэш не понятно.


За один такт, но это для брутфорса DES, в моем случае понадобится как минимум два.

>сейчас все это можно заменить одной XC7A200T, например.


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

>Для начала возьми версию на CUDA или OpenCL.


Она разогревает мою карту до 85 градусов и дает 15 мегахэшей. Наверно, проще будет изредка нанимать облако, или собрать нормальный пека, уже 2 года коплю на него. Спасибо за разъяснения.

В принципе, можно диплом на эту тему написать. Да и хочется сделать большой серьезный проект с высокой энергоэффективностью.
1191 267371
>>267316

>О как, думал, эту фирму тут все знают.


Не знают, потому что эта ерунда годится только для брутфорса.

>За один такт


С чего ты взял один такт, опять препод сказал?

>но это для брутфорса DES, в моем случае понадобится как минимум два.


При чем тут два такта? Про конвейеризацию не слышал?

>В дорогих линейках не секу


Artix-7 это дешевое семейство FPGA.

>В принципе, можно диплом на эту тему написать.


Пиши что хочешь, но для меня брутфорс DES - это бесполезная ерунда. И даже не интересная - просто набор одинаковых ядер.
Лучше сделай на своей Lattice самодельный процессор, это тоже не нужно, но уже интереснее.
14724037602790.png1,7 Мб, 1145x641
1192 268239
На ютубе можно что-нибудь годное найти по ПЛИС? Реквестирую сносные каналы на русском и английском.
1193 268241
>>268239
Какое нахуй видео? Читать не умеешь?
ПЛИС программируются посредством набирания кода. Код - это текстовая информация, что тут на видео можно показать?

Единственное на что годится видео - это наглядно показать расположение кнопочек в среде.
14678218552740.jpg239 Кб, 764x1024
1194 268251
>>268239
Что ж ты, няша, много раз давал здесь ссылку на канал упоротого хмыря, который как полоумный, видосы пилит. Обещал скоро верилог.
https://www.youtube.com/user/jack0ov/videos
1195 268306
Нужна такая штука:
http://www.codesrc.com/mediawiki/index.php?title=SCSI2SD
Для SGI Indy. Да, некроёб.
Но цена в $125 отбивает всё желание покупать. Заказывать детали с Али и паять — только если следующий вариант не прокатит по какой-либо причине. А вариант такой:
https://www.altera.com/products/fpga/cyclone-series/cyclone-v/overview.html
$179, по производительности, качеству исполнения, расширяемости и функциональности на порядки круче. Можно хоть осцилоскоп на ней запилить, синус-генератор и прочую обычно многократно оверпрайснутую технику для радолабы. И всё это я в будущем очень хотел бы реализовать с помощью сайта FPGA4FUN.
Ну может разводку SCSI-GPIO сделаю на плате и LVT125 припаяю-таки, а дальше всё на ПЛИС и можно будет подумать над чем-то акромя SD на другом конце. Остановите меня, или дайте советов мудрых.
Олсо, как думаете, может форум нормальный для любителей ПЛИС запилить? А то вон даже Intel купила Alter'у, Xeon'ы скоро с интегрированными FPGA будут выпускать. Тема становится популярной. С вики, FAQ, мануалами и открытыми проектами по запиливанию аналогов буржуйских девайсов. Ну что, пилить? пахом.svg
1196 268318
>>268306
Астанавись. Для SD-карт наполовину закрыта спецификация, будешь долго по крупицам собирать инфу
1197 268321
>>268306
У меня ПИЧОТ от русских форумов по электронике.
Электроникс - хозяива мудаки, достали со своей политикой деления на своих и чужих. Там сидит много толковых людей, но всё портит горстка индивидуумов, которые в каждой теме предлагают втюхать свои протухшие IP-ядра за бабло.
Отдельно хочу сказать про движок форума из 90х сукабля, зла не хватает.

easyelectronics.ru - всё бы хорошо, но уровень у них низковатый, больше любители. По плис там помогут разве что совсем новичку

еще есть горстка полукомерческих форумов, которые живут за счет продаж своих изделий типа: marsohod.org или bsvi.ru, но там совсем низкая активность.

И всё. Больше форумов где хоть как-то впишется тема про плис нет.
1198 268322
>>268318
Чо0о0о0о? Для SD карт лежит всё, от низкого уровня, до библиотек.
1199 268325
>>268318
Какую спецификацию ты имеешь в виду? Фреймворки целые есть для работы с соотв. микрухами. И я же контроллер SD-карты не буду на ПЛИС делать, он есть на Cyclon'е, вместе с разъёмом.
>>268321
А что движок? Какой лучше? vBulletin воровать не хочется.
1200 268334
Читаю доки по Alter'овским GPIO — похоже, даже LVT125 покупать не придётся.
el.jpg206 Кб, 1717x657
1201 268338
>>268325
Я про контроллер SD и говорил. Если у тебя в распоряжении SOC то нет проблем.
сукабля, я тебе экстрасенс штоле?

> Фреймворки целые есть для работы с соотв. микрухами.


О каких микрухах ты говоришь?

>А что движок? Какой лучше? vBulletin воровать не хочется.


Да там больше дело не в движке, а в оформлении сайта и форума. С 2007 года сайт нихуя не поменялся
1202 268342
>>268338
Altera Cyclone V.
Я и картинку прилепил, и ситуацию описал, и ссылку на железки дал.
В глаза долбишься небось.

>О каких микрухах ты говоришь?


Да о любых. Для каждого чипа ПЛИС, даже для всякой UART-USB-хуйни производители пишут библиотеки и всякие фронтенды, чтобы их говнопрошивки можно было ставить в один клик. Я уж не говорю про Xilix c Alter'ой, так и китаёзы делают. Вот сейчас смотрел исходники прошивки для SCSI2SD - большая часть из сторонних библиотек + прошивалка бинарником. А это любительский проект энтузиаста.
Если ты про спецификации внутреннего устройства этих накопителей, то нахуй нужно вообще? Само собой крупный производитель будет стараться запрятать свои секреты поглубже и не дай бог какой китаёза попортит репутацию своими говноклонами.

>дело не в движке, а в оформлении сайта и форума


Ну то, что на скриншоте меня тоже немного в ступор ввело, но вообще даже больше удивлён такую-то придирчивость к внешнему виду в рядах ПЛИСофагов встретить. Тебе вон даже в лёгком варианте сделали форум — добавь ссыль в закладки, чо как маленький.
Мне вообще похуй на дизайн.
1203 268343
>>268306
https://ru.aliexpress.com/item/EP4CE10/32637947021.html
https://ru.aliexpress.com/item/EP4CE6
Ничем не уступает твоей первой штуке. Можно проводками приделывать ардуиновские модули, точно так же как и к ардуине.

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


>12-Bit Resolution, 500Ksps Sampling Rate. SPI Interface.


>ЦАП только для звука.


Точно, можно. Так же как и на STM32 простеньких.

>>268325

>Фреймворки целые есть для работы с соотв. микрухами. И я же контроллер SD-карты не буду на ПЛИС делать, он есть на Cyclon'е, вместе с разъёмом.


ЧТО? Там SD карта напрямую приделана к FPGA, какие там могут быть микрухи?
1204 268345
>>268343
Вторую ссылку не полностью скопировал
https://ru.aliexpress.com/item/EP4CE6/967529392.html
1205 268346
>>268342
А зачем тогда плодить еще один форум?
1206 268358
>>268343
Да я в курсе, что полно моделей дешевле. На x86 у меня и пекарен полно. Я же говорю, вместо того, чтобы брать ad-hoc-железку от хуй пойми кого, лучше заплатить чуть больше и получить девайс, на котором при желании можно запилить что угодно. Один немец вбросил идею накостылять Lisp-адаптированный CPU и компилятор (то есть по сути LISP-машину) на FPGA. У меня самого подобная идея давно вынашивалась, а тут и в ирочке сообщество уже созрело, вроде бы. Ну и ещё есть пала больных идей по запилу кольцевых буферов и функционального рендеринга на ПЛИСке. Так что с выбором платы я вряд ли передумаю. Разве что ещё более йобу решусь взять.

>А зачем тогда плодить еще один форум?


Ну, как было отписано выше, большинство таких форумов имеют сильный коммерческий уклон. Я же хочу то же, что на FPGA4FUN, только поудобнее и на русском языке. Такое ощущение, что мало кто понимает, насколько охуенны ПЛИСы. Можно ведь на али заказывать дешманский обвес, прикручивать его к таким альтеровским платкам и костылять аналоги всяких осцилоскопов, синтезаторов, ЦАПов — чего угодно. То есть акцент всё болье смещается к коду. Я не говорю, конечно, что от схемотехники совсем можно отказаться, но там где раньше использовались дорогущие ЦАПы, к примеру, и бешено дорогие звуковухи, на их базе, можно народными (лол) силами запилить куда более дешёвые аналоги. Это же как с линупсом во времена его расцвета.
1207 268360
>>268343

>SD карта напрямую приделана к FPGA


ЧТО?
1208 268366
Раз тут все начали палить свои идеи - я тоже вкачусь.
Было бы полезно забабахать анализатор протоколов(USB, SATA, Ethernet и т.п.) с открытым железом и софтом.
Суть проста: есть некий протокол, например USB. Для девайса наша железка прикидывается хостом, для хоста девайсом и пропускает через себя весь информационный обмен с возможностью захвата трафика.
1209 268368
>>268366

>протокол, например USB


Суть охуенно как непроста.

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


Что в итоге-то должно выйти? Просто триггерить протоколы хочешь или анализировать трафик на наличие чего-либо? Ты, часом, не из роскомнадзора?
1210 268370
>>268358

>большинство таких форумов имеют сильный коммерческий уклон


А в чём выражается? Я вот, например, периодически хожу на электроникс, проблем, вроде, не испытываю, правда там местные обитатели малость бывает зазнаются, но это терпимо.
А так, как по мне, не форум нужно пилить, а свою борду, намного удобнее.
1211 268371
>>268368

>Просто триггерить протоколы хочешь


This
1212 268372
>>268370

>не форум нужно пилить, а свою борду


Внезапно двачую.
Тред у нас довольно ламповый.
1213 268374
>>268366
бери Ethernet, я серьезно
в разы проще USB
первый ethernet (со скоростью передачи около 3 мбит/с) вообще на коленке зделоли

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

алсо идея для анализатора эзернет - анализатор FLP, чтобы траблшутит проблемы автонастройки
1214 268375
>>268374

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


там двунаправленная передача по 4 параллельным линиям, в сулчае использования витой пары
1215 268378
>>268374
Согласен, именно сам протокол простой. Только вот по изернету наверняка есть дешевые анализаторы. Да и вайршарком поснифать можно. С поправкой на то, что некоторые поля фрейма сетевая карточка может не показать
1216 268380
>>268370
Обычно аудитория подобных форумов состоит из:
1. ардуинщиков всех мастей (роботостроители, автоматизаторы, лайфхакеры и проч), то есть те, кто предпочитает купить конструктор с руководством и собирать его;
2. ремотники оборудования, то есть люди хорошо разбирающиеся в говне современных сложных плат на высоком уровне, монтаже компонентов, экономической оправданности затей и т.п.;
3. дядьки за 40, паяющие порой довольно сложные девайсы, но что касается программирования - 0.
Все они могут быть как отличными специалистами, так и проблемными до мозга костей ЧСВшниками. Но обычно объединяет их нежелание искать новые решения. Если кто-то приходит и предлагает что-то на ПЛИСах, обязательно найдутся уверенные в том, что на советских релюхах всё будет работать куда железнее. А остальные согласно кивают, поддерживая авторитетов.
С ПЛИСами главное - код. А толковых погромистов вообще не так много. Надо содать условия.
>>268371
А целевая аудитория? Ethernet-сниффер cделать можно, только уверен, что не один ты будешь им пользоваться?
1217 268382
>>268372
И в чём преимущество борды? В ламповости? В тредах, состоящих на 90% из хуйни?
1218 268390
>>268382
Сюда можно задать какой-то вопрос, не боясь быть обоссаным мочератором. Можно поделиться бредовой идеей, которую стыдно озвучить без анонимности. Здесь нет ЧСВшных вниманиеблядей, нет ахуаров, которые пытаются на тебе заработать.
Ну и зачем-то ты сидишь в этом треде?
SD Card.png125 Кб, 844x710
1219 268394
>>268360
Картинка из Cyclone V GX Starter Kit, User Manual.
Ну не знаю...

>>268358
Я сравнивал этого китайца с SCSI2SD.
При чем тут х86? Это обычная альтера с минимальным обвесом.

>на котором при желании можно запилить что угодно.


Что тебя ограничивает, особенно по сравнению с SCSI2SD?

>Один немец вбросил идею накостылять Lisp-адаптированный CPU и компилятор (то есть по сути LISP-машину) на FPGA.


Тренируйся на симуляторе. Процессор на реальной FPGA будет работать абсолютно так же как в симуляторе.

>Ну и ещё есть пала больных идей по запилу кольцевых буферов и функционального рендеринга на ПЛИСке.


На SCSI2SD это вообще смешно, там нет на плате даже микросхемы DDR памяти.

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


Что мешает сделать то же самое на микроконтроллере или сигнальном процессоре?
1220 268395
>>268380

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



Форумы ремонтников это отдельный разговор. Попробуй обратись за помощью на какой-нибудь monitor.net.ru
Они там обоссывают всех без разбору. Ибо если ты отремонтируешь свой девайс самостоятельно - у них не будет работы. Ахуенная логика сука.
1221 268396
>>268390
Блядь, я даже знать не хочу, что у тебя за вопросы и идеи, за которые тебя модератор в FPGA-треде обоссать может. Ты так говоришь, будто я созываю народ перекатываться куда-то. Я спрашиваю только, не круто ли было бы запилить отдельный ресурс по ПЛИСкам с FAQ, Wiki, открытыми проектами, bug-трактором и прочими полезностями. Будет ли вообще в этом спрос. Вообще не удивлюсь, если всем похуй. Потому что даже на фриноде #fpga относительно мёртвый. Тема не то что новая, но популярность только начинает набирать (читай скоро будет дохуя дешёвого FPGA-железа). Это интересно, блядь. Вопрос только в том, мне ли одному.
1222 268401
>>267223
Какие проблемы?
1223 268403
>>268396
Звучит круто конечно, я бы и сам хотел вписаться в какой-нибудь opensource-проект по FPGA. Но только идей годных пока не нашел.
1224 268405
>>268378

> С поправкой на то, что некоторые поля фрейма сетевая карточка может не показать


>>268378
вот и сделай анализатор дуплекса/flp
1225 268412
>>268394
На SCSI2SD ARM справа вниху не просто так. Скачай исходники для V6 и посмотри заголовки хотя бы. В циклоне, понятное дело, и CPU, и контроллеры софтовые.

>При чем тут х86


Ну да, ни при чём. STM32 - это ARM. Сорян, попутал.

>Тренируйся на симуляторе.


Что тренировать? Навык симулирования работы индюшного SCSI-контролера? Пиздец, как же сложно с нискоуровневыми костыляторами общаться. Прочитай ещё раз >>268306

>На SCSI2SD это вообще смешно, там нет на плате даже микросхемы DDR памяти.


Ну ёб твою матушку. Тут ты уже перетолстил.

>Что мешает сделать то же самое на микроконтроллере или сигнальном процессоре?


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



Вот такой хуйни на этих ваших бордах сотни. Пользы 0. Хуй знает, где вы тут ламповость или какие-то профиты находите. Одни тешат ЧСВ, другие боятся, как бы модератор их не обоссал.
1226 268416
>>268380

> А толковых погромистов вообще не так много. Надо содать условия.


Ну на электрониксе плисоводы толковые сидят, надо признать, но ЧСВ у них, да, бывает зашкаливает.

>>268382
>>268390
Да и тупо удобнее, наводишь на ссылку - пост всплывает.
А анонимность - важный фактор.
1227 268427
а есть ли в стране вузы, которые готовят нормальных ПЛИСоебов? Или вы все самоучки/наработенаучили?
1228 268429
>>268427
Здесь уже проскакивала фраза, что знания, получаемые в ВУЗах устаревают на момент написания учебников. Не надейся особо на ВУЗ.
1229 268461
>>268427
Ну меня цифровым схемам научили и синхронному проектированию, а на чём реализовывать, как говорится, сам думай.
1230 268517
>>268427
я уже давно отмучился.
просто столкнулся на работе с проблемой лютого недостатка людей(нужно за год найти порядка 30 человек, военка, радиосвязь), способных вменяемо кодить под плис. Пытаюсь расшибать лоб сам, но я нихуя не погромист изначально, поэтому прогресс отрицательный. Утыкаюсь в элементарные вопросы на которые по два дня ищу ответы. Вот и стало интересно. Как уволят - в /dniwe пойду.
1231 268519
>>268517

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


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

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

>>266981-кун
1232 268556
>>268517
А ты занимаешь должность ведущего инженера?
С хуя ли тебя должны уволить?
1233 268567
>>268517
Если не военнная тайна, хотя бы в общих чертах, что такого вы делаете на плисах, чего нельзя сделать на обычном микроконтроллере?
1234 268568
>>268517
Ты чё, сука, наркоман штоле?
Человек же сказал радиосвязью занимается. О каких микроконтроллерах может идти речь?
1235 268575
>>268568

>радиосвязью занимается


Теперь всё стало предельно понятно, это же РАДИОСВЯЗЬ, поэтому без ПЛИС никак.
1236 268580
>>268575
Ладно бы ты еще про сигнальные процессоры спрашивал, так нет же, ты про микроконтроллеры.
1237 268591
>>268556
я занимаю должность младшего черпальщика, однако плисо-грамистов нет и взять их негде, поэтому я пытаюсьпринудительно расшибать лоб об это. К слову меня уже почти уволили.
>>268567
цифровая обработка сигналовэто уже военная тайна конкретно радиоперехват, дешифровка разговоров, системы связи земля-спутник-земля
все это реализуется на плате размера А4, которая фактически компьютер на 1 - 12 плис с ОЗУ, ПЗУ, портами и тд, В крейте по 8-32 плат. Кол-во крейтов слабо ограничено. Вычислительные мощности представляешь? Охулиарды fft в секунду. Частоты спутниковой связи десятки гигагерц, кол-во каналов сотни-тысячи.
>>268519
ты пиздецки прав
старых более 3-5 лет стажа уволить нельзя
новых взять негде, разрабатывать некому а контрактов набрали
1238 268592
>>268591
еще забыл что учить не хочет никто. Ибо сам себе конкурентов плодишь жопоголизм. Вот такая яма. Систему с циклом разработки 5-7 лет пытаются сделать за 1.5 года. До сдачи 8 месяцев, сейчас только комплектуха начинает приходить делать даже не начинали. Вот вам и роскосмос господа=)
1239 268597
>>268591
Что есть младший черпальщик?
За что тебя хотят уволить? По моему опыту уволить человека с оборонного предприятия вообще анриал. Нужно капчевать без перерыва на обед, на работу класть хуй.

Сколько тебе платили?
С чем именно у тебя затруднения по ПЛИС?

Вкинь фейкопочту, пообщаемся..
1240 268598
>>268597
инженер 3 степеникатегории

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


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

>Сколько тебе платили?


чистых в среднем 30к

>С чем именно у тебя затруднения по ПЛИС


с тем что я не программист вообще, попытка вычитать/записать память оканчивается провалом. Я прост вынужден на каждый долбоебский вопрос по полдня искать ответ в интернетах.
gribovniyWHsskrezhetANUSmailPUNCTUMru
1241 268600
>>268592
Придержи коней, анон.. Ты давно в оборонке работаешь? Еще не понял, как тут всё устроено?

Я трудился в одном почтовом ящике. На фоне своих коллег вроде делом занимался, разрабатывал новую железку.. Другие же занимались поддержкой старых изделий. Мой начальник нихуя не хотел меня стимулировать, хотя я много не просил. Надоело мне такое отношение и я уволился.
Железка моя к тому времени была фактически готова, осталось провести испытания.. Через джва года встретил своего коллегу, от него узнал, что моё детище так и не довели до ума, вместо этого дали заказчику бабла, чтобы тот принял сырое изделие.
1242 268602
Привет, Анон. Как твои дела? Скажи а вот дешманской ep2c5t144 (я бичуган по жизни) хватит на что-нибудь интересное на вроде примитивного ядра микропроцессорного? А то вот в даташите написано сколько-то там ячеек у ней, а много или мало это - хуй знает. Средне наверное...
1243 268603
>>268600
работаю полгода, устраивался год.
к слову люблю сталк, так вот заводы брошенные в 90х похожи на мой чуть более чем полностью. Изменений вообще никаких. Ну совсем. вру конечно, ленина заменили на путена
1244 268608
>>268603
Отписал тебе
1245 268625
>>268602
Ну смотри, ты знаешь сколько ресурсов есть в этой плисине, теперь тебе надо загуглить утилизацию альтеровского ниоса(причем старого) и сравнить.
4k LE думаю маловато будет..
Я бы советовал подкопить деньжат и взять что-то лучше
1246 268627
>>268625
Так, в том-то и суть, что я не знаю сколько в ней ресурсов. У них сук в разных моделях по разному устроены эти самые ячейке. Мне подойдет ответ в самом простом виде: мало/средне/много. Впрочем, все равно нужно наверное брать и пробовать. Я начал было в квартусе описывать ядро, но в эмуляторе его так неинтересно гонять =( Энтузиазм быстро пропадает без возможности пощупать все это дело вживую
1247 268631
>>268627
Дело в том, что это семейство не поддерживает Nios II. По идее нужен старый Nios. Я с ходу что-то даже не нашел на него документацию
1248 268633
Алсо почему вы все с альтеры начинаете?
1249 268634
>>268633
Я просто увидел на али за дешовую борду, а вообще мне лично по хуй
1250 268638
>>268625
При чем тут конкретно ниос? Понятно что ниос для альтеры возможно будет лучше всего остального, но ему же сойдет и более простой процессор.

>>268602
Да, какой-то процессор можно сделать. Только что проверил этот простенький процессор: https://bitbucket.org/Shuleshkin/forth-computer/src/2071c158cfff4f3522a0f6107719302fb1484146/DE2_115/hdl/CPU/J1M.v
Заняло 83% Если оптимизировать под второй циклон, то возможно займет меньше.
Напиши процессор самостоятельно, это совсем несложно.

>>268634
Ну и зря, там же есть EP4CE6 всего лишь в полтора раза дороже.
1251 268649
>>268638

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



Зачем изобретать велосипед?
1252 268654
>>268649
Во-первых можно не изобретать, а найти opencores простейший процессор, занимающий меньше места чем ниос.
Во-вторых тот анон хочет сделать что-нибудь для обучения, почему бы не самодельное ядро?

А так согласен, я сам не вижу смысла в использовании подобных самодельных процессоров.
1253 268700
>>268649
Изобретать велосипед не стоит. Лучше заняться процом под который тулчеин имеется, ибо сурьёзный код на асме ебашить от корки до корки это пиздец.
1254 268704
>>268591

>которая фактически компьютер на 1 - 12 плис с ОЗУ, ПЗУ, портами и тд


Какие типы плис используете?
1255 268712
>>268704
Очевидные виртексы 6-7 очевидны.
1256 268904
>>256839
В 2014 был. Я даже запускал на 4 и 5 стратиксах
micro-blaze.jpg15 Кб, 400x400
1257 269816
Пытался в соответствии с руководством https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start записать в конфигурационную флешку два файла с разным смещением - конфигурацию и загружаемый бутлоадером код.
Но почему-то при записи, судя по косвенным признакам, сначала стирается вся флешка. Это баг или я криворукий?
Наверное у меня скоро получится с помощью программ mb-objcopy и write_cfgmem, сделать единый mcs файл, но хотелось бы иметь возможность записывать это через графический интерфейс вивады.
1258 269846
>>269816
Ты хочешь прошить сначала 1 файл, потом второй?
Я, например, собирал сначала один общий образ и уже его шил, при этом импакт намекал, что диапазоны адресов не смежные, но ему норм.
1259 270329
Тут есть кто разрабатывал PCI-E?
Какие там частоты?
1260 270336
Между двум плисинами, которые на одной плате, нужно реализовать обмен на скорости 1-5ГБ/с.
Какие ваши предложения?
1261 270363
>>270345
т.е. как я понимаю, в плисине должны быть специальные высокоскоростные ноги?
А что за корки, зачем они нужны, реализуют какое-то кодирование или зачем?
1262 270390
>>270363
Да, даже не ноги, а специальные аппаратные блоки - мультигигабитные трансиверы. Корки нужны потому что документация на трансивер занимает несколько сотен страниц, а документация на корку - несколько десятков. Jни упрощают жизнь.
1263 270469
>>270363
Данные которые передаются по высокоскоростным интерфейсам, типа USB/SATA/PCI Express/Aurora закодированы помехоустойчивым алгоритмом 8b10 или 64b66.
Всё рассчитано таким образом, чтобы на шине не передавалось несколько одинаковых бит подряд.
Кодирование реализуется аппаратно на уровне трансивера. В некоторых интерфейсах данные еще и скремблируются. Скремблирование и подсчет контрольных сумм уже делает корка.
1264 270472

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


Я сейчас люто бомблю с этого. Дока на GTX у Xilinx на 500 листов, при этом написана она ну очень хуёво. Назначение некоторых выводов вообще не описано, в юзергайде просто указано рекомендованное значение.. Программисты называют такое Magic numbers.

В 6й серии трансиверы были проще!
1265 270504
>>270472
А ты что с ним сделать хочешь? Руководство не выделяет бабок на лицензию для готовой корки HDMI/SATA/whatever?
1266 270534
>>270504

>Руководство не выделяет бабок на лицензию для готовой корки HDMI/SATA/whatever


This
blob11 Кб, 695x303
1267 270547
Хочу сделать двунаправленный тракт, в котором одни и те же блоки будут работать в обе стороны. Как обведённое на Верилоге реализовать?
1268 270555
>>268591

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


Ты случаем не с Курска? Или с Орла?
1270 270561
>>270547
не, внутри плис такие линие делать нельзя
clock.png54 Кб, 784x650
1271 270651
Анон, а я вот скомпилировал тут кое-что в квартусе, как посмотреть на какой частоте максимальной эта поделка может работать? Тут вот что-то про 1000MHz написсано, неужели оно на гигагерце заработает?
1272 270741
>>270651
Не работал в квартусе, но то что на скрине явно не то. Больше похоже на заданную в констейнтсах частоту сигнала clock
Безымянный.png62 Кб, 784x650
1273 270762
>>270741

>Больше похоже на заданную в констейнтсах частоту сигнала clock


Верно.
1274 270810
>>268591
Какая fabric в крейте? Vpx, vme, cpci? Делали ли общение по pcie, или эзернет? Или лвдсами какое-то говно шлете как по уарту?
1275 270847
>>270561
А что делать тогда? Не делать же одинаковые блоки на оба тракта. Наверное можно как-то коммутировать.
1276 271145
Поясните за программирование плисов в labview. Где это востребовано и что вообще за зверь такой?
1277 271183
>>271145

>labview


Херня без задач.
1278 271184
>>271183
Почему?
1279 271242
Здорово, плисачи! Кто-нибудь имел дело с платой ML605 (Virtex-6)? Особенно интересует сочетание с FMC-150 в наборе от Avnet. Что скажете по этому поводу?
1280 271243
>>271242
Что за VCO с отверстием под подстроечник на втором пике?
Реквестую ссылки на такое, интересно почитать даташит на такое диво.
1281 271256
>>271243
это кварц на 787 мгц тупорылый
1282 271260
>>271256
Я прекрасно вижу, что это кварцевый генератор в корпусе full. И, кажется, я понятно написал, что впервые вижу такое

>с отверстием под подстроечник


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

>тупорылый


А еще я прекрасно вижу, что тебя сильно били по башке. Но, увы, видимо, недостаточно.
1283 271329
>>270847
Блять, ну как ты себе это представляешь?

Расскажи, что конкретно за задача, а то кажеться что это какие то влажные фантазии без задач
1284 271343
>>271243
Я сам пока только вливаюсь в работу с ПЛИС, так что мало могу пояснить по поводу отдельных элементов на платах.
Вот основная инфа от официалов:
http://www.4dsp.com/pdf/FMC150_data_sheet.pdf
http://www.4dsp.com/pdf/FMC150_user_manual.pdf
http://www.4dsp.com/pdf/4FM_Get_Started_Guide.pdf
2009817164222.jpg68 Кб, 800x450
1285 271352
>>271242
>>271243
>>271343
На работе дали поиграться с этим набором для тренировки, чтобы хоть как-то начал осваиваться в аппаратной реализации ( занимался в основном мат. моделированием и с ЦОС баловался на матлабе, но теперь начальство походу хочет накинуть и работу с железом, хотя в вузике вообще ни с чем таким не сталкивался, так что кручусь как могу), и пока всё что смог – это клепануть FFT с DDS из CoreGeneartor'а, но как пройти дальше симуляции чётко себе не представляю. Для синтеза получившегося проекта нужно типа .ucf файл написать, и как будет там устроена распиновка – хз (нужно юзать только пины FMC или нужны будут какие-нибудь дополнительные манипуляции не ясно одно дело светодиодами поморгать, а совсем другое...).
1286 271372
>>271352

>нужно типа .ucf файл написать


Взять готовый, если есть.
Если нет, то взять этот файл для ML605 с сайта ксайлинкса и в соответствии со схемой FMC-150 переименовать сигналы.
blob1,2 Мб, 1280x720
1287 271903
>>271329
Задача - однополосный КВ трансивер (смотри тред про ЦОС).
Одни и те же блоки (ФНЧ, фильтр Гильберта) используются на приём и на передачу, и надо их разворачивать (пускать сигнал в обратную сторону), а не тупо дублировать.

Разобрался уже, пикрелейтед, работает. Не нужны тут двунаправленные шины.
1288 271966
сап радач.
Уже хуй знает сколько хотел вкатиться в плис(года два), и только ща развел отладку на епм3032, потыкался, и ее сразу оказалось невероятно МАЛО!
Внимание, ввопрос. где в ДС2 немедленно и сейчас купить отладку с альтерой на борту, какроцелов на 200+ и не какой нибудь йоба циклон который выйдет 10к.

Или могу с кем нибудь на что нибудь поменяться/купить.
1289 272006
>>271966
Начни вкатываться с симулятора, а потом и плата приедет. Отладочная плата нужна для того чтобы на нее смотреть и радоваться что работает или для отладки работы с реальным внешним сигналом. Нет смысла вкатываться сразу с отладочной платой.

>какроцелов на 200+


Это очень мало. В это ничего кроме чего-нибудь вроде частотомера или генератора простого видеосигнала не влезет.
По моему нет смысла брать плату с CPLD для обучения. Например у китайцев плата с EPM240T100 (192 макроячейки) стоит около 400р, а с EP4CE10 (10320 LUT) около 1350р.
1290 272025
>>272006
враноеб подкатил
1291 272034
>>271966
Красиво. Это ЛУТ?
1292 272040
>>272025

>враноеб


Кто?
1293 272049
>>272034
не, резист.
>>272006
а вот хз. не люблю симуляторы.
Сейчас подумал - у меня потенциально есть одна задача дли плис
надо задуть в оперативу стрим с 2 8 битных ацп, кадр около 24000000 отсчетов. На стмкке я это потом мне изи разобрать. а вот загонять чем быстрее тем лучше.
1294 272052
>>272049
А, шаблон-то я и не приметил. А чому он такой крупный, по сравнению с платой?
1295 272053
>>272052
потому что это не шаблон а карта чтобы не проебать чо какой стороной ставить. ибо я еблан периодически могу ключем микру развенуть
1296 272066
>>272049

>а вот хз. не люблю симуляторы.


Без симулятора будет сложно сделать что-то посложнее мигалки.
С осциллографом или логическим анализатором ты можешь очень долго искать какую-нибудь ошибку, вроде опечатки в названии сигнала. Verilog/VHDL вообще изначально создавались для моделирования.
Поэтому если действительно хочешь вкатиться, то придется освоить симуляторы.
1297 272102
>>272066

>освоить симуляторы


Не так-то это и сложно, кстати.
1298 272119
>>271242
>>271243
>>271352
>>271372

Возвращаясь к своему реквесту по поводу инфы о ML605-FMC150, хочу узнать, попадался ли кому-нибудь архив целиком или отдельные .ucf и .xco файлы для данного набора (архивчик раньше лежал тут: http://www.em.avnet.com/v6dspkit2.)
1299 272188
>>272119

>https://www.xilinx.com/products/boards-and-kits/ek-v6-ml605-g.html#documentation


>ml605-ucf-rdf0041-rev1-0.zip


Сигналы на разъеме FMC все прописаны, остается только их переименовать. Их там всего лишь полторы сотни, часа за два можно справиться, даже если перепроверять по несколько раз.
Сам недавно так делал для плат с такими же разъемами.
1300 273734
Плисаны, ищу советов годных по освоению "полноценной" симуляции. Конкретнее: балуюсь со всякой хуйнёй-малафьёй типа блочного шифрования (бомжосетап стм32+циклон4, типа внешний акселератор, лол, ну не суть), т.е. задачи очень чёткие и простые в плане проверки корректности работы: есть тестовые входы и "правильные" выходы. Сишный код контроллера я ровно в такой же ситуации прогонял юнит-тестами и было заебись мне. На ПЛИСах просто добивался аналогичных результатов на самом устройстве после прошивки. Меня тошнит от себя из-за этого. Хочу нормальный подход: сгенерил тестовые входные сигналы каким-нибудь питон-скриптом, запустил командой симуляцию с записью результатов в файл, сравнил другим скриптом выходы с тестовыми ожидаемыми, всё это одной командой, вывел на консоль "ВСЁ ХАРАШО".
А совета я спрашиваю по поводу чтива. Легко гуглится альтеровский туториал просто по "ручной" симуляции, но это для блочного шифрования какой-то пиздец же.
1301 273779
>>273734
M o d e l S i m
o
d
e
l
S
i
m
9YIyoAB5qkk.jpg125 Кб, 845x960
1302 273894
Плисуны, объясните на пальцах, пожалуйста, кто может, как работают IP-ядра из Xilinx ISE и зачем они вообще нужны. Тупому ньюфагу не понятно, когда их вообще уместно применять. Скажем, например, почему частота, которую может выдать DDS, ограничивается сотней МГц? То же самое непонятно и с основными конфигурациями FFT-блока. Пытался осилить даташиты, но что-то как-то не очень, особенно, когда проблемы с языком.
1303 274080
>>273894
Проблемы, очевидно, не только с языком, но и с пониманием fpga и цифровой техники в принципе.

Просто используй пока и ковыряй простые вещи. Понимание всего потом придет.
1304 274135
>>273779
>>273773
Таак бля ёпта, накатил ModelSim, поковырял примеры, так вроде что-то начало вырисовываться.
Прикрутил компонент (у меня всё на VHDL) симулирующий интерфейс со стороны контроллера, питон по табличному файлу "вход<->выход" генерит vhdl-код отправки данных по этому интерфейсу, потом запускается vsim -c -do ..., а там add list ..., write list ..., и снова скрипт, который этот list парсит, декодирует и сравнивает с ожидаемым выходом из того же табличного файла с тестами.
Вроде как и хотелось - из командной строки, можно рандомизировать, можно встраивать в make-файлы. Анон, а что, так и надо делать? Или я хуйню сотворил?
Попутно пока копался, заметил какие-то PSL и UVVM, но пока с ними не разбирался, а надо?
1305 274146
>>274135
Чёт всё сложно как-то. Все необходимые воздействия можно сформировать средствами HDL-языка.
1306 274169
>>274135
Если хочешь вкатываться по хардкору в верификацию, то кури UVM и SystemVerilog или OSVVM либу для VHDL-2008. Там есть и рандомизация из HDL, и code coverage, и логгирование результатов.
1307 274179
>>274146
Как средствами HDL сымитировать AXI-Stream video на основе jpg-картинки, скачанной из интернета?

>>274135

> Анон, а что, так и надо делать? Или я хуйню сотворил?


Интересный вопрос. Я хз лол))))))))))) От этого безусловно веет кустарщиной. Что в этом решении хорошего - оно максимально отвязано от возможностей сапр, которые в электронике традиционно анальны, могут не поддерживать новомодные хипстерские средства верификации и т.д. А так всё, что требуется от них - уметь `include и $fwrite() (для верилога), остальное ты можешь на питоне сделать как угодно и очень быстро, это же питон.
1308 274236
>>274179

> на основе jpg-картинки


Прочитать из файла, не?
1309 274266
>>274236
Чтобы сделать из jpg-картинки видеопоток, тебе её надо превратить из сжатых бинарных данных в массив интеджеров размера X на Y на 3 (для RGB). Мз файла стандартным образом ты можешь прочитать сжатые бинарные данные, что с ними дальше делать?
1310 274310
>>274266
Преобразуешь в свой массив интеджеров размера X на Y на 3 (для RGB) силами несинтезируемого подмножества, тестбенч же.
Или хочешь сказать, что имеющихся мощностей HDL-языка не хватит?
1311 274833
Бле, ни одного упоминания SystemC ни в тренде, ни на борде вообще.
Делитесь опытом, жадины. Есть вариант бомжу написать мега-алгоритм на С++ и синтезировать его для зашивания в ПЛИС? Чего-то всё огорожено анально, будто кучка умачей сделали себе такие синтезаторы, компилят программы прям в железо и гребут бабло лопатой, а больше никого к себе не подпускают, пусть, мол, плебс дальше с Верилогом трахается.
1312 274869
>>274864

>СистемЦ предназначен не для синтеза


Врёшь, жидорептилоид, есть же даже стандартизованный SystemC Synthesis Subset.
http://www.accellera.org/activities/working-groups/systemc-synthesis
1313 274871
>>274833
Из того что я понял, СистемСи это не конвертер С++ в Верилог, это ещё один ХДЛ-язык на базе Си++, притом это обычный С++ плюс лол какая-то хитрая библиотека для синтеза параллельных процессов.
Так что взять и конвертнуть свой С++шный сорц не выйдет, в любом случае надо будет допиливать.
И есть ли здесь выгода надо ещё подумать.
1314 274875
>>274874
С другой стороны я допускаю теоретическую возможность создания некоего конвертера преобразующего С++программы в автомат Мили.
1315 274878
>>274875
Тащемта это называется HLS (https://en.wikipedia.org/wiki/High-level_synthesis) и инфы в инете много, но всё платное и непонятно насколько оно стоит внимания.
1316 276757
Есть ли "дизассемблеры" для прошивок ПЛИС - хотя бы на уровне LE увидеть что где и как?
В частности интересует применимость для Altera и Lattice.

Тред не читал, сразу спрашиваю - как вкатываться в ПЛИС?
Квартус есть, легкие камни с 5 и 4 циклоном есть, программатор тоже. Где взять простенькие проекты для изучения-перепилов?
Как писать быдлокод под NIOS, чем компилить?
Как можно на FPGA реализовать подобие свича - гигабит на входе, (буфер ???), 100/1000 мегабит на выходе..
1317 276974
>>276757
Есть, ищи RTL Diagram или что то такое
1318 277026
>>276757

>Как можно на FPGA реализовать подобие свича - гигабит на входе, (буфер ???), 100/1000 мегабит на выходе..


Поищи здесь

>Communication controller


https://opencores.org/projects
1319 279725
Антош, есть один GX трансивер. Делаю 3G-SDI передатчик, Cable Driver LMH0303 требует на входе постоянную составляющую дифференциальной пары от 1.6 вольта (нет, я не путаю с размахом), однако GX трансмиттер может обеспечить только 0.65 вольта. Вопрос, как обеспечить их совместную работу? В отладочных платах Альтеры используется именно этот драйвер, однако схем этих плат нету.
1320 279730
>>279725

Тупо подтянуть прецизионным источником на 1 вольт, не?
1321 279734
>>279730
как? до этого я напряжения складывал только операционником
1322 279768
Плисач, какой Xilinx взять для начинающего на Али и какой программатор, тыкни мордой по возможности.
1323 279774
>>279768
Смотря какой бюджет
Очень рекомендую Z-Turn
www.myirtech.com/list.asp?id=502
100 баксов, современный камень и программатор не нужен
1324 279775
>>279774

>www.myirtech.com/list.asp?id=502


Сам то покупал?
Как эти пидорасы в Сибирь доставляют?
1325 279783
>>279774

>www.myirtech.com/list.asp?id=502


Чот прям крутота. Zynq с гигом рамы и стоит дешевле чем De0 Nano. В чем подвох? Где покупать без СМС и писечек? Брать ли их шилд (Z-turn IO Cape)? Не пошлют ли с такой бордой вендорские тулзы?
1326 279800
>>279775
>>279783
Да, штуки три. Подвоха нет, сам ждал
Правда я половину переферии не использую (HDMI, CAN)
1327 279802
>>279783
Покупать прям на их сайте, в Киев доехало DHL-ем
Шилда у меня нет, но коннекторы на той борде довольно мелкие, шаг 1.27, так что без борды работать невозможно. Советую делать свою брекаут борда под конкретную задачу
1328 279812
>>279800

>Да, штуки три.


Не понял. Чего штуки три?

>Подвоха нет, сам ждал


Тулзы ок? Чем пользуешься?

>Правда я половину переферии не использую (HDMI, CAN)


С HDMI там какая-то муть насчет лицензии на блок IP, который они упоминают.

Где покупать-то, покупать-то где? Прямо у них или как?
14360346765170.jpg60 Кб, 535x831
1329 279819
Плисанчики, кто смог в инкрементальную компиляцию Кваруса?
Помогите чем могёте. Где про неё можно почитать? К буржуям не отправляйте, у меня с англюсиком плохо.
Было бы хорошо, если бы кто-то из вас научил меня, а ещё лучше если бы не поленился и запилил видос с комментариями.
1330 280155
>>279812

>Не понял. Чего штуки три?


Три борды, а ты о чем подумал?

>Тулзы ок? Чем пользуешься?


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

>С HDMI там какая-то муть насчет лицензии на блок IP, который они упоминают.


Есть такое, но есть куча вариантов...

>Где покупать-то, покупать-то где? Прямо у них или как?


Прямо у них на сайте через пейпел
1331 280167
>>280155
На али такая ёба в джва раза дороже. В чем подвох?
1332 280172
>>280155

>Три борды


То есть ты эту плату не в качестве devboard используешь? Иначе зачем три?

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


В общем все они таки работают нормально с этой платой?
1333 280173
>>280172

>То есть ты эту плату не в качестве devboard используешь? Иначе зачем три?


Да, единичные кастомные девайсы

>В общем все они таки работают нормально с этой платой?


Ну да, никаих проблем не нашел

>На али такая ёба в джва раза дороже. В чем подвох?


Хер его, маркетинговые чудеса
на али девайсы с хобикинга тоже дороже
1334 280175
>>280167
Разобрался, там полный фарш продаеться с болком питания, кабелечками и материнской бордой
1335 280179
>>280173

>единичные кастомные девайсы


А ведь дейтствительно имеет смысл наверное.
Посмотрел сейчас на digikey, цены на голый чип начинаются с $46, а 7010 - так и с $58. И это еще добавлять ОЗУ, разводить плату, паять с программируемым профилем нагрева и вся остальная еботня.
Вообще эта ебанутая ценовая политика FPGA-вендоров задрала уже. Крупняку они все это продают не то что в разы, но в десятки раз дешевле, а обычным людям вот такие йоба-цены выставляют. А потом плачутся что FPGA как-то хуево идут в народ. Ну что за долбоебизм-то такой. Ну и с тулзами пиздец конечно у всех.
1336 280180
>>280179
Ну чего, цену STM32DISCOVERY они не могут сделать, ПЛИС это дорого и мошьно, я считаю что все в гармонии
1337 280182
>>280180
Могут же. Ну не одной discovery, а двух-трех, но могут.
Иначе так оно в народ и не пойдет. И нормальных свободных тулзов так и не появится. С FPGA фактически ситуация как с компьютерами до IBM PC (а может быть даже и как до IBM360).
myd-c7z010-m.jpg531 Кб, 680x436
1338 280214
>>279802
А вот у них такая еще есть, фарша заметно больше, а деньги те же - в чем минус?
http://www.myirtech.com/list.asp?id=525
1339 280215
>>280214
Разобрался, вопрос снимается.
Это просто модуль для их девборды (которая с фаршем, но за $300).
1340 282253
>>280179
Ну сделай свою ПЛИС с человеческим лицом к простому народу и швабодкой. Повторишь успех IBM PC, вытеснишь всех с рыночка и запануешь.
1341 282282
>>282253
Скорее успех ардуинки
1342 282316
Плисач, как по феншую на верилоге запилить устройство, которое будет однократно дрыгать сигналом?
Предположим в наш модуль на вход поступает signal_1. При переходе signal_1 из 0 в 1, signal_2 на один такт clk переходит в 1 и затем переходит в 0 до тех пор, пока signal_1 опять не перейдет из 0 в 1.
Сорян, что так сумбурно написал, но думаю вы меня поймете
1343 282330
>>282316
Типичная схема выявления нарастающего фронта.

reg Temp;
always @(posedge clk) Temp <= signal_1;
assign signal_2 = signal_1 & !Temp;

Здесь предполагается что signal_1 синхронен с clk.
1344 282355
>>282330
Спасибо, лаконично вышло
1345 282464
>>279819
Ну чаво, никто не знает чтоле?
1346 282522
>>282464
Ничего больше в голову не пришло http://bfy.tw/BaW1
1347 282554
>>282522
Да это всё хорошо, но говорю же, с англюсиком плохо у меня.
1348 282645
Плисач, кто с Квартусом работает, как коры крякаете? нужна одна от микроникса, никак не могу достать.
1349 282737
Блять, радач, я заебался. Не могу нормально установить эту ебалу. Какие версии квартуса я только ни качал, везде какая-то поебота с лицензиями. Если сам квартус нормальный, то не работает лицензия на модел сим. Пиздец. Какие-то мак-адреса, какая-то хуйня. Ну где блять достать нормальный квартус восьмой версии (да на самом деле похуй какой версии), чтобы был хоть какой-нибудь блядский функциональный симулятор, чтобы поизучать vhdl? Или это просто с десяткой оно так охуительно совместимо? Может надо с виртуальной машины запускать эту поеботу?
1350 282739
>>282737

> Какие-то мак-адреса, какая-то хуйня.


Ты настолько туп, что не можешь посмотреть свой мас-адрес, отослать запрос в Альтеру и получить бесплатную лицензию? Надеюсь ты качал веб-эдишн, а не субскрайб?
1351 282748
>>282739

>отослать запрос в Альтеру


Ну-ка, опиши как это сделать. И какого хуя веб-эдишен сразу не идет с лицензией?
1352 282751
>>282748
https://www.altera.com/support/support-resources/download/licensing.html
Они хоть и пишут, шо - Quartus Prime Lite Edition or Quartus II Web Edition - NO License Required у меня матерился и требовал лицензию.
Идешь сюда и ебашишь себе лицензию https://mysupport.altera.com/AlteraLicensing/license/index.html
1353 282756
Анончик, есть 2 куска проекта. Один работает на частоте X (DSP блок), а второй на частоте Y (блок интерфейсов), в зависимости от принятой команды блок интерфейсов выставляет флаг (выбор режима работы DSP), но он задаётся триггером работающем на частоте отличающей от частоты DSP блока. В тех поддержке, мне сказали пользоваться FIFO с разными частотами чтения и записи. Неужели нету более нативного решения, для передачи информации о статусе между разными частотами (частоты не связаны и работают от разных внешних источников).
1354 282757
>>282756
Я уже написал половину проекта с такими FIFO, но т.к. я не пользуюсь (не умею) QSYS), то у меня в проекте получилось уже 15 FIFO 2-4 битных разрядностей, в которых никогда больше одного слова не накапливается (статусы меняются всегда 1 раз в 16.6 мс). К тому же появилось куча костылей в виде ACK сигналов на каждом подблоке DSP блока. Иными словами, уже места в голове не хватает, чтобы помнить за что какой сигнал записи в FIFO отвечает.
1355 282765
>>282757
Хз что там в спам листе
1356 282773
>>282751
Спасибо, может потом попробую эту хуйню. Пока поставил зайлинкс, ХОТЯ БЫ ТАМ нет этого гемора с лицензиями.
1357 282779
>>282773
Качай Квартус версии 9.1sp2 самая пиздатая версия. Она и на рутрекере есть крякнутая.
1358 282780
>>282779
А чем отличается от остальных?
1359 282782
>>282780
1. Это последняя версия где остался встроенный симулятор, хотя он тебе, наверно, нах не нужен, он не понимает HDL.
2. Не тормозящий графический редактор схем, наверно, тебе это тоже не надо.
3. Быстро и компактно компилит. Сам не проверял, но люди говорят, что у них были проекты у которых 95%-тные заполнения, 9.1 компилил такие, а старшие версии говорили что проект большой для данной плисины. Буржуи пидоры специально так делают чтобы более жирные чипы покупали.
4. Можно взять с рутрекера, легко крякается.
1360 282784
>>282782

> встроенный симулятор


А Моделсим чем тебе не нравится?

> легко крякается.


Старые крякались заменой нескольких байт в НЕХ-редакторе.
1361 282786
>>282784

>А Моделсим чем тебе не нравится?


Всем нравится. Я сейчас юзаю QuestaSim какой-то версии не помню, тоже самое что и МоделСим, только они его почему-то КвестаСимом обозвали, тоже на рутрекере с кряком есть.

>Старые крякались заменой нескольких байт в НЕХ-редакторе.


Ну не только, там ещё в самом файле лицензии нужно свой мак-адрес поставить много-много раз.
1362 283137
тест
1363 283627
Радоны, я правильно понимаю, что реализация меню на экране с помощью плис - это хранение огромного массива картинок, которые переключаются по внешнему сигналу?
Хотел меню с чекбоксами замутить, а тут чего-то того этого.
1364 283642
>>283627
Если память девать некуда, то так можно сделать. Либо отдельно память со шрифтом, отдельно с текстом. Неплохим вариантом может оказаться использование NIOS/Microblaze.
1365 283650
>>283642
Ну понятное дело, что таким топорным способом не хочется делать. А какие варианты то?
Вот использовать софт-ядро это тема очень даже, надо почитать про это повнимательней.
1366 283686
>>283650
Памяти это тебе не сэкономит, картинки всё равно где-то хранить надо.
Можно попробовать на ходу вычерчивать квадратики и прямоугольнички, типа как векторная графика.
1367 283697
>>283686
Вот это более-менее мой вариант. Нужно то всего генерить строки текстовые, да перепещать какой-нибудь радиобаттон справа для визуализации выбора.
1368 283705
>>283686
Ты о чем? Речь же шла о текстовом меню. Для экономии памяти достаточно лишь хранить текст и шрифт отдельно.

>>283650
Примеров с выводом текста на экран с помощью FPGA полно:
https://github.com/Derek-X-Wang/VGA-Text-Generator
https://saveriorusso.wordpress.com/
https://www.mikrocontroller.net/topic/349089
Во всех этих примерах используется отдельная память со шрифтом и отдельная с текстом. По моему это очень простые устройства, в чем тут могут быть трудности?
image.png123 Кб, 734x426
1369 283706
>>283705
Ну мне нужен не просто текст, а меню с подсветкой выбранного варианта. Может там легко это модифицировать просто изменением цвета шрифта, например, я пока не особо углублялся.
1370 283709
>>283705
Типа вот этого популярного видоса.
https://www.youtube.com/watch?v=lZ64UNCws8g
1371 283714
>>283706
Но у тебя же на картинке combo box. А чекбокс можно сделать как пару обычных символов.

>изменением цвета шрифта


В тех примерах на которые я ссылался это делается элементарно. По моему, для простых выпадающих списков достаточно будет комбинации одного из тех примеров и простейшего процессора. А с более красивыми визуальными эффектами будет немного сложнее.
1372 283810
Плисаны, как за один такт посчитать количество единиц в байте?
например:
0h = 0;
01h = 1;
02h = 1;
03h = 2;
04h = 1;
...
и т.д.
1373 283817
>>283810
Представить байт в виде отдельных бит и сложить. Я б так сделал:

reg [7:0]byte;
reg [3:0]nobits;

wire bit0;
wire bit1;
...
wire bit7;

assign bit0 = byte[0];
assign bit1 = byte[1];
...
assign bit7 = byte[7];

always @ (posedge Clk)
begin
nobits <= bit0 + bit1 + ... + bit7;
end
1374 283835
>>283817
Можно и сразу

always @ (posedge Clk)
begin
nobits <= byte[0]+ byte[1] + ... + byte[7];
end
1375 283860
>>283810
Сделай комбинаторную схему с перебором всех возможных вариантов, да и всё.
1376 283861
>>283860
Типа такого (тут пример с четырехбитным словом, чтобы много не писать). Короче, обычный преобразователь кодов без триггеров.

architecture Behavioral of main is

begin

s <= "0001" when c="0001"
or c="0010"
or c="0100"
or c="1000" else
"0010" when c="0011"
or c="0101"
or c="1001"
or c="1010"
or c="1100"
or c="0110" else
"0011" when c="0111"
or c="1110"
or c="1011"
or c="1101" else
"0011" when c="1111";

end Behavioral;
1377 283863
>>283861
Чем это отличается от >>283817 >>283835 ?
Все та же комбинаторная логика.
1378 283899
>>283863
логика короче. макс частота выше, но размер больше
1379 283900
>>283835
Тот случай, когда синтезатор умнее человека. Вивадо развела эту схему в два каскада лутов.
Самостоятельно я бы ебался со всякой хуйней типо карт карно пожалуй пол дня
1380 283905
>>283900

>карт карно



с этим неебутся уже лет сто
1381 283937
Кстати, поясните за синтез всей этой поебени. Если написать как здесь >>283835 , то синтезатор сделает 7 сумматоров? Или придумает более оптимальную схему? А как это будет выглядеть на плате?
1382 283942
>>283937
говорю же, вивадо мне развело эту схему в два каскада лутов. Куда уж более оптимально?
1383 283943
>>283937
Синтезатор построит комбинационную схему, сминимизированную до максимума >>283942 , и заведёт её на Д-триггер, который не факт что нужен, можно было и просто комб. схему написать:

always @(*)
begin
nobits <= byte[0]+ byte[1] + ... + byte[7];
end
1384 283944
>>283937
синтезируй и посмотри rtl. займет 2 минуты.
нет. хочу вопросы тупые задавать.
1385 283945
>>283944
rtl - это синтез, математическая модель, там совсем не то что после компиляции бывает.
blyadskiytrigger.png216 Кб, 2280x913
1386 283948
Вот пикрил. По большому счету, почти идентично получилось. За исключением этих двух блядских триггеров во втором варианте. Откуда они вообще взялись и почему? Это из-за этих whenов?
1387 283951
>>283948
Ух ты, это симулятор плиса/логики с изображением в виде схемы? Хотет.
Раньше не хотел связываться, потому что у плиса 100 циклов перезаписи и они дорогие.
Как называется прога?
1388 283953
>>283951
Да это Vivado 2017 же.
1389 283957
>>283951
С добрым утром, RTLviewer называется.

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


Лол, что?
У так называемых FPGA флешка внешняя и циклов перезаписи в ней как у обычной УСБ-флешки. А младшие модели этих плисин стоят около 1,5к руб.
1390 283964
>>283957

>Лол, что?


В даташитах альтеры так написано. Странно, учитывая что для микроконтроллеров десятки тысяч циклов.

>младшие модели этих плисин стоят около 1,5к руб.


Младшие модели ФПГА? Все равно это дороже стмки за сотню.
Но внешний флощ круто.
1391 283967
>>283964
пиздец, ты как будто ищ 90х годов нам пишешь
1392 283968
>>283945
компиляция это такое условное понятие. в случае плис это синтез, фиттер и асемблер. так что не пизди тут, пожалуйста. будь няшкой.
1393 283969
>>283964

>В даташитах альтеры так написано.


Это про CPLD.

>>283964

>Все равно это дороже стмки за сотню.


Ну ты видимо совсем нищеброд, раз не можешь выделить пару килорублей на то что тебе интересно.
1394 283970
>>283968
Сам будь няшкой и не вводи путаницу в терминологию. Компиляция - вполне конкретное понятие, включает в себя всё тобой перечисленное, она состоит из этих этапов.
1395 283971
>>283967
В какой-то степени так и есть.
>>283969
Блин, ну одну-две можно купить. Но что с ней делать? Да, там овердохуя ячеек, и все дела. Но это одна девайсина.
Впрочем, если использовать FPGA как отладочную платформу, а готовые изделия пилить на минимально достаточных плисках, то им не понадобятся тысячи циклов.
Да. Есть какие-то траблы с этим?
1396 283972
>>283971

>Блин, ну одну-две можно купить. Да, там овердохуя ячеек, и все дела. Но это одна девайсина.


У тебя там промышленные масштабы что ли?

>минимально достаточных плисках


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

https://ru.aliexpress.com/wholesale?ltype=wholesale&d=y&origin=y&isViewCP=y&catId=0&initiative_id=SB_20170517141900&SearchText=waveshare+altera+cyclon&blanktest=0&tc=af

а дальше освоишься и сам решишь что тебе нужно.
image.png368 Кб, 1200x551
1397 284012
>>283957

>А младшие модели этих плисин стоят около 1,5к руб.


Тоже так поначалу думал, пикрелейтед считал наёбом. Пока не приехало и оказалось рабочим.
1398 284017
>>284012
Сам обвес сочиняешь и припаиваешь? В чём смысол?
1399 284048
>>284017
Вангую, это Сорока-кун
1400 284053
>>284017
В том, чтобы прикрутить ВЧ АЦП и ЦАП, оцифровывать сигнал прямо на рабочей частоте и обрабатывать полностью в цифровом виде.

>>284048
Бинго.
image30thumb.jpg171 Кб, 500x839
1401 284059
>>284053
Крут. Чтобы пикрелейтед повторить с 4-мя ADC-каналами, какой уровень радиодрочерства нужен по 80lvl шкале?
1402 284089
>>284059

>4-мя ADC-каналами


Но их там два. И два DAC.

Частота дискретизации меньше 100 МГц, значит выравнивать длины проводников не нужно. То есть с разводкой справиться не сложно. Платы можно заказать у китайцев, при большом желании можно и самодельные сделать.
Припаять все это тоже не сложно, т.к. нет даже QFN.
image31thumb.jpg91 Кб, 500x272
1403 284129
>>284089

>Но их там два.


Ну так я и говорю, нужен аналог с четырьмя. Сомневаюсь, что если заказывать плату по проекту китайцам, выйдет дешевле. Я прост нафантазировал себе, как костыляю осциллограф, функциональный генератор и ещё кучу всего на одном циколне, но время/деньги говорят, что проще заработать и купить готовое. С другой стороны с ныне дешёвыми циклонами очень хочется поиграться, да и платки паять придётся всяко.
1404 284187
>>284089
А что сложнее QFN?
1405 284194
>>284129

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


Десять двухслойных плат с размером до 10х10 см будут стоить 1500...2000 рублей вместе с доставкой.
Или ты еще и про сборку у китайцев?

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


В осциллографе кроме этого еще много чего должно быть. А программировать все это придется еще дольше. И осциллограф с частотой дискретизации 65 МГц, или даже 200 МГц - это всего лишь детская игрушка.

>>284187
Всмысле? В пайке сложнее QFN может быть BGA. Паять QFN сложнее чем QFP, хотя бы потому что нужен фен.
1406 284200
>>284194
Вообще никогда не понимал как вы умудряетесь паять этот пиздец. Они же вроде выпускаются для заводской пайки роботами?!?!
1407 284203
>>284194

>В пайке сложнее QFN может быть BGA


А в чем сложность запайки BGA? Ну, кроме необходимости наличия ИК-станции для больших чипов.
Я к тому, что отсутствие молотка при необходимости забить гвоздь - не означает, что забивание гвоздей является чем-то сложным.
>>284200
Просто мы - роботы, очевидно же!
1408 284207
>>284194

>Или ты еще и про сборку у китайцев?


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

>В осциллографе кроме этого еще много чего должно быть.


Кроме ПО делители. Буферы в Terasic'овской плате и так есть, насколько я помню. Что-то ещё?

>А программировать все это придется еще дольше.


Есть несколько человек, интересующихся темой (даже куда более сложной, чем осциллограф/ФГ) чисто for fun. Это железных дел мастеров днём с огнём не сыщешь.

>осциллограф с частотой дискретизации 65 МГц, или даже 200 МГц - это всего лишь детская игрушка.


Много ты знаешь осциллографов, работающих на >200Мгц только в реальном времени? Вообще, для подавляющего числа случаев использования осциллографа, насколько я знаю, хватает Sample Rate, растянутой во времени буферами (Equivalent-Time Sampling rate). Как-то преобразовывать высокочастотный сигнал задача уже для устройств другого уровня.
1409 284220
>>284207

>Буферы в Terasic'овской плате и так есть, насколько я помню.


Там трансформаторы, это для осциллографа не подойдет.

>Много ты знаешь осциллографов, работающих на >200Мгц только в реальном времени?


На работе есть несколько. Хотя да, не намного больше 200 МГц.
1410 284222
>>284207
У нормального энтри-левел осцилла sample rate от 1gsa/s, то есть нормальные измерения до 100 мгц частот.
А эквивалентный режим давно обоссан, он не работает как надо даже с повторяющимся сигналом.
spasibo-za-kommentarij.jpg32 Кб, 411x498
1411 284226
>>284222

>У нормального энтри-левел


>нормальные измерения


>1gsa/s, то есть … до 100 мгц частот.


>А эквивалентный режим давно обоссан

1412 284405
Как вам цены?

http://plis2.ru/training.html
1413 284419
>>284405
За 50к тебе прочтут юзергайд?
1414 284488
>>284419
>>284467
Никакой работодатель за такое не заплатит 70К за 3 дня. Что там можно выучить за 3 дня?
1415 284545
>>284488
Меня как-то отправляли в Тюмень за 50к на недельные курсы asp.net при том, что я его уже неплохо знал.
Прост надо было бюджет на обучение освоить, хоть контора и не распильная. А для меня такой-то отпуск лол.
1416 284579
ПЛИСаны, никто работу в ДС не ищет случаем?
1417 284580
>>284579
В ДС всегда ищут работу.
1418 284582
>>284580
Кто?
1419 284583
>>284582
Все.
1420 284584
>>284583
Ты тоже?
1421 284585
>>284584
Я на верилоге только костыльный сумматор могу. Я не нужен.
sage 1422 284586
>>284585
Аналогично. Но тема интересна и хочется дальше двигаться в ней, работать в т.ч.

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

>тут можно попросить помощи в реализации одного проекта?


Ну хуй знает.
1424 284594
>>284586
##fpga на freenode.
1425 284602
>>284586

>тут можно попросить помощи


Можешь рискнуть.
1426 284639
>>284579

>ПЛИСаны, никто работу в ДС не ищет случаем?


какая тематика? сколько денег?
1427 284640
>>284586
спрашивай уже, чего титьки мять
sage 1428 284650
>>284594
Белый экран, вообще ничего не подгружается

>>284640
Есть отладка с XC6SCLX9 на борту и MLX 90614.
Примитивная задача, нужно организовать обмен данными от температуре датчик => плис, складывать их куда-нибудь, в 2 регистра по 8 бит, допустим.
Примеры подобных проектов в интернете не нашел, хотя казалось бы.

Вопросы:
Как реализовать Z-состояние? Как описывать I/O пин в констрейнах? Вообще не понимаю как пользоваться примером описания из ISE, какие-то параметры, о которых даже в офф документах мало что сказано.

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

Как обращаться к датчику? Есть дефолтный адрес с которым все работает, хорошо. Но дальше нужна команда чтения из EEPROM к какой ячейке обращаться?

Вроде бы все. Только вкатываюсь в тематику, все очень нравится, но туповат.
1429 284668
>>284650

>Как реализовать Z-состояние


Кстати тоже интересует вся эта хрень. Киньте литературы, где описано в подробностях (со схемами и проч.) как работает двунаправленная шина, например.
M20s1[1].png3 Кб, 230x163
1430 284684
>>284650

>Как реализовать Z-состояние?


input I;
output O;
inout pin;
input T ; // out enable

assign pin = T ? I : 1'bz;
assign O = pin;

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

Происходит следующее. Ты хочешь начать передавать I в pin. для этого ставишь T=1;
Например, послал ты команду и ждешь ответа, тогда ставишь T = 0. Источник напряжения при этом отключиться от пина и пин будет z состоянии (в состоянии высокого импеданса), т.е. не будет влиять на шину. И сигнал от периферии можно будет с неё прочитать. А сигнал как правило будет в четко определенное время. Из O все это вынимаешь по протоколу.
Если интересно что там под капотом гугли уже сам tristate buffer или типа того. Но со стороны ПЛИС это все что нужно сделать.

>Как описывать I/O пин в констрейнах?


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

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


не понял о чем речь, я на Альтере

>Как обращаться к датчику? Есть дефолтный адрес с которым все работает, хорошо. Но дальше нужна команда чтения из EEPROM к какой ячейке обращаться?


в даташите все написано же, какой-то SMBus, который типа I2C. Попробуй почитать про I2C, более распространенная вещь.

ПС сори за мутное изложение.
1431 284685
>>284650

>Как реализовать Z-состояние? Как описывать I/O пин в констрейнах?


Открываешь library guide на spartan6 https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/spartan6_hdl.pdf
Там ищешь компонент "буфер ввода-вывода с Z-состоянием", такой есть на странице 132 и называется IOBUF. 4 порта, все описаны. Ниже есть пример его вставки в проект на VHDL и Verilog, копируешь, подключаешь соответствующие цепи (вход, выход, управление состоянием, вход-выход, торчащий наружу). Потом в констрейнтах надо будет прописать, на какую ногу торчит цепь входа-выхода, и всё.

>(Пока писал, понял, что датчик не сможет отвечать в таком случае


Ещё хуже - если датчик попытается ответить, то получится короткое замыкание с VCC на GND.

>, но почему с тем же успехом не могу дергать чисто SCL?)


Потому что i2c имеет такой механизм, как clock stretching - если слейв не успевает, он может придавить к земле клок, в этом случае мастер обязан мониторить и ждать, когда клок встанет обратно.
1432 284686
>>284668
Внутри плисины двунаправленных шин нет. Снаружи они заводятся через буферы ввода-вывода (типа того же IOBUF), который внутри плисины раскидывает их на отдельные сигналы ввода, вывода и переключения состояния.
1433 284688
>>284684
Так, ну об этом читал и понимал как работает, но еще раз спасибо.

> даташите все написано же


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

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


Из примера описания ISE, опять же, вытащил вот такую строчку:

> NET "netname" LOC=P(pin №) |IOSTANDARD=(Что-то из даташита на микросхему?)|SLEW=SLOW|SUSPEND=3STATE_PULLUP|IN_TERM=NONE|OUT_TERM=NONE;


Последние параметры вообще без понятия что это.
Или достаточно будет прописать NET "netname" LOC=P(pin №), если осуществить описание схемы, как ты сказал?

Да, по поводу организации питания понял, буду все перекраивать.
1434 284691
>>284688
iostadart это типа ттл лвттл, кмос, лвдс... электрически что там короче
1435 284693
>>284688
IOSTANDARD обязательный, без него битстрим не сгенерируется.
SLEW - скорость переключения
SUSPEND - поведение в режиме сна
*_TERM - это встроенные резисторы, которые подключаются к пину для согласования импедансов в быстрых стандартах передачи сигналов (терминаторы).

Кстати, ты можешь не вешать на i2c внешние резисторы к VCC, а подключить встроенные в плис, для этого есть атрибут PULLUP.
1436 284694
>>284691
Да,есть все подозрения полагать, что это LVCMOS33.

>>284693

> для этого есть атрибут PULLUP


Черт, звучит неплохо. Единственное, как тогда реализация будет выглядеть?
Тогда и писание будет проходить через кристалл, грубо говоря, не?

А по поводу всего остального. Кроме IOSTANDARD'а ничего не трогать и так оставить?
1437 284695
>>284694

>Тогда и писание будет проходить через кристалл, грубо говоря, не?


PULLUP подключается не к питанию кристалла (оно мелкое, 0.8-1.2В обычно), а к специальной шине VCCO, к ней же подключается питание буферов на пинах. Да, тебе в любом случае надо будет запитать её согласно даташиту, если ты планируешь использовать LVCMOS33.
1438 284696
>>284694

>Кроме IOSTANDARD'а ничего не трогать и так оставить?


Да, это всё для высокоскоростных интерфейсов, к которым i2c не относится.
1439 284776
>>284405
Был там. Курсы годные, но за свои деньги бы не пошел.
1440 284800
>>284776
Для меня загадка, как могут за 3 дня научить верилогу. И это ж наверно не по 24 часа там сидят, максимум часов 8.
1441 284802
был я на таких курсах. это дикий развод.
бездарю эти курсы не помогут.
если человек нормальный, о сам это быстрее прочитает.

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

за свои деньги это делать абсолютно нельзя
1442 284826
Жопа современной вышки, если ее так можно называть. Студенты нихуя не читают. Не научили самостоятельно работать с литературой. Английский опять же не знают. Всё блядъ курсы им нужны.
1443 284827
>>284826
Инфу нормальную очень сложно зачастую найти, чтобы с нуля вкатиться. Нужно перебрать десятки всяких монографий, прежде чем наткнешься на что-то толковое. С чего начинать не знаешь, всей картины целиком не представляешь и нигде это не написано.
1444 284831
>>284827
Жиза(((
1445 284833
>>284827

>монографий

1446 284834
>>284827
угарнул содомит. мы же про плис говорим, а не что-то волшебное.

у альтеры есть супер отличные манулы для новичков, просто по ним все повторяешь и все. есть примеры на все случаи жизни.
есть книги прекрасные, даже на руском. харис и харис например.хорошие статьи на ките, на хабре и тд. есть видео даже на ютубе.
просто кому-то проще ныть, чем читать.
1447 284835
>>284827
да даже если отойти к науке, то по любой науке есть несколько признанных центральных общих книг. одну книгу читаешь и ты в теме.
что-то современное конечно другой разговор, но нахера тебе что-то новое без базы.
1448 284852
>>284802

>вам опишут возможности и покажут флоу


За 70к? За 70к, блядь, они мне флоу покажут?
Я тоже кому-нибудь хочу флоу в Квартусе показать, хотя бы за 20.
1449 285078
>>127314 (OP)
Есть какие-либо бюджетные отладочные платки, чтоб вкатиться в загадочный мир ПЛИС?
1450 285079
>>285078
de0 nano
1451 285094
Аноны, купил я, кароч, себе плисину без доски(циклон 4), просто микруху, теперь сижу кумекаю что с ней делать, плату разводить собираюсь. И вот такой вопрос на щёт логических уровней, на Vref нужно подать тоже самое что и на питание банка, или это порог выше которого будет 1 читаться с пина (и соответственно нужно чуть меньше туда дать напруги)?
1453 285104
>>285094
Это для HSTL и SSTL, для остальных не требуется вроде бы. Вообще все это несложно найти в документации. Нужно учитывать, что не все банки поддерживают все возможные режимы (уровни напряжения и прочее). И естественно, нужно учитывать то что разные режимы требуют разного напряжения питания. При питании 3,3В выводы могут работать только в режимах 3.3-V LVTTL и 3.3-V LVCMOS.

>>285101
Не угадал. И есть более дешевые платы https://ru.aliexpress.com/item/EP4CE10/32637947021.html
1454 285110
>>285104

>Не угадал.


С чем?
1455 285137
>>284802
Когда учишься сам - получаешь инфу из разных источников, обрывками.. В голове каша. Приходишь на эти курсы - тебе все раскладывают по полочкам.
С нуля я бы туда не советовал ходить.
1456 285152
>>285137
можно получать из одного источника - от альтеры. на 70к дешевле
1457 285166
>>285152
У разных людей разный склад ума. Кто-то, привыкнув к общепринятой системе образоваиния, предпочитает заплатить, получить диплом (и бонусом 100-процентный манёвр "нас этому не учили"), кто-то разбирается сам. Первые, если материал усвоили хорошо, как правило, применяют его хорошо после стажировки и в конторках с узкой специализацией. В остальном к ним можно обращаться разве что за справочным материалом. А самоучки совсем разные, но с "карьерной лестницей" хуже, опять же, как правило.
1458 285167
>>285166
Возмущает не наличие или отсутствие подобных курсов - они конечно нужны, возмущает их запредельная стоимость.
1459 285168
>>285167
Ну, можно, конечно, возмущаться, а можно разобраться в ценоформировании и, возможно, какие-то профитные выводы для себя сделать. Капитализм. Добро пожаловать.
1460 285174
>>285168

>разобраться


Да и так понятно, желающих мало, вот они и решили при первой возможности с каждого три шкуры драть, думая что на дураках наживиться сумеют. В итоге на такие курсы идут всё меньше, а они цены ставят всё больше.
1461 285179
есть цветовая палитра на 256 цветов, нужно получить 3 компоненты цвета (R,G,B) чтобы подать потом это дело через цап на какой нибудь cxa1145. Вопрос как получить эти компоненты из палитры?
1462 285180
>>285179
http://www.ixbt.com/video/postfilter.html
не знаю это ли тебе нужно, но статья всё равно интересная
про палитры bmp файлов можно найти в соответствующей статье на википедии
1463 285181
>>285180
не совсем мне нужно заранее посчитать значения для компонент цветов моей исходной палитры
1464 285201
>>285181
Это на LUT делается. Сохраняешь соответствующие каждому уровню компоненты R, G, B в память BRAM по адресам 0..255. Потом входной сигнал подаёшь на шину адреса, а выходной снимаешь с шины чтения данных.

>>285181
В смысле "заранее посчитать значения для компонент цветов моей исходной палитры"? В фотошопе открой свою палитру и пипеткой посмотри. Если в матлаб не можешь.
1465 285202
>>285201
у меня и вопрос как узнать то эти значения для данной палитры на глаз сидеть подбирать чтоли для каждого цвета?
1466 285203
>>285202
В матлаб загрузи картинку с палитрой и посмотри.
https://www.mathworks.com/help/matlab/ref/imread.html
1467 285204
>>285203
вот это именно мне и нужно было, спасибо
1468 285205
>>285202
Ты че подобрать составляющие цвета на глаз не можешь чтоли? Совсем дальтоник?
1469 285207
>>285205
долго, хотелось быстро получить табличкой
1470 285231
>>285079
она почти 9 килорублей стоит. Более бюджетные есть? Схуя такой ценник на эти плис?
1471 285232
>>285231

>она почти 9 килорублей стоит. Более бюджетные есть? Схуя такой ценник на эти плис?



80 бачей. для белых людей копейки.
кто ж виноват, что у нас страна нищая?
1473 285249
>>285231
По моему, относительно отладок с микроконтроллерами, цена не намного больше. Достаточно сравнить:
http://store.digilentinc.com/arty-artix-7-fpga-development-board-for-makers-and-hobbyists/
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=593&PartNo=1
и
http://www.st.com/en/evaluation-tools/32f746gdiscovery.html

А самое главное, что для вкатывания в ПЛИС, отладка с ПЛИС не обязательна. В отличие от микроконтроллеров, симулятор имеет совсем другое назначение.
1474 285250
>>285239
я бы не стал советовать китай для первого раза.
там документации нет, примеров нет, мануалов нет, обсуждений никаких нет.
да и косяки могут быть.
проще один раз пройти по альтере родной, а дальше уже дело техники
1475 285260
>>285239

> http://www.waveshare.com/product/fpga-tools.htm


есть такой вопрос, у меня сейчас имеется одна китайская отладочная плата с альтеровской плис у которой программу надо каждый раз грузить через JTAG, а при старте она загружает программу из флеш памяти на плате. Как можно сделать чтоб при старте она всегда загружала ту программу которую я в неё заливаю, ну или можно ли не выпаивая перепрошить эту флешку на плате как нибудь? Также вопрос вот по этой плате
http://www.waveshare.com/product/fpga-tools/coreep2c5.htm
у неё также надо каждый раз грузить программу JTAG или она сразу прошивается в флешку на плате? Как вобще это определить по внешнему виду платы ?
1476 285261
>>285260
флэшка подключена к jtag? тогда поф прошивай в нее.
если подключена отдельно то конверни соф в жик и прошивай через плис
1477 285262
>>285261

>флэшка подключена к jtag


как это узнать? он шьёт в ПЛИС .sof фаил

> конверни соф в жик и прошивай через плис


и как это сделать?
1478 285265
>>285262
завтра посмотрю, напишу. я чот в говно
1479 285266
>>285265
мне не к спеху я на будущее спрашиваю, хочется просто купить плату которая шьётся сразу в флеш без постоянных перезаливок
1480 285271
>>285262

>и как это сделать?


file -> convert programming file
Указываешь в окне тип своей флешки, выходной файл jic и ещё какие-то опции по мелочи, разберёшься кароч.
Как прошьёшь во флешку - передёрни питание.
1481 285274
>>285272
была бы к моей китайплате такая диаграмка она без документации шла
ясно понял, спасибо
1482 285275
>>285274
Тогда можно в окошке программатора нажать автодетект и он тебе покажет все устройства в JTAG-цепочке. Если видишь только ПЛИС, значит необходимо использовать .jic

>>285250

>примеров нет


Какой там может быть пример, если там нет никакой периферии кроме одного светодиода?
1483 285277
>>285275
да там только плис

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


у меня вот на плате и rs232 и vga, и ps/2, а примеров неn, нужно гуглить
1484 285280
>>285279
похожа только у меня синяя с циклон 2, меня китайским не напугать я на таобао отовариваюсь
1485 285675
послушаю эту хуйлушу - >>285233 и куплю Xilinx Zynq-7000. Я посмотрел там все есть в наличии: проводки, переходничик. Даже карту памяти дают) На хуй китай етот
1486 285676
>>285675
9000 руб дорого, 900 бачей нормально. втф?
1487 285710
Парни, поясните нубу, если я куплю на али пикрил "ALTERA FPGA Cyslonell EP2C5T144 Minimum System Learning Development Board" за $15 и самый дешевый USB Blaster, я ведь смогу делать на ней разные rs/d-триггеры, регистры сдвига и прочие мультиплексоры/сумматоры и подключать с их помощью какие-нибудь светодиодные матрицы/клавиатуры к своей ардуине?

5V я могу подавать/снимать с её выводов?
50MHz этой FPGA как будут дружить с 8MHz ардуины?

Цель - поучиться немного работе с FPGA и верилогами, ну и сэкономить на 74HC микросхемах лол.
1488 285713
>>285710

>я ведь смогу делать на ней разные rs/d-триггеры, регистры сдвига и прочие мультиплексоры/сумматоры


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

>подключать с их помощью какие-нибудь светодиодные матрицы/клавиатуры к своей ардуине?


диоды к плис? а плис а ардуину чем соединять хочешь? spi?

>5V я могу подавать/снимать с её выводов?


подавать вроде да, снимать нет, 3.3максимум.

>50MHz этой FPGA как будут дружить с 8MHz ардуины?


всмысле?
1489 285718
>>285713

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


spi/i2c/etc. поупражняться же

>всмысле?


Вопрос снимается, эт я торможу

А легко ли нечаянно сжечь подобную борду? Может парочку взять? Или несколько запасных чипов циклона купить, чтоб перепаять, если что?
1490 285727
>>285718
можно сжечь ядро, через жтаг или питание, но надо подать дофига или закоротить.

питание банков io отдельное, и если подашь дофига на ножку, то может сгореть ножка, а может и банк. но остальное скорее всего выживет.

посмотри в даташите ограничения по току на ножках (12 или 24 мка вроде). или в пинплэнере это видно в кварте.

крч нифига не сгорит, если работать нормально
1491 285753
>>285710
Практически за те же деньги там продают подобные платы с 4-ым циклоном, причем с большим числом LE. Покупать платы с уже сильно устаревшими ПЛИС нет смысла.

>я ведь смогу делать на ней разные rs/d-триггеры, регистры сдвига и прочие мультиплексоры/сумматоры и подключать с их помощью какие-нибудь светодиодные матрицы/клавиатуры к своей ардуине?


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

>А легко ли нечаянно сжечь подобную борду?


Сжечь ПЛИС не намного проще, чем сжечь атмегу. Если ты не жег свои ардуины, то и ПЛИС не сломаешь.
1492 285755
>>285753

>Сжечь ПЛИС не намного проще, чем сжечь атмегу. Если ты не жег свои ардуины, то и ПЛИС не сломаешь.



Существенно проще. Невероятно нежная штука.
1493 285756
>>285753

>Практически за те же деньги там продают подобные платы с 4-ым циклоном, причем с большим числом LE. Покупать платы с уже сильно устаревшими ПЛИС нет смысла.


Можешь ссылочку на что-то конкретное кинуть? Я в глаза долблюсь, но вижу с 4 циклоном только от 1800 руб.

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


>>285710

>Цель - поучиться немного работе с FPGA и верилогами



После элементарщины меня на что-нибудь посложнее потянет, а ждать железку с али ещё 2-3 недели я уже не смогу
1494 285805
>>285755
Как-то не заметил этого. Много раз соединял выход микроконтроллера с выходом ПЛИС, так ничего и не сгорело. Сжечь отдельные выводы мне удавалось лишь неосторожно тыкая в них осциллографом.

>>285756

>Можешь ссылочку на что-то конкретное кинуть?


>>285104 Документация отсутствует, но это не критично, т.к. схема типовая, а на плате все подписано.
Еще есть то же самое, но со схемой: >>285254
1495 287471
>>285805

>неосторожно тыкая в них осциллографом


Закоротил выводы щупом штоле, или есть другие способы?
1496 287543
Анончики, а кто-нибудь работал с SoC-FPGA?
Есть задумка сделать чудо-цап аудиофильский на одном чипе и небольшой россыпи транзисторов, т.е. на "микроконтроллерной" части чипа - USB-приёмник или миникомп с линухом, чтобы считывать файлы и подавать на FPGA-часть, на которой запрограммирован цифровой фильтр и дельта-сигма модулятор однобитный, далее аналоговый FIR на резисторах и уже потом обычный восстанавливающий ФНЧ на ОУ.
Кто-нибудь делал похожее? Из опыта, как много ячеек займёт фильтр и ДС-модулятор в плисине?
1497 287547
>>287543

>аналоговый FIR на резисторах


Что, простите?
1498 287557
>>287547
Почитай даташит на DSD1700, там есть описание принципа работы подобных схем.
1499 287565
>>285676
ну а хули предлагаете оверпрайснутый кал для топ девелоперов в ногу со временем, если спрсили для нуба руку набить
1500 287571
>>287543
чем не устраивает софт процессор? это дешевле. линух то зачем, чтобы файлы кидать..
про фильтр и модулятор глупый вопрос.
от порядков и разрядностей зависит.
реализуй и посмотри.
1501 287572
+ вычисления можно сериализовывать в в зависимости от соотношения частот данных и процессинга.
если реально хочешь сок альтеровский с5 например, то поместишься даже в 5к, вероятно.
1502 287600
>>287595

>Ruby/Erlang/C++/Scala/C/JavaScript, админам, QA Automation и DevOps,


А они что, мало зарабатывают?
Мимо быдло с КБ за 12к фултайм.
1503 287605
>>287595
Хуйню они там пишут. Нет никакого заговора, блядь, есть "нахуя тебе платить больше, если ты и так работаешь, а в отделе кадров ещё очередь таких же".
1504 287606
>>287595

>Выкладываете все свои секреты в опенсорц или нет?


Все секреты выложены на инглише, а если ты не можешь в инглиш, то ты один хуй не можешь в профессию. Учебники по инглишу тоже выложены.
1505 287607
>>287557
Дичайше проиграл.

А зачем? Из преимуществ вижу только теоретическую возможность сделать линейную ФЧХ. Из недостатков - искажения из-за отклонений в источниках тока и номиналах резисторов (и, таким образом, невозможность получить линейную ФЧХ).
1506 287608
>>287607
Хотя более-менее понятно, задача была реализовать ФНЧ внутри микросхемы, а конденсатор нужного номинала стандартным техпроцессом на ней не запилишь. Но нафига тебе-то эта фигня на рассыпухе?
1507 287639
>>287607

>А зачем?


-Это очень интересно
-Учиться работать с какой-то новой железкой всегда проще, когда есть конкретная задача, а ещё лучше - когда есть готовая реализация, с повторения которой можно начать, а дальше перепилить всё самому по мере освоения.
>>287608

>а конденсатор нужного номинала стандартным техпроцессом на ней не запилишь.


Какой конденсатор? Речь о цифровом фильтре и дельта-сигма модуляторе на FPGA, всё программно, разумеется. FPGA для этого прекрасно подходит.

>Но нафига тебе-то эта фигня на рассыпухе?


Как раз для упрощения аналоговой части. Там из рассыпухи-то только ключи (можно вообще их не ставить теориетически, прямо на выводы плиски повесить) и резисторы AFIR'а.
Как-то так http://www.signalyst.com/hardware.html
1508 287640
Тест.
Безымянный.png26 Кб, 888x514
1509 287641
>>287543

>как много ячеек займёт фильтр и ДС-модулятор в плисине?


Вот пример моего простейшего модулятора.
1510 287713
>>287639

>Какой конденсатор? Речь о цифровом фильтре


Вот этот "КИХ на резисторах" - это уже чисто аналоговая штука. Цифровой сигнал превращается в аналоговый в районе источников тока, которые являются интерполяторами нулевого порядка (zero-order hold).

>Там из рассыпухи-то только ключи


А источники тока?
1511 287805
Кароч нубский вопрос: если в VHDL считывать sigнал по фронту в то время как сам сигнал зависит от этого же edgа, то получаем значение сигнала до фронта, так ведь?

В симуляторе работает, но я не знаю за synтезацию, и вообще это нормальный подход или нужно по другому.
1512 287813
>>287805
Короткий ответ: да, если ты делаешь <= на одном такте, то берутся значения сигналов, сгенерированны в предыдущем такте.

Правильный ответ: ты должен не гадать, что делает твой код, а знать, что ты хочешь сделать, и писать так, как ты хочешь, чтобы оно работало. Там не так много базовых понятий и конструкций, которые надо запомнить - комбинационная логика, синхронная логика, конвейер. Прочти учебник по цифровой схемотехнике, где это разбирается, и где говорится, как это описывать на HDL (Харрисы, например) - у тебя мышление сразу в правильную сторону повернется.
1513 287834
>>287805
Нормальный подход - это верилог.
1514 287840
>>287834
Ай не пизди.
1515 287850
>>287840
Я как-то сунулся в вхдль и охуел от количества типов.
1516 287854
>>287850
А я сейчас охуеваю от их отсутствия в верилоге.
1517 287862
>>287854
HDL - это схема в текстовом виде, а схема - это набор элементов и провода между ними. Зачем всё остальное?
1518 287869
>>287857
Никаких проблем. Просто я долгое время писал на ВХДЛ, а теперь решил попробовать Верилог. И я пока что не ебу, как мне переписывать конструкции навроде четырехмерных массивов сигналов из предобъявленных типов из одного языка в другой.
1519 287870
>>287862

>Зачем всё остальное?


Затем, что схему можно сделать масштабируемой. Вот тут-то и начинается веселье.
1520 287877
>>287870
Тебе в помощь parameter и generate.
1521 287887
>>287877
Ну вот. А в ВХДЛ мне в помощь generic, generate и собственные типы.
1522 287932
>>287854
Ну зато в Systemverilog'е типов подкинули. Правда, профит от них разве что в симуляции, хотя logic использовать удобней вместо wire и reg.
1523 287933
Плисаны, расскажите как вы боретесь за то, чтобы ваш дизайн соответствовал временным ограничениям (meet timing).
Мой кейс: в проекте сейчас сходится все на тоненького из-за некоторых цепей с кучей комбинаторных слоев между триггерами. Разбавить эту комбинаторику триггерами нет возможности - упадет производительность, частоту снижать тоже не вариант по той же причине. Пока спасаюсь перебором стратегий с большим эффортом, но с ростом или даже с изменением в проекте может опять "нехватить одного байта". Про флорплан вкурсе, но на практике еще не доводилось применять.
1524 287935
>>287933

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


Ты процессор, что ли, делаешь? Тогда поверю. Во всех остальных случаях "напихать побольше регистров" — наше всё. Если логика требуется для вычисления состояний FSM, то one-hot encoded FSM хорошо помогает.
1525 287968
>>287933
Твое критичное место вообще никогда не раскладывается по таймингам? Или от раза к разу?
Если второе, то можешь один раз разложить так, чтобы тайминги сошлись, а потом критичные цепи железно зафиксировать констрейнтами.
1526 287994
>>287713

>Вот этот "КИХ на резисторах" - это уже чисто аналоговая штука.


Как бы тут спорный момент. Даже без АКИХ - DSD-сигнал с выходов модуляторов как бы цифровой, но его можно подать на вход усилителя, где он отфильтруется на входном фильтре и паразитных реактивностях, и вуаля - мы услышим звук. С повышенным уровнем искажений, но вполне аналоговый.

>Цифровой сигнал превращается в аналоговый в районе источников тока


>А источники тока?


Источники тока там на резисторах и построены. Перед ними не ИТ, а ИН (цифровой повторитель).
1527 287995
>>287994

>Как бы тут спорный момент. Даже без АКИХ - DSD-сигнал с выходов модуляторов как бы цифровой


Нет тут ничего спорного. Вот тебе простое правило, как отличить цифровой сигнал от аналогового: для цифрового сигнала важно только то, какую величину он имеет в точке сэмплирования. В ПЛИС, например, между двумя тактами сигнал на выходе лута может несколько раз поменяться, пока все сигналы до входов лута пройдут, но значение имеет только величина на выходе лута в момент фронта синхроимпульса. Для аналогового сигнала, даже если он с чем-то синхронизирован, важны все его значения в каждый момент времени. DSD потому фильтруется на входе усилителя, что он в любой выбранный момент, в том числе между тактами, действует на входную цепь усилителя и либо заряжает, либо разряжает конденсатор фильтра.
1528 287996
>>287995
Ну это кот Шрёдингера получается, т.к. подашь его на вход цифровой схемы - и она его вполне корректно обработает, как цифровой, подашь на вход аналоговой - и аналогично он обработается, как аналоговый. Причём чем дальше аналоговая схема от идеала, тем меньше он будет похож на исходный DSD'шный.
Хотя это всё софизм, конечно.
1529 288007
>>287933
>>287935
>>287968
У меня проблема аналогичная. Пишу под ISE для спартана 6, тайминги все вроде сходятся, ругается только на межтактовые переходы, но у меня там всё синхронизировано потому констрейнами отключил проверку межтактовых переходов. И вроде бы всё работает, но когда плату суёшь в минус начинаются чудеса. Как смотреть, куда копать непонятно.
1530 288542
Как FIR в M9K в 4 Циклоне впихать? Сделать FIFO, закольцевать и крутить по кругу для получения выходного отсчёта, замещая после каждого круга последний входным?
Фильтр медленный, 15 кспс всего.
долбоёб-с-КВ-шарманкой
FIR.png22 Кб, 938x355
1531 288551
>>288542
Не поленился и нарисовал как бы я это сделал. Хотя можно делать и как ты написал.
1532 288618
Смотрите чё нашёл, какой-то мудинь видосики по квартусу начал пилить
https://youtu.be/HHKZroRlJR8
1533 288622
>>288618
Прохладные видосы. Но лучше, чем ничего.
1.png686 Кб, 1246x586
1534 288628
>>288618
Ну еб твою мать.
1535 288630
>>288551
Не понял. Как семплы в рам сдвигаются? Или тут как-то иначе свертка работает?
1536 288637
>>288630
Сдвигается адрес. Для примера покажу как это работает с фильтром 4-ого порядка:
1) входные данные записываются по 0 адресу, потом последовательно считываются данные с адресов 1, 2, 3, 0;
2) входные данные записываются по 1 адресу, потом последовательно считываются данные с адресов 2, 3, 0, 1;
3) входные данные записываются по 2 адресу, потом последовательно считываются данные с адресов 3, 0, 1, 2;
3) входные данные записываются по 3 адресу, потом последовательно считываются данные с адресов 0, 1, 2, 3.
4) и т.д.
Это более универсальный вариант, т.к. не везде блочная память может работать в режиме FIFO, как M9K.
1537 288650
>>288622
Да ладна тебе, норм видосики, нудные только. У него там и по цифровой схемотехнике курс неплохой лежит.
1538 288668
>>288637
Охуенно, спасибо. Понял.
А остаток от деления много LE отожрет? При порядке фильтра 128, например, т.е. счетчики 7-битные.
1539 288680
>>288668
В этом случае, когда делитель равен степени двойки, остаток от деления это отбрасывание старшего разряда.
В остальных случаях остаток от деления можно вычислять вычитанием. То есть, если сумма больше или равна N, вычесть N. Отожрет оно немного, но задержка будет ощутимая.
1540 288696
>>288650
Вообще я ожидал, что он в первом видео, допустим, более подробно расскажет о технологиях ПЛИС, как там это всё работает, в подробностях расскажет о РЕАЛЬНЫХ логических ячейках в микросхеме, как там конкретно они соединяются, программируются и работают и прочее. И чем альтеровские плисы отличаются от зайлиновских, например. Ну по схемотехнике тоже довольно сумбурно всё, но кое-что можно посмотреть.
1541 288697
>>288696
Не помешал бы еще исторический экскурс, как вообще развивались программируемые схемы и прочее.
1542 288709
>>288697
И курс основ физики до кучи.
1543 288738
>>288696
Ну не знаю, по схемотехнике мне оч понравилось, по одним только комбинационным схемам 3 лекции, по триггерам тоже, куда уж подробнее.
А как устроено коммутационное поле в плиске это тебе никто не расскажет, производитель такие вещи держит в секрете.

>>288628
Ага, вырвиглазные цвета какие-то.
1544 288760
>>288738

>Ага, вырвиглазные цвета какие-то.


Да че цвета. Там "Основы Qurtus".
1545 288841
>>288680

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


Лол, дошло через две минуты после отправки сообщения.

Попробовал сделать, получилось, 630 LE освободил. Только адресацию сделал не как ты подсказал, а двумя отдельными счётчиками, один из которых (для RAM) просто считает на такт больше второго. Не бейте, лучше обоссыте.

Фильтр был 50 порядка, поэтому щас сделал до ближайшей степени двойки 64, в оставшиеся ячейки просто дописал нули. Разрядность семплов - 10 бит, коэффициентов - 16 бит. Клок 50 МГц, дискретизация 15 кспс (отсюда счетсик control, который до 3332 считает).

Теперь надо придумать, как аналогичным образом заебенить фильтр Гильберта, у которого надо точно знать задержку, чтобы скомпенсировать её во втором канале.

С RAM можно наконец расширить разрядность фильтров до полных 18 бит, которые на выходе CIC, а не только младших 10 бит (на большее LE не хватало), что были до этого, и сделать уже нормальную АРУ после всех фильтров.

Третий пик - для понимания, что это вообще за говно.
NTF8A43FYBI.jpg289 Кб, 1296x972
1546 289122
Анончики, купил себе DE1-SoC MTL-2. Освоил почти все моменты дизайна в FPGA вплоть до FSMD автоматов и сейчас заканчиваю освоение Nios II. Хочется освоить HPS часть, но не могу найти ни гайдов ни литературы, какой-то линукс-хуинукс, хочу писать, так сказать, связь bare metal и акселераторов на ПЛИСе. Ещё очень хочется почитать про связь тактовых доменов на уровне повыше чем статья про хендшейк и дцфифо.
1547 289139
>>289122

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


По каким гайдам осваивал?
1548 289149
>>289139
Pong P. Chu FPGA Prototyping by Verilog Examples
Pong P. Chu Embedded SOPC Design with Nios processor and Verilog Examples
PSX20170714154031.jpg1,8 Мб, 3024x4032
1549 289153
>>289149
Годная книга. Хотя я не раз делал обработку данных конечными автоматами, но не знал, что такая структура называется FSMD, а метод проектирования - register transfer methodology. Век живи век учись.
1550 289175
>>289149

>Pong P. Chu Embedded SOPC Design with Nios processor and Verilog Examples


можно ссылочку, добрый человек.
1551 289177
>>289122

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


А выше этого ничего и нет. Задача пересенхронизации состоит в том чтобы не попасть на фронт или нестабильное значение считываемого сигнала.
Тут выше о лекциях какого-то шизика говорили
https://youtu.be/82MIcxi5pPo
https://youtu.be/JpUUdEEKZeg
1552 289178
>>289175
поддвачну
1553 289179
1554 289189
>>289177
поддерживаю. лучший пересинхронизатор - двухпортовая память. можно конечно пытаться сэкономить, но зачем?
1555 289213
Неужели никто в треде не писал ничего на SoC?
1556 289268
>>127314 (OP)
Привет, читаю книжку Digital Design and Computer Architecture, дошёл до главы про флип-флопы -- триггеры... и впал в ступор. Начал делать задания по проектировке разных триггеров и зашёлок, понял, что нихуя не понимаю, как их, собственно, проектировать. Это искусство или здесь есть какая-то логика? Памахите.
1557 289274
>>289268
Всё просто, триггер - это комбинационная схема с обратной связью.

И снова лекции того шизика. Да их проще в шапку треда добавить.

https://youtu.be/i1_VdJOMStE
https://youtu.be/T5upUHhsBpw
https://youtu.be/JY7rmZoaq8Y
https://youtu.be/bUGiji2tJNc
https://youtu.be/uW8DPE6TRxM
https://youtu.be/Mx0e8Bgzib8
1558 289275
>>289274
Спасибо, а есть какой-нибудь текстовый материал? Можно и на английском, я врозумляю.
1559 289278
>>289275
А я нет, потому подсказать не могу, но среди отечественной литературы подробного объяснения как проектировать триггеры я не встречал.
Предполагается что это и не нужно, все основные триггеры уже изобретены, нужно только уметь преобразовывать из одного типа в другой, RS -> D, JK -> T и т.д, хотя сейчас и это уже не нужно, САПРы всё делают сами, но для общего развития, конечно, знать надо.
1560 289285
>>289275
Функциональные узлы цифровой автоматики - И. С. Потемкин. (88 год!!!)
Кое-что есть по проектированию триггеров, расписаны схемы и принципы работы основных триггеров, дана попытка классификации триггеров и прочее.
image.png196 Кб, 280x450
1561 289286
>>289285
Собственно, даже на обложке уже схема триггера.
0427033[1].jpg13 Кб, 256x400
1562 289289
>>289275
>>289285
Ну если хочется совсем угореть по триггерам, тогда вот эта.
1563 289291
>>289289
Да, эта фамилия тоже на слуху.
1564 289486
Плисоны, подскажите! Есть смысл студентоте вкатыватьсяс в ПЛИСЫ? Есть хорошие шансы пойти после учебы на норм предприятие, мне там сказали, что обучат, но не хочу времени терять. Какими знаниями надо для этого обладать? Сейчас изучаю аврки с си, курс инфы прослушал, если что подниму дополнительно. Что еще необходимо?
1565 289509
>>289486

>Что еще необходимо?


Схемотехника, системотехника, цифровая обработка сигналов, интерфейсы.
1566 289521
>>264463
Наконец докатилась машинка до релиза. Ну ладно, бета, тут пара косяков в плате, но это не моя проблема уже.
Все оставшееся время пилил/перепиливал гуйню на шарпе.
Исходнота на гитхабе в актуальном состоянии.
2016-04-26T18-52-10.262Z-herd cable.JPG.855x570q85padrcrop.jpg184 Кб, 855x570
1567 289544
Ребята, есть ли такая же тема у китайцев на али? На всех девбордах что видел уже распаяна микросехма.
1568 289559
>>289544
Ясен хуй распашная, под кровать он ли плцц годится
1569 289563
>>289559
Ну и отлично, штука на пике под EPM7064SLC44 например
1570 289564
>>289559
Так и хочется plcc, например EPM7064SLC44
1571 289570
>>289486
Для начала теорию синхронного проектирования изучи и какой-нибудь САПР.
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZTAJkgY3XfsrFyK1laAchO
А так, конечно, стоит. Те кто в ЦОС шарят не хило так бабосики гребут.
1572 289600
>>289570
Ты заебал свой канал пиарить.
детектор.webm1,6 Мб, webm,
608x316, 0:10
1573 289622
>>289600
Для вас же, дурачьё, стараюсь.
1574 289628
>>289622
Чувак, пили свои видосы дальше. Понятное дело, что они не идеальны и зачастую довольно бессистемны, но это блять хотя бы что-то. Другой инфы подобного рода на русском языке в видеоформате походу вообще нет. Или почти нет. Я например смотрю эти видосы.
1575 289632
>>289628
Двачую.
1576 289674
Ну чё, деградируете тут? Кто уже свою нинтенду запилил, или всё диоды передёргиваете руками?
1577 289705
>>289622
Правильно делаешь, не слушай мудаков! Сам хоть и закатывался в digital design через буржуйский edx, но твой канал очень даже гуд.
1578 289715
>>289705
>>289632
>>289628
Перепись не ходивших в институте на лекции.

>>289622
Ты рассказываешь намного хуже моего препода, который смог подробно рассказать все это за 30 лекций. При этом препод успел более-менее подробно рассказать об устройстве ПЛИС серий FLEX10K и MAX7000, а ты это проскочил и сразу начал рассказывать о том куда тыкать в квартусе.
1579 289718
>>289628

>зачастую довольно бессистемны


Где ты там у него бессистемность-то нашёл? Вроде всё последовательно излагает.
1580 289720
>>289715

>Перепись не ходивших в институте на лекции.


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

>все это за 30 лекций


Ну так и там 30 лекций курса цифровой схемотехники.

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


Так это уже другой цикл, так и называется "Квартус", а не "устройство ПЛИС". Есть мнение, что подробно рассказывать что делается внутри плисины - вредно для начинающих, избыточные подробности только отпугнут, сложные вещи надо постигать в несколько заходов, двигаясь с каждым шагом от общих представлений к более подробному рассмотрению предмета.
1581 289721
>>289718

>Перепись не ходивших в институте на лекции.


Я учился вообще по другой специальности, например. И где доставать инфу, если хочешь самостоятельно вкатиться? Я бы рад был в институте лекции послушать.
1582 289754
>>289715

>Перепись не ходивших в институте на лекции


Долбоёбина, я инженер-механик! Нам по определению цифровую схемотехнику не должны преподавать. Просто из интереса решил в серьёзный робототех закатиться со всеми пирогами: с микроконтроллерами, с ЦОС и т.д.
1583 289756
>>289754

>механик


Ну так иди гайки с болтами крути, нахуй тебе цос
1584 289757
>>289756
Ты там блять не охуел запрещать людям в образование?
1585 289758
>>289756
Вот реально долбоёб! :))
27924.jpg446 Кб, 1440x1080
1586 289768
>>289757
>>289758
Да ладно вам, я сам гинеколог по образованию и сам механиком хотел бы быть
1587 289771
>>289768
Че за книга на пикче?
3611.jpg54 Кб, 480x640
1588 289772
1589 289783
>>289772
Там охуенная схема ультразвукового генератора была.
1590 290870
Сап, анон, есть две параллельные шины (типа AXI Stream - data[k-1:0], clk, ready, valid) с разной разрядностью. Одна n бит, другая m бит, n не укладывается целое число раз в m. Как бы ты переупаковывал n-битные транзакции на одной шине в m-битные на другой? Хочется использовать все m бит потому что дальше они уходят в сериалайзер, и если часть разрядов не используется, то это впустую потраченный bandwidth. Для определённости можно взять n=40, m=64, хотя было бы интересно написать корку в параметризуемом виде, с произвольными n и m.
1591 290881
делишь 40 на 64. получаешь 5 к 8.
потом получаешь одинаковые числа.
например 40. 85=58.
таким образом если подашь в шину40 8 слов, то получишь из шины64 5 слов.
и вот такими пакетами кодируешь. формат пакетов знаешь, можешь сувать и вынимать данные.
1592 290882
>>290881
умножение в третьей строчке потерялось 5 на 8 =8 на 5
1593 290883
Пишем в 80-битный буфер два раза по 40 бит, сначала 79-40, потом 39-0. Потом valid=1, читаешь 79-16, и сдвиг влево на 64 бита. Ящитаю
1594 290959
>>290881
Хотел сначала делать так. Просто и понятно, и буфер нужного размера автоматически легко генерируется. Но он получается огромный, наименьшее общее кратное 40 и 64 == 320 бит. Писать и читать легко, но синхронизировать сложно, чтобы прочитать первые 64 бита, надо получить на вход два раза по 40, но чтобы прочитать вторые 64 бита, достаточно получить ещё только одну посылку в 40 бит. И вот так оно шатается, хуй знает, как сгенерировать синхронизирующий FSM под все случаи жизни с разными m и n. Можно сделать двойной буфер, пока в один пишется, из другого читается, но это удвоенный расход FF. и так немаленькие 320 FF превращаются в 640.

Буду делать, наверное, так >>290883 , но тут уже без всякой надежды сделать параметризуемую корку.
1595 291042
>>289521
Сколько тебе за это платят, бро?
1596 291070
>>290959
ну буфер нужен не на 320, немного меньше)) . ну и выходные регистры 64 бита.
ну, как считать, то это не выглядит супер сложно, если речь идет о байтах и шины кратны байтам. в произвольном случае я бы стал заморачивать и зделал под систему.
1597 291119
>>290959

>чтобы прочитать первые 64 бита, надо получить на вход два раза по 40, но чтобы прочитать вторые 64 бита, достаточно получить ещё только одну посылку в 40 бит


Лол, напиздел. Чтобы получить вторые 64 бита, нужно принять ещё два раза по 40, но чтобы получить третьи 64 бита, достаточно принять 40 ещё только один раз сверх полученного. Короче, появилась одна мысль, как это автоматизировать, попробую реализовать.

>>291042
Секрет :> Но я не в рашке. Завёл трактор.
1598 291120
>>291042
Сорян, промахнулся.
1599 291144
>>291119
Я думал здесь все мои друзья, какие от друзей могут быть секреты?
1600 291539
Дропнулось две штуки EPF81188AQC208-4.
Собственно вопрос. Насколько реально скормить их квартусу, чтобы не работать в б-г мерзком махсплюсплюсдва?
или ебись оно конем, писать в nppпривычнее. но все же?
lда, говно старое, но и я не плисоебстм-32 дрочер, но понадобилось реализовать работу с PCI
1601 291560
>>291539

>Насколько реально скормить их квартусу


https://www.altera.com/support/support-resources/support-centers/devices/programming-tools/tls-altera-software.html
https://dl.altera.com/devices/
Если пишут что нельзя, значит нельзя.

>да, говно старое


Значит задержки большие во всех элементах, сложнее будет уложиться в временные ограничения. А если захочешь повторить устройство, то найти такие FPGA за вменяемую цену не получится.
1602 291575
>>291560
Устройство штучное, повторять точно не планируется.
Ладн, Мне всего лишь надо загнать быстро с двух ацп большой объем данных в оперативу компа. Плисины у меня 4 грейд, 84 мегагерца. 66 мегов pci мне не усрался, 33 вполне хватит. если не юзать парити чек, то всё вроде укладываюсь в тайминги протокола.
и все же, можешь посоветовать плисину минимально для меня годную из не древнемамонтового дерьмища?
1603 291591
>>127365
ПЛИС
я не оп
1604 291617
>>291575
циклон 4-5
1605 291822
Сап, плисач. ЕОК(Есть Один Квадрокоптер) DJI Phantom 3 standarf
Работает он примерно по такой схеме:
Пульт поднимает wifi сетку, к этой сети подрубается сам квадрокоптер и мобилка. Ключ от сети известен: 12341234
Соответственно, можно подключиться к этой сетке и ее поснифать. Вопрос в следующем. Можно ли на плисине запилить девайс, который будет подрубаться к сетки коптера, принимать видео-поток и гнать его скажем в HDMI с минимальной задержкой?

Далее мои рассуждения. Видеопоток в сетке коптера я так думаю сжимается. Возможно что-то вроде h.264. Как узнать точно? Какой сниффер может показать что за протокол используется для передачи видео?

Предполагаю нужно решить 3 задачи:
1) Подцепиться к WiFi сетке. И тут уже засада. Готовых корок для работы с WiFi нет. Возможно получиться настроить роутер на выдачу видеопотока из WiFi в Ethernet. Для Ethernet корки уж точно не проблема найти.
2) Восстановить из сжатого видео-потока "сырые данные". Вроде у Xilinx была корка с h.264 кодаком. Если повезет планирую ее использовать для раскодирования видео
3) Сырые данные гоню в hdmi, profit!

Двач, на сколько ебанутую задачу я поставил? Делись своими идеями на этот счет. Возможно подобное устройство удастся впарить телевизионщикам, у которых дорогие инспаеры, которые построенны по такому же принципу..
1606 291828
>>291822
Можно использовать готовый WiFi МК (ESP32 лiл) в "promiscuous mode", ловить все пакетики и передавать на плисину через какой-нить Quad SPI.

Потом долго и больно ебаться с расковыриванием протоколов - определять кто что кому послал и вынимать сырое, сжатое ДОБРО из TCP/IP пакетов.
1607 291831
>>291828
Короче я так понял надо начать с того, чтобы поснифать сетку коптера. на этом можно и кончить
1608 291894
>>291831
Правильно подумал, латенси на приемнике это только пол беды, и не факт что ты справишься лучше производителя

Попробуй расковырять прошивку и уменьшить размеры буферов, а не траханье с ПЛИС
1609 291946
>>291894
Цель всего этого траханья не в том, чтобы снизить задержку, а в том, чтобы вытащить картинку с камеры коптера в hdmi например с целью ее трансляции на большом экране. Ну и потом наверняка найдутся средства для трансляции картинки в сеть.
1610 291998
>>291946
Зачем для этой задачи использовать ПЛИС? Не проще ли взять какой-нибудь одноплатный компьютер, типа малинки, с аппаратным декодером H.264?
Откуда вообще увереность в том что эта камера работает по какому-то особенному протоколу, когда почти все IP-камеры используют https://ru.wikipedia.org/wiki/RTSP либо MJPEG?
1611 292013
>>291822

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


>Двач, на сколько ебанутую задачу я поставил?


Крайне ебанутую, ведь то, что ты описал, можно сделать программно со средненького ноута с помощью WireShark+GStreamer. Зачем городить целое устройство, да ещё на ПЛИС, когда можно решить ту же задачу с помощью бесплатных программ?
1612 292323
ПЛИСачь, есть вопрос к линуксоидам.
Зашло дело за работу с flex10k, и все бы хорошо, но их поддержка в шквартусе начиная с 9.2 прекратилась(как и вторых дропнувшихся мне max7000). Более ранние шквартусы на линуху весьма черезжопно из за ебливости кряков. так бы то хуй с ними, но айпи корки нужны всеж садятся, и вот далее какой вопрос. Цеплял ли кто поддержку устаревших камней к новык квартусам?
1613 292381
>>292323
Как меня радуют такие ярые адепты швитого линупса. Берешь древнее говно, ставишь на него хрюшку, шквартус и пердолишься как белый человек. Никому не рассказываешь, чтобы не тралили отступлением от святынь. Нахуя вы превозмогаете непревозмогаемое?
1614 292384
Не кукарекай, псина.
У меня второй системой стоит восьмерка, которой пользуюсь совсем иногда. Нолишний раз загружаться в непривычную винду не очень удобно. Ясен хер что если ничего не придумаю то навалю на винду девятую шкварку и буду с недовольной рожей из под винды ковыряться. Но зачем, когда хочетсяпоебаться удобно работать в привычном окружении.
1615 292386
>>292384

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


Под одеялом, когда никто не видит?

> работать в привычном окружении.


Да ща линупс от винды практически неотличим. Шо ты несешь?
1616 292387
>>292384
И ваще. Оптимальная система для пердолинга с контроллерами и прочими ПЛИС - Windows XP + старая материнка с несколькими СОМ и ЛПТ-портами.
1617 292388
>>292386
>>292387
проследуй в хуй, я же сказал, меня не ебет твое мнение о операционках. Я бляждь не спрашивал совета чем и чем мне пользоваться. я спросил совсем другое.
Для пердолинга с контроллерами оптимальнее таки линуха. стм8ястм32 с линухи удобнее с ними работать, потому что эклипс в винде настраивать заебешься для работы под них. иар - моча хуже стандартного блокнота, кейл для даунов.
ком порт давно нахуй никому не нужен, как и лпт.
если тебе надо гпио с компа вывеси то если быстро вешай на pci и пиши драйвер(который под винду ты хуй напишешь, да), или если медленно собери расширитель с юсб на хоть что тебе угодно.
E15-font-b-altera-b-font-fpga-font-b-board-b-font-font-b-al[...].jpg481 Кб, 750x563
1618 292394
Ребята, посоветуйте книжку по verilog для ньюфага-ардуинщика. Намедни приехала наша - пикрелейтед. Накатил квартус, научился прошивать конфигурацию и флешку, попробовал некоторые примитивы с парой кнопок, делением частоты кварца. На рутрекере сильно сложные книги, на сайте марсоход, тоже непонятные примеры. В будущем хочу запилить частотомер и генератор сигналов, например.
1619 292408
>>292323

>flex10k


Серия 5576?

>айпи корки нужны


В флексах блоковая память однопортовая и асинхронная, а в более новых ПЛИС - синхронная двухпортовая. Многие новые IP ядра наверняка используют двухпортовую память, соответственно их точно не выйдет использовать с flex10k.
И вообще флексы слишком сильно отличаются от более новых ПЛИС, глупо надеяться что все так просто.

>>292387
Вот не надо тут. Я 5576ХС1Т и ХС4Т нормально под восьмеркой программирую. А ЛПТ вообще для программирования почти никаким боком.

>>292388
Все это хорошо, но с САПР для печатных плат под линуксом вообще никак. Ты можешь сказать что программисту это не нужно, но схемы смотреть в любом случае приходится. А в PDF это намного менее удобно.
1620 292409
>>292323

>Цеплял ли кто поддержку устаревших камней к новык квартусам?


Соснёшь, ибо официально это не предусмотрено.

>>292394

>посоветуйте книжку по verilog


На русском вообще немного, а чтоб на пальцах я вообще не видел.
Вот тут на ютубе был челик обещал чёта по верилогу запилить, жди.
https://www.youtube.com/user/jack0ov/playlists
Снимок экрана от 2017-08-14 22-34-37.png178 Кб, 1081x316
1621 292414
>>292408
мой горяче любимый орел штатно из коробочки работает под линухой.
1622 292807
>>292773
Закатись взад в свою порашу, пидор. Как вы уже заебали.
1623 295890
Плисач, поясни за хай левел синтез. Неужели скоро не останется работы для простой верилог-макаки?
1624 295953
>>295890
а кто будет писать эти "хай левел" блоки?
1625 295955
>>295953

пушкин?
1626 295971
>>295890

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



прекрасно же. отличный стимул для тебя стать не верилог макакой, а инженером
1627 296679
>>295953
Бывший веб-девелопер Васян на питоне же.
В принципе, обработку сигналов с некритичной latency, одним и тем же уравнением для всех обрабатываемых данных и большим bandwidth уже сейчас при помощи HLS можно делать очень хорошо. Рассматривайте эту фичу не как отъём у себя работы, а как способ ускорить процесс разработки отдельных блоков.
1628 296727
>>295890

>хай левел синтез


Что это ещё за дичь такая?
1629 297089
Чем плис от микроконтроллера отличается?
1630 297097
Поясните за колонку io standart в пин планере квартуса, я нихуя не понимаю. Если я подключу tx 3.3 v usb-uart конвертера напрямую к пину плис, плате не придёт пиздец?
1631 297101
>>297097
К этим io standart нужно подавать еще и соответствующие напряжения на IOVCC. На большинстве китайских плат эти напряжения можно поменять только что-то перепаяв на плате.
Подключай, ничего не сгорит. Но лучше предварительно убедись что там действительно 3,3 В.
Screenshot2017-10-02-09-58-09.png90 Кб, 854x480
1632 297107

>К этим io standart нужно подавать еще и соответствующие напряжения на IOVCC



То есть в проекте класс напряжений указывается просто для расчётов?

>На большинстве китайских плат эти напряжения можно поменять только что-то перепаяв на плате.



На моей два ждампера, которые переключают 2.5 и 3.3(или 3 не помню). С этих джамперов напруга идёт на все банки напряжений. И вот что мне было непонятно, банки работают только на выход, я не прав? Какое напряжение подашь на банк, такое напряжение и будет на выходе пина, который запитан от этого банка напряжения, а вот на счёт допустимых входных напряжений? Посмотри картинку, та ли это таблица в даташите?
1633 297149
>>297089
Тем что микроконтроллер исполняет программу, а ПЛИС - цифровая схема, которую можно переконфигурировать по своему желанию, грубо говоря, это матрица элементов НЕ-И с произвольно выставляемыми связями между ними.
1634 297158
>>297149

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


слишком грубо говоря, лучше было и не говорить ничего
1635 297162
>>297107

>То есть в проекте класс напряжений указывается просто для расчётов?


Нет. Для того чтобы это понять, достаточно посмотреть продолжение этой таблицы (6 - 3), где расписаны всякие дифференциальные режимы.

> банки работают только на выход, я не прав?


Не прав. В стандартах (всякие JESD8) написано что считается нулем, а что единицей для разных уровней. Причем эти уровни отличаются для LVTTL и LVCMOS.
Соответственно на входе стоит схема в которой эти уровни задаются программно.

>допустимых входных напряжений?


Это в таблице 1–1. Absolute Maximum Ratings for Cyclone IV Devices. Для I/O циклона 4 это от -0,5 до 4,2 В.
1636 297164
>>297162
Хотя может я ошибаюсь на счет работы банков. Вроде как вход вполне может соответствовать LVCMOS 3.3 и LVCMOS 2.5 одновременно без всяких переключений.
Но с другой стороны, если там сделали разные дифференциальные режимы, то вполне могли сделать какие-то переключалки LVCMOS 3.3 и LVCMOS 2.5.
1637 297165
>>297158
Говоришь так будто суть их не в этом.
1638 297170
>>297149
Т.е.к роме логических жлементов в ней нет нихуя?
1639 297172
>>297170
Тут ньюфаг в треде же спрашивает принципиальную разницу между проц. и плисами, зачем грузить излишним?, всё равно не поймёт.
1640 297174
>>297172
Это я же лол. Да я нуфаг, но про логические элементы в курсе
1641 297179
>>297174
Ну а что тогда спрашиваешь, какого ответа ждёшь?
1642 297181
>>297179
Просто суть ее не понял до конца
1643 297189
>>297181
Ну так в этом и суть. Или тебе подробности внутреннего строения надо?
1644 297203
>>297189
Мне надо. Как работают банки напряжений на вход и как с этим связан выбор стандарта логических напряжений в пин планере?
1645 297214
>>297203
Что такое LVDS знаешь?
Так вот, дифференциальный вход представляет собой компаратор. Это означает что в ПЛИС на входах стоят такие компараторы, возможно на каждом выводе. Если это так, то может быть в не дифференциальных режимах на один из входов этого компаратора подается соответствующее стандарту напряжение.
1646 297283
>>297189
Внутренности желательно
1647 298465
Плисач, иногда Вивада выпиливает из проекта некоторые цепи. Пишет Route status: Has unplaced ports or pins
Приходится перечитывать весь код в поисках места, где я наебался. Трачу на это всегда уйму времени. Может есть способ найти этот участок кода быстрее?
1648 298604
>>297283
Ну во-первых: они меняются от производителя к производителю и от семейства к семейству.
Во-вторых: прям подробно-подробно тебе никто не расскажет, ибо по очевидным причинам производители свои архитектуры держать в секрете.
Если кратко на примере какого-нибудь Сыклона 4, то вся ПЛИС состоит из ячеек соединённых между собой коммутационным полем. Этих полей несколько, одно глобальное для связи удалённых ячеек друг с другом и локальные для связей рядом стоящих ячеек, служащие для создания сдвиговых регистров и счётчиков. Понятное дело глобальные линии работают медленнее чем локальные. Есть ещё так называемые клоковые цепи, тоже бывают глобальными и локальными, предназначены для доставки тактового сигнала до ячеек, они специально так спроектированы чтобы тактовый сигнал поступал на ячейки с минимальным по времени разбросом.
Сама ячейка представляет из себя Д-триггер и элемент реализующий логику таблицы истинности на 4 входа и 1 выход.
По мимо этого в ПЛИС аппаратно присутствуют вспомогательные устройства: умножители частоты (PLL), безопасные мультиплексоры тактовых сигналов, много маленьких и независимых кусков ОЗУ, которые можно объединять в более крупные или использовать по отдельности, арифметические умножители. В более дорогих экземплярах могут присутствовать высокоскоростные приёмопередатчики для реализации PCIE и других высокоскоростных протоколов. В Сыклоне 5 есть даже аппаратный процессор, т.е. ПЛИС, процессор и все нужные между ними связи в одном корпусе. Проскакивала новость, что у Хилых появилась плисина с встроенным АЦП, т.е. можно построить SDR практически на одной микросхеме.
Ну если кратко, то как-то так, за подробностями в даташит на конкретный чип.
1649 298626
>>298604

>Проскакивала новость, что у Хилых появилась плисина с встроенным АЦП


В МАКС 10 же есть встроенный АЦП.
1650 298628
>>298626
Можешь линконуть?
3613b978afc8c7d1c66fe0c9999c45ff.jpg132 Кб, 564x716
1651 298634
1653 298643
>>298604

>т.е. можно построить SDR практически на одной микросхеме.


В MAX10 АЦП 12 бит, 1 МГц. Можно сравнить с микроконтроллером LPC4370 в котором 80 Msps 12-bit
ADC.
А готовых SDR на одной микросхеме и так полно, хотя бы SI4702.
1654 298649
>>298465
Можешь привести какой-нибудь ультраминималистичный кусок кода, в котором вылезет такая ошибка?
Вангую, основная проблема окажется в том, что ты пишешь как мудак.
1655 298760
>>298649
В том то и дело, что происходит это когда написал кода на 800-1000 строк. При таких объёмах всей структуры в голове не удержать и невольно забываешь соединить какую-нибудь шину с внешним миром(другими модулями). В результате Вивадо выпиливает всё, что по ее мнению бессмысленно. Не поверю, что подобное деяние не отражается в логах.
1656 298761
>>298760
МОДЕЛИРОВАНИЕ
1657 298766
>>298761
This. Вообще не представляю, как можно ожидать, что поделие сразу заработает в железе, если ты его не отдебажил в логическом моделировании. Так что пиши тестбенчи.
1658 299063
Ебать я лох. Проебал сегодня полдня, из-за того, что счетчик заполнения у IP-fifo Xilinx внезапно отображает неточное значение, пока не поставишь галочку More accurate data counts.
1659 299131
Можно ли на верилоге обращаться к внутренним сигналам соседнего модуля, если эти сигналы не выведены наружу через output?
1660 299140
>>299131
Не знаю, что ты имеешь в виду под "обращаться", но в тестбенче на systemverilog'e с нормальным симулятором можно через иерархию модуля читать и force устанавливать сигналы. Т.е. конструкция типа module_name.signal_name (module_name имя субмодуля в модуле тестбенча) подставляется в if'ы, wait'ы, assert'ы и прочие таски. Писать не пробовал, ибо без надобности, но там используется force module_name.signal_name = 1'b1, например. Алсо, паскаль за 2008 тоже поддерживает работу с сигналами в иерархии.
1661 299167
>>299140
Это всё несинтезируемо.
1662 299254
>>299167

кто сказал что всё должно быть синтезируемо?

все самые клёвые вещи несинтезируемы
1663 299283
>>299254
Не сказал бы, что это дохуя клёво. Это как писать на сишке, делая все переменные глобальными.
1664 299288
>>299283

если в программе пять переменных я ибал бы там мутит какието функции-хуюнкции с локальными переменными
1665 299303
>>299254

>клевые


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


>клевые

1666 299552
И снова сап, плисач.
в общем запилил я конфиг девайс-программатор для альтеры(стм32ф103 и и2ц флеша на 64 килобайта, со стороны стмки MSC, подключаю по юсб, кидаю .rbf, на стмке навалено fatfs, дальше оно тупо побайтно в пассив сериал отправляется на плисину, если кому интересно, сорцы и платумогу дать потом)
но это всеж не так удобно, нужно перетаскивать вручную файл на юсб диск.
В общем сейчас я хочу стмкой прикинуться юсб бластером, чтобы из квартуса можно было напрямую конфигурировать, и сохрянять эту же прошивку в стмку, чтобы в дальнейшем юзать как конфиг девайс с встроенным программатором(хочу это потому что всего один корпус, и цена 100р за камень). Пока получилось прикинуться юсб бластером, тупо содрав дескриптор юсб. в диспетчере устройств я программатор определяю корректно, драйвер к нему подцепляется тоже нормально, но квартус упорно его не видит.
Внимание вопрос, кто нибудь делал подобное?
Я нашел сорцы юсб бластера под пик16, но все равно не ясен сам о заполнение эндпоинтов.
Любая помощь приветствуется.
1667 299553
еще забыл спросить.
когда я конфигурирую плисину своим девайсом, я дергаю ncfg, потом отклочиваю свои 16 килобайт в плисину( кстати на 16 мегагерцах по spi через dma идеально работает) , поднимается cfgdone, и все счастливы(1 пик).
когда конфигурирую с юсб бластера, вначале транзакции на линии нистатус какое то говнище(2 пик)
Это что за херня? нигде не видел чего либо подобного в документации.
1668 300411
Плисач, мне нужно реализовать переключение клоков для схемы. Использую BUFGMUX_CTRL. Все правильно сделал?
Как быть с констрейнтсами?
Тайминг аналайзер ругается на multiple_clock. Что с ним делать?
1669 300824
>>299553
Бамп вопросу.
net.jpg38 Кб, 600x450
1670 300825
>>300824

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



рептилоиды?
покажи что там
1671 300840
>>300825
Трешак, чо.
Ноут с кадрами дома, если надо подробнее, вечером покажу.
4x3slomohI7FSiaDOj.mp4921 Кб, mp4,
640x480, 0:04
1672 302077
А как на ПЛИС синтезировать дешифратор семисегментника?
1673 302078
>>302077
Ты дебил?
1674 302080
>>302078
Почему ты отвечаешь вопросом на вопрос? Ты евгей?
1675 302081
>>302077
Если ты спрашиваешь об этом тут, то для тебя - никак.
А вообще для этого нужно написать код на verilog/vhdl, создать проект в соответствующей IDE и т.д.
1676 302091
>>302077
Не вижу сложности.
От начала смотри:
https://youtu.be/saWnSbp-uyc
1677 302115
>>302077
без задней мысли, берёшь и пишешь какие индикаторы должны гореть для каждой нужной тебе цифры
1678 302119
>>302115
Русской литературы по этому колдунству очень мало. Буду читать ангельскую и пытаться понять.
photo2017-11-1216-38-24.jpg90 Кб, 720x816
1679 302127
>>302119
попробуй это, верилог для начала попроще будет
1680 302128
>>302119
По верилогу на русском нашлось 14 книг. http://gen.lib.rus.ec/search.php?&req=verilog&phrase=0&view=simple&column=def&sort=language&sortmode=DESC
Но вообще-то нет никакого смысла читать по основам языка более одной книги. А чтобы разобраться куда нажимать в IDE, можно посмотреть ютуб.
форбиден.PNG22 Кб, 1282x379
1681 302129
>>302128
Хорошая попытка, Пан Хохол
1682 302130
>>302129
Но я москвич и это у меня не заблокировано пока еще. Даже если заблокируют, то обходится это обыкновенным прокси. Провайдер МГТС, если что. А хохол возможно выше >>302127 (судя по авторам учебника).
Но дело все равно не в этом, а в том что это:

>Русской литературы по этому колдунству очень мало.


Мало того что не соответствует действительности, так еще и для задачи >>302077 хватило бы любой одной книги по верилогу.
1683 302131
>>302129
С ростелекома открывает.
1684 302142
>>302130

> А хохол возможно выше


совсем уже с политачем ебанулись везде хохлов видят
>>302127
Книга на русском, нашёл в гугле когда начинал изучать ПЛИС,>>302077 и для этой задачи её более чем хватит
vhdl.PNG29 Кб, 501x727
1685 302254
>>302127

> попробуй это


Назло тебе пробую эту
1686 302268
>>302254
да похуй вобще
image.png253 Кб, 1920x1054
1687 302284
Напоминаю:

Микросхемы можно запиливать с помощью:

https://ftp.gnu.org/pub/gnu/electric/electricBinary-9.07.jar

Готовый MIPS-проц, спроектированный в этой поеботе (пикрил):

http://www.staticfreesoft.com/contrib/muddChip.tar.gz

Туториалы:

https://www.youtube.com/watch?v=b_Q5Rspved4&list=PLZv8x7uxq5XYYdpxtQR2nlEKMGn6ssFjT
1688 302285
>>302284

>.jar



64ГБ памяти и коре i7 хватит?
1689 302286
>>302284

https://www.u-cursos.cl/usuario/9553d43f5ccbf1cca06cc02562b4005e/mi_blog/r/CMOS_Circuit_Design__Layout__and_Simulation__3rd_Edition.pdf

>>302285

У меня полная схема со всеми раскрытыми болоками (с пика) на 2GB ram core i3 сенди норм не тормозит.
Конфа плисотреда в телеге 1690 302316
Сап плисач! Предлагаю запилить свою уютную конфу по FPGA.
Цель: общение на околоплисовые темы, выходящее за рамки треда. Например иногда хочется обсудить ситуацию на рынке труда, но не засорять же этим тред? Кроме того, ИТТ отписывалось много интересных анонов. Хотелось бы поддерживать друг с другом контакт.
Ссылка на конфу:
t.me/fpgach
Мочератор, поддержи нас, ну или хотя бы не удаляй этот пост.
1691 302336
>>302254
Назло маме отморожу уши? Ну давай.
1692 302399
>>302316
Не нужно.

>Например иногда хочется обсудить ситуацию на рынке труда, но не засорять же этим тред?


С хуя ли? Более чем релейтед.
1693 302402
>>302284
Возможно тут даже найдется полтора анона, державших в руках ими же спроектированные микросхемы, но не более того. Насколько я знаю, ASIC начинают окупаться при серии более 100 тыс. изделий. Так зачем это тут? Это выглядит как если бы ты с плисами полез в /hw/ в тред с обсуждением процессоров.

>>302399
Присоединяюсь. Не нужно. Тем более что это требует номера телефона, а тут вроде аноны сидят.
1694 302410
>>302402

>Насколько я знаю, ASIC начинают окупаться при серии более 100 тыс. изделий.



Там другой прикол. Прошивка плисы - это все еще software, с отсутствием патентов на алгоритмы (только на реализацию). Железка - это уже hardware со всеми вытекающими:

https://www.google.com/search?tbm=pts&hl=en&q=adder+circuit

https://www.google.ru/search?tbm=pts&hl=en&q=nand+circuit

https://www.google.ru/search?tbm=pts&hl=en&q=nor+circuit

https://www.google.ru/search?tbm=pts&hl=en&q=nand+circuit

https://www.google.ru/search?tbm=pts&hl=en&q=inverter+circuit

Так то, когда в ход идут виртексы и стратиксы, то прифтность ASIC'ов уже с партий в 5-10 тысяч начинается.
1695 302412
>>302410

>отсутствием патентов на алгоритмы



Haha oh lol.
1696 302414
>>302399
Нет. Если здесь общаться как в конфе, то полезная инфа, которая иногда появляется затеряется среди мусора. В конфе же более живое общение.

>>302402

>Тем более что это требует номера телефона, а тут вроде аноны сидят.



Об анонимности можно не беспокоиться - телеграмм скрывает твой номер телефона. Все остальные видят только твой ник.
1697 302415
>>302414

> телеграмма скрывает


Ты так толсто шутишь, что я чуть не полез регистрироваться
1698 302417
>>302415
Ну давай, покажи мне номер телефона какого-нибудь рандома из любой конфы?
1699 302436
>>302417
Кому надо, Дыров сам лично покажет. Ты совсем не понимаешь сути Анонизма.
pec.jpg77 Кб, 600x700
1700 302438
>>302436

я непонял, а в чом суть анонизма?
1701 302449
>>302436
Ну а здесь тебя лично Усманов сдаст. Велика разница?
1702 302451
>>302449
что сдаст? Мой ойпи за двумя впн и натом?
10017737.pjp39 Кб, 400x283
1703 302453
>>302451

>двумя впн



оппа-па. Шпионишь небось?
1704 302455
>>127314 (OP)
Посоветуйте отечественные ПЛИС. Про Воронеж и Зеленоград знаю. Нужно для импортозамещения.
1705 302456
>>302455
б-же упаси с таким связываться
1706 302459
>>302456
Есть задача, нужен аналог MAX2, MAX5. Пока рассчитываю запилить прототип на MAX2, а потом перевести на БМК. Но это геморойно, хочется ПЛИС.
1707 302461
>>302455
5578 серия Воронежа. Подаётся как заменитель 2-го циклона/3-го спартана.
1708 302464
>>302284
Родной, тебе в /biz, в /ra олигархов не водится:

>NRE Cost = $ 44,228


>(Engineering Cost + Prototype Fabrication Cost)


>Production Die Cost = $ 1.460


(c)http://www.sigenics.com/page/Asic-Cost-Calculator

>>302412
За МКАДом Объединёнными Пиндостанами жизни нет?
1709 302467
if ((sr_count[2:0]) == 3'b000 && (|sr_count))

Что за запись такая на верилоге "(|sr_count)"
Это равносильно 0|sr_count?
1710 302477
>>302402

>вроде аноны сидят


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

>Дыров сам лично покажет


учитывая иски к нему это маловероятно, да и номер нужен до момента включения двухфакторной аутентификации, если она включена то даже имея телефон доступ восстановить нельзя будет, нужно будет знать почту и пароль от неё.
Так что телеграм по анонимнее будет в данном случае
1711 302478
>>302461
Не знаешь подробностей - лучше не советуй. >>260253
Добавлю также что этот софт написан на питоне, работает только под линуксом и все взаимодействие через веб-интерфейс. И этот софт еще сильно тормозной, средний проект разводит за полчаса-час минимум.
Преимущества серии 5578 по сравнению с 5576 это умножители (18х18 разрядов, 20 шт.) и немного меньшие задержки. Если умножители не нужны и хватает быстродействия, то нет смысла использовать эту серию.

Вроде бы еще интеграл делал какие-то CPLD, возможно как замена MAX II они лучше подойдут.

>>302477
>>302414

>это скорее форум без ников пока


Ну да, в этом и причина почему местные "аноны" не предпочли форум с никами. По моему весьма серьезная причина.
1712 302484
>>302455

>пик2



Стоит небось тысяч так 30, верно?
1713 302485
>>302484
30-50 средняя цена у них сайт был, там все цены есть
1714 302494
>>302478

> местные "аноны" не предпочли форум с никами. >По моему весьма серьезная причина.



Какие-то вы здесь странные. Что мешает не указывать ник в телеге?
1715 302521
>>302467

>|sr_count


Все биты этого sr_count объединяются по ИЛИ, получаем однобитный результат.
1716 302561
>>302478

>этот софт написан на питоне, работает только под линуксом


Охуенно, теперь буду делать всё только на воронежских плисинах.

мимопрыщеблядь

А если серьёзно, то это надо было с адовыми костылями писать, чтобы настолько серьёзно поломать питонью кроссплатформенность.
1717 302564
>>302561
Ну там еще веб-интерфейс на джаве (tomcat), хотя это тоже все кроссплатформенное.
Из-за тормознутости это все равно желательно запускать это на отдельном компьютере, просто для того чтобы на рабочем месте в этот момент можно было делать что-то еще. Поэтому наверное нет смысла делать это кроссплатформенным. Основная проблема в том что результат синтеза намного хуже по сравнению с квартусом, а то что оно только под линукс это уже мелочь.
1718 302582
>>302478

>Вроде бы еще интеграл делал какие-то CPLD, возможно как замена MAX II они лучше подойдут.


Не совсем аналог. Придётся похоже на Libero пересаживаться.
1719 302780
>>302582
Сап.
Кто-нибудь использует генератор verilog на python под названием migen?
https://github.com/m-labs/migen
Суть в том, что объекты ведут себя как модули (или энтити). При подстановке тупо прописываются все сигналы модуля и соединяются как если бы модуль раскрыли и получается один верилог-файл. На самом деле можно каждый модуль писать отдельно, но не пробовал.

Пишу на vhdl для virtex 6 и вконец заколебался копипастить/править описания.

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

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

Ведь что такое интерфейс? Это набор сигналов, которые можно куда-то подключать но только все вместе. То есть нужен класс и пара методов. В общем, пока думаю.
1720 302783
>>302780
Я использую блок дизайн в виваде для этой цели. Текстом пишутся модули в behavioral-стиле и соединяются между собой линиями на схеме (в том числе с автоматическим объединением в шины, для которых у вивады есть определения). Можно долго ололокать про "программирование мышкой как в дельфи лол хддддддд", но на практике так выходит, что behavioral-стиль на HDL пишется хорошо, а structural — какой-то невыносимый пиздец, и чтобы решить задачу, которая в схематик эдиторе решается двумя кликами по интерфейсам, приходится написать горы бойлерплейт-кода.
1721 302785
(Я, если что, к питону очень хорошо отношусь, и выше в треде пропагандировал >>274179 >>273773 его использование для генерации тестбенчей.)
1722 302802
>>302780

>интерфейс модуля


Я по системверилогу не очень, но вроде там есть такое.
1723 303021
>>302780
2к17. сейчас бы сидеть и изобретать костыли вместо systemverilog
1724 303130
>>303021
Не окажется ли так, что вот выучишь system verilog, а поддерживают его фичи лишь полтора хипстерских симулятора, а синтезаторы от вендоров ПЛИС, куда даже свежие стандарты vhdl и verilog со скрипом завозят, шлют тебя прямиком нахуй? Питон-то хотя бы на них не завязан.
1725 303176
>>303130
В плане симуляции с SV все нормально, а вот с синтезаторами есть проблемы - за альтеру не скажу, а, например, та же вивада в качестве топ-модуля для IP ядра не приемлит описание на systemverilog'e и с интерфейсами не побалуешь. Мб на поздних версиях что-то и поменялось, но за 16 год проблема была.
1726 303187
>>303176
И какой смысл его тогда рекомендовать разработчику? Ему же железяку запиливать надо, а не бесконечно аутировать в симулятор.
1727 303510
там четко написано, что работает. и почему бы это не использовать? упращает многое в разы.
свезий верилог - это верилог 2005?))

систем верилог - это не какой-то другой язык. это и есть верилог.
1728 303536
>>302780
>>302783
migen разработали китайцы. Как оказалось, есть французский litex совместимый с migen, поддерживающий нужный мне функционал.
https://github.com/enjoy-digital
Сам модуль
https://github.com/enjoy-digital/litex/blob/master/litex/soc/interconnect/stream.py
Пример пайплайна.
https://github.com/enjoy-digital/litescope/blob/master/litescope/core.py
Наконец-то можно соединять интерфейсы, а не провода.
self.submodules.pipeline = stream.Pipeline(self.sink,
self.buffer,
self.trigger,
self.subsampler,
self.converter,
self.fifo,
self.source)
Не скажу, что весь код стал коротким и понятным, но он почему-то становится обозримым. Может, потому что заморочки языка не отвлекают от задачи?
>>303021

>изобретать костыли вместо systemverilog


А, так systemverilog еще не изобрели даже?)
На самом деле я его не осилил на этапе запуска примеров.
Ну и не знаю, как там с sv, но у французов написаны ethernet, usb, sata и др. и jesd204b, на который я полгода потратил с vhdl. Впрочем, я их лично не проверял, слишком сложно пока.
Ну, если сообщество подхватит идею, я буду счастлив, что мне не одному не придется лазить по чужому коду.
1729 303538
>>303536

>Наконец-то можно соединять интерфейсы, а не провода.


Ради этого учить допхрень?
1730 303633
>>303510
Пробовал как-то воспользоваться $clog2 для определения ширины шины в компайл тайм. Вивада меня послала с этой хуйнёй, с тех пор даже не пытаюсь использовать sv. Спасибо, но лучше никак, чем через жопу.
1731 303655
>>303633

>$clog2


Это вроде бы в verilog 2005 появилось, это вовсе не особенность system verilog. А чем тогда определяешь ширину? Прописываешь все руками?
1732 303680
>>303655
у альтера-богов все работает.
1733 303702
>>303655
Написал функцию clog2 на честном цикле, которая двигает аргумент вправо, инкрементируя счётчик, пока все единицы не уедут. И таскаю её за собой. Зависимость есть.
1734 303712
>>303680
Это не работает в старых версиях, которые приходится использовать из-за старых ПЛИС (FLEX10K). Приходится использовать костыли вроде >>303702
Но в виваде это все работает, наверное у того анона ошибки были из-за чего-то еще.
1735 303734
>>303712
Хм, да, действительно работает, только это надо сперва включить. https://www.xilinx.com/support/answers/57984.html

Сорян.
1736 303750
>>127314 (OP)
Хочу сделать мнгофазный (interleaving) PWM, 3-4 фазы, из имеющихся под рукой STM32F1xx STM32F4xx прямого способа ШИМ-ить не придумал (нужно что-нибудь вроде Infineon XMC / Freescale Kinetis K, там таймеры позволяют)

Вопрос - влезет ли пара счётчиков на 16бит и десяток компараторов в x2c128 xc95144?
1737 303786
>>303750
Для того чтобы одназначно ответить нужно написать код и синтезировать для конкретной микросхемы. Приближенно можно оценить по требуемому количеству триггеров, в этих CPLD их 128 и 144 соответственно. Так что однозначно не влезет, если я правильно понял замысел.

1) Чем это будет отличаться от таймеров STM32? В них на каждый таймер приходится по 4 capture/compare регистра.
3) Модулировать хочешь синусоидой? Эти синусоиды будешь передавать с микроконтроллера? Если да, то через какой интерфейс?
1738 303788
>>303786
Это ККМ aka PFC на 6-7 кВт, заполнение на всех фазах одинаковое

Задача CPLD - равномерно раскидывать на каналы и генерить интеррапты для запуска ADC в середине цикла.

Запись значения duty в CPLD - параллельный ввод.

Чем отличается - идея легко реализуется на верилоге, а вот реализация запуска сдвинутых по фазе 3-4 каналов для STM32F4xx/F1xx мне в голову пока не пришла, курю доки и пытаюсь придумать. Две фазы легко - это Up/Down PWM + инверсия на одном канале ну и запись (D) & (1-D)
pfc-pwm.png88 Кб, 982x492
1739 303789
>>303786
Идея такая-же, только 3-4 фазы
1741 303792
>>303790
Здесь один таймер и ногами он дёргает на своих выводах одновременно. Мне нужно сдвинуть каждую фазу на (phase_num/pwm_period), т.е. нулевая фаза - референс, первая - сдвиг на четверть периода, вторая - на 2 четверти, третья - на три четверти.

Похоже, что можно обойтись 5-тью таймерами - 4-ы конфигуряются одинаково, и один запускает их по очереди с нужным сдвигом. Сейчас посмотрю, хватает ли нужных эвентов
1742 303816
>>303789
Тогда нужен один счётчик на n бит, один загружаемый регистр сравнения на n бит, одна FSM на 3 бита, которая будет переключать каналы по одному, генерить сигналы прерываний и задавать направление счёта (вверх/вниз). Если n=8, то число использованных регистров == 19/128. Я бы больше преживал за LUTы. Хотя, по-моему, их хватит.
1743 303828
>>303816

>одна FSM на 3 бита, которая будет переключать каналы по одному


Заполнение может быть высоким (под 90%), при 4ех фазах нужно 8-мь выходов (PWM и строб на ADC), это, как я понял из даташита на xc2c128/xc95144 заберёт одну ячейку с триггером, один бит на счётчике в xc95 будет треботвать от 1 до 4ых п-термов

вобщем при 8-10 битах будет, наверное, на пределе.

пока останавливает поиск и скачка версии web ise, который поддерживает это "старьё"
1744 304947
>>303538
Скажи, ты пользуешься макросами в программировании? Удобно? А теперь представь, что их можно писать на простом ЯВУ с большими возможностями, с подключением чуть ли не любых мыслимых библиотек. Включи фантазию.
1. Был ассемблер (HDL).
2. Придумали макросы (HLS). Стало удобно.
3. Оставили только макросы, получился ЯВУ. Стало универсально, но не оптимально.

Для FPGA считаю на данный момент лучшим вариант 2.
1745 304957
>>304947

>2. Придумали макросы (HLS).


Что это за дичь?
1746 305041
посоны, помогите найти FPGA с фичей частичной конфигурации и шифрованием битопотока, которая будет стоить $20-30 за штуку сотнями, с этой фичей не могу найти
1747 305043
>>304957
Ты правда не знаешь или просто хейтишь?
1748 305074
>>305041
Интересное сочетание, видел только аппноты по переконфигуряции больших фпга для уменьшения времени загрузки для пи-си-ай-экспресс.

Тебе нужно то же самое, но шифрованное?
1749 305121
>>305074
у меня довольно специфический продукт. FPGA как бы разделена на две части; первая часть системная, и для нее разработчик пишет прошивку, зашифровывает и распространяет в зашифрованном виде, чтобы ее не спиздили и не скопировали продукт; вторая часть добавляет поддержку как бы дополнительных функций, ее может написать любой пользователь, доступен интерфейс с первой частью, битопотоки для нее можно распространять и использовать свободно.
проблема в том, что все, что я нашел с поддержкой partial reconfiguration, слишком продвинутое, дорогое, в BGA-корпусах, а использовать две FPGA для этого тоже плохо для цены, а также интерфейс между частями, скорее всего, будет содержать больше сигналов, чем есть пинов у QFP-корпуса. мне нужен QFP-корпус.
мерзкие производители. нет чтоб открыть формат битопотоков.
1750 305122
забыл добавить. также возможно увеличение количества частей, то есть вторая, третья и др. части смогут комбинироваться независимо
>>305121
1751 305128
>>305043

>не знаешь


this
1753 305224
>>305179
Дай по-русски.
1754 305228
>>305224
Ты чё, наркоман? Как ты вообще с плисами работаешь, поехавший?
1755 305241
>>305228
Да вот работаю как-то, нормально так.
1757 305368
>>305179
Аноны, с какой целью вы такое использовали? Я не использовал ни разу, сейчас вот прочитал, попытался прикинуть, куда это можно засунуть. И получилось, что, с одной стороны, для высокопроизводительных операций не используешь, потому что там FSM, который получает задание и ебошит его, и в это время трогать его не моги. По-хорошему, такие вещи надо разворачивать в конвеер, когда каждая стадия в каждый момент времени обрабатывает свою часть от нескольких одновременно решаемых заданий. С другой стороны, для структурно сложных, но не требующих адового числодробления вычислений в системе всегда уже есть процессор, просто потому что он уже есть всегда.
изображение.png328 Кб, 715x509
1758 305375
>>305368
На самом деле я просто дал ссылки и Vivado HLS никогда не использовал. Я упомянул HLS, чтобы показать аналогию. Мой проект работает на предельных частотах, а если распараллелить, не влазит в кристалл. Поэтому контроль над низким уровнем так важен. В то же время писать деревянные vhdl-корки, которые с трудом поддаются изменениям и настройке, надоело. Поэтому и ратую за litex за его гибкость. А насчет HLS сам с удовольствием послушаю. И на картинке вроде есть опция "конвейер".
1759 306300
https://www.youtube.com/watch?v=2seCOKqvfAM
Годный видос по заданию констрейнтсов для вивады
1760 306460
>>305375

>латентность


Только не говорите, что это калька с latency.

Кстати, запихал фильтры в рам и сделал говно-ару. Вроде работает.
На генераторе гонял, в реальном эфире еще не испытывал.

долбоеб-с-кв-шарманкой
1761 307369
Аноны, как можно послать на altpll клок с внутренней логики ПЛИС? На Циклоне 5 вроде можно передать этот клок на глобальную сеть, а от туда на pll. Но в проекте планируется использовать Циклон 3 и такой способ не срабатывает.
1762 307576
>>307369
Через ноги кинь.
1763 307674
Сап, плисач.
Есть возможность составить программу для третьекурсников. Направление: телекоммуникации. Как вам такой вариант программы:
1) Базовые логические вентили.
2) Мультиплексоры, шифраторы, дешифраторы, сумматоры и умножители целых чисел, и т.д.
3) Тестбенчи.
4) Арифметика в фиксированной и плавающей точке.
5) Реализация АЛУ, включающего все вышеперечисленные устройства.
6) Последовательная логика. Тактируемые процессы. Триггеры, регистры, память. Тестбенчи для тактируемых процессов, сигналы сброса.
7) Управление потоками данных в радиотехнических системах.
8) Конечные автоматы Мили/Мура. Синтез КА, декомпозиция КА и т.д.
9) Косимуляция с использованием Matlab/Simulink.
10) Работа с ядрами. Деление, FFT, Cordic-арифметика и т.д.
11) Реализация различных фильтров: согласованная фильтрация, ФНЧ, ПЧ и т.д.
12) Реализация модуляторов/демодуляторов MPSK, MQAM и т.д.
13) Реализация канального кодирования/декодирования, перемежители, деперемежители.
14) На данном этапе уже можно собрать простенький приемник-передатчик и затестить его через hardware-in-the-loop.
15) Coding style, примеры плохого и хорошего кода, всякие тонкости.

Как вам?
1764 307684
>>307674
не хардкор
1765 307690
>>307674

>Coding style, примеры плохого и хорошего кода, всякие тонкости.


Какого кода-то? В твоей программе ни слова про HDL.
1766 307695
>>307674
Ненависть от количества требуемой писанины на зачеты. Сам учил это говно годами, хочет заставить выучить за семестр.
1767 307718
>>307674
Если курс ЦОС у них уже был, то норм. Если не было, то не норм и будет напоминать рисование совы в момент перехода от "а вот так, дети, выглядит конвейер" к "а теперь, дети, давайте сделаем согласованный линейный стационарный фильтр с конечной импульсной характеристикой".
1768 307726
Дайте идею или исходник vhdl/verilog декодера манчестерского кода с восстановлением синхроимпульсов
1769 307727
>>307684
А что тогда хардкор по-твоему для людей, которые ПЛИС в глаза не видели?
>>307690
Ну разумеется все предложенные пункты в программе надо будет реализовать на vhdl, что ты как дурачок.
>>307695
Вам неприятно, потому что кто-то узнает за семестр то, что вы учили годами?
1770 307728
>>307727
Дебилоид, ты серьезно думаешь, что этот курс можно пройти толково за семестр? Для галочки разве что можно пройти.
1771 307729
>>307728
Что сложного в этом курсе? Я сам в свое время за семестр все это освоил. Если вам это кажется очень сложным, значит вам плохо объясняли.
1772 307730
>>307728
Поддерживаю.

>>307728

>за семестр все это освоил


Воткнув соответствующие IP ядра? Ты вот даже на >>307726 ответить не можешь.
1773 307731
>>307729

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


Это значит не это. Просто некоторые - дебилы. :)
1774 307732
>>307726
Вариантов - масса. Например, во время преамбулы приблизительно определяешь частоту клока, запускаешь NCO, дальше подстраиваешь фазу на переходах.
1775 307733
>>307731
Просто некоторые воображают, что что-то поняли, сдав лабы и получив зачет. На производстве/разработке будут хуй сосать и бекать.
1776 307734
>>307732
Ты из программистов в hdl вкатился?
1777 307736
>>307734
EE (RF, аналоговое разное барахло) & SW (Embedded)
1778 307737
>>307733

>На производстве/разработке будут хуй сосать и бекать.



На любом серьезном производстве все будут сосать первые несколько месяцев, а то и пол-года. Пусть это софт, DSP/HDL, EE.
1779 307744
>>307737

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


>выучил все за семестр


Какие же отличники дегенераты, пиздец просто
1780 307745
>>307733
Предложи тогда свой вариант программы.
1781 307755
>>307726
Вот тут описан очень простой способ.
http://www.signalpro.biz/mandec.pdf
1782 307774
>>307727

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


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

>vhdl


Хотя почему как...
1783 307798
>>307774
Все что нужно знать на начальном этапе телекоммуникационщику, работающему с ПЛИСами из цифровой схемотехники, это то, что описано в книге Харрисов. Да и что значить изучить на схемотехнике? Реализацию всех алгоритмов вручную доводить до транзисторного уровня? Но зачем? Это же обезьянья работа, гораздо важнее уметь разрабатывать алгоритмы и реализовывать их. Кроме того на данный курс отводится один семестр. Да и подход, основанный на доскональном изучении цифровой схемотехники устарел и сейчас полностью не нужен, когда есть хорошие средства автоматизации всех этих процессов. Короче, ты размышляешь как старый дед.
1784 307800
>>307774
Что не так в vhdl?
Или предлагаешь сначала досконально изучить все концепции и парадигмы описания аппаратуры? Пиздец...
1785 307804
>>307798

>Реализацию всех алгоритмов вручную доводить до транзисторного уровня? Но зачем?


https://www.youtube.com/watch?v=HDMkw6lnzmI
1786 307805
>>307798

>Реализацию всех алгоритмов вручную доводить до транзисторного уровня?


Не транзисторного, а уровня логических элементов.

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


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

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


В этом то и проблема.

>>307800

>Что не так в vhdl?


То что это не Верилог.
1787 307838
>>307744

>пиздец просто


Аргументируй.
1788 307840
>>306460

>долбоеб-с-кв-шарманкой


Что у тебя за фронт-енд перед плиской на КВ?
1789 307842
>>307805
Что ты понимаешь под "определить наличие фронта у сигнала"?
1790 307843
>>307805

>То что это не Верилог.


Верилогодаун, плиз...
1791 307849
>>307842
Да вот просто, нащупать фронт у двоичного сигнала и сделать какое-нибудь действие по этому событию.

>>307843
Вхдлхолоп, сгинь.
1792 307850
>>307842
wire input_signal, clk;
reg front_detected;
reg [2:0] input_signal_z;

always @ (posedge clk) begin
input_signal_z[0] <= input_signal;
input_signal_z[2:1] <= input_signal_z[1:0];
front_detected <= !input_signal_z[2] && input_signal_z[1];
end

асинхронобляди не нужны
1793 307851
>>307849
На самом деле студентов надо учить вхдлу, потому что для учёбы похуй, для общего развития надо знать то и другое, а для продакшена выучить верилог уже самостоятельно. И ты таки не ответил, давали студентам ЦОС или нет, без этого спор не имеет смысла даже.
1794 307853
>>307851

>И ты таки не ответил


(а, сорян, это не ты)
1795 307855
>>307849

>Да вот просто, нащупать фронт у двоичного сигнала и сделать какое-нибудь действие по этому событию.


И что в этом сложного, даун?
1796 307856
>>307851
Я согласен, что HDL-языки преподавать нужно, но это надо делать как дополнение к уже пройденному курсу цифровой схемотехнике, а не как независимый курс.

>для учёбы похуй


А если похуй, тогда почему не сразу Верилог?

>>307850

>input_signal_z[0] <= input_signal;


>input_signal_z[2:1] <= input_signal_z[1:0];


Можно и короче
input_signal_z[2:0] <= {input_signal_z[1:0], input_signal};
1797 307857
>>307855
Это ты даун, не можешь понять суть разговора.
1798 307858
>>307851
ЦОС в полной мере дают только на 4-м курсе, но у 3-го курса есть предмет, где они разбирают дискретизацию, ДПФ, БПФ, фильтры и т.д. Но там объяснение идет чисто на пальцах, без радиоматематики.
1799 307859
>>307856

>А если похуй, тогда почему не сразу Верилог?


Потому что после верилога учить вхдл никто не будет, это будет похоже на боль. А верилог учить после вхдла будет похоже на полёт птицы.
1800 307860
>>307856

>А если похуй, тогда почему не сразу Верилог?


Верилог не будет давать по рукам, когда нужно дать по рукам, в отличие от вхдл, поэтому для обучения вхдл предпочтительнее.
1801 307861
>>307857
И в чем же суть разговора?
1802 307862
>>307855

>И что в этом сложного, даун?


Что студенты будут его писать как
always @ (posedge input_signal) begin
some_reg <= some_value;
end
1803 307866
>>307862
Нет, в предлагаемой мной программе будут приводится шаблоны синтаксических конструкций с подробным объяснением того как стоит делать, а как не стоит, и почему.
1804 307868
>>307859
Ну и зачем превозмогать боль?

>>307860
Верилог хоть и не даёт по рукам, но даёт ворнинги, которые надо читать и устранять.

>>307861
В том что студенты после таких программ не могут в элементарщину.

>>307866
Это всё мёртвому припарка. Схемы нужно изучать именно как схемы, а не как шаблоны синтаксических конструкций. Суть схемы в том что это схема. Когда собираешь какой-нибудь автомат на элементах малой степени интеграции намного лучше понимаешь процессы в нём происходящие, становится понятна механика этих процессов: у элемента есть выход, элемент выдаёт на него сигнал, единичку или нолик, он идёт на вход этого и этого элемента, они, в свою очередь, переключаются так-то и так-то... В этом случае схему как бы пропускаешь сквозь себя и начинаешь действительно понимать как она работает. ХДЛ-языки в этом смысле только вредят, скрывая своей абстракцией от неокрепших умов смысл происходящего.
1805 307869
>>307866
Ну вообще-то чтобы понять, почему оно так, надо как минимум схемотехнику плисов разобрать и временной анализ. А если не понимать, то никто этого всё равно не усвоит. Детектор фронта они ещё скопипастят, а экстраполировать принцип - уже хуй, пока своими глазами не увидят, что проект не синтезируется, и не полезут искать инфу (у кого мозгов хватит).

Я б на самом деле выкинул всю обработку сигналов из начального курса и дал больше таких вот вещей. Луты, триггеры, клоковые деревья, pll, буферы, временной анализ, быстродействие. А если останется время, лучше бы показал, как запилить систему-на-кристалле с софт-процессором и периферией на стандратных шинах (microblaze).

>>307868

>Ну и зачем превозмогать боль?


Я ж написал — инженеру надо знать и то, и другое. Лучше учить всё в менее травмирующей последовательности. Вхдл не травмирует, если ты ещё не видел верилог.
1806 307870
>>307869

>инженеру надо знать и то, и другое


Ну весьма спорое утверждение, если только не бегать из канторы в контору, где писать на определённом языке вменяют в обязанность.
1807 307871
>>307858
Потому и выпускают, грубо говоря, дебилов. Много раз встречал ситуацию, когда курсы несогласованы по времени.
1808 307912
>>307850

>input_signal_z[2:1] <= input_signal_z[1:0];


Это подключает 2 к 1 и 1 к 0?
1809 307929
>>307871
Как выглядит вся программа в целом от преподавателя не зависит, за все несостыковки надо сказать спасибо минобру. А несостыковок очень и очень много.
1810 307930
>>307912
1 к 2 и 0 к 1.
1811 307933
>>307930
Какой тогда смысл в

>!input_signal_z[2] && input_signal_z[1];


если 1 и 2 соединены?
1812 307935
>>307930
Если бы так было, то все разряды имели бы одинаковое значение.
Это сдвиговый регистр. D-триггеры соединены последовательно — к входу N-ого триггера подключен выход N-1-ого триггера.
1813 307940
>>307935
Хотел сказать то что значения переносится из 0 в 1 и из 1 в 2.

>>307933
Такой что в каждом более старшем разряде получается более старое значение сигнала. И если объединить новое и старое значение указанным способом можно определить наличие фронта. Нарисуй диаграмму, тогда понято станет.
1814 307951
>>307933
>>307935
>>307940
Смотрите, верилогодауны не могут в линию задержки, что за пиздец...
1815 307952
>>307951
А вхдлхолопы могут?
1816 307969
>>307951
Что ты называешь линией задержки? Сдвиговый регистр, FIFO? Или последовательно соединенная комбинационная логика как тут: https://people.csail.mit.edu/devadas/pubs/wifs2010.pdf
Не знаю как большинство, но под линией задержки я понимаю в первую очередь второй вариант.
1817 307977
>>307940

>Нарисуй диаграмму, тогда понято станет.


Схема мне понятна, непонятен синтаксис

>reg [2:0] input_signal_z;


Это сколько d-триггеров?
1818 307979
>>307977
Это столько регистров. Они могут стать триггерами. Они могут стать сигналами, если присваивать их внутри always @ (*) begin ... end. Короче, не пытайся с наскоку впихнуть невпихуемое, лучше пойди книжку почитай.
1819 307980
>>307979

>лучше пойди книжку почитай.


Читаю, как раз вопрос с reg непонятен. В случае, когда они синтезируются в тригеры, это сколько триггеров?
1820 307981
>>307980
Судя по всему, ты читаешь какое-то говно, иначе подобного вопроса бы не возникло. Читай Харрисов, потом спасибо скажешь.
1821 308011
>>307969
Линия задержки это сдвиговый регистр и ничего больше. FIFO - это FIFO, а не линия задержки.
1822 308013
>>307952
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY delay_line IS
generic(
delay_value : integer;
sample_width : integer
);
port(
clk : in std_logic;
symbol_dv : in std_logic;
frame_start : in std_logic;
sample_real : in std_logic_vector(sample_width - 1 downto 0);
sample_imag : in std_logic_vector(sample_width - 1 downto 0);

frame_start_d : out std_logic;
sample_real_d : out std_logic_vector(sample_width - 1 downto 0);
sample_imag_d : out std_logic_vector(sample_width - 1 downto 0)
);
END ENTITY delay_line;

--
ARCHITECTURE a OF delay_line IS
type tdelay is array (delay_value-1 downto 0) of std_logic_vector(sample_width-1 downto 0);

signal sdelay_real : tdelay;
signal sdelay_imag : tdelay;
signal fsdelay : std_logic_vector(delay_value - 1 downto 0);
BEGIN
sample_real_d <= sdelay_real(0);
sample_imag_d <= sdelay_imag(0);
frame_start_d <= fsdelay(0);

delay_1tact : if delay_value = 1 generate
process(clk) begin
if rising_edge(clk) then
if symbol_dv = '1' then
sdelay_real(0) <= sample_real;
sdelay_imag(0) <= sample_imag;
fsdelay(0) <= frame_start;
end if;
end if;
end process;
end generate;

delay_2andMore_tacts : if delay_value>1 generate
process(clk) begin
if rising_edge(clk) then
if symbol_dv = '1' then
sdelay_real <= sample_real & sdelay_real(delay_value - 1 downto 1);
sdelay_imag <= sample_imag & sdelay_imag(delay_value - 1 downto 1);
fsdelay <= frame_start & fsdelay(delay_value + 3 - 1 downto 1);
end if;
end if;
end process;
end generate;
END ARCHITECTURE a;

Держи, пользуйся.
1822 308013
>>307952
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY delay_line IS
generic(
delay_value : integer;
sample_width : integer
);
port(
clk : in std_logic;
symbol_dv : in std_logic;
frame_start : in std_logic;
sample_real : in std_logic_vector(sample_width - 1 downto 0);
sample_imag : in std_logic_vector(sample_width - 1 downto 0);

frame_start_d : out std_logic;
sample_real_d : out std_logic_vector(sample_width - 1 downto 0);
sample_imag_d : out std_logic_vector(sample_width - 1 downto 0)
);
END ENTITY delay_line;

--
ARCHITECTURE a OF delay_line IS
type tdelay is array (delay_value-1 downto 0) of std_logic_vector(sample_width-1 downto 0);

signal sdelay_real : tdelay;
signal sdelay_imag : tdelay;
signal fsdelay : std_logic_vector(delay_value - 1 downto 0);
BEGIN
sample_real_d <= sdelay_real(0);
sample_imag_d <= sdelay_imag(0);
frame_start_d <= fsdelay(0);

delay_1tact : if delay_value = 1 generate
process(clk) begin
if rising_edge(clk) then
if symbol_dv = '1' then
sdelay_real(0) <= sample_real;
sdelay_imag(0) <= sample_imag;
fsdelay(0) <= frame_start;
end if;
end if;
end process;
end generate;

delay_2andMore_tacts : if delay_value>1 generate
process(clk) begin
if rising_edge(clk) then
if symbol_dv = '1' then
sdelay_real <= sample_real & sdelay_real(delay_value - 1 downto 1);
sdelay_imag <= sample_imag & sdelay_imag(delay_value - 1 downto 1);
fsdelay <= frame_start & fsdelay(delay_value + 3 - 1 downto 1);
end if;
end if;
end process;
end generate;
END ARCHITECTURE a;

Держи, пользуйся.
1823 308014
>>307869
И что ты собрался рассказывать про луты и триггеры? Что там непонятного-то? Ага, временной анализ и быстродействие студентам, которые первый раз с ПЛИСами столкнулись. Это нужно все рассказывать после того, как студенты потеребонькали ПЛИСы, а не до.
1824 308017
>>308014

>И что ты собрался рассказывать про луты и триггеры? Что там непонятного-то?


Да-да, и поэтому ПРОСТО И БЕЗ ЗАДНЕЙ МЫСЛИ пишут вот так → >>307862. А хули, всё ж правильно. Временной анализ штука вообще охеренно важная, на ней строится всё. Он гораздо фундаментальнее, чем просто способ увеличить число мегагерц, к нему гвоздями прибита и архитектура ПЛИС, и синтез. Знать, о чём он, нужно и чтобы понимать, что ты должен ожидать от плис, и что инструменты ожидают от тебя, и в каких случаях они пошлют тебя нахуй.

А, впрочем, этот разговор меня утомил, кому я что доказываю, блджад, пойду лучше оливье заебашу.
1825 308019
>>307850
в ирл схеме хватило бы двух триггеров, а тут у тебя reg[2:0] три
1826 308022
>>308011
Может я тупой, но я не знаю чем отличается сдвиговый регистр от FIFO. Может объяснишь?
>>308013
Молодец, а теперь перепиши с кольцевым буфером на блочной памяти.

>>308019
Только там еще один триггер на выходе, всего 4 триггера. А так может и хватило бы, но что если input_signal - это выход комбинаторной логики? Так что такой вариант тоже может пригодиться.
1827 308023
>>307977
Это три штуки.

>>307979
Вот конкретно это меня всегда бесило в Верилоге, вроде бы написано
reg [2:0] random_name;
а после
always@()
begin
random_name = ...;
....
end
Получаем комбинационную схему, хотя термин "регистр" обозначает группу триггеров.

>>307980
Кароч, reg [2:0] random_name; синтезируются в триггеры, если используются в always@(posedge C), если в always@()
то это будет КС.

>>308013
Это что, асинхронщина? Асинхроноблядь ненужна, Асинхроноблядь хуже червя.

>>308014

>Что там непонятного-то?


Ну когда в теме, то конечно, всё понятно. А когда в первый раз смотришь на это, как баран на ворота, будет тяжело и не каждый такой порог самостоятельно возьмёт. Почему говорят, что порго вхождения в ПЛИС выше чем в просто программирование? Именно по этому.
cdc-dbl-clock.png28 Кб, 852x228
1828 308024
>>308019
Хватило бы и одного, запоминать одно предыдущее значение.
Два первых триггера - clock domain crossing, потому что input_signal может быть не синхронен с clk, а синхронен с чем-то ещё.

>>308022

>А так может и хватило бы, но что если input_signal - это выход комбинаторной логики?


За такое — только пиздить, очень больно. Потому что если input_signal не синхронен с clk, то нет способа определить, действительно ли с него пришёл ожидаемый фронт, или срач с комбинаторной логики между тактами синхронизации.
1829 308025
>>308023

>Вот конкретно это меня всегда бесило в Верилоге


Да, я уже жаловался на это в итт, лол, вот здесь → >>253566
1830 308026
>>308023

>Это что, асинхронщина?


>if rising_edge(clk)


Вот для этого и надо знать оба языка, кек.
1831 308027
>>308026
Если нет, то задержка на триггерах.

Ну и сравните объёмы кода >>307850 и >>308013
1832 308028
>>308027

>Ну и сравните объёмы кода


Не сравнивайте, потому что одно — элементарный пример, второе — параметризуемый модуль на разные жизненные случаи. Серьёзно, если хочешь в срачи, хотя бы выучи оба языка.
1833 308044
>>308022

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


Да, ты тупой. FIFO можно использовать, например, для согласования тактовых доменов. Кроме того бывает куча разных видов фифошек. Из фифошки ты можешь читать данные, если FIFO не пустое, в отличие от сдвигового регистра длины N, где данные на выходе регистра появятся только через N тактов, после их прихода на вход регистра.
1834 308045
>>308017
Ну так хорошо, временной анализ это важно и т.д. Давай весь семестр рассказывать про временной анализ и архитектуру ПЛИС. В итоге получим студентов, которые будут знать временной анализ и архитектуру ПЛИС, но не смогут написать согласованный фильтр.
Просто надо дать студентам возможность почувствовать именно процесс разработки, дать им представление о воркфлоу, дать им возможность релизовать что-то близкое именно к их специальности. Если кто-то из них решить свою будущую деятельность с разработкой под ПЛИС, то они сразу же смогут начать работать над какими-то проектами, потому что предлагаемая программа даст им именно опыт разработки основных базовых вещей. И эти знания позволят им в будущем развиваться в этой области. Будут пилить сложные проекты, будут где-то не сходится тайминги и прочие констрейны, и вот только на этом этапе стоит углубиться в архитектуру ПЛИС, в стратегии синтеза и т.д.
1835 308048
>>308044

> Кроме того бывает куча разных видов фифошек.


Например?
1836 308055
>>308048
Например сдвиговый регистр и кольцевой буффер на двухпортовой памяти. Но по моему это не отменяет того факта, что сдвиговый регистр является разновидностью FIFO. Впрочем, это скорее вопрос терминологии.
1837 308057
>>308055
Также могут быть на однопортовой памяти разных видов, с одним клоком или двумя независимыми.
1838 308069
>>308045
Знаешь, как они почувствуют процесс разработки, получат представление о форкфлоу и реализуют что-то близкое к их специальности? Я тебе расскажу.
1. При попытке ответить на вопрос "а что вообще происходит внутри ПЛИС?" перед глазами у них будет повисать чёрная пелена.
2. При попытке ответить на вопрос "а чё мы вообще делаем?" будет возникать образ шамана, в некоторой последовательности бьющего в бубен и заклинающего камни
3. Написание HDL будет у них чем-то типа древней магии, которая пока работает, ни в коем случае ничего не трогай и ничего не меняй. А работать будет только то, что в методичке. Почему — никто не знает.
4. После получения зачёта (методом перепечатывания лабораторок из методички в редактор кода) у них отложится в голове только то, что плис — это непонятная и непостижимая магия.
5. Они реализуют согласованный фильтр на лабораторке, но впадут в ступор при просьбе написать скользящее среднее. Потому что написание фильтров без знания ЦОС — это вообще 10 магий из 10. Ничего хуже для понимания и убивания интереса к предмету, чем преподавать его в виде магии, сделать в принципе невозможно.

Хотя на самом деле заебись. Чем больше таких студентов, тем ценнее я как профессионал.
1839 308070
>>308069

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


Забыл добавить: и это не только не приблизит их к тому, чтобы стать разработчиками, но и серьёзно подорвёт у них уверенность в собственной способности вообще работать с ПЛИС. По крайней мере, у тех из них, кто ещё не усвоил, что образование в рашке — это днище.
1840 308071
>>308070

>образование в рашке — это днище


Ой, вот не надо мне тут.
мимо
1841 308087
Этот холивар про образование могли бы вести в телеге. Блядь, засрали тред настолько, что телефон с 4мя гигами оперативки нормально не отображает.
1842 308089
>>308087
Покаялся тебе за щёку.
1843 308161
>>308070

>абыл добавить: и это не только не приблизит их к тому, чтобы стать разработчиками, но и серьёзно подорвёт у них уверенность в собственной способности вообще работать с ПЛИС.



Хорошие разработчики/инженеры - это те, кто дополнительно к задачам в универе делает что-то сам, на своём энтузиазме.

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

Днище, которое на собеседовании и потом постоянно ноет, "нам этого не преподавали", - не нужно (хотя часто им это преподавали, а они - пиздаболы).
1844 308172
>>308161

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


Правильно, давайте сделаем программу обучения, чтобы у них было для этого как можно меньше времени. Где еще они обучатся бюрократии, как не в университете.
sage 1845 308224
>>308087

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


~ $ curl -s https://2ch.hk/ra/res/127314.html (М) | wc -c
4486188
Итого нужен ~ 1ГБ оперативки, чтобы отрендерить 1МБ говеного HTML, во как. А вы тут байтики выдрачиваете.
Простите, не удержался.
1846 308379
>>307840
По приёму:
ФНЧ Чебышева 6 порядка со срезом на 22 МГц; плавный аттенюатор 0..40 дБ; двухкаскадный усилитель на ОУ ADA4817; АЦП LTC2247 на 14 бит 40 Мспс (заюзан на 10 бит 50 Мспс).

По передаче:
ЦАП AD9744 на 14 бит 210 Мспс (заюзан на 10 бит 50 Мспс); линейный УМ класса B на 20 Вт на 7 МГц и 10 Вт на 14 МГц; ФНЧ Чебышева 3 порядка со срезом на 15 МГц

Окучиваю на передачу пока два любительских диапазона - 7 и 14 МГц.
На приём - от средних волн до 21 МГц.
1847 308545
>>308379
На чём аттенюатор?
1848 308568
>>308545
10 видов писек, Вы будете ржать: просто резистор 4к7 впослед со входом 50-омного ФНЧ.
1849 308598
>>308568
Переменник что-ли?
1850 308609
1851 308614
>>308609
Преселекторов на входе (кроме ФНЧ) вообще нет?

Какая антенна?

Я игрался с SDR, пришёл к выводу - что нужен хороший динамичиеский диапазон, ну хотя бы 100 дБ, иначе будет тоска из-за мощных вещалок.
1852 308669
>>308614
Поначалу юзал одноконтурный преселектор с добротностью 70, когда динамики было децибел 60.

Щас динамика децибел 80, выкинул его нахуй. Надеюсь довести до 100 дБ, включив оставшиеся 4 разряда АЦП.

Антенна: при экспериментах на прием (до трансиверизации) была Mini-Whip:
https://www.youtube.com/watch?v=dOOwxxjjmQY

Сейчас - резонансная полуволновая веревка длиной 20 м (7 МГц), согласованная параллельным контуром.
С преселектором:
https://www.youtube.com/watch?v=y4Hv7NDJJf4
И без:
https://www.youtube.com/watch?v=j4qBDacbdy0

На НГ была попытка ввести АРУ (из >>306460):
https://www.youtube.com/watch?v=T7VJUj-bK_w

>тоска из-за мощных вещалок


https://www.youtube.com/watch?v=R33LkHWn-2w
1853 308671
>>308669

>И без:


Бля, там тоже преселектор.
Вот без:
https://www.youtube.com/watch?v=gJ3DSftx_qk
1854 308679
>>308669

>Щас динамика децибел 80


Как оценивал?
1855 308680
>>308379

>линейный УМ класса B на 20 Вт на 7 МГц и 10 Вт на 14 МГц


На чём выходной каскад?
1856 308682
>>308669

>>тоска из-за мощных вещалок


У меня амплитуда овер 100 мВ, окна на амурский залив. На 7мгц / 14 мгц вещаки идут ппц как сильно.

Как вариант - делать рамочную антенну с трубы и строить на диапазон.
1857 308688
>>308680
Только вместо L3 транс 2:1.
И мощность 10 и 20 Вт соответственно. На пикче старые числа с макета.

>>308679
SFDR не смотрел (чтоб совсем не опечалиться), смотрел только по забитию - разница между уровнем полного размаха на входе АЦП и уровнем собственного шума. Сигнал давал с генератора Г4-102, выход смотрел звуковым спектроанализатором.
1858 308690
>>308688
Солидно вышло, я думал будет двухтактный оконечник на народных полевиках (irf510/520)

Зачётный проект.

Кстати, мне показалось или у тебя на видео с QSO с R2DT на фоне китайцы разговаривают?
1859 308695
>>308688
Вот же пидор ебучий. Наворовал деталей дорогущих и похваляется теперь. Те транзисторы стоят по почке за каждый. Почему одним - все, а другим - ничего? Жучара вороватый. Чтоб тебя током уебало.
1860 308701
>>308695

>Те транзисторы стоят по почке за каждый


> KT912/20


У тебя камни во всю почку штоле, что твои так дешево стоят?
1861 308710
>>308701
Это тебе шутки, гадина? 300-1000р за штуку. Наворовал ведро и рад, сидит себе, радуется, махарайки паяет. А другие только мечтают о таком, всякий копеечный мусор пользуют. Ублюдок.
1862 308711
>>308710

>1000р за штуку


Даже в чипдейле 250-300. Это чо, цена штоле?
1863 308714
>>308711
Москвич дохуя штоле? В регионах зп 20к, а ему транзисторы по 300-1000р - как семечки.
1864 308717
>>308695
Ну не смешно же нихуя. Зачем?

>>308701
А вот с этого в голос.

>>308690

>(irf510/520)


Впадлу было возиться с емкостью затвора. Поздно слишком прочитал статью Гончаренки про включение её в фильтр.

>показалось или <...> на фоне китайцы разговаривают?


Не показалось, так и есть. Почему-то получилось прямое детектирование вещалки.

А КТ912 я брал в местном магазе за 60 российских рублей. А 920 вообще даром.
1865 308724
>>308714

>Москвич дохуя штоле?


Нет. Я в Тверских ебенях живу. До города пол часа на велосипеде, сейчас пешком хожу раз в неделю.
1866 308858
>>308717

> прочитал статью Гончаренки про включение


Поделись ссылкой плиз. irf510 на СиБи норм работают и даже на 50мгц.

>>308379

>Окучиваю на передачу пока два любительских диапазона - 7 и 14 МГц.



Как формируешь ссб?
ddctrxstruct.jpg60 Кб, 1321x533
1867 308949
>>308858

>ссылкой


http://dl2kq.de/pa/1-4.htm

>Как формируешь ссб?


Пикрелейтед.

Вот немного протухшее описание с замечаниями по текущему состоянию:

DDC однополосный телефонный КВ трансивер с такими характеристиками:
Диапазон частот приемника: 100 кГц до 21.5 МГц;
Диапазон частот передатчика: 1.8 до 14.5 МГц;
Шаг перестройки частоты: 0.1 кГц;
Модуляция: телефонная LSB/USB с полосой 3 кГц;
Чувствительность приемника: 1 мкВ при отношении с/ш 10 дБ;
Динамический диапазон приемника: 80 дБ;
Выходная мощность передатчика на нагрузке 50 Ом (РЕР): 20 Вт на 7 МГц и 10 Вт на 14 МГц;
Питание: 15 В (4 литиевые банки).

Вся обработка сигнала в самом мелком четвертом Циклоне, кроме усилителей: входного и УМЗЧ у приемника, микрофонного и УМ у передатчика.

АЦП приемника — TDA8763M/5 (50 Мспс 10 бит), хотя ранее был нашел и поставил обратно LTC2247 на 14 бит, но я его сжег. Перед ним два каскада на гигагерцовых ОУ ADA4817-1 с общим усилением около 90 40. До усилителя стоит плавный аттенюатор до 40 дБ и ФНЧ Чебышева 6 порядка со срезом на 22 МГц.
ЦАП передатчика — AD9744 (200 Мспс 14 бит).
Микрофонный АЦП передатчика и звуковрй ЦАП приемника — сигма-дельта, сделанные прямо в ПЛИС.

Микрофонный усилитель-ограничитель — простейший на ОУ и диодах. УМЗЧ приемника — на микрухе TDA2822. УМ передатчика — трехкаскадный, с выходом на КТ912Б в чистом классе B.

Частота дискретизации с ВЧ стороны — 50 Мспс, разрядность — 10 бит. С НЧ стороны разрядность та же 17 бит, а частота — 15 кспс.

В качестве ФОС приемника и ограничителя спектра передатчика применен КИХ-ФНЧ 50 порядка с окном Блэкмана. В качестве НЧ фазовращателя применен КИХ-фильтр Гильберта 50 порядка с окном Блэкмана.

Синтезатор частоты — с 36-битным фазовым аккумулятором, 10-битным кодом фазы и 14-битной амплитудой.

Для экономии ресурсов фильтры сделаны 10-битными 17-, хотя эффективная разрядность на выходе CIC приемника 17 или 18 бит; взяты младшие 10 сейчас все. Из-за этого пришлось ввести аттенюатор.

Управляется это всё с МК ATMEGA328 щас мега8. Он опрашивает энкодер и кнопки, считает 36-битный код частоты для синтезатора, выводит его по последовательному интерфейсу в ПЛИС, считает КСВ при передаче и отображает все параметры на индикаторе.

Конфигурацию ПЛИС описывал на Верилоге в Квартусе II версии 11 перешел на 15. Готовые ядра фильтров на моём некрокомпе компилиться отказались, поэтому все блоки пришлось писать самому (кроме сигма-дельта ЦАП, который нашел в готовом виде в аппноте от Хилых).

В планах — введение АРУ почти сделано, требует дебага и демодулятора АМ, установка более разрядистого АЦП сделано в приемный тракт, упихивание фильтров в блоки памяти сделано, перенос всего этого на одну плату.

Сейчас проект занимает около 4к7 3к7 ячеек из 6к2, 12 16 перемножителей из 30 и около 22 33 кбит памяти из 270.

Изначально упор делался на возможность реализации малогабаритного, маложрущего, не требующего сложной настройки и с хорошими фильтрами трансивера, и оно в принципе удалось.
ddctrxstruct.jpg60 Кб, 1321x533
1867 308949
>>308858

>ссылкой


http://dl2kq.de/pa/1-4.htm

>Как формируешь ссб?


Пикрелейтед.

Вот немного протухшее описание с замечаниями по текущему состоянию:

DDC однополосный телефонный КВ трансивер с такими характеристиками:
Диапазон частот приемника: 100 кГц до 21.5 МГц;
Диапазон частот передатчика: 1.8 до 14.5 МГц;
Шаг перестройки частоты: 0.1 кГц;
Модуляция: телефонная LSB/USB с полосой 3 кГц;
Чувствительность приемника: 1 мкВ при отношении с/ш 10 дБ;
Динамический диапазон приемника: 80 дБ;
Выходная мощность передатчика на нагрузке 50 Ом (РЕР): 20 Вт на 7 МГц и 10 Вт на 14 МГц;
Питание: 15 В (4 литиевые банки).

Вся обработка сигнала в самом мелком четвертом Циклоне, кроме усилителей: входного и УМЗЧ у приемника, микрофонного и УМ у передатчика.

АЦП приемника — TDA8763M/5 (50 Мспс 10 бит), хотя ранее был нашел и поставил обратно LTC2247 на 14 бит, но я его сжег. Перед ним два каскада на гигагерцовых ОУ ADA4817-1 с общим усилением около 90 40. До усилителя стоит плавный аттенюатор до 40 дБ и ФНЧ Чебышева 6 порядка со срезом на 22 МГц.
ЦАП передатчика — AD9744 (200 Мспс 14 бит).
Микрофонный АЦП передатчика и звуковрй ЦАП приемника — сигма-дельта, сделанные прямо в ПЛИС.

Микрофонный усилитель-ограничитель — простейший на ОУ и диодах. УМЗЧ приемника — на микрухе TDA2822. УМ передатчика — трехкаскадный, с выходом на КТ912Б в чистом классе B.

Частота дискретизации с ВЧ стороны — 50 Мспс, разрядность — 10 бит. С НЧ стороны разрядность та же 17 бит, а частота — 15 кспс.

В качестве ФОС приемника и ограничителя спектра передатчика применен КИХ-ФНЧ 50 порядка с окном Блэкмана. В качестве НЧ фазовращателя применен КИХ-фильтр Гильберта 50 порядка с окном Блэкмана.

Синтезатор частоты — с 36-битным фазовым аккумулятором, 10-битным кодом фазы и 14-битной амплитудой.

Для экономии ресурсов фильтры сделаны 10-битными 17-, хотя эффективная разрядность на выходе CIC приемника 17 или 18 бит; взяты младшие 10 сейчас все. Из-за этого пришлось ввести аттенюатор.

Управляется это всё с МК ATMEGA328 щас мега8. Он опрашивает энкодер и кнопки, считает 36-битный код частоты для синтезатора, выводит его по последовательному интерфейсу в ПЛИС, считает КСВ при передаче и отображает все параметры на индикаторе.

Конфигурацию ПЛИС описывал на Верилоге в Квартусе II версии 11 перешел на 15. Готовые ядра фильтров на моём некрокомпе компилиться отказались, поэтому все блоки пришлось писать самому (кроме сигма-дельта ЦАП, который нашел в готовом виде в аппноте от Хилых).

В планах — введение АРУ почти сделано, требует дебага и демодулятора АМ, установка более разрядистого АЦП сделано в приемный тракт, упихивание фильтров в блоки памяти сделано, перенос всего этого на одну плату.

Сейчас проект занимает около 4к7 3к7 ячеек из 6к2, 12 16 перемножителей из 30 и около 22 33 кбит памяти из 270.

Изначально упор делался на возможность реализации малогабаритного, маложрущего, не требующего сложной настройки и с хорошими фильтрами трансивера, и оно в принципе удалось.
1868 308974
https://ru.aliexpress.com/item/EP4CE10-altera-fpga-board-fpga-altera-board-fpga-development-board-USB-Blaster-fpga-kit-altera-kit/32812945851.html
Есть ли варианты лучше? Лишний обвес не нужен, больше ног - лучше.
С нуля, да.
1869 308980
>>308949

>Динамический диапазон приемника: 80 дБ;


При десяти битах и 50 мспс и даунсэмплинге в 4 раза у тебя будет 11 бит, а это меньше 70 дБ

Или у тебя сейчас 14 бит и 50 мегасэмплов?
1870 308984
>>308980

>даунсэмплинге в 4 раза



А теперь внимательно:

>Частота дискретизации с ВЧ стороны — 50 Мспс


>С НЧ стороны <...> — 15 кспс


50М / 15к = 3333.
Что даст увеличение на 35 дБ, и при 10 битах на входе, на выходе получим 95 дБ. Но по факту меньше, из-за нелинейностей АЦП и усилителя перед ним.

>Или у тебя сейчас 14 бит?


АЦП на 14, но работают только старшие 10.

>>308974
Я с такой начинал, потом докупил отдельно нужный быстрый АЦП и сделал приёмник. Только у меня за тот же ценник было 6к ячеек.
1871 308987
>>308984
Ты сейчас на 40-ке покричать можешь? Мне интересно послушать твой сигнал/модуляцию (передавать нечем)
1872 308990
>>308987
Не могу.
1873 309003
>>308990
Достойно!
1874 311741
Сап плисач. Я к своему стыду за 4 года работы плисоводом ни разу не использовал процессорное ядро в цинке или microblaze. Оправдание: не было в этом нужды
Выдалось свободное время, решил восполнить сей пробел. В вивадо открыл референсный проект, поморгал светодиодом, поспамил в com-порт, подергал прерыванием и что-то ощутил себя ардуинщиком из соседнего треда.
Поясните, для чего белые люди обычно используют процессор внутри ПЛИС? Какие для него типовые задачи?
1875 311752
>>311741
Поднять на нем линукс и оттопырить UI в сеть.
Запилить параллельное управление зоопарком периферии.
1876 312023
>>311752
Ну вот я видел матричный сопроцессор (на альтере) в который можно загрузить программу, состоящую из матричных констант и арифметических операций. Потом пинаешь туда вектор, например, а оно его всяко хитро мучает и выдает ответ. Программа как раз интерпретировалась NIOSом.
ScreenShot00004.jpg1,1 Мб, 1920x1080
1877 312042
Плисаны, помогите студенту вкатиться.
Тыкал в альтере простенькие примеры на верилоге. Захотелось начать работать, стажироваться.

В вакансии пишут:
обмен по SPI, UART, I2C, Ethernet;
процессорные системы на базе Zynq, Microblaze, PowerPC, сопряжение с различными типами памяти, системы обработки видео, формирование изображений на индикаторах по интерфейсам VGA, HDMI.

Про SPI, UART, I2C что-то где-то когда-то слышал и прогал на пиках даже.
Про Zynq, Microblaze, PowerPC читал и не понял, нахуя оно. Это как малина, только сок+плис?

К чему нужно быть готовым, чтобы не обосраться на собеседовании? Уметь написать сортировку, решить задачку про три кофейника, написать д-триггер на бумаге или чего?
1878 312050
>>312042
А гугл пишет что это РПКБ. Ты действительно думаешь что у них там везде Zynq и Microblaze?

>Про SPI, UART, I2C что-то где-то когда-то слышал и прогал на пиках даже.


Вот это есть практически в любом микроконтроллере, нахуя тогда ПЛИС?

>формирование изображений на индикаторах


Как минимум с этим разберись. Хотя бы сделай вывод текста из памяти на монитор через VGA или HDMI, а потом расширь функциональность до чего-то типа VT100.

>К чему нужно быть готовым, чтобы не обосраться на собеседовании?


На собеседовании скорее всего спросят о теме дипломной работы, о хобби. Со студента много спрашивать не будут. В таких КБ задачки на собеседованиях обычно не дают, а если дадут, то могут дать самые разные. Например попросят предложить конструкцию ГУН на 13,5МГц (для видеосигнала).
1879 312052
>>312050

>Ты действительно думаешь что у них там везде Zynq и Microblaze?


Поскольку не видел боевых проектов на плис - не знаю.

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


Об этом знаю. Вот как раз и получается, что там софт ядро и типа МК на плис выходит? Нахуя - не ко мне вопрос.

>Хотя бы сделай вывод текста из памяти на монитор через VGA


Делал контроллер вга, который выводил всякие полосочки цветные на моник. Посмотрю подробней.

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


Спасибо, что обнадежил. Главное потом на рабочем месте не напортачить.

>А гугл пишет


Подозревал, что пытливому анону захочется погуглить. Ничего не скроешь в постиндустриале.
1880 312058
>>312042

>студенту


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


>процессорные системы на базе Zynq, Microblaze, PowerPC, сопряжение с различными типами памяти, системы обработки видео, формирование изображений на индикаторах по интерфейсам VGA, HDMI


Пока что не твой уровень, пойди работать в какой-нибудь ФГУП, поработай годика три, а там уже и сориентироваться сможешь.
1881 312059
>>312058
Я тоже так считаю. Но знаю только один ФГУП, где можно плисоебствовать. Но там совсем за еду.
0cf6aaf7da21eXXL.jpg217 Кб, 918x516
1882 312065
>>312058
Да ладно? На картинке типичная система отображения информации, которыми занимается РПКБ в числе прочего. В соседнем треде ардуинщики делают ненамного менее сложные интерфейсы, пусть и более медленные. Хотя если человек пишет:

>читал и не понял, нахуя оно


То может быть и не его уровень.
1883 312094
>>312059
Зато загружать не будут, будет время изучать, что считаешь нужным.

>>312065
Весёлые картинки на экранчиках рисовать - это всё фигня, сопутствующие задачи. Настоящий хардкор это ЦОС, вот тут и нужны знания и опыт.
1884 312097
>>312094
Но как я узнаю, что нужно, если не будут давать задач?
Вот, например, делал я эти триггеры и юарт контроллеры. А тут, оказывается, микроблейз надо знать.
1885 312113
>>312097
Ну вот сиди на работке и изучай микроблейз в свободное время.
1886 312138
>>312050

>РПКБ


Лол, я там работал.

>Ты действительно думаешь что у них там везде Zynq и Microblaze?


Сейчас, как и везде потужности к импортозамещению, но раньше всё делали только на Xilinx
1887 312147
>>312138

>Лол, я там работал.


А сейчас ушел в банк?
Ну и чего, как там?
1888 312148
>>312147
Если интересно вкинь фейкопочту или телеграмм расскажу
1889 312150
>>312148
У меня из фейков только qTox:
189085AB23EB7A64F25866E3A3F4649E52E4074609E2D6E50D34381231D5601B374132E17C88
Если уж очень захочется - пиши.
1890 312152
>>312150
Ладно, похуй на анонимность, расскажу тут. В целом, ламповое место, особенно для зеленого студента. За тобой нет особого контроля, полная самостоятельность. Можно мутить свои темы. Мы с ребятами угорали по радиогубительству и для своих целей выписывали со склада всякие интересные компоненты. Можно поступить в аспирантуру. Пару раз в год от конторы отправляют на платные курсы, если подсуетиться можно даже самому выбрать. Много различных ивентов - турслеты, экскурсии, даже как-то был турнир по КС. Каждый день после обеда
Короче, возможностей масса, важно не начать деградировать - это здесь поощряется тоже.
В плане зп здесь грустно. Когда я уходил была жесткая уравниловка, выше средней цифры по вашему отделу прыгнуть сложно.
Почему уволился - словил день сурка, захотелось больше денег и еще достала общага. В итоге, как и многие завел трактор в москвабад.
1891 312154
>>312152
Спасибо, обрадовал.
А еще у них есть страничка про стажировку, но не написано, куда писать на этот счет.
А аспирантура - вообще каеф.
А вот молодежная хуйня мне не оче нравится. Активности, слеты, хуеты. Брр.
А с зп может и не грустно, если в москве не гулять? Вот предложили сейчас параллельно стажироваться за 30к\20ч, но это москва и с контролем.
1892 312157
>>312154
Про зп не строй илюзий. На погулять в ДС хватит, а вот купить хату едва ли.
1893 312602
Анон, мне вот стало интересно какая конкуренция у нас плисоёбов, например в ДС-2.
Я сейчас ищу работу и обнаружил, что вакансий чуть меньше чем у программистов МК. А вакансии висят по нескольку месяцев. Не знаю как обстоят дела в ДС, но у меня создалось впечатление, что в ДС-2 плисоёбов совсем нихуя нет и это неудивительно. Я хорошо знаю анонов из других вузиков, и нигде больше семестра (хорошо если хотя бы один) этой теме не уделяют.
1894 312618
>>312602
Ну так радуйся.
1895 312644
>>312602
Да, на 6-м курсе получить семестр VHDL - это совсем такое себе.
1896 312672
>>312602
А что там изучать?
Цифровая схемотехника ПЛИС не отличается от общей цифровой схемотехники.
Аналоговая часть в смысле reset'ов, pll, phy - тоже соотвествует общей схемотехнике.
Ограничения временных параметров - возможно, но это тоже не плисовская тема, а тема синхронной цифровой схемотехники и соблюдения условий, при которых эти абстракции работают. Verilog/VHDL - это тоже общецифровое, а не ПЛИСовское. На кафедрах, связанных с микроэлектроникой изучается.
В итоге, чисто на ПЛИС остаётся - это то, как экономить интерконнекты, использование третьих состояний и прочее. Даже внутреннее устройство логических элементов/макроячеек, а это уже не тема систематического образования, а тема применения конкретной железки.
Сама разработка - это больше системотехника даже, а не схемотехника. Когда припёрло, Verilog для синтезируемых конструкций освоил за неделю (правда, coding style handbook мне предоставили). Потом, когда работал с VCS, Spyglass, DC изучил уже некоторые нюансы, которые позволяют ускорить работу уже после написания кода - во время функциональной и формальной верификаций, статического анализа кода (чтобы меньше warning'ов генерировало). Так что полгода VHDL - это дохера ещё. Хотя, не знаю, может VHDL не такой минималистичный, как Verilog.

В итоге, гораздо больше времени уходит на верификацию, а там не ПЛИС надо знать, а программирование. ООП, вся вот эта херня.
1897 312674
>>312672

>coding style handbook


Source please.
1898 312675
>>312050

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


Вот это вот всё есть не только в микроконтроллере, а в часах реального времени, АЦП, токовых мониторах, ЦАП, и т.д.
И АЦП к ПЛИС подключается по тем интерфейсам, которые в ней есть, только, специально для ПЛИС часто в SPI, Скажем, АЦП, введен режим, позволяющий получать данные быстрее, например, 12-битное значение за 13 тактов. На ПЛИС реализуешь кастрированный SPI, который только это и умеет, зато в разы меньше, чем SPI общего назначения. Далее обрабатываешь сигнал с той скоростью, либо с теми задержками, на которые МК не способны. В общем, ПЛИС ради ПЛИС, конечно, не нужна. Но если есть конкретные задачи, которые решаются на ПЛИС, и нужна связь с реальными сигналами, то все эти интерфейсы общего пользования (I2C, SPI и т.д.) реализуются в ПЛИС.
1899 312676
>>312674

>Source please.


Mine is confidential, and under NDA.
Но в сети можно найти, например, от xilinx: https://wiki.electroniciens.cnrs.fr/images/Xilinx_HDL_Coding_style.pdf

или вот эту:
http://www.ee.ncu.edu.tw/~jfli/vlsidi/lecture/VerilogCoding-2009.pdf

Но те две верхних - это просто по первым ссылкам сейчас нашёл, пролистал, правильные вещи в них, вроде, есть.

Сам я поначалу нередко заглядывал вот сюда:
http://fpgacpu.ca/fpga/hdl/coding_guidelines.pdf
1900 312741
Анон, я работал 3 года с Альтерой. Всё было хорошо пока на глаза мне не попался Zynq Ultrascale+ EV. ТАКАЯ-ТО ЙОБА.
Но суть не в этом, увидев флагманский кристалл хилых, мне захотелось посмотреть на мид-рендж девайсы. И я был просто поражён количеством документации, литературы и плат. В общем заказал себе Zybo Z7-20 с видеокамерой, буду машин-вижен запиливать.
1901 312770
>>312741
Ты молодец. Ровно такая же мысль, вот просто один, посетила меня на днях. Но, к сожалению, закажу немного попозже. Удачи тебе с этим делом.
1902 312784
>>312741
С тулами под линупс у хилых, вроде, всё в порядке? Или нужно синопсисовскими пользоваться?
1903 313209
>>312784
Ты про IDE?
Официально только Debian и Ubuntu (Vivado + SDK), остальное можно, но осторожно.
1904 313212
>>313209
Не обязательно IDE, можно синтезатор, симулятор и трассировщик отдельно. Но понял. Удивительно, что Debian и Ubuntu, а не RedHat.
1905 313229
>>312784
Нормас, только /bin/sh должен указывать на bash и локаль, желательно американская в системе. Может в последних вивадах уже починили, но ИСЕ иногда сбоило
1906 313245
>>313229
Спасибо
532.png443 Кб, 1203x553
1907 313748
Ребята, хочу попробовать ЦОС, и всё такое. Посоветуйте, чего прикупить на алике. Выбираю модуль с ацп/цап, но нашёл только 8 бит ца 125мспс ац 32мспц, это же совсем плачевно?
1908 313771
>>313748
Нет, если умеешь в децимацию. Задачи какие хочешь решать?
1909 313776
>>313748
Ты бы схему для начала нашел, иначе это даже не плачевно, а просто мусором будет. По моему проще самому припаять все это.

>попробовать ЦОС, и всё такое.


Ну даже не знаю, так-то ЦОС можно делать хоть на атмеге. Или RTL-SDR можно взять.
1910 314026
>>313776

>проще самому припаять все это



Заказал таки ацп да цап, ждите через месяцок плач с мольбой, как развести плату с обвязкой.
1911 314090
>>314026

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


Если дела и правда так обстоят, скажи, а ты уже подумал, как ты будешь с ПЛИСиной связываться, чтобы данные посмотреть? Только через ChipScope или его аналоги?
1912 314157
>>127314 (OP)
Gay's, есть несколько штук ЕРМ3256 в 208-ногом корпусе. Подкиньте схем логических анализаторов на CPLD, а? Я уже изгуглился, всё на Хилинхе выдает и ничего на Альтере. Хоть ткните носом в принципы и схемотехнику, позязя.
1913 314170
>>314157
Ничего хорошего в эту микруху не влезит. Вся MAX серия нужна что бы заменять рассыпухи логических микросхем.
1914 314351
>>312602
ДС-2 ушлёпок 19-и лет от роду вкатился. Насколько смотрят на корку при приёме на должность байтослесаря-схемотехника? Сейчас учусь на 2-м курсе соответствующей специальности и все фибры моей души говорят мне бросать эту парашу и идти в подмастерье к какому нибудь усачу с производства. Если в программировании мальчики с подворотами вполне могут тебя принять за хороший перечень своих проектов на гитхабе, то как на меня посмотрят люди из касты программистов-электронщиков? Без корки никак? Помоги, двощ, заебало слушать нудные лекции. Со старших курсов тоже не слышно ничего положительного
1915 314374
Суть. Нужно настприть управление 256 реле через Ethernet. Какой для этого лучше использовать ПЛК? Как лучше реализовать подобный проект?
1916 314499
>>314374
Берешь самый дешевый плк с ethernet и n модулей ввода - вывода, например таких:
http://www.owen.ru/catalog/modul_diskretnogo_vivoda_oven_mu110_8r/39036535
Можно даже без плк, просто конвертер modbus-tcp в modbus проводной
1917 314521
Аноны, есть у кого пример программы для подстройки altpll через dynamic phase shift относительно другого сигнала полученного в внутренней логике?
1918 314553
>>314351
Как правило, смотрят корку. Хоть какое-то образование в околоэлектронной области у тебя должно быть.
1919 314626
>>314351
Без корки категорически никак. Не бросай, потом пожалеешь. Попробуй вынести с лекций что-нибудь полезное, но если не получится, то вынеси хотя бы корку, она пиздец как важна.
1920 314798
>>314626
Двочую этого. Вот например я долбаеб, еле натянул вышку на тройку. А позже оказалось, что без хорошего математического аппарата фактически закрыт путь в ЦОС. Вот так каких-то из-за двух лет проеба в институте отсек себе добрую половину вакансий по FPGA, не говорю уже про программирование.
1921 314801
>>314798
Как будто универ помогает шарить в ЦОС, матане и программировании.
У меня все эти дисциплины были, в последствии после зачета благополучно их забыл. Такие дела.
1922 314803
>>314798

>не говорю уже про программирование.


Матан (континуальная математика) в программировании и нахуй не сдался.
Программирование - это буквы, а не цифры, лол.
1923 314820
>>314798

>ЦОС


>не говорю уже про программирование


Говоришь так будто программирование сложнее ЦОС.
1924 314821
>>314801

>Как будто универ помогает шарить в ЦОС, матане и программировании.


помогает
1925 314828
>>314803
Ты не прав. Цель программирования - реализация алгоритмов. От знания синтаксиса языка, ООП, и всяких хитровыебанных парадигм программирования мало толку, если ты не сможешь понять как работает алгоритм, который тебе требуется реализовать.
В некоторых случаях без знаний математики это вообще невозможно.
1926 314829
>>314828
Последовательность действий алгоритма можно запрограммировать без понимания как и почему этот алгоритм работает. Если сам алгоритм и его параметры выбирает не программист, а кто-то еще, то зачем программисту о чем-то задумываться?
1927 314862
>>314828
Разумеется, программирование - это математика.
Просто это другая математика, не матан.
И в этой математике нет цифр.
Ну, или почти нет.
1928 315015
Почаны, а давайте подумаем, какие могут быть pet-projects у ПЛИСовода?
Что сейчас возможно запилить в одно рыло и чего нет в открытом доступе?
1929 315026
>>315015

Аппаратные эмуляторы соснулей, педальки цифровые для гитарастов, раньше еще манямайнеры на спартан4 были актуальны, сейчас уже - хуй.
1930 315027
>>315026

>циклон 4



конечно же
1931 315255
>>315015
Тебе для души или для дохода мимо кармана работодателя? Если первое, то берёшь и делаешь какую-нибудь относительно малоизвестную, но документированную, старую ЭВМ (ту же БЭСМ-6 может и оплисили, но всякие Уралы и Мински — нет). Или берёшь что-то уже готовое, но делаешь свой вариант с блэкджеком и шлюхами.
1932 315308
>>315255
Нужно быть плисоводом 99 лвл, чтобы иметь доход мимо работодателя. Так что этот вариант можно не рассматривать.
С консолями понятно, можно поиграть, в сети полно дампов. А какой профит от некро-ЭВМ?
1933 315356
>>315308

> А какой профит от некро-ЭВМ?


Да тот же самый: ПРОСТО играться в своё удовольствие. Позапускать программы (если сохранились образы/исходные тексты), погонять всякие Dhrystone/Whetstone/смесь Гибсон-3, чтобы сравнить быстродействие своей игрушки с оригиналом… В общем всё то же самое, что и на програмном эмуляторе, плюс руками пощупать можно:
http://web.archive.org/web/20171118234453/http://chrisfenton.com/homebrew-cray-1a/

P.S. Или взять железный процессор, а на ПЛИС обвязку делать:
https://github.com/dekuNukem/FAP80
http://tech.mattmillman.com/projects/8od/
1003500-1.jpg88 Кб, 960x520
1934 315374
Тред не читал
Плисаны, посоветуйте ПЛИС для поиграться, чтобы кодить как в ардуине и с модулями до ~500 рублей(меньше лучше ) и подходил к программатору пикрил. Желательно с обвязкой и относительно большим количеством gpio или как это у вас называется. Если под мои запросы ничего нет, то просто обоссыте, а то надоело быть в одном загоне с ардуинщиками
1935 315380
>>315374
Твой выбор cyclone 4, ищи у китайцев по запросу waveshare. Но до 500 - нет, 1,5к примерно.
1936 315381
>>315380

>1,5к примерно


Эх, лучше бы обоссал. Спасибо
4985625.jpg827 Кб, 2048x1806
1937 315391
>>315374
У меня с пяток таких вот хуевин. Нажиты забесплатно на свалке с игровых автоматов диких нулевых. Даже разъем под бластер выведен.
1938 315394
>>315380
Эти любят расстояние между штырями делать 2 мм, что очень неудобно. На алиэксперссе есть другие платы с EP4CE6 за ~1000р с нормальным шагом штырей.

>>315391
Это же мелкая CPLD, туда ничего кроме каких-нибудь часов или чего-то вспомогательного не влезет.
Но для начала может и сойдет. Как вариант, можно взять переходную плату для tqfp и самостоятельно припаять к макетной плате. Или взять CPLD в PLCC корпусе с панелькой и обойтись без переходной платы.

TQFP:
https://www.chipdip.ru/product/epm240t100c5n-tqfp100
https://www.chipdip.ru/product/ppo-qfp-pcb (Это пример, нужно выбрать с нужным шагом выводов)

PLCC:
https://www.chipdip.ru/product/epm3032alc44-10 Хотя это настолько мелкая, что даже часы не влезут.
https://www.chipdip.ru/product/plcc-44

Так что, даже если покупать в оверпрайснутом чипдипе, начальный вариант может уложиться в 500 рублей. Другое дело, что ничто интересное в такое не влезет.
1940 315396
>>315395
Ну да, именно про эти платы я писал:

>На алиэксперссе есть другие платы с EP4CE6 за ~1000р с нормальным шагом штырей.

1941 315398
>>315374
fpga + arduino = http://papilio.cc/
Но не советую, мертвый проект.
1942 315399
>>315394

> Эти любят расстояние между штырями делать 2 мм, что очень неудобно


Ну, у тех вариантов платок, что с двумя гребёнками, обычное 2.54мм.

>>315391
>>315394
К ним ещё придётся старый квартус брать. Поддержку MAX3000 прекратили после 13 версии.
1943 315411
>>315015
Кстати, наткнулся тут, из списка «чем заебать студента»: «Низкочастотный радиоприёмник с магнитной антенной для разбора сигнала до мегагерца или первых мегагерц -- фактически просто магнитная антенна и полосовой усилитель к ней, с выходом на ADC платы, или со своим ADC и каким-то цифровым портом. Готовые чипы тоже можно поискать, было такое. FPGA может сканировать и развернуть спектр, озвучить простые сигналы (всякие цифровые). Интересное занятие, люди залипают. :) На малые расстояния (near field) сможет и передавать с одной платы на другую». Ну и вообще всякие SDR, когда оцифровываем пойманное на антенну и подаём на FPGA для обработки.

P.S. Плюс ещё есть такие вещи, как логические анализаторы. Берёшь тот же опенсорсный Logic Sniffer и переделываешь его со старого Spartan-3E (там как-раз место давно кончилось) на новый жирный Spartan-6 или Cyclone-iV.
1944 315422
>>315399

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


Не на всех платах, например тут 2мм: https://www.waveshare.com/product/fpga-tools/altera/core/coreep4ce10.htm

Еще на всякий случай скажу банальную вещь: для изучения verilog/vhdl необходимости в железке нет. Роль симулятора тут совсем не та что для микроконтроллеров, без симулятора для ПЛИС вообще ничего толком не сделать.

>К ним ещё придётся старый квартус брать.


По сравнению с тем что было у xilinx с вивадой и ISE, это мелочи.
1945 315423
>>315398
Что насчёт этого можешь сказать? https://www.tindie.com/products/nolando/arduino-compatible-spartan-6-fpga-board/
1946 315428
>>315423
Обычная плата с плис+питание+штыри. При выборе xilinx важны последние цифры - количество LUT, у меня они всегда первыми кончаются. На картинке 9, т.е. 9000 - самый маленький кристалл. Когда соединяешь модули, как раз тысячами и оперируешь. То есть скажем, положешь туда проц, spi ему на шину и смотришь, уже поджимает. Но скажем >>315411 >логические анализаторы
самое то.
У papilio хотя бы библиотеки
были какие-то к ise, но я не смог запустить, там как всегда заморочки с окружением и зависимостями.
Вообще, для легкого вката рекомендую https://github.com/enjoy-digital/litex . Одно то, что ему похуй на производителя (xilinx, intel, latix) и файлы проекта генерятся на лету, - большой плюс. Там не просто генератор verilog, - там целый фреймворк.
А то збс у хилых - выучи ucf, выучи xdc, выучи еще 10 форматов, собранных на коленке, чтобы подключить свое ядро к microblaze. Ну нах, надо было на php-макаку учиться.
https://ru.aliexpress.com/wholesale?catId=0&initiative_id=SB_20180313015457&SearchText=+spartan+6
Если есть деньги, поищи artix 7, он круче (выше частоты, круче pll и др., )
Бери любую, потом просто создашь свой файл наподобие этого
https://github.com/enjoy-digital/litex/blob/master/litex/boards/platforms/minispartan6.py
и в добрый путь.
ps я знаком и все это проделывал только с xilinx.
1947 315432
>>315428

>хотя бы библиотеки


А что насчёт этой?
https://embeddedmicro.com/products/mojo-v3
1948 315434
>>315432
Закрытые исходники, привязка к конкретной плате. Не слишком полезно.
https://github.com/enjoy-digital/litex/tree/master/litex/soc/interconnect
Вот уже кто-то axi-lite прикрутил, тут-то библиотек хватает, да и проект растет. И я напомню, что весь код там равен по оптимизации верилогу.
На этом я угомонюсь, чтобы не быть навязчивым.
1949 315478
Плис-господа, подскжите.
Нужно запилить Курсач в Quartus, хочу написать на Verilog,но столкнулся со следующим:
На ютубчике есть видос
https://www.youtube.com/watch?v=tAKhX_-EyT4
Тут автор пишет в верилог файле конструкцию вида:
module firstproject
{
input in,
output out
};
Квартус на такую конструкцию отзывается след образом:
Error (10170): Verilog HDL syntax error at firstproject.v(2) near text "{"; expecting ";"
И, вроде как, более правильно для него
module firstproject (in, out,);
input in;
output out;

Почему тогда у автора лыжи едут, а я ебанутый?

Алсо,посоветуйсте простой, годный гайд по верилогу. Спасибо.
1950 315486
>>315478
У тебя скобки не те.

>И, вроде как, более правильно для него


Без разницы. Первый вариант не работает только в verilog-95.
верилох.JPG65 Кб, 490x735
1951 315490
1952 315507
>>315486
А, бля, спс.
Качество видео у меня похоже ниоч.
>>315490
Ну я тип обиженка не могущая в чтение. Мне какие-нибуь онлайн статьи или видео подавай.
1953 315539
>>315507

>Мне какие-нибуь онлайн статьи или видео подавай.


https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZTAJkgY3XfsrFyK1laAchO
Верелога ты от него наверно не дождёшься.
1954 315540
>>315478

>Нужно запилить Курсач в Quartus


Тема хоть какая?
1955 315618
>>315428

>enjoy digital


А можно подробнее что это за ерунда?
Там получается пишешь на питоне и эта махарайка генерит HDL-код под выбранную архитектуру?
1956 315625
>>315618
Подробнее в мануале:
https://m-labs.hk/migen/manual/

Зайди сюда, установи пакет и сгенерируй пример. Если знаешь verilog, увидишь, что ничего лишнего там не сгенерировалось. Verilog сам по себе поддерживается всеми архетиктурами, но вот файлы ограничений - нет.
https://github.com/m-labs/migen

А здесь уже реализованы ip модули, которые можно использовать в своем проекте.
https://github.com/enjoy-digital/litex

Проект сырой, как законченное решение рекомендовать не могу.
altera.PNG531 Кб, 1221x638
1957 315801
>>127314 (OP)
Посоны, стоит брать или наебка?
1958 315814
>>315801
Купи, за одно отпишешся как оно. 280р. - не такие уж и большие деньги, кроме того - есть рефанд, если что-то не так будет.
1959 315818
>>315814

>Купи


Купил, еще в придачу пару STM32F103CBU6 по 50р. Только проверить сразу хуй получится, надо печатку еще замутить.
1960 315821
>>315801
Враноеб покупал. Он вроде бы в ЦОС-треде писал, а может и в этом.

>>315814
Деньги то небольшие, но учти усилия по замене на работоспособную микросхему.
Я бы чуть дороже (386 рублей) купил тут: https://www.terraelectronica.ru/product/851969
1961 315822
>>315821

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


Срезать резаком ноги и снять остатки паяльником? Ну минут пять потрачу.
1962 315823
>>315821

>купил тут


У них доставка в мои перди 250р.
1963 315827
>>315822
А флюс потом отмыть? А до этого еще сходить за новой?
Впрочем, суть в этом, что цена у китайцев хоть и низкая, но еще не вызывает сильных подозрений.
>>315823
Ну так не надо по одной микросхеме покупать.
1964 315828
>>315827

>суть в этом, что


суть не в этом, а в том что
домко.PNG5 Кб, 456x176
1965 315829
>>315827

>не надо по одной микросхеме покупать.


Я у них и так натарился с нового года, пока пусть покурят.
1966 316150
Нихуя не могу понять как можно сделать так, чтобы модуль триггерился и делал свои функции. Есть например модули uart_rx и uart_tx, как сделать так, чтобы после приёма байта модулем uart_rx, он триггерил модуль uart_tx и засылал этот байт обратно? Я пытался делать сигнал завершения передачи, который высокий после принятия посылки, но не могу понять, куда его засунуть, чтобы вс работало правильно. Тут вопрос чисто по верилог. Памахите!
1967 316240
>>316150
Это вопрос скорее по схемотехнике, если речь идет о синтезируемом коде. Счетчик с входом разрешения счета можешь сделать? А сильно ли отличается передатчик UART от сдвигового регистра с счетчиком?
1968 316245
>>316150
А чем тебе

>always @(posedge recieve_rdy) begin


в блоке uart_tx не угодил?
1969 316271
>>316245
Да, спасибо. Так и сделал. По сигналу завершения приема в модуле uart_tx выставляется true на регистр разрешения передачи, а дальше уже собственно передается посылка.
>>316240
По сути там регистр со счетчиком, насколько я могу судить. Я вообще не особо умный. Пытался запихнуть always в always и бугуртил, почему не получается.
Собственно, все что я сейчас хочу сделать это эхо тест uart, но пока не особо получается. Байты отправляются и принимаются, но во-первых принимаются обратно не те, что отправлены я сначала думал порядок битов противоположный, но это не так. Прием вроде нормально работает, т.к. выводил байт на линейку светодиодов. Во-вторых, после того как отправил байт, если отправить за ним другой, отличный от предыдущего, то сначала вернется предыдущий, а уже потом настоящий. В общем учиться и учиться.
1971 316483
ПЛИСаны, никто вот этот самый мезонин "EP4CE22F17C8N core board BGA256 + SDRAM" в продаже не видел? А то у него в магазине только варианты с EP4CE6 и EP4CE10.
1972 316813
Перекатываться пора. Даже если тред бамплимита не достиг, то распух до такой степени, что браузер вешается при попытке его открыть.
1973 316871
>>316813
Добавьте в шапку, а то я заебался каждый раз линки кидать:
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZs-gvs0dC8oO3HXrmGC1bm
https://www.youtube.com/playlist?list=PL4UMfOeGYsvZTAJkgY3XfsrFyK1laAchO
1974 317787
1975 317897
>>127314 (OP)
ПЛИсаны, я не понял, вот я синтезировал конфигурацию и залил ее в эту вашу FPGA, отключил питание и все пропало? Это мне надо отдельный контроллер мутить, чтобы каждый раз конфигураци. закидывать в нее?
1976 317907
>>317897
Ну да.
Хотя я где-то читал, что уже и внутрь плис нормальную флеш память пихают.
1977 317925
>>317897
Тебе надо во флешку писать.
https://youtu.be/zcYbUwIDx7c
b77.jpg114 Кб, 800x800
1978 319543
Помогите дауну. Есть один код обработчика энкодера https://pastebin.com/G61GbJmL, но вот беда, энкодер делает 4 такта за щелчек и я не могу сообразить, как сделать, чтобы эти четыре такта преобразовывались в один на выходе.
1979 319750
Парни, хелп. Нужная плата для акселерации вычислений. Суть в том, что она цепляется по эзернету, получает задания-считает-возвращает результат. Я нихрена не знаю, наугад предложил взять AES-KU040-DB-G
http://ru.farnell.com/avnet/aes-ku040-db-g/dev-board-kintex-ultrascale-prog/dp/2775206?st=kintex
Может есть что-то с более оптимальным соотношением цена/производительность?
И если заказывать с фарнелл - не завернёт ли таможня? Пугают буквы "AES" в названии.
1980 329705
>>316483
Есть ещё CE15(искааать)

А так, лучше у продовца спросить, не?
sage 1982 329746
Бля, ну нахуя вы старый тред то подняли? Ты сюда не ходи, ты туда ходи: >>316943 (OP)
1983 330478
>>329746
Иди нахуй. Обсуждать в том треде вращающуюся девушку
1984 330551
>>330478
Чем тебе вращающаяся девушка не угодила, ардуинщик?
1985 334025
>>330551
В мою "ардуину" десяток твоих ссыклонов поместится.
1986 334039
>>334025
Хуясе тебе "ардуину" растянули!
1987 334084
>>334025
В мамку твою десяток ссыклонов поместится.
1988 335358
Господа, здравствуйте. Занимаюсь ремонтом модулей МРТ и КТ, порядка 20-годичной давности производства. На них встретил две интересных микрухи - DSP TMS320F241 и CPLD MACH210. Не получается снять с них дампы, чтобы перезалить их в "новые" аналогичные микрухи. Часть пинов, используемых в JTAG, задействована в схеме - возможно, таким образом разрабы заодно его "отключили". У Atmel эта проблема решалась подачей 11.5V на пин OE (output enable) - тогда PLD становится доступна для чтения/записи (т.н. высоковольтное параллельное программирование - HV PP). У этих же микрух подобных выводов найти не могу, разве что у DSP есть Vccp с не очень понятным мне функциональным назначением. Вычитал, что раньше их использовали в качестве "защиты" (тип защищенной EEPROM), но TMS якобы "вскрывали" поляки из Канады, на тематических форумах активности давно нет и на вопросы никто не отвечает. Однако, в остальные микрухах с плат никакой защиты не стоит (в тех же Xilinx), и было бы странно применять ее лишь частично. Для связи с ПК использовал специальные эмуляторы - JTAGjet C2000 для TMS и ispDownloadCable для MACH - и софт от производителя. Подумываю уже попробовать снять дампы с помощью снифферов типа Bus Pirate/Bus Blaster/Hydra Bus/ Shikra/GoodFET/GreatFET ну или хотя бы по анализу траффика самому написать код. С помощью логического анализатора на прямоугольники уже посмотрел, сейчас толком ничего не понятно. Ссылки на даташиты (если кто-то сподобится открыть и посмотреть):
1989 335359
https://static.chipdip.ru/lib/226/DOC000226655.pdf; http://www.mouser.com/ds/2/225/mach1_2-18111.pdf. Буду весьма признателен за советы и любую оказанную помощь.
1990 335368
>>335358

>TMS320F241


>The on-chip flash is shipped with a serial bootloader code programmed at the following addresses: 0000−00FFh.


Для начала стоит попробовать прочитать через bootloader, возможно его не стерли.

>Vccp


Так написано там же:

>Flash programming voltage supply pin. This is the 5-V supply used for flash programming.


Это напряжение питания нужно для записи во флешку, по моему все понятно.
Возможно вывод Vccp не подключен из-за того что там масочное ПЗУ вместо флешки:

>For large-volume applications consisting of stable software free of bugs, low-cost, masked ROM is available and supported up to 16K or 4K words. If you want a custom ROM, you can provide the code or data to be programmed into the ROM in object-file format, and Texas Instruments will generate the ap-propriate process mask to program the ROM.


Со страницы 48:

>Unlike most discrete flash memory, the F243/F241 flash does not require a dedicated state machine, because the algorithms for programming and erasing the flash are executed by the DSP core.


Если я правильно понял, то для прошивки в ОЗУ через JTAG помещается загрузчик и далее этот загрузчик по кусочкам пишет во флешку. Аналогично делается в большинстве ARM микроконтроллеров. По моему в таком случае можно прочитать ПЗУ (инструкция чтения там есть - TBLR) вне зависимости от Vccp. А снимать дампы с помощью снифферов так можно долго.

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


Зачем? Или у тебя несколько одинаковых плат и на одних эти DSP исправны, а на других нет?
1991 335433
>>335368
Да, все именно так, поэтому это очень важный момент, на котором я и акцентирую внимание.
1992 335464
>>335368
Слушай, извини, конечно, но я права в этом не столь хорошо смыслю. Можешь поподробнее пояснить?
1993 335477
>>335464
bootloader - это небольшая программа, которая может принять данные по какому-нибудь интерфейсу, например UART, и записать их в ПЗУ. В некоторых микроконтроллерах bootloader может находиться в неперезаписываемой области памяти, в некоторых его вообще нет, а в этот DSP его прошивают на заводе в ПЗУ. Хотя в этом DSP bootloader находится в перезаписываемой памяти, все же вполне возможно что он тут оставлен.
Активация bootloader-а часто происходит путем перемыкания каких-нибудь ног. То есть при старте программа проверяет лог. уровни на каких-то выводах и в зависимсоти от результата либо переходит к выполнению основной программы либо начинает ждать данные для прошивки.

>The serial bootloader can be used to load flash-programming algorithms or code to any destination RAM through the on-chip serial communications interface (SCI).


>Refer to the TMS320F240 Serial Bootloader application note (located at ftp://www.ti.com/) to understand on-chip flash programming using the serial bootloader code. (Choose /pub/tms320bbs/c24xfiles at the main ftp directory to locate the f240boot.pdf file.)


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

Хотя, если у тебя есть JTAGjet C2000, может стоит начинать с JTAG.
1994 335478
>>335477

>либо переходит к выполнению основной программы


Вот с этим я мог ошибиться. Не все bootloader-ы так делают.
А еще, если там масочное ПЗУ (как там написано, для удешевления, при большой серии), то JTAG могли выкинуть для удешевления. Хотя упоминаний про такое я не нашел, но зачем нужен JTAG если меняют флешку на масочное ПЗУ?
1995 335479
>>335478
Благодарю за участие, попробую инфо от тебя применить на деле. JTAGjet не помогает, при попытке коннекта выдает ошибку "I/O Port = 240". Смотрел инфу от тех, у кого она же, с техподдержкой общался, но все пока что безрезультатно, либо сама микро на таргетборде неправильно подключена (у меня таргетборд просто кусок текстолита с разъемом под JTAG, питаловом и панелькой под микруху), либо с дровами проблема, либо что-то с железом не так. На JTAG логический анализатор показывает, что есть дрыганья лишь по двум линиям, и то если в софте от С2000 на TRST подать 1. Про режимы бутлоадера находил инфо - если будет интересно, скину - тип там есть просто bootmode и emulation mode - это как на STM32 свистке пины пермыкать по-разному при прошивке (в частности, бутлоадера)?
1997 335484
>>335368
И да, на плате пин Vccp таки тоже задействован.
1998 339364
Почему тред до сих пор не закрыли?
1999 339479
>>339364
Еще пять постов осталось
2000 339528
>>339479
А зачем тогда перекатились?
2001 339531
>>339528
Этот не всплывал последние месяцы, а тут внезапно всплыл.
Тред утонул или удален.
Это копия, сохраненная 15 января 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /ra/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски