ПЛИС

Превращаем FX3-устройство в анализатор шины USB 2.0

Обычно для своих статей я выбираю или учебную тему, или какую-то проблему, а дальше – если тему, то раскрываю её, а если проблему, то соответственно, решаю. Но в рамках цикла про работу с FX3, все темы, какие хотел, я раскрыл.…
Читать дальше

Делаем блок SPI to AVALON_MM для USB-устройства на базе FX3

В предыдущей статье мы научились подавать Vendor команды в устройство USB3.0 на базе контроллера FX3 и реализовали программную шину SPI. Сегодня мы продолжим начатое и сделаем компонент SPI to Avalon_MM. Может возникнуть вопрос: мы же уже умеем работать с шиной…
Читать дальше

Добавляем поддержку Vendor-команд к USB3.0 устройству на базе FX3

В предыдущих статьях мы сделали достаточно интересную железку, состоящую из контроллера FX3 и ПЛИС Cyclone IV. Мы научились гонять через шину USB 3.0 потоки данных с достаточно высокой скоростью (я доказал, что поток 120 МБ/с из ULPI будет проходить через…
Читать дальше

Боремся с таймаутами при использовании USB 3.0 через контроллер FX3, возникающими при определенных условиях

Итак, в блоке из предыдущих трёх статей, мы рассмотрели, как можно изменить идеологию, принятую в первой версии комплекса Redd, заменив двухпроходную прокачку потоковых данных (сначала в буферное динамическое ОЗУ, а уже затем – в PC через интерфейс USB 2.0) на…
Читать дальше

Учимся работать с USB-устройством и испытываем систему, сделанную на базе контроллера FX3

В двух предыдущих статьях мы сделали USB 3.0 систему на базе контроллера FX3. Пришла пора научиться работать с нею из своих программ для PC. Ну, и попутно понять, насколько получившаяся система пригодна для практического применения. Действительно ли ширины канала хватает…
Читать дальше

Дорабатываем прошивку USB 3.0, используя анализатор SignalTap, встроенный в среду разработки Quartus

В прошлой статье мы сделали черновые прошивки для контроллера FX3 и ПЛИС, чтобы начать работу с шиной USB 3.0. Статья так разрослась, что проверку работоспособности системы мы отложили на потом. Сегодня мы проведём эту проверку (а как выяснится по ходу…
Читать дальше

Начинаем опыты с интерфейсом USB 3.0 через контроллер семейства FX3 фирмы Cypress

В целом, основной цикл статей про работу с комплексом Redd можно считать завершённым. Мы познакомились с методиками доступа к основным компонентам комплекса, научились писать и отлаживать на нём программы для центрального процессора, при этом локально используя хоть Linux, хоть Windows.…
Читать дальше

Практические опыты с USB-анализатором на базе Redd

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

Проводим моделирование системы для проверки работоспособности головы USB-анализатора

В прошлых статьях мы прошли достаточно большой путь к созданию шинного анализатора USB. Мы разработали логический анализатор, набив руку на самой технологии, дальше – разработали голову USB-анализатора. Затем – выяснили, что код получился сложным, так что его следует отмоделировать. Но…
Читать дальше

Моделирование прошивки в среде ModelSim с использованием моделей на языке SystemC

В прошлой статье мы познакомились с процессом моделирования «прошивки» в среде ModelSim, где и целевой код, и генератор тестовых воздействий написаны на языке Verilog. Жаль, но для решаемой в цикле цели этого недостаточно. Я уже многократно продвигал идею, что разработка…
Читать дальше