Что такое ПЛИС и с чего начать изучение FPGA Altera
С чего начать изучение FPGA Altera?
Что такое ПЛИС?
Современные ПЛИС – программируемые логические микросхемы, выполняемые по технологии от 10 нм и содержащие большое количество логических элементов. Элементы могут выполнять простые логические операции «И», «ИЛИ» и др. или реализовывать функции умножителей, сумматоров, мультиплексоров и более сложных устройств.
FPGA – это микросхемы, в которых производителем не определены связи между логическими элементами. Разработчику необходимо самому определять взаимосвязи, назначение выводов и пути прохождения сигналов. В этом заключается большой плюс ПЛИС, так как следствием такого подхода становятся исключительно гибкая архитектура и быстродействие полученной электронной схемы. Но за это приходится платить увеличенным временем разработки устройства.
Как определить срок хранения и срой службы импортных микросхем?
По этим причинам ПЛИС нашли широкое применение в радиоэлектронной аппаратуре, устройствах высокоскоростной параллельной обработки сигналов, микропроцессорной технике.С чего начать?
К большому сожалению, литературы на русском языке, описывающей принципы функционирования, программирования FPGA практически нет. Нет и чёткого понимания, даже у специалистов, когда применять ПЛИС, а когда программируемый микроконтроллер в повседневных задачах (не связанных с управлением космическими аппаратами или опасным промышленным производством).Начать нужно с главного вопроса – какие задачи вы планируете решать с использованием FPGA?
Если вы разрабатываете шину передачи данных для своего устройства или конструируете плату обработки сигналов с разложением в ряд Фурье, то ПЛИС — это то, что необходимо. Прекрасным решением является и построение отказоустойчивых систем с быстрым временем реакции на основе ПЛИС в системах автоматики.
Это лишь некоторые примеры, позволяющие оценить мощь и гибкость FPGA. Поэтому главными критериями при выборе определим быстродействие и оригинальную архитектуру, ради которых стоит пойти на дополнительные трудозатраты.
Что означают сокращения PCN, EOL, NRND в data sheet импортных электронных компонентов?
Приняв по тем или иным причинам твёрдое решение освоить ПЛИС, встают следующие вопросы – с чего начать и насколько это затратно?По поводу денежных затрат – микросхемы начального уровня, средства программирования и отладки ненамного дороже микроконтроллеров. Освоение сред разработки и языков программирования нисколько не сложнее тех же МК. Всё вышесказанное относится к продукции компании Altera, которую и рассмотрим более детально.
Средства разработки и отладки
Возникает справедливый вопрос: а как же проектировать и отлаживать такой «зоопарк» различных серий и их версий? Altera позаботилась об этом, создав единую среду проектирования и отладкиК достоинствам продукта относятся:
- Возможность создания проекта на языках VHDL, Verilog или в графическом редакторе.
- Ведение всей фоновой работы по созданию конфигурационного файла ПЛИС, включая разводку в кристалле.
- Загрузка конфигурационного файла в ПЛИС и внутрисхемная отладка.
Для загрузки и отладки проектов в микросхемах поставляются программаторы в двух исполнениях – для LPT и USB портов.
Начало работы с FPGA Altera
Оптимальным для работы с продуктами Altera будет следующий алгоритм действий:1. Чётко сформулировать задачу, для решения которой предполагается использование ПЛИС
- Определите необходимое количество входов/выходов
- Уровень напряжения
- Перечень логических операций
- Допустимую задержку прохождения сигнала от входа на выход
- Другие параметры, критичные при выполнении задачи.
Ознакомиться с документацией на ПЛИС, скачав руководство с сайта производителя.
3. Скачать по этой ссылке и установить среду разработки Quartus.
Для продуктов Quartus Prime Lite Edition, Quartus II Web Edition, ModelSlim-Intel FPGA Starter Edition лицензия не требуется. Бесплатной версии вполне хватит для ознакомления со средой. Изучить среду разработки, пользуясь встроенной справкой и документацией на сайте Altera.
4. Приобрести ПЛИС Altera и программатор с параллельным или usb-портом.
5. Разработать и отладить проект своего устройства на ПЛИС.
Собрать электрическую схему, загрузить проект в микросхему, проверить полученный результат. При необходимости внести изменения в проект, воспользоваться возможностями внутрисхемной отладки.
Заявка на поставку импортных ПЛИС Altera
Кроме этого, мы выполняем полный комплекс услуг по организации проверки и испытаниям электронных компонентов импортного производства, включая входной контроль, проверку на работоспособность, а также специальные проверки, механические и климатические испытания.
Если вы заинтересованы в работы с нами, то заполните форму по ссылке: www.el-ra.ru/zayavka
ПЛИС. С чего начать? | IT. Как это работает?
Видео в конце…
С этого выпуска начинается изучение языка описания аппаратуры Verilog. При помощи него мы сможем разобраться со всем спектром вопросов, встающих перед разработчиками аппаратной части систем обработки информации. Вход в эту область разработки для нас будет сильно затруднен, если мы не овладеем базовыми знаниями.
Среди двух наиболее популярных языков описания аппаратуры выбор языка Verilog нельзя обосновать железобетонно, вместе с языком VHDL, они используются в равной степени. Они настолько похожи и повторяют друг друга, что очень даже хорошо совместимы между собой в одном проекте. Verilog выглядит более предпочтительным только ввиду чуть большей компактности исходного кода, а также возможности попробовать свои силы на одном из самых низких уровней описания цифровой аппаратуры. В нем есть возможность описывать схемы на транзисторном уровне.
В составе среды разработки проектов для ПЛИС есть средство моделирования, которое необходимо при отладке, покупка отладочного комплекта желательна, но не является необходимостью.
Что такое модуль?И так, приступим. Язык Verilog обладает некоторым списком ключевых слов, которые употребляются строго из-за какой-то необходимости. Вот на этих примерах употребления мы и начнем разбираться с особенностями языка. Первое, с чем мы сталкиваемся это понятие модуля.
Рассмотрим пример описания МОП транзистора pmos типа при помощи языка Verilog. Каждое проектируемое устройство должно быть оформлено средствами языка в виде функционального модуля с конечным числом входов и выходов. Между ключевыми словами module и endmodule содержится описание модуля.
Модуль pmos транзистораПосле указания имени модуля, в круглых скобках описываются входы и выходы модуля. Ключевым словом pmos обозначен экземпляр транзистора pmos типа с именем p1. В круглых скобках описываются соединения транзистора с входами и выходами функционального модуля. Порядок следования соединений соответствует строгой схеме. Первым в списке находится исток, потом сток и последним будет затвор. Положение затвора на схеме определить совсем не сложно. Конкретное нахождение истока и стока на схеме можно запомнить простым правилом. Направление условного потока электронов идет от выходов ко входам. Все что у транзисторов подключается к выходам прямо или косвенно, будет истоком. Все что прямо или косвенно подключается к земле или питанию, будет стоком.
Проверим работоспособность
Средство моделирования поддерживает проверку работоспособности устройства, описанного на транзисторном уровне при помощи языка Verilog. При моделировании разработанного модуля создается файл с описанием модуля тестирования, который не имеет ни входов ни выходов.
Тест pmos транзистораВнутри модуля тестирования объявляется один или более экземпляров тестируемого модуля, проводники для передачи тестовых сигналов на модуль, а также проводники для считывания выходных сигналов тестируемого модуля. Рассмотрим пример теста транзистора pmos типа.
В модуле тестирования создается экземпляр модуля u1 , вспомогательные регистры x1, g1 для передачи тестового воздействия на экземпляр модуля u1, проводник y1 для считывания выходного сигнала модуля при воздействии тестовых сигналов. В приведенном языковом описании тестового модуля ключевое слово timescale служит для указания симулятору шага времени и точности. Шаг времени одна наносекунда задает единицу измерения времени, последующие директивы вроде числа 100 — количество единиц времени для временной задержки между изменениями тестовых воздействий. Точность служит для округления времени задержки в большую сторону до дискретного значения, число, указанное в качестве точности задает дискретность.
Идентификатор pmos_tb определяет имя тестового модуля. Ключевое слово wire указывает симулятору на необходимость задания проводника для считывания реакции модуля на тестовые воздействия. Ключевое слово reg служит для обозначения несуществующих в действительности регистров, связанных со входами тестируемого модуля.
Эта строка объявляет экземпляр u1 модуля и связывает входы и выходы тестируемого модуля с внутренними проводниками и регистрами тестового модуля. После ключевого слова initial задаются действия, выполняемые 1 раз при запуске теста, в указанном случае такие действия содержатся ниже между ключевыми словами begin и end. Тестовые воздействия описываются в нужном пользователю порядке и необходимыми паузами между ними. В случае отсутствия паузы между различными воздействиями симулятор принимает их строго одновременными во времени. Например, в этой строке одновременное возникновение уровня логического нуля на проводниках x1 и g1. После паузы в 100 наносекунд будет одновременная смена состояния сигналов на линиях.
Для моделирования цифровых устройств в комплект среды разработки входит приложение Modelsim. В использовании довольно просто. Главное это уже иметь готовые описания модуля и теста для него. Результат моделирования представлен на рисунке.
Результат моделирования pmos транзистораПри подаче уровня логического нуля на затвор транзистора происходит передача сигнала через транзистор со стока на исток. При подаче уровня логической единицы, транзистор принимает состояние высокого сопротивления, что при моделировании отмечается высокоомным состоянием Z на истоке. Это показано синим цветом. В случае nmos транзистора временные диаграммы будут выглядеть иначе.
Результат моделирования nmos транзистораВходной сигнал окажется на выходе только тогда, когда на затворе логическая единица. При подаче уровня логического нуля на затвор транзистора nmos типа, происходит его запирание, что выражается появлением Z-состояния на истоке. То есть состояния высокого сопротивления. Отсутствие проводимости.
Немного усложним
На этом шаге мы слегка познакомились со средой моделирования и выяснили что означают некоторые ключевые слова языка. Давайте двинемся дальше. Опишем инвертор на транзисторном уровне. Он состоит из комплементарной пары транзисторов. Они имеют вот такое подключение и в этой схеме есть линии питания и земли.
Описание инвертора на транзисторном уровнеВ языке описания аппаратуры по большому счету два стиля описания. Это структурный и поведенческий. Поведенческий описывает поведение модуля. Структурный описывает то, из чего модуль состоит. Вот сейчас и познакомимся со структурным стилем описания модуля.
В нашем модуле кроме привычных уже ключевых слов описания входов и выходов появился список из составных частей устройства. Supply0 это проводник связанный с землей схемы. Supply1 это проводник питания схемы, она же логическая единица. Ниже два транзистора и с ними мы уже знакомы. Посмотрите внимательно порядок подключения. Исток, сток, затвор. Исток у обоих это выход схемы. У одного сток на питании, у другого на земле. Затворы обоих транзисторов подключены ко входу схемы.
В написании теста для инвертора теперь нет сложностей. Одна входная линия, одна выходная. Сам инвертор структурно входит в модуль теста и подключен к линиям тестирующего модуля. В секции задания уровней сигнала все тоже довольно предсказуемо. Начальное состояние ноль на входе продержится 200 наносекунд, потом сменится на единицу и продержится тысячу наносекунд.
Тест инвертораРезультат моделирования в случае отсутствия ошибок в описании модуля будет такой. Если на входе ноль, на выходе единица и если единица на входе, то ноль на выходе.
Результат моделирования инвертораДавайте еще кое-что рассмотрим один раз чтобы потом не возвращаться. Слева на рисунке изображена схема вентиля ИЛИ-НЕ с тремя входами.
Устройство вентиля 3ИЛИ-НЕС целью упрощения конструкции, иногда применяют подтягивание к питанию, что избавляет схему от множества транзисторов. Один резистор, вставленный перед питанием позволяет схеме как и прежде выполнять свои функции. Выставленные нули на всех входах закроют все транзисторы, при этом на выход пойдет напряжение питания, она же логическая единица. Любая единица на входе откроет транзистор и по закону Ома напряжение земли пойдет на выход. Резистор избавляет схему от короткого замыкания.
Подтяжка резистором к питанию описывается ключевым словом pullup.
Описание вентиля 3ИЛИ-НЕВ скобках записано, что выход схемы подтянут к питанию. Остальные элементы нам уже знакомы. Это по прежнему структурный стиль описания. Напишем модуль тестирования. Для этого нам потребуется три входных линии, одна выходная.
Тест вентиля 3ИЛИ-НЕВписываем разработанный вентиль в структуру теста и соединяем его контакты с линиями тестирующего модуля. Ниже каждые 100 наносекунд перебираем все возможные комбинации входных сигналов. Все работает согласно таблице истинности. В случае трех нулей на входе, будет единица на выходе.
Результат моделирования вентиля 3ИЛИ-НЕЭта единица особенно отображается пунктиром, чтобы не забывать что она получена с питания через резистор. Пожалуй, про транзисторы хватит. Главное в этом то, что рассмотрен структурный стиль описания и несколько языковых оборотов.
К сожалению, устройство ПЛИС не такое, чтобы пробовать прошить ее схемами на транзисторном уровне. Сейчас мы только учимся моделировать результаты своего творчества. Со следующего видео мы начнем разрабатывать проекты для ПЛИС и осваивать все необходимое для понимания сути параллельных вычислений.
Продолжение следует…
Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.
Программирование FPGA, с чего начать
Цифровой дизайн не имеет ничего общего с разработкой программного обеспечения (возможно, за исключением того, что синтаксис Verilog немного похож на язык C, но выглядит только так). Таким образом, очень сложно ответить на этот тип вопросов адекватно. Но как парень, который прошел путь от разработки программного обеспечения до проектирования оборудования, я попробую. Оглядываясь назад на себя, я бы посоветовал себе тогда, если бы знал, что знаю сейчас:
Забудьте все о разработке программного обеспечения. Особенно языки программирования. Эти принципы не применяются в цифровом дизайне. Вероятно, было бы легко для парня, который проектировал процессор, программировать его на ассемблере или даже на C, но программист на ассемблере не сможет проектировать процессор.
На вашем пути обучения не склонны решать то, что кажется легкой проблемой с вашими существующими знаниями из программного обеспечения. Одним из классических примеров является «цикл». Даже если вы можете написать цикл for, скажем, в verilog – он служит другим целям. Он в основном используется для генерации кода. Это также может быть цикл for, как его видят разработчики программного обеспечения, но он ничего не даст, кроме симуляции (то есть вы не сможете программировать FPGA таким образом).
Поэтому для каждой задачи, которую вы хотите решить, не думайте, что знаете, как это сделать, вместо этого проведите исследование – проверьте книги, примеры, спросите более опытных людей и т. Д.
Самые популярные языки HDL – Verilog и VHDL. Есть также специфичные для производителя, такие как AHDL (Altera HDL). Поскольку эти языки используются для описания аппаратных компонентов, все они в значительной степени используются для выражения одного и того же в схожих модах, но с другим синтаксисом.
Некоторые люди рекомендуют изучать Verilog, потому что он выглядит как C. Да, его синтаксис представляет собой смесь C и Ada, но он не облегчает разработку программного обеспечения. На самом деле, я думаю, что это может даже ухудшить ситуацию, потому что будет искушение написать C на Verilog. Это хороший рецепт для очень плохого времени.
Имея это в виду, я бы порекомендовал посмотреть с VHDL. Хотя с Verilog тоже все в порядке, если учесть вышеизложенное.
Важно помнить, что вы должны понимать, что вы выражаете на этом языке. Какое оборудование «описывается» и как оно работает.
По этой причине я бы порекомендовал вам приобрести какую-нибудь книгу по электронике в целом и такую хорошую книгу, как эта – HDL Chip Design (она же синяя книга).
Прежде чем начать что-либо делать аппаратно и использовать какие-либо специфичные для поставщика функции и т. Д., Приобретите себе симулятор. Я начинал с Verilog и использовал Icarus Verilog вместе с GTK Wave. Это бесплатные проекты с открытым исходным кодом. Используйте примеры, которые вы видите в книгах, попрактикуйтесь, создав собственные схемы, чтобы почувствовать вкус этого.
Когда вам захочется идти вперед, возьмите доску для разработки.
Если вы знаете, что ваш работодатель хочет пойти с Решеткой, тогда возьмите доску Решетки.Методы программирования очень похожи, но есть детали, которые отличаются. Например, разные инструменты, разные опции, разные интерфейсы. Обычно, если у вас есть опыт работы с одним поставщиком, переключиться не сложно. Но вы, вероятно, хотите избежать этой дополнительной кривой обучения.
Я бы также позаботился о том, чтобы на плате были компоненты, которые вы планируете использовать или которые можно расширять. Например, если вы хотите спроектировать сетевое устройство, например, маршрутизатор, убедитесь, что на плате установлен Ethernet PHY или его можно расширить, например, через разъем HSMC и т. Д.
Платы обычно идут с хорошим справочником, руководством пользователя и примерами дизайна. Изучите их.
Вам нужно будет читать книги. В моем случае у меня не было друзей, знакомых с цифровым дизайном, и этот сайт тоже не очень помог из-за одной простой вещи – я даже не знал, как сформулировать свой вопрос.
Я лично начал с этого:
У поставщиков ПЛИС есть много поваренных книг с лучшими практиками. Изучите их вместе с эталонными конструкциями. Вот один из Альтера, например.
Пока вы просматриваете свои книги, имитируете дизайн, мигаете несколькими светодиодами на вашей плате разработки, у вас, скорее всего, возникнет много вопросов. Убедитесь, что вы не видите ответов на них на следующей странице книги или в Интернете (то есть на форуме, посвященном решетке), прежде чем задавать их здесь.
fpga — Программирование FPGA, с чего начать
Цифровой дизайн не имеет много общего с разработкой программного обеспечения (возможно, кроме того, что синтаксис Verilog немного похож на язык C, но он просто выглядит). Таким образом, очень трудно адекватно ответить на этот вопрос. Но, как парень, который прошел путь от разработки программного обеспечения до аппаратного дизайна, я дам ему шанс. Оглядываясь на себя, вот как бы я тогда посоветовал себя, если бы знал, что знаю сейчас:
Забудьте все о разработке программного обеспечения. Особенно языки программирования. Эти принципы не применяются в цифровом дизайне. Вероятно, для парня, спроектировавшего CPU для программирования его на ассемблере или даже C, было бы легко, но программист ассемблера не сможет проектировать CPU.
На вашем учебном пути не решаются проблемы, которые кажутся легкой проблемой для ваших существующих знаний из программного обеспечения. Один из классических примеров – «цикл». Несмотря на то, что вы можете написать цикл for, скажем, verilog, для других целей. Он в основном используется для генерации кода. Это может быть цикл for, как это видят разработчики программного обеспечения, но это не будет хорошо для чего-либо, кроме симуляции (т. Е. Вы не сможете запрограммировать FPGA).
Итак, для каждой задачи, которую вы хотите решить, не думайте, что вы знаете, как это сделать, сделайте исследование вместо этого – проверьте книги, примеры, спросите более опытных людей и т. д.
Самыми популярными языками HDL являются Verilog и VHDL. Существуют также специфические для вендора, такие как AHDL (Altera HDL). Поскольку эти языки используются для описания аппаратных компонентов, все они в значительной степени используются для выражения одной и той же вещи в аналогичных моделях, но с другим синтаксисом.
Некоторые люди рекомендуют изучать Verilog, потому что это похоже на C. Да, его синтаксис представляет собой сочетание C и Ada, но разработчику программного обеспечения нелегко опереться. На самом деле, я думаю, это может даже ухудшить ситуацию, потому что будет соблазн написать C в Verilog. Это хороший рецепт для очень плохого времени.
Имея это в виду, я бы рекомендовал посмотреть на VHDL. Хотя Verilog также в порядке, если учтено это.
Важно помнить, что вы должны понимать, что вы выражаете на этом языке. Какое оборудование «описано» и как оно работает.
По этой причине я бы порекомендовал вам получить книгу о электронике в целом и хорошую книгу, подобную этой: «a href =» http://rads.stackoverflow.com/amzn/click/0965193438 “> HDL Chip Design (также как синяя книга).
Прежде чем начинать что-либо делать на аппаратных средствах и использовать любые специфические для Vendor функции и т. д., сделайте себе симулятор. Я начинал с Verilog и использовал Icarus Verilog вместе с GTK Wave. Это бесплатные проекты с открытым исходным кодом. Запускайте примеры, которые вы видите в книгах, практикуйте, создавая свои собственные схемы, чтобы получить некоторый вкус.
Когда вам хочется идти вперед, получите совет по развитию. Если вы знаете, что ваш работодатель хочет пойти с Lattice, тогда получите плату Lattice.
Методы программирования очень похожи, но есть разные детали. Например, различные инструменты, разные параметры, разные интерфейсы. Обычно, если у вас есть опыт работы с одним поставщиком, его нетрудно переключить. Но вы, вероятно, хотите избежать этой дополнительной кривой обучения.
Я также должен убедиться, что плата поставляется с компонентами, которые вы планируете использовать или может расширяться. Например, если вы хотите создать сетевое устройство, такое как маршрутизатор, убедитесь, что плата имеет Ethernet PHY или ее можно расширить, например, через разъем HSMC и т. Д.
Платы обычно поставляются с хорошей ссылкой, руководством пользователя и примерами дизайна. Изучите их.
Вам нужно будет читать книги. В моем случае у меня не было друзей, которые знали цифровой дизайн, и этот сайт не очень помог ни из-за одной простой вещи – я даже не знал, как рассказать о моем вопросе. ВсеЯ мог придумать: «Ух, ребята, есть вещь dcfifo, и я слышал что-то о проблемах с переходом к часам, что это такое и почему мой дизайн не работает?».
Я лично начал с них:
У продавцов FPGA много кулинарных книг с лучшими практиками. Изучите их вместе с эталонными проектами. Здесь является, например, один из Altera.
Пока вы просматриваете свои книги, имитируйте дизайн, мигайте некоторыми светодиодами на доске разработки, у вас, скорее всего, будет много вопросов. Убедитесь, что вы не видите ответа на те, которые находятся на следующей странице книги или в Интернете (например, на форуме, посвященном решетке), прежде чем спрашивать их здесь.
Учимся программировать под FPGA на SystemVerilog
ПЛИС (Программируемая Логическая Интегральная Схема) — это интегральная схема, предназначенная для построения цифровых цепей из описания на специальном языке программирования. Другими словами, ПЛИС представляет собой чип, как бы содержащий в себе кучу элементов наподобие 74HCxx. Какие именно это будут логические элементы, какие между ними будут связи, и какие связи будет иметь получившаяся схема с внешним миром, определяется на этапе программирования ПЛИС.
Примечание: Насколько я смог выяснить, в русском языке на сегодняшний день термины ПЛИС и FPGA (Field-Programmable Gate Array, Программируемая Пользователем Вентильная Матрица), принято считать взаимозаменяемыми, что будет использовано далее по тексту. Однако стоит знать о существовании и альтернативной точки зрения, согласно которой FPGA (ППВМ) является одной из разновидностей ПЛИС (PLD, Programmable Logic Device).
Основные сведения об FPGA
Для программирования FPGA используются языки описания аппаратуры (HDL, Hardware Description Language). Среди них наибольшей популярностью пользуются Verilog (и его диалекты, в частности SystemVerilog), а также VHDL. Языки во многом похожи, но имеют разный синтаксис и различаются в некоторых деталях. Если Verilog — это такой C мира описания аппаратуры, то VHDL — соответственно, Pascal. Насколько мне известно, VHDL несколько менее популярен, в частности, из-за его многословности по сравнению с Verilog. Из преимуществ VHDL (или недостатков, кому как) можно назвать строгую статическую типизацию. Verilog же иногда допускает неявное приведение типов. Если продолжать аналогию с C и Pascal, языки различаются не настолько сильно, чтобы не выучить их оба.
На данный момент лидирующими производителями FPGA являются компании Altera (сейчас принадлежит Intel) и Xilinx. По информации из разных источников, вместе они контролируют не менее 80% рынка. Из других игроков стоит отметить Actel (куплена Microsemi), Lattice Semiconductor, Quicklogic и SiliconBlue. С железом от Xilinx можно работать только из среды разработки от Xilinx (называется Vivado), а среда разработки от Altra (называетя Quartus) понимает только железо от Altera. То есть, полный вендор лок, и выбирая конкретную FPGA для своего проекта, вы автоматически выбираете и инструменты разработки соответствующего производителя, их техническую поддержку, документацию, условия лицензирования софта, политику касаемо прекращения поддержки железа, и так далее.
FPGA часто используются в задачах, где некие вычисления хочется существенно ускорить, реализовав их прямо в железе. Например, FPGA нашли широкое применение в области обработки сигналов, скажем, в осциллографах, анализаторах спектра, логических анализаторах, генераторах сигналов, Software Defined Radio и даже некоторых мониторах. В частности, в LimeSDR используется Altera Cyclone IV, а в осциллографе Rigol DS1054Z стоит Xilinx Spartan-6, а также ProASIC 3 от компании Actel. Еще из применений, о которых я слышал, могу назвать компьютерное зрение, распознавание речи и биоинформатику. Есть и другие проекты, в частности по разработке веб-серверов и СУБД, работающих на FPGA [PDF]. Но, насколько мне известно, это направление все еще остается сильно экспериментальным.
Xilinx или Altera?
Как говорится, лучший Linux тот, который использует ваш знакомый гуру по Linux.
Мой знакомый гуру по FPGA в лице Дмитрия Олексюка посоветовал начать с девборды Arty Artix-7 от компании Digilent. Используемой в ней FPGA является Artix-7 от Xilinx. Сам Digilent не производит доставку в Россию, но устройство доступно и на AliExpress, хотя и с заметной наценкой (официальная цена составляет 99$). Также его продают на eBay. Это довольно мощная плата, которая, тем не менее, стоит вполне адекватных денег.
Fun fact! Если вам просто хочется попрограммировать на Verilog или VHDL, строго говоря, покупать какую-либо плату с FPGA не требуется. Первое время можно ограничиться симулятором, работа с которым будет рассмотрена далее.
Из интересных особенностей платы можно назвать расположение гнезд совместимым с Arduino-шилдами способом. Также в комплекте с платой идет вкладыш, по которому можно получить лицензию на Vivado, открывающую все его возможности. Лицензия действует один год с момента активации, а также привязана к одному компьютеру по типу ОС и MAC-адресу.
По доставке. Я слышал, что устройства с FPGA на борту имеют большие шансы не пройти таможню. Магазин на AliExpress, ссылку на который я привел выше, доставляет платы в Россию через курьерскую службу СПСР. Для прохождения таможни потребовалось заполнить онлайн-форму с паспортными данными (только данные, без фото) и контактным телефоном, как этого требует текущее российское законодательство. После этого плата была доставлена курьером прямо до двери без каких-либо вопросов.
Установка Vivado
Среда разработки Vivado доступна для скачивания на сайте Xilinx. Будьте морально готовы к тому, что перед скачиванием вам придется пройти регистрацию и заполнить довольно подробную форму о себе. Скачиваем архив под названием «Vivado HLx 2017.2: All OS installer Single-File Download». Не перепутайте случайно с каким-нибудь «Vivado Lab Solutions», это совершенно не то, что нужно. Архив весит более 20 Гб, поэтому запасаемся терпением.
Распаковываем архив, запускаем инсталлятор. Ставим Vivado HL System Edition. Полная его версия займет на диске 47 Гб. Лично я снял галочку напротив Software Development Kit и оставил поддержку только 7 Series устройств, что уменьшило размер до 12 Гб. Забегая немного вперед отмечу, что такой конфигурации оказалось вполне достаточно.
Перед запуском Vivado нужно добавить в него поддержку Arty Artix-7, так как из коробки он ничего об этой плате не знает. Делается это как-то так:
cd ~/opt/xilinx/Vivado/2017.2/data/boards/board_files
wget https://github.com/Digilent/vivado-boards/archive/master.zip
unzip master.zip
mv vivado-boards-master/new/board_files/* ./
rm -r vivado-boards-master
rm master.zip
Также скачиваем отсюда и сохраняем куда-нибудь файл Arty_Master. xdc. Он понадобится нам далее. Файл содержит описание находящихся на плате светодиодов, переключателей и так далее. Без него поморгать светодиодами на Verilog будет непросто.
Первый проект на SystemVerilog
В Vivado говорим File → New Project… В качестве типа проекта выбираем RTL Project, ставим галочку Do not specify sources at this time. В диалоге выбора типа платы находим в списке Arty.
Первым делом добавляем к проекту скачанный ранее XDC файл. Копируем его в каталог с проектом. Затем говорим File → Add Sources… → Add or create constraints → Add Files, находим копию файла, жмем Finish. В дереве файлов проекта (Sources) в группе Constraints появится файл Arty_Master.xdc, или как вы там назвали копию. Открываем его и раскомментируем все строчки в группах Clock signal, Switches и LEDs.
Далее говорим File → Add Sources… → Add or create design sources → Create File. В типе файла выбираем SystemVerilog, в имени файла вводим что-нибудь вроде hello. Говорим Finish. Далее появится диалог Define Module, который предложит накликать интерфейс модуля. Диалог довольно бесполезный, потому что то же самое удобнее сделать прямо в коде, так что жмем Cancel.
В дереве исходников находим новый файл hello.sv, он будет в группе Design Sources. Открываем и пишем следующий код:
`timescale 1ns / 1psmodule hello(
input logic CLK100MHZ,
input logic [3:0] sw,
output logic [3:0] led
);
always @(posedge CLK100MHZ)
begin
if(sw[0] == 0)
begin
led <= 4’b0001;
end
else
begin
led <= 4’b0000;
end
end
endmodule
Если все было сделано правильно, на этом этапе Vivado у вас будет выглядеть как-то так (кликабельно, PNG, 71 Кб):
Компиляция программы осуществляется в два этапа — синтез (synthesis) и имплементация (implementation). На этапе синтеза программа транслируется в абстрактную цепь из логических вентилей и прочих элементов. На этапе имплементации принимается решение о том, как прошить эту цепь в конкретную железку.
Запустим синтез, сказав Flow → Run Synthesis, или просто нажав F11. В правом верхнем углу вы увидите индикацию того, что процесс идет. Он может занимать довольно много времени, в зависимости от вашего компьютера и сложности программы. На моем ноутбуке синтез приведенной выше программы выполнился где-то секунд за 10. Если теперь сказать Flow → Open Synthesized Design, то можно увидеть красивую картинку вроде такой:
Настало время прошить нашу плату. Говорим Flow → Run Imlementation, затем Flow → Generate Bitstream. Подключаем плату к компьютеру по USB, в Vivado говорим Flow → Open Hardware Manager → Open target → Auto Connect → Program device. Потребуется указать путь к bit-файлу. У меня он был следующим:
./first-project.runs/impl_1/hello.bit
Говорим Program. Теперь на плате горит светодиод LD4, если переключатель SW0 опущен (см приведенную выше фотографию платы). Если же переключатель поднят, светодиод не горит. Простенько, конечно, но это же «hello, world», чего вы ожидали? 🙂
Симуляция
Симуляция — это виртуальное выполнение кода на Verilog или VHDL прямо на вашем компьютере, безо всяких там ПЛИС’ов. Это одновременно и отладочный инструмент, и своего рода фреймворк для покрытия кода тестами.
При знакомстве с симуляцией первое, что я обнаружил, было то, что она у меня не работает. В логах было просто:
ERROR: [XSIM 43-3409] Failed to compile generated C file […]xsim_1.c.
Google по этой ошибке находил только всякую ерунду в стиле «попробуйте отключить антивирус». В итоге решить проблему помогло добавление флага -v 2
в скрипт ~/opt/xilinx/Vivado/2017.2/bin/xelab. С его помощью я выяснил, что Clang, бинарник которого Vivado таскает за собой, падает со следующей ошибкой:
/a/long/path/to/clang: error while loading shared libraries:
libncurses.so.5: cannot open shared object file: No such file or
directory
А эта ошибка и ее решение уже описаны на Arch Wiki. Лично я просто скопировал уже существующий файл из каталога Vivado_HLS:
cp ~/opt/xilinx/Vivado_HLS/2017.2/lnx64/tools/gdb_v7_2/libncurses.so.5\
~/opt/xilinx/Vivado/2017.2/lib/lnx64.o/libncurses.so.5
… после чего все заработало. Итак, а теперь, собственно, пример симуляции.
По аналогии с тем, как ранее мы создавали hello.sv, создаем новый файл hello_sim.sv в группе Simulation Sources. В файле пишем следующий код:
`timescale 1ns / 1psmodule hello_sim();
logic clck_t;
logic [3:0] sw_t;
logic [3:0] led_t;
hello hello_t(clck_t, sw_t, led_t);
initial begin
clck_t <= 0;
sw_t <= 4’b0000; #1; clck_t <= 1; #1; clck_t <= 0; #1;
assert(led_t === 4’b0001);
sw_t <= 4’b0001; #1; clck_t <= 1; #1; clck_t <= 0; #1;
assert(led_t === 4’b0000);
end
endmodule
В дереве исходников делаем правый клик по файлу, выбираем Source Node Properties. В секции Used In снимаем галочки Synthesis и Implementation. Мы же не хотим, чтобы какие-то там тесты засоряли нашу далеко не резиновую FPGA?
Теперь говорим Flow → Run Simulation → Run Behavioral Simulation. В итоге вы увидите что-то примерно такого плана:
Можно видеть, что когда sw[0] равен нулю, led[0] равен единице, и наоборот. При этом все изменения происходят по фронту тактового сигнала. Похоже, что программа работает корректно. Ну и на ассертах ничего не свалилось, что как бы намекает.
Заключение
Архив с описанным выше проектом можно скачать здесь. В качестве дополнительных источников информации я бы рекомендовал следующие:
- Если вас интересуют подробности по железу, обратите внимание на даташит Artix-7 [PDF], reference manual к Arty Artix-7 [PDF], а также схему платы [PDF];
- Книга Цифровая схемотехника и архитектура компьютера (Digital Design and Computer Architecture) — прекрасная книга, в которой, помимо прочего, подробно объясняются языки SystemVerilog и VHDL, а также внутреннее устройство FPGA;
- OpenCores. org — каталог всевозможных открытых проектов под FPGA. Для скачивания исходного кода требуется регистрация. Активация аккаунта производится модераторами вручную, поэтому может занимать несколько дней;
А пишите ли вы под FPGA? Если да, то на каком языке и какого производителя предпочитаете?
Дополнение: Также вас могут заинтересовать статьи Головоломка с логическими вентилями и решение на HDL и Знакомимся с iCEstick и полностью открытым ПО для разработки под FPGA.
Метки: FPGA, Электроника.
FPGA. Разбираемся, как устроены программируемые логические схемы и чем они хороши
Содержание статьи
Представь, что процессор вместо того, чтобы выполнять набор инструкций, будет перестраиваться под каждую программу и превращать алгоритм непосредственно в «железо». Именно так и работают FPGA! В этой статье я расскажу, как такое возможно, и познакомлю тебя с разными способами проектирования FPGA.
Может быть, ты умеешь взламывать устройства на другом конце света или кодить крутые веб-приложения, но понимаешь ли ты, как работает твой компьютер? И речь не о том, что делает операционка, как функционирует garbage collector в Java или как устроен компилятор C++. Я говорю о самом низком, аппаратном уровне, ниже ассемблера: как работает железо.
Что происходит в микросхеме сетевой карты, когда приходит пакет Ethernet? Как этот пакет передается дальше в оперативную память компьютера через шину PCI Express? Как работают самые быстрые системы распознавания изображений на аппаратном уровне?
Для ответа на эти вопросы надо немного разбираться в цифровой логике работы микросхем ASIC, но начинать с них очень сложно и дорого, и вместо этого лучше начать с FPGA.
INFO
FPGA расшифровывается как field-programmable gate array, по-русски — программируемые пользователем вентильные матрицы, ППВМ. В более общем случае они называются ПЛИС — программируемые логические интегральные схемы.
С помощью FPGA можно в буквальном смысле проектировать цифровые микросхемы, сидя у себя дома с доступной отладочной платой на столе и софтом разработчика за пару килобаксов. Впрочем, есть и бесплатные варианты. Заметь: именно проектировать, а не программировать, потому что на выходе получается физическая цифровая схема, выполняющая определенный алгоритм на аппаратном уровне, а не программа для процессора.
Работает это примерно так. Есть готовая печатная плата с набором интерфейсов, которые подключены к установленной на плате микросхеме FPGA, вроде крутой платы для дата-центра или отладочной платы для обучения.
Пока мы не сконфигурируем FPGA, внутри микросхемы просто нет логики для обработки данных с интерфейсов, и потому работать ничего, очевидно, не будет. Но в результате проектирования будет создана прошивка, которая после загрузки в FPGA создаст нужную нам цифровую схему. Например, так можно создать контроллер 100G Ethernet, который будет принимать и обрабатывать сетевые пакеты.
Важная особенность FPGA — возможность реконфигурации. Сегодня нам нужен контроллер 100G Ethernet, а завтра эта же плата может быть использована для реализации независимых четырех интерфейсов 25G Ethernet.
Существуют два крупных производителя FPGA-чипов: Xilinx и Intel, которые контролируют 58 и 42% рынка соответственно. Основатели Xilinx изобрели первый чип FPGA в далеком 1985 году. Intel пришла на рынок недавно — в 2015 году, поглотив компанию Altera, которая была основана в то же время, что и Xilinx. Технологии Xilinx и Altera во многом схожи, как и среды разработки. Чаще я работал с продуктами компании Xilinx, поэтому не удивляйся ее постоянному упоминанию.
FPGA широко применяются в разных устройствах: потребительской электронике, оборудовании телекома, платах-ускорителях для применения в дата-центрах, различной робототехнике, а также при прототипировании микросхем ASIC. Пару примеров я разберу чуть ниже.
Также рассмотрим технологию, которая обеспечивает аппаратную реконфигурацию, познакомимся с процессом проектирования и разберем простой пример реализации аппаратного счетчика на языке Verilog. Если у тебя есть любая отладочная плата FPGA, ты сможешь повторить это самостоятельно. Если платы нет, то все равно сможешь познакомиться с Verilog, смоделировав работу схемы на своем компе.
Принцип работы
Микросхема FPGA — это та же заказная микросхема ASIC, состоящая из таких же транзисторов, из которых собираются триггеры, регистры, мультиплексоры и другие логические элементы для обычных схем. Изменить порядок соединения этих транзисторов, конечно, нельзя. Но архитектурно микросхема построена таким хитрым образом, что можно изменять коммутацию сигналов между более крупными блоками: их называют CLB — программируемые логические блоки.
Также можно изменять логическую функцию, которую выполняет CLB. Достигается это за счет того, что вся микросхема пронизана ячейками конфигурационной памяти Static RAM. Каждый бит этой памяти либо управляет каким-то ключом коммутации сигналов, либо является частью таблицы истинности логической функции, которую реализует CLB.
Так как конфигурационная память построена по технологии Static RAM, то, во-первых, при включении питания FPGA микросхему обязательно надо сконфигурировать, а во-вторых, микросхему можно реконфигурировать практически бесконечное количество раз.
Очень упрощенная 2D-структура микросхемы без конфигурационной памятиБлоки CLB находятся в коммутационной матрице, которая задает соединения входов и выходов блоков CLB.
Схема коммутационной матрицыНа каждом пересечении проводников находится шесть переключающих ключей, управляемых своими ячейками конфигурационной памяти. Открывая одни и закрывая другие, можно обеспечить разную коммутацию сигналов между CLB.
CLBCLB очень упрощенно состоит из блока, задающего булеву функцию от нескольких аргументов (она называется таблицей соответствия — Look Up Table, LUT) и триггера (flip-flop, FF). В современных FPGA LUT имеет шесть входов, но на рисунке для простоты показаны три. Выход LUT подается на выход CLB либо асинхронно (напрямую), либо синхронно (через триггер FF, работающий на системной тактовой частоте). 3 = 8 значений. Каждое из них соответствует своей комбинации входных сигналов. Эти значения вычисляются программой для разработки прошивки ПЛИС и записываются в специальные ячейки конфигурационной памяти.
Значение каждой из ячеек подается на свой вход выходного мультиплексора LUT, а входные аргументы булевой функции используются для выбора того или иного значения функции. CLB — важнейший аппаратный ресурс FPGA. Количество CLB в современных кристаллах FPGA может быть разным и зависит от типа и емкости кристалла. У Xilinx есть кристаллы с количеством CLB в пределах примерно от четырех тысяч до трех миллионов.
Помимо CLB, внутри FPGA есть еще ряд важных аппаратных ресурсов. Например, аппаратные блоки умножения с накоплением или блоки DSP. Каждый из них может делать операции умножения и сложения 18-битных чисел каждый такт. В топовых кристаллах количество блоков DSP может превышать 6000.
Другой ресурс — это блоки внутренней памяти (Block RAM, BRAM). Каждый блок может хранить 2 Кбайт. Полная емкость такой памяти в зависимости от кристалла может достигать от 20 Кбайт до 20 Мбайт. Как и CLB, BRAM и DSP-блоки связаны коммутационной матрицей и пронизывают весь кристалл. Связывая блоки CLB, DSP и BRAM, можно получать весьма эффективные схемы обработки данных.
Применение и преимущества FPGA
Первый чип FPGA, созданный Xilinx в 1985 году, содержал всего 64 CLB. В то время интеграция транзисторов на микросхемах была намного ниже, чем сейчас, и в цифровых устройствах часто использовались микросхемы «рассыпной логики». Были отдельно микросхемы регистров, счетчиков, мультиплексоров, умножителей. Под конкретное устройство создавалась своя печатная плата, на которой устанавливались эти микросхемы низкой интеграции.
Использование FPGA позволило отказаться от такого подхода. Даже FPGA на 64 CLB значительно экономит место на печатной плате, а доступность реконфигурации добавила возможность обновлять функциональность устройств уже после изготовления во время эксплуатации, как говорят «in the field» (отсюда и название — field-programmable gate array).
За счет того, что внутри FPGA можно создать любую аппаратную цифровую схему (главное, чтобы хватило ресурсов), одно из важных применений ПЛИС — это прототипирование микросхем ASIC.
Разработка ASIC очень сложна и затратна, цена ошибки очень высока, и вопрос тестирования логики критичен. Поэтому одним из этапов разработки еще до начала работы над физической топологией схемы стало ее прототипирование на одном или нескольких кристаллах FPGA.
Для разработки ASIC выпускают специальные платы, содержащие много FPGA, соединенных между собой. Прототип микросхемы работает на значительно меньших частотах (может быть, десятки мегагерц), но позволяет сэкономить на выявлении проблем и багов.
Однако, на мой взгляд, существуют более интересные применения ПЛИС. Гибкая структура FPGA позволяет реализовывать аппаратные схемы для высокоскоростной и параллельной обработки данных с возможностью изменить алгоритм.
Сравнение аппаратных платформДавай подумаем, чем принципиально отличаются CPU, GPU, FPGA и ASIC. CPU универсален, на нем можно запустить любой алгоритм, он наиболее гибок, и использовать его легче всего благодаря огромному количеству языков программирования и сред разработки.
При этом из-за универсальности и последовательного выполнения инструкций CPU снижается производительность и повышается энергопотребление схемы. Происходит это потому, что на каждую полезную арифметическую операцию CPU совершает много дополнительных операций, связанных с чтением инструкций, перемещением данных между регистрами и кешем, и другие телодвижения.
На другой стороне находится ASIC. На этой платформе требуемый алгоритм реализуется аппаратно за счет прямого соединения транзисторов, все операции связаны только с выполнением алгоритма и нет никакой возможности изменить его. Отсюда максимальная производительность и наименьшее энергопотребление платформы. А вот перепрограммировать ASIC невозможно.
Справа от CPU находится GPU. Изначально эти микросхемы были разработаны для обработки графики, но сейчас используются и для майнинга вычислений общего назначения. Они состоят из тысяч небольших вычислительных ядер и выполняют параллельные операции над массивом данных.
Если алгоритм можно распараллелить, то на GPU получится добиться значительного ускорения по сравнению с CPU. С другой стороны, последовательные алгоритмы будут реализовываться хуже, поэтому платформа оказывается менее гибкой, чем CPU. Также для разработки под GPU надо иметь специальные навыки, знать OpenCL или CUDA.
Наконец, FPGA. Эта платформа сочетает эффективность ASIC с возможностью менять программу. ПЛИС не универсальны, но существует класс алгоритмов и задач, которые на них будут показывать лучшую производительность, чем на CPU и даже GPU. Сложность разработки под FPGA выше, однако новые средства разработки делают этот разрыв меньше.
Решающее же преимущество FPGA — это способность обрабатывать данные в темпе их поступления с минимальной задержкой реакции. В качестве примера можешь вообразить умный сетевой маршрутизатор с большим количеством портов: при поступлении пакета Ethernet на один из его портов необходимо проверить множество правил, прежде чем выбрать выходной порт. Возможно, потребуется изменение некоторых полей пакета или добавление новых.
Использование FPGA позволяет решать эту задачу мгновенно: байты пакета еще только начали поступать в микросхему из сетевого интерфейса, а его заголовок уже анализируется. Использование процессоров тут может существенно замедлить скорость обработки сетевого трафика. Ясно, что для маршрутизаторов можно сделать заказную микросхему ASIC, которая будет работать наиболее эффективно, но что, если правила обработки пакетов должны меняться? Достичь требуемой гибкости в сочетании с высокой производительностью поможет только FPGA.
Таким образом, FPGA используются там, где нужна высокая производительность обработки данных, наименьшее время реакции, а также низкое энергопотребление.
FPGA in the cloud
В облачных вычислениях FPGA применяются для быстрого счета, ускорения сетевого трафика и осуществления доступа к массивам данных. Сюда же можно отнести использование FPGA для высокочастотной торговли на биржах. В серверы вставляются платы FPGA с PCI Express и оптическим сетевым интерфейсом производства Intel (Altera) или Xilinx.
На FPGA отлично ложатся криптографические алгоритмы, сравнение последовательностей ДНК и научные задачи вроде молекулярной динамики. В Microsoft давно используют FPGA для ускорения поискового сервиса Bing, а также для организации Software Defined Networking внутри облака Azure.
Бум машинного обучения тоже не обошел стороной FPGA. Компании Xilinx и Intel предлагают средства на основе FPGA для работы с глубокими нейросетями. Они позволяют получать прошивки FPGA, которые реализуют ту или иную сеть напрямую из фреймворков вроде Caffe и TensorFlow.
Причем это все можно попробовать, не выходя из дома и используя облачные сервисы. Например, в Amazon можно арендовать виртуальную машину с доступом к плате FPGA и любым средствам разработки, в том числе и machine learning.
FPGA on the edge
Что еще интересное делают на FPGA? Да чего только не делают! Робототехника, беспилотные автомобили, дроны, научные приборы, медицинская техника, пользовательские мобильные устройства, умные камеры видеонаблюдения и так далее.
Традиционно FPGA применялись для цифровой обработки одномерных сигналов (и конкурировали с процессорами DSP) в устройствах радиолокации, приемопередатчиках радиосигналов. С ростом интеграции микросхем и увеличением производительности платформы FPGA стали все больше применяться для высокопроизводительных вычислений, например для обработки двумерных сигналов «на краю облака» (edge computing).
Эту концепцию легче всего понять на примере видеокамеры для анализа автомобильного трафика с функцией распознавания номеров машин. Можно взять камеру с возможностью передачи видео через Ethernet и обрабатывать поток на удаленном сервере. С ростом числа камер будет расти и нагрузка на сеть, что может привести к сбоям системы.
Вместо этого лучше реализовать распознавание номеров на вычислителе, установленном прямо в корпус видеокамеры, и передавать в облако номера машин в формате текста. Для этого даже можно взять сравнительно недорогие FPGA с низким энергопотреблением, чтобы обойтись аккумулятором. При этом остается возможность изменять логику работы FPGA, например, при изменении стандарта автомобильных номеров.
Что до робототехники и дронов, то в этой сфере как раз особенно важно выполнять два условия — высокая производительность и низкое энергопотребление. Платформа FPGA подходит как нельзя лучше и может использоваться, в частности, для создания полетных контроллеров для беспилотников. Уже сейчас делают БПЛА, которые могут принимать решения на лету.
Как разрабатывать проект на FPGA?
Существуют разные уровни проектирования: низкий, блочный и высокий. Низкий уровень предполагает использование языков типа Verilog или VHDL, на которых ты управляешь разработкой на уровне регистровых передач (RTL — register transfer level). В этом случае ты формируешь регистры, как в процессоре, и определяешь логические функции, изменяющие данные между ними.
Схемы FPGA всегда работают на определенных тактовых частотах (обычно 100–300 МГц), и на уровне RTL ты определяешь поведение схемы с точностью до такта системной частоты. Эта кропотливая работа приводит к созданию максимально эффективных схем с точки зрения производительности, потребления ресурсов кристалла FPGA и энергопотребления. Но тут требуются серьезные скиллы в схемотехнике, да и с ними процесс небыстрый.
На блочном уровне ты занимаешься в основном соединением уже готовых крупных блоков, которые выполняют определенные функции, для получения нужной тебе функциональности системы на кристалле (system-on-chip).
На высоком уровне проектирования ты уже не будешь контролировать данные на каждом такте, вместо этого сконцентрируешься на алгоритме. Существуют компиляторы или трансляторы с языков C и C++ на уровень RTL, например Vivado HLS. Он довольно умный и позволяет транслировать на аппаратный уровень широкий класс алгоритмов.
Главное преимущество такого подхода перед языками RTL — ускорение разработки и особенно тестирования алгоритма: код на C++ можно запустить и верифицировать на компьютере, и это будет намного быстрее, чем тестировать изменения алгоритма на уровне RTL. За удобство, конечно, придется заплатить — схема может получиться не такой быстрой и займет больше аппаратных ресурсов.
Часто мы готовы платить эту цену: если грамотно использовать транслятор, то эффективность не сильно пострадает, а ресурсов в современных FPGA достаточно. В нашем мире с критичным показателем time to market это оказывается оправданным.
Часто в одном дизайне нужно совместить все три стиля разработки. Допустим, нам нужно сделать устройство, которое мы могли бы встроить в робота и наделить его способностью распознавать объекты в видеопотоке — например, дорожные знаки. Возьмем микросхему видеосенсора и подключим ее напрямую к FPGA. Для отладки можем использовать монитор HDMI, тоже подключенный к FPGA.
Кадры с камеры будут передаваться в FPGA по интерфейсу, который заведомо определен производителем сенсора (USB тут не катит), обрабатываться и выводиться на монитор. Для обработки кадров понадобится фреймбуфер, который обычно находится во внешней памяти DDR, установленной на печатной плате рядом с микросхемой FPGA.
Типичная блок-схема проекта FPGAЕсли производитель видеосенсора не предоставляет Interface IP для нашей микросхемы FPGA, то нам придется писать его самостоятельно на языке RTL, считая такты, биты и байты в соответствии со спецификацией протокола передачи данных. Блоки Preprocess, DDR Controller и HDMI IP мы, скорее всего, возьмем готовые и просто соединим их интерфейсы. А блок HLS, который выполняет поиск и обработку поступающих данных, мы можем написать на C++ и транслировать при помощи Vivado HLS.
Скорее всего, нам еще потребуется какая-то готовая библиотека детектора и классификатора дорожных знаков, адаптированная для использования в FPGA. В этом примере я, конечно, привожу сильно упрощенную блок-схему дизайна, но логику работы она отражает корректно.
Рассмотрим путь проектирования от написания кода RTL до получения конфигурационного файла для загрузки в FPGA.
Путь проектированияИтак, ты пишешь код RTL, который реализует нужную тебе схему. Прежде чем его проверять на реальном железе, надо убедиться, что он верный и корректно решает требуемую задачу. Для этого используется RTL-моделирование в симуляторе на компьютере.
Ты берешь свою схему, представленную пока только в коде RTL, и помещаешь ее на виртуальный стенд, где подаешь последовательности цифровых сигналов на входы схемы, регистрируешь выходные диаграммы, зависимости от времени выходных сигналов и сравниваешь с ожидаемыми результатами. Обычно ты находишь ошибки и возвращаешься к написанию RTL.
Далее логически верифицированный код подается на вход программе-синтезатору. Она преобразует текстовое описание схемы в связанный список цифровых элементов из библиотеки, доступной для данного кристалла FPGA. В этом списке будут отображены такие элементы, как LUT, триггеры, и связи между ними. На этой стадии элементы пока никак не привязаны к конкретным аппаратным ресурсам. Чтобы это сделать, требуется наложить на схему ограничения (Constraints) — в частности, указать, с какими физическими контактами ввода-вывода микросхемы FPGA связаны логические входы и выходы твоей схемы.
В этих ограничениях также требуется указать, на каких тактовых частотах должна работать схема. Выход синтезатора и файл ограничений отдаются процессору Implementation, который, помимо прочего, занимается размещением и трассировкой (Place and Route).
Процесс Place каждый пока еще обезличенный элемент из netlist привязывает к конкретному элементу внутри микросхемы FPGA. Далее начинает работу процесс Route, который пытается найти оптимальное соединение этих элементов для соответствующей конфигурации коммутационной матрицы ПЛИС.
Place и Route действуют, исходя из ограничений, наложенных нами на схему: контактами ввода-вывода и тактовой частотой. Период тактовой частоты очень сильно влияет на Implementation: он не должен быть меньше, чем временная задержка на логических элементах в критической цепи между двумя последовательными триггерами.
Часто сразу удовлетворить это требование не удается, и тогда надо вернуться на начальный этап и изменить код RTL: например, попытаться сократить логику в критической цепи. После успешного завершения Implementation нам известно, какие элементы где находятся и как они связаны.
Только после этого запускается процесс создания бинарного файла прошивки FPGA. Остается его загрузить в реальное железо и проверить, работает ли оно так, как ожидалось. Если на этом этапе возникают проблемы, значит, моделирование было неполным и на этом этапе не были устранены все ошибки и недочеты.
Можно вернуться на стадию симуляции и смоделировать нештатную ситуацию, а если и это не сработает, на крайний случай предусмотрен механизм отладки непосредственно в работающем железе. Ты можешь указать, какие сигналы хочешь отслеживать во времени, и среда разработки сгенерирует дополнительную схему логического анализатора, которая размещается на кристалле рядом с твоей разрабатываемой схемой, подключается к интересующим тебя сигналам и сохраняет их значения во времени. Сохраненные временные диаграммы нужных сигналов можно выгрузить на компьютер и проанализировать.
Существуют и высокоуровневые средства разработки (HLS, High-level synthesis), и даже готовые фреймворки для создания нейросетей в ПЛИС. Эти средства на выходе генерят код RTL на языках VHDL или Verilog, который дальше спускается по цепочке Synthesis → Implementation → Bitstream generation. Ими вполне можно пользоваться, но, чтобы использовать их эффективно, надо иметь хотя бы минимальное представление о языках уровня RTL.
Продолжение следует
Надеюсь, теория тебя не слишком загрузила! В следующей статье я расскажу о практике: мы посмотрим, что конкретно нужно делать, чтобы запрограммировать FPGA.
Как начать работать с HDL и ПЛИС (FPGA)
ПредисловиеПланирую написать ряд статей, про внутреннее устройство ПЛИС и их программирование. В данном сообщении я планирую дать направление читателю, что нужно прочитать для того, чтобы начать разрабатывать для ПЛИС.
Современные тенденции
К сожалению, а может быть и к счастью (в зависимости как на это посмотреть) разработка современной электроники, особенно цифровой, но не только сводится к описанию цифровых функций и автоматов сводится к описанию их на основе одного из HDL (Hardware Description Language) -языков описания аппаратуры. На данный момент, существуют следующие языки описания аппаратуры: AHDL, VHDL, Verilog и System Verilog. Сами ПЛИС (CPLD, FPGA) представляют собой квадратные матрицы ячеек (состоящих из сотен – тысяч, в зависимости от ресурсов ПЛИС, логических элементов), к этим ячейкам подходят магистрали источников синхросигналов (клоков) и линий питания (+5 или +3,3 В) и земли. К слову говоря, современные ПЛИС (7 серия от Xilinx, 5 поколение Cyclone и т.п.) – это SoC в которых кроме, самой ПЛИС присутствует процессорное ядро и аппаратная поддержка различных интерфейсов таких, как : USB, Ethernet, CAN, SPI, I2C, RS232 и др.
Три кита разработки цифровых устройств с использованием ПЛИС (FPGA)
1. Основа всего это алгебра логики (булева алгебра) и способы построения простых цифровых схем и автоматов с использованием алгебры логики.
2. Схемотехника входных и выходных каскадов логических элементов (для понимания, что такое высокоимпедансное Z-состояние, нагрузочные характеристики элементов, схемы с открытым коллектором).
3. И, конечно, 3 этап это способы построения простых цифровых схем с использованием языков описания аппаратуры.
Алгебра логики
Основными в алгебре логики являются следующие вещи:
1) Принцип двойственности
2) Теорема Де-Моргана
Эти два принципа можно посмотреть, например, здесь: https://studme.org/2002061028280/tovarovedenie/algebra_logiki . Позже сам напишу про алгебру логики.
Так же следует упомянуть про способы представления (алгебраическое, табличное и в виде карт/диаграм Карно и Вена) и минимизации логических функций через карты Карно или другие методы, например, метод Мак-Класки (https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9A%D1%83%D0%B0%D0%B9%D0%BD%D0%B0_%E2%80%94_%D0%9C%D0%B0%D0%BA-%D0%9A%D0%BB%D0%B0%D1%81%D0%BA%D0%B8).
Одна неплохая презентация про алгебру логики: https://drive.google.com/file/d/0B9GLCHSwsJn8cURyT3BOUEVxdVE/view?usp=sharing
После понимания математических основ цифровой электроники нужно двигаться к способам реализации простых цифровых схем клмбинационной логики (логики не зависящей от состояния схемы):
– мультиплексоры
– дешифраторы
– преобразователи кода
– и другие схемы.
Вот, например, https://drive.google.com/open?id=0B9GLCHSwsJn8NmxtTVNUOVZZbWs
Следующий шаг – изучение последовательностных схем (схемы зависящие от состояния и сигналов на входе схемы). Такими схемами являются:
-триггеры
-счетчики
-регистры
-генераторы
и др.
Например, https://distant.msu.ru/pluginfile.php/38192/mod_resource/content/1/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%204.pdf
или
https://drive.google.com/open?id=0B9GLCHSwsJn8YkJZeGtVZzZ4LTQ
а также ознакомиться с описанием цифровых автоматов (которых, 2 основных вида: Мили и Мура (https://neerc.ifmo.ru/wiki/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D1%8B_%D0%9C%D1%83%D1%80%D0%B0_%D0%B8_%D0%9C%D0%B8%D0%BB%D0%B8)
Схемотехника логических элементов
Данный раздел в большей степени относится к разаботке цифровых устройств с использованием дискретных микросхем, однако, в ряде моментов при проектировании с использованием ПЛИС эти знания также оказываются необходимыми
Прежде всего схемотехника зависит от типа логики: ТТЛ (ТТЛШ), КМОП и ЭСЛ: http://www. inp.nsk.su/students/radio/lectures/Pulse/07.pdf
Параметры логических элементов:
http://myrepititor.ru/electronics/82-Osnovnye_xarakteristiki_i_parametry_logicheskix_eleme.html
http://audioakustika.ru/node/1555
Языки HDL, способы проектирования
У меня довольно большаыя подборка книг по ПЛИС: https://drive.google.com/open?id=0B9GLCHSwsJn8Z0Y3U24ybmxjVjA
Если использовать Verilog, то стоить начать с Verilog и VerilogTutorial, если VHDL – то “Языки Verilog и VHDL”, кроме того среди этого архива есть документ с “Золотыми ссылками по HDL”.
Что будет в продолжении?
В будущем планирую пройтись по каждому из этих пунктов и написать цикл статей с примерами дизайна цифровых схем (на github).
IcaliaLabs / plis: Автоматические задачи разработки заданы красиво
GitHub – IcaliaLabs / plis: Автоматические задачи разработки заданы красивоКрасиво поставленные задачи автоматизированной разработки
Файлы
Постоянная ссылка Не удалось загрузить последнюю информацию о фиксации.Тип
Имя
Последнее сообщение фиксации
Время фиксации
Помогает процессу разработки с помощью Docker Compose, задавая вежливые запросы 🙂
Установить
В macOS установите через Homebrew:
кран для заваривания icalialabs / формулы
заварить установить плис
В других системах вы можете:
- Загрузите исполняемый файл для своей системы с Релизы Страница
- Поместите его на любой из путей, доступных в $ PATH
Особое поведение:
-
plis start [services-optional]
: запускает проект docker-compose со следующими дополнительными функциями:- Если некоторые или все контейнеры запрошенного проекта отсутствуют, выдает команду
docker-compose up -d
. - Если присутствуют все запрошенные контейнеры проекта, выдает команду
docker-compose start
.
- Если некоторые или все контейнеры запрошенного проекта отсутствуют, выдает команду
-
plis attach [имя_службы]
: определяет контейнер данной службы и присоединяет к нему консоль. -
plis run [service_name] [command]
: запускает указанную команду:- Если для данной службы запущен контейнер, он выполняет его, выдав команду
docker exec -ti
. - Если для данной службы нет запущенных контейнеров, она выполняет команду
docker-compose run --rm
.
- Если для данной службы запущен контейнер, он выполняет его, выдав команду
# Запустить проект docker-compose: плис начать # Перезапустить службу: Пожалуйста, перезапустите Интернет # Присоединяем консоль к сервису: плис прикрепить веб # Выполнить команду для существующего или нового контейнера: плис запустить веб-рельсы c # Остановить службу: пожалуйста, останови Интернет
ЗАДАЧИ:
Около
Красиво поставленные задачи автоматизированной разработки
Темы
ресурсов
Лицензия
Вы не можете выполнить это действие в настоящее время. Вы вошли в систему с другой вкладкой или окном. Перезагрузите, чтобы обновить сеанс. Вы вышли из системы на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.«Большие размеры» – бессмысленный термин, и бренды должны начать с ним покончить – Quartz
На протяжении десятилетий розничные торговцы относились к женщинам, которые носят большие размеры, как к совершенно другому типу покупателей. Для них существовал даже специальный свод правил: избегать ярких цветов. Никогда не делайте горизонтальных полос.
В наши дни такие стереотипы просто смехотворны, считает Мэри Алдерете, директор по маркетингу интернет-магазина женской модной одежды ModCloth. «Хотите знать, какое платье номер один по продажам на этой неделе? Радужное платье, и оно уже распродано во всех расширенных размерах! ” – говорит она, имея в виду размеры от больших до 4X. Платье ярко окрашено и покрыто шевронными полосами.
В последние несколько лет все больше женщин призывают положить конец разграничению «больших размеров», которое варьируется в зависимости от продавца, но часто относится к размерам от 16 и выше.Многие считают, что эта категория маргинализирует их, предполагая, что они представляют собой небольшую группу вне мейнстрима, чьи потребности в моде второстепенны. На самом деле, среднестатистическая американка, скорее всего, будет иметь размер 16, а не 2.
Если розничные торговцы будут умны, они решат отказаться от «плюсов» и, наконец, предложат вместо этого больший диапазон размеров в своих основных линиях. . Этикетка и стереотипы, которые сопровождают «большие размеры», устарели и часто оскорбительны. Все, что поддерживает это различие, – это история – и уродливое наследие модной индустрии – исключительное поведение.
Вышло из моды
Несмотря на недавние усилия, по словам Маршала Коэна, главного аналитика розничной торговли исследовательской компании NPD Group, сохраняется множество давних заблуждений относительно того, как покупают большие покупатели. В дополнение к представлению о том, что эта категория покупателей не будет покупать яркие цвета или полосы, традиционно считалось, что они не носят больших принтов или обтягивающую одежду и не любят делать покупки или примерять вещи. Коэн считает, что все эти представления ужасно устарели.
«Это имело смысл в прошлом, когда, когда эти правила могли быть применимы, [иметь] отдельную линию, отдельный отдел или отдельный магазин для потребителей больших размеров», – говорит он. «Сегодня это уже не так».
Независимо от того, действительно ли женщины хотели делать такие покупки или просто делали это по указанию СМИ и дизайнеров, правила изменились – во многом благодаря Интернету. Сара Конли, стильный блогер и эксперт по моде больших размеров, говорит, что Instagram оказал «огромное влияние».
В прошлом году, например, после того, как журнал O Magazine объявил, что женщины должны носить топы только при плоском животе, Конли помог организовать ответ в Интернете, побудив женщин всех размеров делиться своими фотографиями, используя хэштег #RockTheCrop.
«Это вызвало много негативной реакции в Интернете, потому что это неправда, и эти правила стиля очень устарели», – говорит она. Вне таких кампаний бодипозитивные женщины обычно используют хэштеги, такие как #effyourbeautystandards или иногда #DropThePlus.
Сегодня покупатели предпочитают цвета, модную одежду и одежду, подчеркивающую их фигуру. Коэн добавляет, что они хотят «делать покупки в одном месте и покупать тот же товар», что и женщины прямого роста, если использовать выражение индустрии. Хотя данные показывают, что они делают меньше покупок, это незначительно. И даже этот разрыв сокращается.
Сегодня покупатели предпочитают цвета, модную одежду и одежду, подчеркивающую их фигуру.
Коэн говорит, что после рецессии все больше брендов запустили линейки Plus, поскольку они ищут новый источник продаж.Джей Си Пенни, например, дебютировал в мае. Также появились новые бренды, ориентированные на модную одежду больших размеров, такие как Eloquii и Torrid.
Похоже, что попытки выйти на недостаточно обслуживаемый рынок окупаются. NPD недавно обнаружил, что количество подростков, купивших одежду больших размеров, за последние пять лет увеличилось вдвое, во многом потому, что теперь у них есть больше возможностей. А за 12 месяцев до февраля 2016 года продажи одежды больших размеров в США выросли на 3% до 20,4 млрд долларов, сообщает группа.
Есть еще много возможностей для роста. Эта цифра составляет около 17% от общего объема продаж женской одежды в размере 120,3 миллиарда долларов за тот же период. Хотя нет конкретной оценки количества потребителей больших размеров в США, Коэн отмечает, что около 36% американских женщин страдают ожирением. Ожирение и размер несовместимы. Но Коэн считает, что продажи одежды больших размеров примерно вдвое меньше, чем они могли бы быть, если бы индустрия моды сделала больше возможностей.
В то время как индустрия больших размеров находится на подъеме, исследования показывают, что многие женщины не любят делать покупки в отдельной категории.В опросе покупателей из Великобритании, проведенном в 2015 году, около 61% потребителей больших размеров заявили, что они предпочли бы делать покупки в основном ассортименте розничных магазинов, а не в ответвлениях больших размеров. ModCloth обнаружила аналогичные результаты, когда в прошлом году опросила 1500 женщин, носящих размер 16 и выше. Примерно две трети заявили, что хотели бы видеть большие размеры в том же разделе, что и другие размеры, а 60% сообщили, что стесняются покупать одежду в отдельном магазине или отделе.
Где «плюс размер» происходит от
Во многом благодаря Лейну Брайанту, терминология больших размеров прочно укоренилась в индустрии моды на протяжении десятилетий.В настоящее время компания является синонимом розничной торговли плюс-сайз, хотя начинала она с продажи одежды для беременных.
Лена Химмельштейн Брайант была портнихой, которая открыла магазин в Нью-Йорке в 1904 году. В то время все больше женщин из среднего класса работали во время беременности. Покупательница попросила Брайанта кое-что, что она могла бы износить, ожидая. Брайант согласился, создав платье с эластичным поясом и юбкой со складками гармошкой.
Слухи распространились, и Lane Bryant вскоре стала первой компанией, которая начала массово производить одежду этого стиля, как объясняет Американский музей истории текстиля.В период с 1909 по 1923 год продажи выросли с 50 000 долларов в год до 5 миллионов долларов.
Lane Bryant также положил начало другой тенденции. В начале 1920-х компания предпочла термин «плюс» слову «толстый» – современное прилагательное, обычно применяемое к женщинам, которые не соответствовали стройным идеалам того времени. Согласно Wall Street Journal (платный доступ), в 1922 году он начал рекламировать «Misses Plus Sizes», хотя, что любопытно, в рекламе все еще были изображены стройные женщины. Тем не менее, этот термин прижился, появился в рекламе других розничных продавцов и стал стандартным набором слов.
Американский исторический музей текстиля
Рекламный проспект Лейн Брайант, 1921 г., продвигающий выгодные сделки для «полных» женщин.Между тем, ритейлеры продолжали рассматривать плюсовый бизнес как нечто отдельное от «обычной» одежды. Они избегали этого, иногда потому, что не разбирались в бизнесе, а иногда из-за предвзятого страха, что предложение одежды больших размеров нанесет ущерб их бренду.
Около 30 лет назад, когда Коэн был президентом модного лейбла WilliWear, основанного дизайнером Вилли Смитом, он сказал Смиту, что хочет, чтобы этот бренд занялся бизнесом больших размеров.«[Смит] говорит:« Послушайте, я понимаю, о чем вы говорите. Я не хочу, чтобы в моем фирменном платье гуляла по улице женщина 16-го размера, тогда как все мои клиенты 8-го размера этого не хотят, – вспоминает Коэн. «Это то, что чувствовали многие дизайнеры и многие бренды до сих пор». (Смит умер в 1987 году, и его бизнес больше не работает.)
Среди современных женщин есть много открытого пренебрежения к термину «плюс».
Среди современных женщин есть много открытого пренебрежения к термину «плюс» и его значению, что человеческие тела следует разделить на категории «нормальные» и «нет».«Когда онлайн-издание Mic опросило читателей в 2015 году, многие написали, что осуждают его. «Это инструмент сегрегации, чтобы не дать« милым худым »девушкам делать покупки рядом с пухлыми девушками», – написал один человек. Другой сказал: «Ужасно, ужасно, худшее, другое и относится только к женщинам. К черту этот термин ».
Действительно, более тяжелых мужчин, как правило, классифицируют как «большие и высокие» – если им вообще нужна отдельная секция. Прямо сейчас на сайте элитной одежды Mr. Porter есть пять страниц товаров, перечисленных под размером XXXL.
Чтобы придать названию более позитивный оттенок, термин «плюс» немного уступил место таким терминам, как «пышные формы». Первоначально Instagram запретил использование хэштега «curvy» как хэштег из-за того, что его угоняли из-за неприемлемого контента, но быстро восстановил его после жалоб женщин. Модельные агентства и розничные продавцы, такие как ASOS, также начали использовать «кривую».
Тестовый пример ModCloth
Однако самая большая проблема с «плюсом» заключается в том, как это обозначение использовалось, чтобы предположить, что женщины, носящие размер 16 и выше, каким-то образом ненормальны.Это одна из причин, почему ModCloth, начавшая продавать одежду больших размеров в 2013 году, полностью отказалась от этого термина в конце прошлого года.
Решение было принято после того, как лейбл электронной коммерции запустил физический всплывающий магазин в своем родном городе Сан-Франциско. ModCloth продает одежду от ряда инди-дизайнеров, но всплывающее окно ориентировано в основном на дебют одноименного лейбла – почти вся одежда доступна от XS до 4X. В отдельном разделе с плюсом не было необходимости, потому что большая часть одежды была в полном размере.
Сьюзан Грегг Когер, соучредитель компании и главный креативный директор, говорит, что положительная реакция клиентов на отказ от отдельных категорий плюсов убедила ее, что лейбл потерял свою актуальность. «Для меня в тот момент такой инклюзивный шоппинг был очень сильным», – говорит она. Опрос компании вселил в них уверенность в необходимости интегрировать линейку plus в основные предложения ModCloth, хотя у них все еще есть раздел для «расширенных размеров», чтобы упростить поиск таких размеров.
ModCloth не раскрывает конкретных данных о продажах, но Когер и Альдерете говорят, что это решение было отличным для бизнеса. «Мы определенно видим, что предметы, которые доступны в полном диапазоне размеров, имеют тенденцию продаваться больше и иметь более высокие [средние продажи на каждый стиль]», – говорит Когер. Альдерете добавляет, что, когда они размещают на сайте свои новинки, некоторые из бестселлеров, такие как радужное платье, сначала распродаются в больших размерах.
Проблема в том, что «большой размер» может быть полезен.
Одно большое предостережение в этой дискуссии заключается в том, что «большой размер» может быть очень полезным как способ быстро оценить, какие магазины имеют большие размеры.Согласно недавнему анализу EDITED, технологической компании розничной торговли, даже в розничном магазине предметов роскоши Net-a-Porter, который постоянно увеличивает свои запасы товаров большего размера, только 3,7% его предложений относятся к размерам 14 и 16. Размер 16 обычно самый большой из доступных. Для сравнения, 79,3% их одежды были доступны в размерах от 00 до 2. (Net-a-Porter отказался комментировать эту историю).
Bloomberg недавно отметил, что около 16% платьев на веб-сайте JC Penney имеют размеры больших размеров, и только 8.5% платьев на сайте Nordstrom доступны в больших размерах. По данным Bloomberg, всего пять товаров на сайте Nike предлагались в больших размерах.
Конли говорит, что из-за того, что рынок товаров больших размеров полностью не обслуживается, она и такие женщины, как она, были приучены осознавать, что, если бренд где-то не рекламирует товары больших размеров, ему, вероятно, нечего им предложить. Она также критикует новый подход ModCloth, отмечая, что иногда она влюбляется в платье в Интернете только для того, чтобы понимать, что оно недоступно для ее размера.
«Мне бы хотелось верить, что у нас может быть мир, в котором каждый может делать покупки в одних и тех же магазинах, но мы так далеки от этого, и многие люди исключаются», – говорит она. Действительно, недавний набросок Эми Шумер пародировал отчуждающее отношение многих розничных торговцев к покупателям, отправив сбитого с толку Шумера в загадочные районы в поисках топа 12-го размера.
Конли добавляет, что люди, которые выступают за отказ от терминологии плюс, обычно женщины, которым не нужно делать покупки исключительно в отделе больших размеров.Она хочет, чтобы больше розничных продавцов предлагали одежду ее размера, и на данный момент будет полезно, когда они используют значок плюса, чтобы сообщить о своем желании.
Существуют также практические факторы, которые побуждают розничных продавцов продолжать различать одежду больших и прямых размеров. Им часто бывает сложно предложить одни и те же платья, топы и брюки всех размеров. Сделать платье 26-го размера не так просто, как увеличить пропорции на 2-м. Форма одежды должна измениться, а это значит, что дизайнер должен создать новый узор для этого предмета.Это увеличивает время и деньги для бренда и фабрики, производящей его.
Даже в этом случае брендам, которые уже предлагают большие размеры, не нужно будет менять свое производство, чтобы отказаться от категории «большие размеры» – только маркировку. А для брендов без плюсовой линии или расширенных размеров потенциальная выгода от предложения большего размера может значительно перевешивать риски.
Деньги, которые нужно заработать
Компаниям следует подумать о том, чтобы последовать примеру ModCloth и спросить своих клиентов, как они хотят делать покупки.Вполне вероятно, что большое количество магазинов обнаружат, что их покупатели не хотят быть изолированными. И хотя для всех магазинов может быть слишком рано полностью отказываться от знака «плюс», растет понимание того, что это путь в будущее.
«Почему бы нам не избавиться от такого рода разграничений?» Лена Данэм сообщила Cosmopolitan.com в недавнем интервью. «Мол, мода должна быть для всех, и она должна быть игривой и захватывающей, и она должна отражать суть американских женщин и женщин во всем мире.Так что я думаю, что это немного устарело “.
После многих лет пренебрежительного отношения со стороны обычных розничных продавцов многие женщины пришли к выводу, что модные компании просто не хотят им служить. Есть веские моральные причины доказать их неправоту, и это также хорошая бизнес-стратегия. В США десятки тысяч женщин держат наготове свои кредитные карты. Они будут счастливы делать покупки, если модные бренды просто дадут им одежду, которую стоит покупать.
Link Plus | Registry Plus
Link Plus – это инструмент для связывания записей для онкологических регистров.Может работать в двух режимах –
.- Для обнаружения дубликатов в базе данных онкологического реестра.
- Чтобы связать файл реестра рака с внешними файлами.
Хотя изначально программа была разработана для использования онкологическими регистрами, она может использоваться с любыми типами данных в фиксированной ширине или в формате с разделителями.
Избранные функции в версии 2.0
- Поддерживает файл Североамериканской ассоциации центральных реестров рака (NAACCR), файл фиксированной ширины, файл с разделителями и базу данных CRS Plus.
- Вычисляет вероятностные оценки связи записей.
- Обрабатывает отсутствующие значения совпадающих переменных, автоматически обрабатывая нулевые или пустые значения как отсутствующие данные, и позволяет пользователю указать дополнительные значения, которые будут рассматриваться как отсутствующие данные.
- Облегчает блокировку ИЛИ путем индексации переменных для блокировки и сравнения пар с идентичными значениями по крайней мере для одной переменной.
- Предлагает на выбор две системы фонетического кодирования (Soundex и NYSIIS), а также несколько методов сопоставления для конкретных переменных, которые находят частичные, приблизительные или нечеткие совпадения.
Link Plus предоставляет следующие методы сопоставления –
- Зависящее от значения (на основе частоты): Устанавливает веса для совпадающих значений на основе частот значений в сравниваемых файлах. Совпадение частого значения связано с низким весом, но совпадение по редкому значению связано с высоким весом.
- Фамилия и имя: Включает как частичное сопоставление, так и сопоставление по конкретному значению, а также фонетический код NYSIIS для учета незначительных типографских ошибок, орфографических ошибок и имен через дефис.Для имен псевдонимы сопоставляются с официальными именами.
- Отчество: Учитывает использование инициалов отчества по сравнению с полным отчеством.
- Дата: включает частичное сопоставление отдельных компонентов даты и учитывает транспонирование компонентов даты, а также пропущенные значения месяца или дня.
- Номер социального страхования: Учет опечаток и перестановок цифр. Также сопоставляет 9-значное число в одном файле с 4-значным числом в другом файле.
- Общая строка: Использует функцию расстояния редактирования и включает частичное сопоставление для учета типографских ошибок.
- Почтовый индекс: Позволяет сопоставить 9-значный почтовый индекс и 5-значный почтовый индекс.
Избранные функции в бета-версии (3.0 Beta)
Внешняя связь с данными
- Программа работает с любым количеством записей в файле 2, пока компьютер имеет достаточно памяти для чтения данных из файла 1, который имеет ограничение 4.От 5 до 4,8 миллиона записей.
- Предоставляет новый параметр «Лучшее совпадение», позволяющий выбрать, следует ли записывать в отчет о связях все потенциальные совпадения (много: много связей) или только совпадения с наибольшим количеством баллов (одна: много связей).
- Позволяет пользователям выбирать, выводить ли несоответствующий файл.
- Предоставляет метод, подобный подтверждению, для таких переменных, как адрес, которые дают положительный вес для оценки связи при согласии, но 0 вес при несогласии.
- Предоставляет метод сопоставления, аналогичный номеру социального страхования, для универсального идентификатора.
- Предоставляет новый метод сопоставления имен, более устойчивый к частоте имен или исключений, таких как имена с ошибками.
- Позволяет несколько раз выбирать переменные как совпадающие для автоматического сравнения массивов.
- Позволяет пользователям предоставлять свои собственные файлы частот имен для использования методами сопоставления имен.
Обзор вручную
- Позволяет пользователям использовать «Назначить ID набора» для группировки совпадений во взаимоисключающие наборы соответствий.
- Позволяет заполнять формы ручного просмотра 300 000 пар.
Экспорт
- Позволяет пользователям экспортировать результаты просмотра вручную в файл формата с разделителями или в файл фиксированной ширины (включая файл в формате NAACCR).
- Позволяет пользователям экспортировать все несовпадающие записи из связи в один файл экспорта. Файл экспорта включает в себя все записи из файла 2, которые сгенерировали оценку связывания ниже указанного значения отсечения для связи в окне “Конфигурация связывания”, а также все записи, которым был присвоен статус ложного совпадения при просмотре потенциальных совпадений в окне “Просмотр вручную”. .
Системные требования
ПрограммыRegistry Plus работают с 32- и 64-битными операционными системами Microsoft® Windows®. Дополнительные системные требования:
- Операционная система: Microsoft ® Windows ® 7, 8, 10 или более поздние версии.
- Системная память: 2 ГБ или больше.
- Минимальное свободное место на диске: 1 ГБ для файловых операций (дополнительное дисковое пространство соизмеримо с файлами данных).
Установка и обновление Link Plus
Перед установкой или обновлением Link Plus прочтите следующую информацию.
- Эта версия Link Plus была разработана для автоматического обновления старых версий приложений с сохранением настроек конфигурации.
- Если вы обновляете или переустанавливаете существующую версию Link Plus, вам нужно будет удалить существующую программу Link Plus перед установкой версии 2. Чтобы удалить Link Plus, щелкните Пуск, Все программы, Registry Plus, Link Plus, Удалить Link Plus .Наконец, нажмите Да (вы уверены, что хотите удалить этот продукт), и Link Plus будет удален. После удаления предыдущей версии Link Plus может быть установлена новая производственная версия.
- Структура файлов и папок сохраняется после удаления предыдущей версии Link Plus. Установите эту версию в ту же папку, что и предыдущая версия Link Plus, чтобы обеспечить правильное обновление базы данных и параметров конфигурации.
- Если вы устанавливаете Link Plus впервые, вы можете установить его на любой диск, но он должен быть установлен на корневом уровне, а не во вложенной папке.
Установка версии 2.0
- Загрузите Link Plus, RPLinkPLus_2.0.exe (исполняемый файл, 20,7 МБ, 29 июня 2007 г.) на свой компьютер.
- Откройте загруженный файл. Программа установки проведет вас через шаги по установке Link Plus. Если вы впервые используете, мы рекомендуем вам выбрать значения по умолчанию.
- После установки нажмите кнопку «Пуск» в Windows и выберите «Программы», затем «Registry Plus», затем «Link Plus».
Примечание: При первой установке Link Plus включает файлы тестовых данных и файлы конфигурации для демонстрационных целей.Чтобы запустить демонстрацию, перейдите в меню «Файл» и выберите «Открыть файл конфигурации». В папке конфигурации выберите файл FWDemo.cfg для связывания двух файлов фиксированной ширины или DelimDemo.cfg для связывания двух файлов с разделителями. Вы можете продемонстрировать дополнительные возможности программы, внеся изменения в форму конфигурации и сохранив новые конфигурации под другими именами файлов.
Установка версии 3.0 Beta
Чтобы получить копию Link Plus версии 3.0 бета-программы, обращайтесь по адресу [email protected].
Опасности получения кредита Direct PLUS
Представьте себе такой сценарий: ваш сын или дочь больше десяти лет не учились в колледже и сделали успешную карьеру. Ваша собственная карьера подходит к концу, а до пенсии осталось всего несколько лет. И все же вы все еще должны тысячи долларов по счетам вашего ребенка в колледже. Этот сценарий является реальностью для многих родителей, которые берут федеральные ссуды Direct PLUS.Хотя эти ссуды могут показаться родителям простым способом помочь своему ребенку с сегодняшними затратами на образование, в слишком многих случаях они ставят под угрозу финансовую безопасность родителей и выход на пенсию.
Ключевые выводы
- PLUS ссуды – это федеральные ссуды, которые родители могут взять для покрытия расходов своего ребенка в колледже.
- Родитель, а не студент, несет ответственность за выплату ссуды PLUS.
- PLUS ссуды не соответствуют критериям для всех планов погашения, ориентированных на доход, которые соответствуют студенческим ссудам.
- PLUS ссуды имеют большие лимиты заимствования, что позволяет брать слишком большие долги.
Как работают кредиты PLUS
PLUS – это аббревиатура от Parent Loan for бакалавриата. (Существует также программа grad PLUS для аспирантов и студентов, которые занимаются самостоятельно.)
Программа parent PLUS позволяет родителям занимать деньги для учащихся-иждивенцев для оплаты любых расходов, которые еще не покрываются финансовой помощью учащегося, таких как гранты Пелла, студенческие ссуды и оплачиваемая работа и учеба.
Кредиты PLUS имеют фиксированные процентные ставки на весь срок действия кредита. Обычно они выплачиваются в течение 10 лет, хотя существует также расширенный план выплат, который может продлить срок до 25 лет. Выплата процентов по студенческим ссудам от федеральных агентств была приостановлена до 31 сентября 2021 года.
Ссуды Parent PLUS являются финансовой ответственностью родителей, а не студента. Они не могут быть переданы студенту, даже если у него есть средства для их оплаты.Взаимодействие с другими людьми
Опасность 1: нет автоматического льготного периода
Когда студент берет ссуду, у него обычно есть шесть месяцев после окончания учебы, чтобы начать процесс выплаты. Не так с кредитами PLUS. Срок выплаты начинается сразу после того, как ребенок или школа получит деньги. Тем не менее, заемщики-родители могут связаться со службой поддержки ссуды, чтобы запросить отсрочку, пока учащийся зачислен, по крайней мере, на полставки и на шесть месяцев после окончания школы.
Опасность 2: Займы PLUS не подходят для большинства планов погашения, ориентированных на доход
Федеральное правительство предлагает четыре различных плана погашения студенческих ссуд с учетом дохода.Они ограничивают ежемесячные выплаты процентом от дискреционного дохода студента (обычно 10%). Если студент производит эти платежи в течение определенного количества лет (обычно 20 или 25), остаток по кредиту будет прощен.
Однако ссуды Parent PLUS имеют право на участие только в одном из этих планов, Условное погашение дохода (ICR), и только после того, как материнская компания объединила свои родительские ссуды в федеральный заем прямой консолидации. План ICR ограничивает выплаты не более чем 20% дискреционного дохода, которые должны выплачиваться в течение 25 лет, что является долгим периодом времени для среднего родителя.Взаимодействие с другими людьми
Получение вашего имени от космической ссуды
Опасность 3: можно легко взять в долг больше, чем нужно
Когда вы подаете заявку на ссуду Direct PLUS для вашего ребенка, правительство проверит ваш кредитный отчет, но не ваш доход или отношение долга к доходу. Фактически, он даже не учитывает, какие еще у вас долги. Единственный отрицательный момент, который он ищет, – это неблагоприятная кредитная история. После того, как вы одобрили ссуду, школа устанавливает сумму ссуды, исходя из стоимости посещения.Однако стоимость посещения школы обычно больше, чем фактически платит большинство студентов. Это может привести к тому, что родители будут брать взаймы больше, чем нужно их ребенку для учебы в колледже.
Если у вас есть другая непогашенная задолженность, например, ипотека, вы можете оказаться в затруднительном положении, когда придет время погашать ссуду PLUS.
Опасность 4: из них невозможно выбраться даже при банкротстве
Невозможно избежать ссуды Direct PLUS, поэтому отказ от платежей и неисполнение ссуды PLUS является огромной ошибкой.Даже объявление о банкротстве не аннулирует долг. До тех пор, пока долг не будет погашен, правительство может удерживать вашу зарплату или удерживать деньги из ваших пособий по социальному обеспечению и возврата налогов. Более того, нет никаких временных ограничений на то, когда правительство может взыскать задолженность. Поэтому, прежде чем вы даже рассмотрите возможность дефолта, обратитесь к своему специалисту по ссуде за советом или найдите адвоката, который специализируется на задолженности по студенческим ссудам.
Более того, в отличие от ссуд Салли Мэй, вы не сможете получить прощение по ссуде PLUS, если ваш ребенок позже столкнется с полной постоянной инвалидностью (TPD).Взаимодействие с другими людьми
Что делать, прежде чем взять ссуду PLUS
Часто школа представляет пакет финансовой помощи учащемуся с добавленной ссудой Direct PLUS. Школа может сказать, что хочет, чтобы семьи знали обо всех доступных вариантах финансирования, но включение ссуды Direct PLUS в пакет может сделать истинная стоимость колледжа сбивает с толку. При рассмотрении стоимости обучения в колледже попросите разбить пакет финансовой помощи без ссуды PLUS.
Вместо ссуды Direct PLUS вы можете попросить ребенка выбрать частную ссуду на обучение для покрытия любых оставшихся расходов, которые не покрывают гранты, работа-учеба, федеральные студенческие ссуды, стипендии и другая помощь.Если вы хотите помочь своему ребенку материально, вы можете вносить платежи по частной ссуде, пока он еще учится в школе. Это позволяет вам субсидировать расходы вашего ребенка на обучение в колледже, но не требует от вас единоличной ответственности за задолженность.
Вы можете рефинансировать свой заем PLUS, чтобы снизить процентную ставку или распределить выплаты на более длительный период.
Что делать, если у вас есть заем PLUS
Если вы взяли ссуду Direct PLUS для обучения своего ребенка и изо всех сил пытаетесь вернуть ее, возможно, вам понадобится объединение (как описано выше).Однако имейте в виду, что, хотя увеличение срока кредита уменьшит ваши ежемесячные платежи, оно также увеличит общую сумму, которую вы заплатите к концу.
Еще одна возможность – рефинансирование кредита PLUS. Фактически, даже если у вас нет проблем с выплатой кредита, стоит подумать о рефинансировании, чтобы увидеть, сможете ли вы обеспечить более низкую процентную ставку и ежемесячные платежи.
Самый разумный финансовый ход – попытаться заплатить как можно больше в счет кредита, пока вы все еще зарабатываете деньги, даже если это означает, что вам нужно ужесточить свой бюджет, а не брать его с собой на пенсию.
Также старайтесь не брать займы под свои пенсионные фонды, такие как планы 401 (k), или досрочно обналичивать их, чтобы покрыть расходы по кредиту. Вместо этого, если вы приближаетесь к пенсии, подумайте о том, чтобы поработать еще несколько лет, если у вас есть какие-либо возможности для этого, чтобы выплатить ссуду до выхода на пенсию.
Итог
Помощь своему ребенку в оплате обучения в колледже – дело благородное, но не в том случае, если это поставит вас в затруднительное финансовое положение или поставит под угрозу выход на пенсию.В конечном итоге у вашего ребенка будет несколько десятилетий, чтобы выплатить студенческие ссуды до выхода на пенсию, и их ссуды – в отличие от родительских ссуд PLUS – могут иметь право на программы прощения ссуд и более щедрые планы погашения, ориентированные на доход.
Купить Vibia / Напольный торшер / Plis 4030 онлайн, цена от 2 744,00 €
Мы доставляем товары в более чем 100 стран по всему миру и с гордостью предоставляем БЕСПЛАТНУЮ доставку большинства наших товаров.
Все цены, указанные продавцом, являются окончательными.
В зависимости от страны назначения цены отображаются с учетом (включая НДС) или без учета (без НДС) налога на добавленную стоимость. Пожалуйста, обратитесь к разделу «Пошлины и налоги» для получения более подробной информации.
1. Стоимость доставки.1.1. Доставка и доставка в Европейский Союз:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Цены на товары и стоимость доставки включают НДС и, следовательно, указаны как цены брутто.Пожалуйста, обратитесь к разделу «Пошлины и налоги» для получения более подробной информации.
Следующие страны являются членами Европейского Союза:
Австрия, Германия, Бельгия, Болгария, Дания, Эстония, Финляндия, Франция, Греция, Ирландия, Италия, Хорватия, Латвия, Литва, Люксембург, Мальта, Нидерланды, Польша, Португалия, Румыния, Швеция, Словакия, Словения, Испания, Чехия, Венгрия, Кипр (только Южный Кипр).
1.2. Доставка и доставка в США:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Указанные цены на продукцию включают таможенные пошлины и сборы за транспортировку, но не включают австрийский налог на добавленную стоимость и налог с продаж в США. Для получения более подробной информации, пожалуйста, обратитесь к нашему разделу «Пошлины и налоги».
Никаких дополнительных налогов или таможенных пошлин за товары, отправляемые в США, не взимаются.
1.3. Доставка и доставка в Великобританию:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Цены на продукты и стоимость доставки включают НДС Великобритании, но без австрийского налога с продаж и, таким образом, указаны как цены брутто. Для получения более подробной информации обратитесь к разделу «Пошлины и налоги».
Никаких дополнительных налогов или таможенных пошлин за отправку товаров в Великобританию не взимается.
1,4. Доставка и доставка в Австралию:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Цены на продукцию указаны с учетом таможенных пошлин, сборов за обработку и налога на товары и услуги (GST), но без австрийского налога с продаж. Для получения более подробной информации см. Наши «Пошлины и налоги».
Никаких дополнительных налогов или таможенных пошлин за отправку в Австралию не взимается.
1.5. Доставка и доставка в Швейцарию:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Указанные цены на продукцию включают налог на добавленную стоимость, действующий в Швейцарии, а также таможенные сборы и транспортные расходы, но не включают австрийский налог на добавленную стоимость.
Никаких дополнительных налогов или таможенных пошлин за отправления в Швейцарию не взимается.
1,6. Отправка и доставка в Норвегию:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Цены на товары указаны без учета таможенных пошлин, сборов за обработку, норвежского налога и без австрийского налога с продаж.
1,7. Доставка и доставка в другие страны:
Стандартная стоимость доставки – Бесплатная доставка.
Мы покрываем все расходы по транспортировке и страхованию товара.
Указанные цены на товары не включают налог на добавленную стоимость и таможенные пошлины в вашей стране, а также австрийский налог на добавленную стоимость.
Обратите внимание, что DHL, FedEx или любая другая служба доставки взимает все налоги с продаж, таможенные пошлины и сборы отдельно для вашей страны.
Обратите внимание, что вы будете нести ответственность за любые банковские сборы, которые могут быть понесены в зарубежных странах.
2. Доплата за доставку некоторых товаров:Для некоторых товаров требуется дополнительная плата за доставку. Если применимо, дополнительная стоимость доставки указана на странице корзины заказа и будет добавлена к вашему заказу при оформлении заказа.
3. Обратите внимание в случае возврата:
Таможенные пошлины, налоги на импортные продажи и сборы за транспортировку не возвращаются.
Стоимость доставки не будет возмещена Select Interior World в случае возврата.
4. Страхование:Все посылки, отправляемые Select Interior World, застрахованы от кражи и случайного повреждения. После получения посылки данное страховое покрытие прекращает свое действие.
5.Предполагаемые даты доставки:Вы всегда сможете уточнить время доставки при оформлении заказа.
Время доставки для каждого продукта можно найти на соответствующей странице сведений о продукте или на странице корзины заказа. Время доставки будет добавлено к вашему заказу при оформлении заказа. В электронном письме с подтверждением заказа указывается приблизительное время выполнения заказа.
Если мы не сможем отправить товар к вам, мы свяжемся с вами по телефону или электронной почте, чтобы внести необходимые изменения в ваш заказ.
5.1. «В наличии»:Товар есть на складе и готов к отправке в течении 24 часов. На странице сведений о продукте вы найдете количество дней, в течение которых этот товар будет доставлен к вам домой.
5.2. «Срок поставки в неделях»:Товара нет на складе и он будет заказан у производителя, как только мы получим ваш заказ. На странице сведений о продукте вы найдете количество недель, в течение которых этот товар будет доставлен к вам домой.
Пожалуйста, поймите, что сроки поставки зависят от производственных периодов производителя и поэтому могут быть изменены. Если это произойдет, вы получите уведомление по электронной почте.
После того, как вы получите обновленную дату отгрузки, у вас будет 24 часа, чтобы внести изменения / отменить свой заказ по ссылке «Связаться с нами» или по телефону. Если заказ не будет отменен, мы продолжим его изготовление.
Как только заказ покидает склад, вы, как наш клиент, получаете автоматическое уведомление по электронной почте с номером для отслеживания вашей посылки.Таким образом, вы всегда будете знать точное местонахождение вашего заказа и будете иметь время подготовиться к прибытию вашей посылки.
Если заказано несколько товаров с разными сроками доставки, они будут объединены в одну поставку, если срок доставки приемлем. В противном случае уже имеющиеся товары будут отправлены заранее за наш счет.
6. Способы доставки6.1. Стандартная доставка:
Для небольших посылок мы отправляем через FedEx или DHL.
Большинство товаров, отправляемых через FedEx или DHL, отправляются без подписи (в США).
Чтобы запросить подпись, оставьте нам сообщение в поле для комментариев к вашему заказу, и мы сделаем все возможное, чтобы удовлетворить ваши потребности.
6.2. Экспедирование
Для перевозки крупногабаритных грузов мы пользуемся услугами грузоперевозчика. Если не было заключено специального соглашения, доставка будет осуществляться по краю дороги, как это обычно бывает при экспедировании грузов. Экспедитор свяжется с клиентом по телефону или электронной почте, чтобы выбрать конкретное время доставки.Утилизация упаковки и поддона остается за заказчиком. Для всех грузовых отправлений требуется подпись, и заказчик несет ответственность за проверку своих пакетов на наличие видимых повреждений перед подписанием. Если ваш товар (-ы) имеет видимые повреждения, их необходимо указать транспортной компании в квитанции о доставке. Клиенты несут ответственность за любые сопутствующие расходы или сборы за пропущенные встречи или повторные доставки после того, как первоначальная встреча пропущена или перенесена, включая предметы, которые не проходят через дверной проем.
Внимательно осмотрите коробки и отметьте любые видимые повреждения в квитанции о доставке, так как это значительно ускорит процесс подачи претензии. Если вы не сообщите о повреждениях, мы не сможем предъявить претензию перевозчику, а это значит, что мы не можем нести ответственность за ущерб. Более подробную информацию см. В разделе «Транспортные повреждения и рекламации».
7. Транспортные повреждения и рекламации:В единичных случаях повреждения могут возникнуть во время транспортировки.
Если вы получили поврежденный продукт, у вас будет возможность отказаться от доставки и указать конкретные повреждения продукта в квитанции о доставке. Сообщите нам по телефону или свяжитесь с нами с подробной информацией о повреждении, чтобы мы могли вернуть или обменять ваш товар.
Что делать, если повреждение не было обнаружено сразу во время доставки?
В этом случае мы просим вас присылать нам цифровые фотографии повреждений по электронной почте и задокументировать конкретные повреждения продукта, указав номер вашего счета.Таким образом, мы можем подать надлежащий отчет о повреждениях в нашу страховую компанию, поэтому просим вас сотрудничать. Если вы не отправите нам цифровые фотографии повреждений по электронной почте и не задокументируете конкретные повреждения продукта, мы не сможем подать иск в нашу страховую компанию, а это значит, что мы не можем нести ответственность за ущерб.
Мы просим вас сообщить о получении поврежденного продукта в нашу службу поддержки клиентов в течение 48 часов с момента доставки и не выбрасывать его упаковку.Если вы не сообщите о повреждениях в этот срок, мы не сможем подать иск в нашу страховую компанию, а это значит, что мы не сможем принять на себя ответственность за ущерб.
Обычно грузоотправитель забирает товар для проверки и обработки. Нам понадобится ваша помощь, чтобы сделать его доступным для получения в назначенный день и время.
Мы рассмотрим претензию в течение 7-10 рабочих дней. Если претензия будет одобрена, мы организуем так, чтобы вы могли быстро получить бесплатные запасные части или замену поврежденного товара без дополнительных затрат для вас.
8. Select Interior World не несет ответственности за возмещение любых затрат на рабочую силу или задержек проекта, которые могут возникнуть из-за получения поврежденных товаров. Мы всегда рекомендуем вам подождать, чтобы запланировать установку, до тех пор, пока ваше устройство не будет доставлено и не будет проверено.
При возникновении вопросов обращайтесь в нашу службу поддержки клиентов.
Представляем Airbnb Plus
Представляем Airbnb PlusПропустить к контентуК сожалению, некоторые части веб-сайта Airbnb не работают должным образом без включенного JavaScript.
Представляем
Представляем Airbnb PlusВсе домашние удобства и многое другое
Дома с продуманным дизайном. Исключительные хозяева. Проверено на качество.
Airbnb Plus – это подборка домов только высочайшего качества, хозяева которых известны отличными отзывами и вниманием к деталям. Каждый дом проходит личную проверку качества на предмет качества и дизайна. Просто ищите значок PLUS.Каждый дом на Airbnb Plus – единственный в своем роде, продуманно спроектирован и оснащен стандартным набором удобств – независимо от того, находитесь ли вы в отдельной комнате или все это место находится в вашем распоряжении.
Весь дом Эллисон в Сан-Франциско
Личная проверка качества
Каждый дом Airbnb Plus проверяется на качество и дизайн, чтобы убедиться, что в нем есть все необходимое, чтобы вы чувствовали себя как дома, независимо от того, где вы находитесь. мир.
Кондоминиум Lilian Jin в Шанхае
Дома Airbnb Plus – это место, где высокое качество сочетается с тщательно продуманным дизайном – до мельчайших деталей. Дома с элегантным дизайном и индивидуальным характером столь же уютны, как и красивы.
Весь кондоминиум Лилиан Джин в Шанхае
Весь гостевой дом Мэтта в Лос-Анджелесе
Вы можете рассчитывать на постоянный набор удобств, необходимых для жизни, как дома, – от быстрого Wi-Fi и телевизоров, готовых к потоковой передаче, до полностью оборудованных кухонь со всем необходимым для приготовления еды. предметы первой необходимости. Вы получите еще несколько вещей:Фильтрованная или бутилированная вода
Принадлежности для приготовления пищи, включая масло, кухонные принадлежности и сервировочную посуду
Утюг и фен
Весь гостевой дом Мэтта в Лос-Анджелесе
Весь дом Роба в Кейптауне
Хозяева Airbnb Plus прилагают дополнительные усилия, чтобы дом был максимально чистым, свободным от беспорядка и полностью функционировал – от ухоженных открытых пространств до чистых ванных комнат с сильным напором воды.Еще несколько вещей, которые вы получите:Вся бытовая техника в рабочем состоянии
Функциональные замки на дверях всех спален в общих помещениях
Все помещения аккуратные и аккуратные
Весь дом Роба в Кейптауне
Хозяева Airbnb Plus высоко оценены (4,8+), они внимательны и заботятся о деталях, которые заставят вас чувствовать себя как дома, например о мягком постельном белье и полностью оборудованных кухнях.
С Airbnb Plus вы всегда можете легко зарегистрироваться.Каждый дом оборудован сейфом, клавиатурой или хозяином, который всегда готов вас приветствовать.
Когда вы бронируете дом Airbnb Plus, вы получаете пристальное внимание нашей команды поддержки клиентов Airbnb Plus – высококвалифицированной команды, стремящейся к отличному обслуживанию и быстрому реагированию.
Найдите идеальный дом на Airbnb Plus для следующей поездки
Просто найдите значок PLUS под фотографией объявления.
PLUS проверено · Кейптаун
PLUS проверено КейптаунPLUS проверено · Барселона
PLUS подтверждено БарселонаPLUS проверено · Сидней
PLUS подтверждено СиднейPLUS проверено · Лос-Анджелес
PLUS подтверждено Лос-АнджелесPLUS проверено · Phoenix
PLUS подтверждено Phoenixдомов на Airbnb Plus по всему миру
От пляжных бунгало в Лос-Анджелесе до роскошных чайных в Киото – исследуйте дома Airbnb Plus, проверенные на качество и комфорт.
О компании
Сообщество
Хост
Поддержка
© 2021 Airbnb, Inc. Все права защищены
Coursera Plus – Справочный центр Coursera
Coursera Plus – это план подписки, который дает вам неограниченный доступ к более чем 90% программ обучения в каталоге Coursera. Оформив подписку на Coursera Plus, вы можете посещать столько курсов, сколько захотите, без дополнительной платы, если курс включен в Coursera Plus. Нет ограничений на количество курсов, на которые вы можете записаться, или на сертификаты, которые вы можете заработать.
Вы получите сертификат курса для любого курса, который вы завершите с помощью подписки Coursera Plus, если ваше имя будет подтверждено и вы успешно пройдете курс.
Покупка Coursera Plus
Вы можете приобрести Coursera Plus, посетив сайт www.coursera.org/courseraplus .
Содержимое, включенное в Coursera Plus
Coursera Plus включает неограниченный доступ к 3000+ курсам, управляемым проектам, специализациям и профессиональным сертификатам.Чтобы узнать, что входит в комплект, поищите учебные программы, отмеченные значком Coursera Plus, или посмотрите здесь, чтобы увидеть полный список того, что входит в Coursera Plus.
За кредитный контент, например курсы Degree и MasterTrack, а также некоторые профессиональные сертификаты не включены в Coursera Plus.
Отмена подписки Coursera Plus
Чтобы отменить подписку на Coursera Plus:
- Войдите на coursera.org
- Откройте меню в правом верхнем углу страницы и выберите Мои покупки
- Нажмите Управление подписками
- Щелкните подписку, которую хотите отменить, затем щелкните Отменить подписку
Отмена подписки Coursera Plus не приведет к возврату прошлых платежей, но остановит все будущие платежи.