| |
РУКОВОДСТВА И ОПИСАНИЯ ЯЗЫКА VHDL | |
Данная страничка создана в помощь людям, желающим самостоятельно освоить язык описания аппаратуры VHDL. Здесь вы найдете собранные мною в интернете учебные и справочные материалы на русском и английском языках. Позже, возможно, появится файловый архив полезных программ и утилит. В разделе «полезные ссылки» приведены интернет-адреса наиболее известных производителей программного обеспечения, использующего язык VHDL, а также сайты производителей ПЛИС (Программируемых Логических Интегральных Схем). Если у вас есть интересные книги, руководства или лекции по VHDL, то пишите мне. Желаю успехов в освоении этого интересного языка !!! | |
I. Книги в формате PDF. | |
К сожалению хорошей литературы по VHDL на русском языке очень мало, точнее ее почти нет. Поэтому большинство книг приведенных ниже написаны на английском языке. Из отечественных изданий можно порекомендовать книгу: «Проектирование цифровых систем на VHDL» Е.А.Суворова Ю.Е.Шейнин, которая свободно продается во многих книжных магазинах Москвы, в том числе и на Савеловском рынке, по цене ~200р. Есть еще несколько неплохих изданий о которых я расскажу позже. | |
1. VHDL Reference
| |
2. The VHDL CookBook. Автор Peter J. Ashenden. Руководство содержит краткое, но очень хорошее описание VHDL, а также полностью рассмотрено создание простого 32-разрядного микропроцессора. | |
3. 1076 Ieee Standard Vhdl Language Reference Manual. Официальное описание языка VHDL от IEEE. В нем есть все, но читать его достаточно тяжело. Не рекомендую новичкам. (английский) | |
4. VHDL:
| |
5. Examples of VHDL Descriptions. Файл содержит примеры VHDL описания типичных элементов цифровой техники, таких как ОЗУ, регистры, счетчики и многое другое. (английский) | |
6. VHDL Tutorial. Небольшое руководство по VHDL для студентов 3 курса одного Канадского тех. университета. Кратко, но интересно. (английский) | |
7. VHDL Tutorial. Автор
Peter J. Ashenden. Еще одно хорошее описание от уже знакомого автора. (английский) | |
8. Mentor Graphics
Introduction to VHDL. И снова Mentor, но теперь короче в два с лишним раза. Рекомендую тем, кто впервые знакомиться с языком, т.к. в нем очень хорошо написано что такое VHDL и зачем он нужен. (английский) | |
9. Mentor Graphics VHDL
Reference Manual. Название говорит само за себя — огомный мануал от Mentor Graphics. Хорошая вещь, кто честно прочтет все — напишите. (английский) | |
10. VeriBest FPGA Synthesis VHDL Reference Manual. Руководство от компании Synopsys по приминению VHDL в проектировании FPGA. | |
11. Применение VHDL при проектировании СБИС. Автор В.Г. Ивченко. Небольшое методическое пособие по VHDL Таганрогского ГРУ. (русский) | |
II. Документация в формате HTML
| |
Данный раздел содержит описания и документацию в формате HTML, скачанную мною с различных web-сайтов. С целью экономии вашего времени и трафика все было сжато архиватором WinRAR. | |
1. VHDL MINI-REFERENCE. Краткое руководство по VHDL. В этом документе без лишних слов рассмотрены основные средства и конструкции языка. (английский) | |
2. Справочник. Как понятно из названия документ содержит описания типов переменных, сигналов, атрибутов, операторов и т.д. (русский) | |
3. Руководство компании EVITA. Составлено сотрудниками этой компании. Весьма интересное руководство с симпатичными картинками. (русский) | |
4. Справочник по синтаксису VHDL’87. Описание синтаксиса языка стандарта 87 года. (английский) | |
5. Справочник по синтаксису VHDL’93. Описание синтаксиса языка стандарта 93 года. (английский) | |
6. VHDL Tutorial. Автор Jan Van der Spiegel. Большое руководство с примерами. (английский)
| |
7. www.kvantn.com.ua. Автор Анатолий Сергиенко. Копия одноименного интернет-сайта. Очень полезный ресурс, который представляет собой достаточно объемную книжку. | |
8. Manual. Мануал от компании Green Mountain Computing Systems. (английский) | |
III. Примеры VHDL описания различных устройств и интерфейсов
| |
От теории к практике. Вот девиз данного раздела. Научиться программировать лучше всего на конкретных примерах, которые вы найдете в этом разделе. Если у вас есть интересные и полезные вещи, написанные на VHDL, я буду очень признателен если вы мне об этом напишите. С целью экономии вашего времени и трафика все было сжато архиватором WinRAR. | |
В ПРОЦЕССЕ РАЗРАБОТКИ | |
IV. Программы
| |
В будущем я планирую поместить в этом разделе полезные программы и документацию к ним. Но пока, в виду нехватки времени, раздел заморожен. Есть идеи ? Пишите ! | |
V. Ссылки
| |
Итак, вы решили заняться разработкой и проектированием устройств цифровой техники или СБИС с использованием языка VHDL. Естественно встает вопрос — какое программное обеспечение вам выбрать и ПЛИС какого производителя использовать в ваших проектах? Ответ на этот вопрос каждый дает себе сам, в зависимости от конкретных потребностей и целей. Я могу только предоставить список сайтов компаний, которые занимаются соответственно софтом и железом, чтобы вы смогли сами сделать выбор в пользу того или иного производителя. | |
1. Mentor Graphics это один из лидеров мирового рынка программного обеспечения в области электроники. В его активах имеется полный набор ПО для создания, моделирования, отладки и реализации любых устройств. В нашем случае интерес представляет FPGA Advantage. | |
2. Cadence основной конкурент предыдущей конторы. Известен по пакету OrCad 10, который кстати также поддерживает описания компонентов с использованием VHDL. | |
3. Synopsys очень известный разработчик ПО для полупроводниковой промышленности. Сотрудничает со всеми крупнейшими производителями ИС. Имеет в арсенале массу средств для проектирования на VHDL. | |
4. Aldec специализируется на разработке ПО для проектирования FPGA и ASIC , используя VHDL, Verilog и т.д. | |
5. ModelSim пожалуй лучший на данный момент симулятор. Входит в комплект поставки многих САПР. | |
6. Xilinx крупнейший в мире производитель программируемой логики. На сайте можно скачать бесплатную версию САПР WebPack ISE и вышеупомянутый ModelSim, а также триал-версии некоторых других любопытных программных продуктов этого гиганта. Этот набор может стать хорошим стартом для изучения языка на практике. | |
7. Altera к этой компании относиться все тоже, что и к предыдущей. Также есть бесплатный САПР и ModelSim. Кто из них круче вопрос открытый 🙂 | |
8. OpenCores этот веб-сайт содержит большое колличество VHDL и Verilog исходников различных устройств, интерфейсов, контроллеров и много другог. Все совершенно бесплатно.
| |
P.S.: Дизайн сайта временный. Будут силы и время — постараюсь сделать симпатичнее, но пока главная задача — содержание. | |
Подборка статей и книг по программированию ПЛИС и языкам Verilog, VHDL, AHDL
Один из наших читателей, JKQ, порекомендовал нам очень полезный ресурс: http://rutracker.org/forum/
Я сначала хотел почитать все это и сделать некий обзор по этому материалу, но потом понял, что наверное это будет не очень просто. Слишком много здесь материала и слишком он разнороден. Однозначно можно рекомендовать весь список к прочтению или ознакомлению.
Вот краткое оглавление:
Книги на русском языке:
VHDL для проектирования вычислительных устройств (Сергиенко).djvu
Основы языка VHDL (Бибило).djvu
ПЛИС фирмы Altera (Стешенко).djvu
ПЛИС фирмы Altera.Проектирование устройств обработки сигналов (Стешенко).djvu
Полезные схемы с применением микроконтроллеров и ПЛИС (Вальпа).djvu
Проектирование встраиваемых МП систем на основе ПЛИС фирмы Xilinx (Зотов).djvu
Проектирование на ПЛИС. Архитектура, средства и методы. Xilinx. MentorGraphics (Максфилд).djvu
Проектирование на ПЛИС. Курс молодого бойца (Максфилд).djvu
Проектирование систем на микросхемах программируемой логики (Грушвицкий).djvu
Проектирование цифровых систем на VHDL (Суворова).djvu
Проектирование Цифровых Схем на Языке Описания Аппаратуры Verilog (Стерхейм,Сингх,Триведи-1992).doc
Системы автоматизированного проектирования фирмы. Altera Max Plus II и Quartus II (Комолов).djvu
Системы на микроконтроллерах и БИС программируемой логики (Бродин).djvu
Цифровая электроника для начинающих (Хокинс).djvu
Цифровые системы. Теория и практика (Точчи).pdf
Язык описания цифровых устройств AlteraHDL (Антонов). djvu
Языки VHDL и Verilog в проектировании цифровой аппаратуры (Поляков).djvu
Языки VHDL и VERILOG в проектировании цифровой аппаратуры (Поляков).pdf
Книги на английском языке:
Verilog HDL — A Guide to Digital Design and Synthesis (Palnitkar)\
A VHDL Primer (Jayaram Bhasker).pdf
Advanced Digital Design with the Verilog HDL (Michael Ciletti).djvu
Advanced FPGA Design. Architecture, Implementation, and Optimization (Steve Kilts).pdf
Advanced Verilog Techniques Workshop (Clifford Cummings).pdf
Altium. VHDL Language Reference.pdf
Applications of Specification and Design Languages for SoCs (Vachoux).pdf
Cadence. HDL Modeling in Encounter.pdf
Circuit Design with VHDL (Volnei Pedroni).pdf
CSCI 320 Computer Architecture. Handbook on Verilog HDL.pdf
Design Through Verilog HDL. IEEE Press.pdf
Designing Digital Computer Systems with Verilog (David Lilja, Sachin Sapatnekar).pdf
Digital circuit analysis and design with Simulink modeling and introduction to cplds and fpgas (Steven Karris).pdf
Digital design with cpld applicaions and vhdl (Dueck).pdf
Digital Logic & Microprocessor Design With VHDL (Enoch Hwang).pdf
Digital signal processing with Field Programmable Gate Arrays (Uwer Meyer-Baese).pdf
Digital Systems Design Using VHDL (Charles Roth).pdf
Digital Systems Design with FPGAs and CPLDs (Ian Grout).pdf
Digital VLSI Design with Verilog (John Williams).pdf
Essential VHDL for ASICs (Roger Traylor).pdf
FPGA Compiler II, FPGA Express. VHDL Reference Manual.pdf
FPGA Implementations of Neural Networks (Omondi, Rajapakse).pdf
FPGA Prototyping by VHDL Examples — Xilinx Spartan-3 Version (Pong Chu).pdf
Fundamentals Of Digital Logic with VHDL Design (Stephen Brown, Zvonko Vranesic).pdf
HDL Chip Design. A Practical Guide for Designing, Synthesizing and Simulating ASICs and FPGAs Using VHDL or Verilog (Douglas Smith).pdf
IEEE 1364-1995 standard. Verilog hardware description language.pdf
IEEE 1364-2001 standard. Verilog hardware description language.pdf
Introduction to Verilog.pdf
Microprocessor Design. Principles and Practices with VHDL (Enoch Hwang).pdf
Newnes — Design Warriors Guide To Fpga.pdf
Practical FPGA Programming In C (David Pellerin, Scott Thibault).chm
Programmable Logic design. Quick Start Hand Book (Karen Parnell, Nick Mehta).pdf
Programmable logic design. Quick Start Handbook.pdf
Rapid Prototyping of Digital Systems. A tutorial Approach (James Hamblen, Michael Furman).pdf
RTL Hardware Design Using VHDL.Coding for Efficiency, Portability, and Scalability (Pong Chu).pdf
The Complete Verilog Book (Vivek Sagdeo).pdf
The Verilog Hardware Description Language (Thomas, Moorby).pdf
The Verilog Language.pdf
The VHDL Cookbook (Peter Ashenden).pdf
Verilog HDL. A Guide to Digital Design and Synthesis (Samir Palnitkar).pdf
Verilog Coding for Logic Syntesis (Weng Fook Lee).pdf
Verilog digital systems design (Navabi).pdf
Verilog Golden Reference Guide.pdf
Verilog HDL Quick Reference Guide.pdf
Verilog HDL Synthesis. A Practical Primet (Bhasker).pdf
Verilog Quickstart. Practical Guide to Simulation & Synthesis in Verilog (James Lee).pdf
Verilog tutorial (Deepak Kumar Tala).pdf
verilog.pdf
VHDL — Coding Styles and Methodologies (Ben Cohen).djvu
VHDL Interactive Tutorial. A Learning Tool for IEEE Std. 1076, VHDL.pdf
VHDL Quick Start (Peter Ashenden).pdf
VHDL. A Logic Synthesis Approach (David Naylor, Simon Jones).pdf
VHDL. Made easy (David Pellerin, Douglas Taylor).pdf
VHDL. Programming by Example. 4th Ed (Douglas Perry).pdf
VHDL-2008. Just the New Stuff (Peter Ashenden, Jim Lewis).pdf
VHDL-Handbook.pdf
vhdl-summary.pdf
Статьи:
A Rapid Prototype Design to Investigate the FPGA Based DTC Strategy Applied to the Speed Control of Induction Motor. pdf
An FPGA-Based Software Defined Radio Platform for the 2.4GHz ISM Band.pdf
DESIGN AND IMPLEMENTATION OF OFDM TRANSMITTER AND RECEIVER ON FPGA HARDWARE .pdf
FFT, Realization and Implementation in FPGA.pdf
fundamentals of digital logic with VHDL design solutions manual.pdf
Introduction to CPLD and FPGA Design.PDF
Introduction to VHDL.pdf
Sensorless speed control of Induction Motor using VHDL.pdf
Simulink, Matlab-to-VHDL Route for Full-Custom, FPGA Rapid Prototyping of DSP Algorithms.pdf
Verilog — accelerating digital design (Gerard Blair).pdf
Verilog — Инструмент Разработки Цифровых Электронных Схем.doc
VHDL & Verilog Compared & Contrasted.pdf
Моделирование цифровых и микропроцессорных систем. Язык VHDL (Дьяков).pdf
Стиль Программирования на Языке Verilog и Руководящие Указания по Программированию.doc
Апноты и примеры:
Appendix B Counting and Shifting Circuit Techniques.pdf
Case Study 1 — DC motor control.pdf
Case Study 2- Digital Filter Design.pdf
Chapter 1Introduction to Finite-State Machines and State Diagrams for the Design.pdf
Chapter 2 Using State Diagrams to Control External Hardware Subsystems.pdf
Chapter 3 Synthesizing Hardware from a State Diagram.pdf
Chapter 4 Synchronous Finite-State Machine Designs.pdf
Chapter 5 The One Hot Technique in Finite-State Machine Design.pdf
Chapter 8 Describing Combinational and Sequential Logic using Verilog HDL.pdf
Chapter 9 Asynchronous Finite-State Machines.pdf
clock synchronization.pdf
combinational design — more examples.pdf
computer fundamentals.pdf
counters and shift registers.pdf
design examples- floating pt adder,sign magnitude adder, hexa to 7 segment led.pdf
design examples-shift register, binary counter, testbench.pdf
design of counters and shift registers.pdf
design of SAYEH processor — verilog.pdf
designing library components. pdf
embedded basics,IOs,accelerators.pdf
example_AHDL.exe
external SRAM.pdf
fibonacci , period counter,division ckt, accurate LF ckt.pdf
flip-flops and related devies.pdf
FSM — principles and practices.pdf
FSM design examples.pdf
interfacing mouse with VHDL.pdf
interfacing ps2 keyboard using VHDL.pdf
introduction to digital filters.pdf
keyboard interface — verilog.pdf
LED time multiplexing ckt, FIFO buffer, stop watch.pdf
logic families and interfacing.pdf
memories.pdf
memory devices — good.pdf
more sophisticated examples.pdf
numeric basics.pdf
overview of fpga and EDA software.pdf
picoblaze microcontroller — good one.pdf
rising edge detector, debounce ckt, testing ckt for that.pdf
ROM PLA and VHDL examples.pdf
RTL methodology practice.pdf
RTL methodology principles.pdf
sdramc.html
sequential basics.pdf
sequential design practice.pdf
sequential design principles.pdf
sequential multiplier.pdf
simple VHDL examples.PDF
smith_franzon.zip
spartan 3 specific memory and suggested experiments.pdf
state machine design.pdf
synthesis of VHDL code.pdf
timing considerations.pdf
UART TX and RX sub systems.pdf
verilog for simulation and synthesis.pdf
verilog_code.rar
verilog_lib.zip
VGA adapter.pdf
VGA controller — graphical based.pdf
VGA controller — text based.pdf
VHDL Tutorial Solutions.pdf
writing test benches , test vectors, using text IO.pdf
Краткий курс HDL. Часть 1. Введение
Все статьи цикла
Почему был написан этот материал?
Когда-то, в очень старые времена, в газетах журналисты применяли такую расхожую фразу — «письмо позвало в дорогу». Вот отрывки из письма Дмитрия, студента одного из российских университетов: «А книжку, которую Вы порекомендовали, в нашей библиотеке не нашел…», «…так как вижу, что спрос на литературу по ПЛИС (по крайней мере, здесь) очень велик… Спрос намного превышает предложение. Я считаю, что нужна книга с реализацией проекта от нуля до чего-то стоящего, и желательно для начинающих. В общем-то, Вы ближе всего подошли к решению данного вопроса».
Но для того чтобы автор смог решиться на такой шаг, как написание, пусть и небольшого, но все же учебного курса, понадобилось несколько лет общения с молодыми коллегами, студентами и преподавателями из различных университетов. Конечно, этот курс не заменит настоящего, полного изучения предмета, но все же автор надеется, что «Краткий курс HDL» (далее — КК) окажется полезным, в первую очередь тем, кто изучал цифровую схемотехнику по «безумно облегченным» университетским программам. Безусловно, есть хорошие книги и на русском языке, но, во-первых, большинство из них «про VHDL», а во-вторых, прочтите еще раз первую фразу из письма Дмитрия: эти книги почти недоступны студентам.
И еще надо добавить следующее. В отличие от многих изданий, выпущенных университетскими преподавателями, автор не ставил себе целью получить «учебник для изучения по программе ПЛИС за 4-й курс». Возможно, этот КК кому-то покажется сложным или избыточным. Может быть, кто-то из читателей захочет высказать свои замечания, предложения или прислать свои примеры. Пожалуйста, напишите об этом. Все ваши предложения будут учтены и размещены на сайте автора.
Несколько слов о студентах
Автор не берется судить обо всех предметах, изучаемых сегодня в вузах по различным направлениям «электронных специальностей». Но общение со студентами и преподавателями ведущих петербургских вузов и письма читателей, обучающихся в различных университетах страны, наводят на довольно грустные размышления. Подведем итог: студентов многих, даже приборостроительных специальностей, вообще не учат технологии проектирования с применением FPGA, либо учат только «картинкам» (схемное описание проекта), либо дают только некоторые и очень краткие теоретические сведения по отладке проектов, но без практики на реальных аппаратных платформах.
Автор надеется, что читатели все же имеют некоторый опыт работы с электронными приборами. По крайней мере умеют читать схемы и понимают то, как работают простейшие узлы цифровых схем: триггеры, счетчики, мультиплексоры и т. д. Поэтому данный КК строится так, чтобы облегчить переход от схемных описаний устройств к описаниям на HDL. Но для того чтобы объяснить некоторые базовые принципы, сделано довольно подробное введение в КК.
Как будет сформирован КК?
Обычно все авторы стараются сделать свои учебники всеобъемлющими. Они стараются как можно более полно изложить материал, предназначенный для изучения. Масса примеров и тонкостей, много сокращений и специальных терминов — это обычное дело для таких книг. Однако для реальной жизни нужно совсем другое. Когда-то, очень давно, в 1977 году, автору посчастливилось купить переводную книгу издательства «Мир». Она называлась «Справочник по нелинейным схемам». Стиль изложения материала в этой книге был выбран очень необычный и не походил на все то, что издавалось у нас в стране. Книга была разделена на три части. Первая часть, объем которой не превышал 15%, содержала небольшое введение и «готовые к употреблению» схемы логарифматоров и перемножителей. Нужен синусно-косинусный генератор — вот схема, перечень компонентов, небольшое описание к ней. Вторая часть книги, примерно 35% от ее объема, представляла подробные примеры расчета и синтеза тех же самых логарифматоров и перемножителей. Но в этом разделе книги можно было посмотреть и быстро пересчитать основные характеристики схемы. А вот третья часть, она занимала почти половину книги, представляла собой очень подробное описание все тех же самых логарифматоров и перемножителей. Но только теперь были рассмотрены все параметры, влияющие на точность работы такого узла: и частотные, и температурные.
Почему потребовалось столь подробное описание структуры книги?
Да потому, что и «Краткий курс HDL» тоже хочется построить таким же образом. Если стоит задача сделать простой проект и довольно быстро, то 500–600 страниц англоязычного текста оказываются довольно серьезной преградой. Мало того, множество подробностей и тонкостей, возникающих при изучении языка, требуют много времени и сил. Именно поэтому автор стремился преследовать только одну цель: упростить разработку проектов с применением HDL-кодирования. Облегчить переход от проектирования в «картинках» к проектированию на языках HDL. Изучение такого «Краткого курса HDL» будет первым шагом на пути освоения методики проектирования на языках HDL. Тот, кто посчитает для себя необходимым сделать дальнейшие шаги по изучению HDL-кодирования, всегда сможет найти для себя «толстый» учебник и развить свои способности. Еще раз хочется подчеркнуть, что изучение языка — это не самоцель, это только средство для успешного выполнения проектов. И в данном контексте хочется привести лишь один пример. При создании тест-бенча можно делать поведенческое описание тестирования, а можно сделать подробное описание на уровне триггеров и вентилей, такое же, как описание самого тестируемого объекта. Безусловно, поведенческое описание гораздо легче создать. Но это надо уметь делать! И если стоит задача выполнить это быстро, а на изучение того, как это должно быть сделано, у вас нет времени, то структурное описание окажется создать легче, хотя и кода там будет больше, да и выглядит оно не так «красиво»…
И, наконец, еще одно замечание.
Первоначально «Краткий курс HDL» планировался только как очень краткое описание синтезируемых конструкций. Но в процессе работы над материалом автор пришел к твердому убеждению, что сегодня этого мало даже для краткого курса. Сейчас необходимо не только уметь быстро сформировать файл для микросхемы FPGA, содержащий пару счетчиков и дешифраторов. Разработчику необходимо уметь симулировать проект не на уровне отдельной микросхемы, а на уровне всей платы, содержащей FPGA, память и микроконтроллеры. А это подразумевает, что необходимо иметь очень четкое представление о том, как должна работать модель, как задать задержки и какие именно задержки в ней необходимы. Поэтому, сохранив первоначальное название, автор значительно расширил описание языковых конструкций и добавил большее количество примеров. Что же касается дополнительных разделов, то это, можно сказать, отдельные главы, и они более подробно описывают наиболее часто встречающиеся при проектировании проблемы.
Итак, вот что будет предложено читателям.
- Часть 1 — введение.
- Часть 2 — описание языка. Оно довольно подробное и занимает много места.
- Часть 3 — о написании кода. Что и как надо делать для того, чтобы проект легко читался и сопровождался.
- Часть 4 — шаблоны текстовых файлов. Где они находятся в программных инструментах.
- Часть 5 — написание кода, независимого от аппаратной платформы. Примеры кода для наиболее распространенных цифровых узлов схем — триггеров, регистров, счетчиков. Этот раздел можно воспринимать как справочный.
- Часть 6 — написание кода, зависимого от аппаратной платформы.
- Часть 7 — несколько слов об отладке проекта. Что и как надо делать для симуляции и отладки.
- Часть 8 — моделирование в ModelSim SE. Небольшой проект, представляющий собой пример кода, необходимый для тестирования устройства, содержащего FSM и программируемый таймер. Работа с файлами.
- Часть 9 — более подробно о параметризируемых модулях.
- Часть 10 — более подробно о сигнале «Сброс».
- Часть 11 — более подробно об асинхронных частотах и о пересечении клоковых доменов.
Немного философии
Герой известного кинофильма объяснял стратегию при помощи картошки. Ну, а мы, чтобы не отстать от классического шедевра, попробуем начать с яблок. Яблоки, какие они? Круглые, сочные, красные, «на снегу», «эх, яблочко» и так далее. Все это характеристики объекта, причем, ни одна из этих характеристик не описывает предмет целиком, а дает только свою часть описания. Точно таким же образом инженеры описывают разрабатываемое изделие. И на каждое изделие существует определенное стандартом количество документов, которые все вместе полностью описывают конкретное изделие. И называются они комплект конструкторской документации (КД). Каждый из входящих в него документов описывает какую-то одну сторону изделия. И при разработке узла какого-либо устройства нас в первую очередь будет интересовать то, какую функцию он выполняет, из чего состоит, как связан с другими узлами разрабатываемого изделия и по какому алгоритму работает.
И еще немного философии. При описании объектов люди пользуются различными абстракциями. Чаще всего в качестве абстрактного образа используется уличный светофор. Наверное, нет необходимости объяснять, почему… Точно так же и в схемотехнике. Кружочек, три черточки, одна поперечная линия и одна стрелка — это не описание транзистора, а только его условное обозначение на схеме. Но оно связано с описанием работы транзистора, возможно, оно связано и с его конструкцией. Таким образом, рассматривая условное графическое обозначение, можно представить то, как именно этот компонент будет работать. Более того, обычно мы рассматриваем компонент в схеме, то есть во взаимосвязи с другими компонентами. И опытный специалист, глядя на схему, в подавляющем большинстве случаев сразу скажет вам, как работает тот или иной ее узел.
Теперь давайте вспомним, что бывают такие схемы, которые не помещаются на одном листе. Или, например, какой-то фрагмент схемы повторяется многократно. Что делается в этом случае? Фрагмент выделяется в отдельный чертеж. При этом весь проект становится иерархическим. То есть на самом верхнем уровне чертеж состоит из прямоугольников, которые представляют собой части схемы, выделенные в отдельные чертежи. Те, кто программировал на языке высокого уровня, тут же вспомнят вызов функций. Действительно, принцип тот же самый. На более высоком уровне описания объекта присутствуют только «главные» характеристики объекта, а все то, что не соответствует этому уровню, находится в низших уровнях описания. То есть в описании функций или в тех самых отдельных чертежах, о которых шла речь ранее. Для примера можно представить себе механизм от заводной детской игрушки (наверное, каждый читатель имел в детстве опыт по «изучению внутренностей» заводных игрушек…). Что есть у такого механизма? Есть место, куда вставляется ключ, для того чтобы эту игрушку заводить, а из механизма выходит ось, которая вращает колеса игрушки. Все остальное сейчас для нас не так интересно: оно скрыто в корпусе механизма. Так что же с точки зрения схемотехники представляют эти два «внешних» для игрушечного механизма момента? Это две «точки подключения» механизма к остальному устройству. Точно так же и в схемотехнике: при создании иерархического проекта нас будет интересовать только то, как функционируют «квадратики», то есть то, что выделено в отдельные блоки, и как они подключаются ко всем остальным цепям верхнего проекта.
Теперь надо рассмотреть еще один момент. Если мы выделяем из схемы только один фрагмент и представляем его в виде «квадратика» на верхнем уровне, то тут все понятно. Что же происходит, когда надо компактно изобразить на чертеже верхнего уровня несколько одинаковых фрагментов? Решение здесь точно такое же. Выделяется унифицированный фрагмент схемы и из него делается чертеж нижнего уровня. А на верхнем уровне помещается столько «квадратиков», сколько нам нужно этих унифицированных узлов. Но как же мы узнаем, где и какой фрагмент находится и куда он подключается? По именам, которые мы даем при установке компонента в схему. Чтобы представить себе эту ситуацию более наглядно, вспомним, что комплект КД — это тоже только описание изделия. А вот серийные изделия на конвейере — это как раз полный аналог нашего случая. Так чем же отличаются новенькие автомобили, сходящие с конвейера? Они отличаются только своим «именем» — серийным номером.
Или другой пример: берем Си++, смотрим описание какого-нибудь класса. А также на то, как производится работа с экземпляром данного класса. Вот теперь мы подошли к объяснению терминов “instance” и “instantiate”. Фрагмент схемы, выделенный в описание нижнего уровня, будем называть “instance” — компонент. Размещение на схеме верхнего уровня такого фрагмента в виде блока будем называть установкой компонента — “instantiate”.
Итак, мы выяснили, что обсудим только часть описания изделия. Мы не будем обсуждать физическую сущность, конструкцию и прочее, все то, что не относится к схемотехнике. Мало того, «за кадром» останутся вопросы, связанные с алгоритмом функционирования. Они должны быть описаны в отдельном документе. Здесь же мы будем рассматривать только вопросы схемотехники. И так же, как при рассмотрении классических схем, можно сказать о том, как работает тот или иной узел, точно так же это суждение можно составить из HDL-описания блока. Но еще раз хочется напомнить, что классическое описание алгоритма работы устройства всегда должно быть сделано.
Языки программирования и языки описания аппаратуры
В чем же разница и в чем сходство таких языков? Мы уже выяснили, что любой предмет можно и нужно описывать следующим образом:
- В какой предметной области данный предмет применяется?
- Цели/задачи, для которых он предназначен?
- Из чего состоит предмет?
- Как эти части взаимодействуют?
- Как предмет взаимодействует с внешней средой?
Начнем с языков программирования
Будем считать, что читатель уже имел дело, пусть хотя бы и поверхностно, с одним из таких языков. (Ну, а если вы еще не работали с языками программирования, то вспомните ваши действия по управлению телевизором или СВЧ-печкой…). Язык программирования задает последовательность действий в фиксированной среде. Представим, что мы программируем микроконтроллер. Сам микроконтроллер от наших действий не меняется. Меняется только порядок обработки данных, поступающих в микроконтроллер и выдаваемых из него. При этом программист знает, что структура микроконтроллера и описание его команд приводятся в его комплекте документации. Микроконтроллер под управлением потока команд обрабатывает данные последовательно. Да, конечно, существуют процессоры, которые за один такт «умеют» выполнять несколько команд, есть каналы DMA, которые пересылают данные на периферийные узлы микроконтроллера для дальнейшей автономной обработки, но все же, в целом, обработка данных идет последовательно. Представим, что мы хотим произвести инкремент 100 переменных. Тогда в тексте программы это будет выглядеть так:
Х0++; Х1++; …. Х99++;
Можно сказать так: если представить, что каждая команда выполняется за один такт, то такой фрагмент программы будет выполнен микроконтроллером за 100 тактов.
Язык описания аппаратуры
Язык описания аппаратуры, в противоположность языку программирования, описывает связи в устройстве. А функционирование устройства будет происходить в соответствии с теми внешними воздействиями, которые будут к нему приложены. То есть разработчик аппаратуры, в соответствии с заданием для разработки, выбирает состав устройства и описывает этот состав и все связи устройства, пользуясь тем, что алгоритм его работы описан в комплекте документации или, если говорить более точно, в техническом задании, входящем в этот комплект. Поскольку составные части устройства могут работать независимо друг от друга, то для примера с инкрементированием 100 переменных на аппаратном уровне нужен будет всего лишь 1 такт. Конечно, скажет читатель, это же аппаратные «штучки», так можно сделать все, что разработчику угодно… Действительно, это так, но речь сейчас о другом. Дело в том, что в тексте описания аппаратуры, так же как и в тексте описания программы, будут присутствовать 100 строк примерно такого вида:
Хn = Хn +1;
Таким образом, внешне все очень похоже. Но только внешне. А по сути это будут 100 одновременных процессов. Необходимо еще раз подчеркнуть, что все процессы, изложенные на языке описания аппаратуры, идут одновременно. Конечно, языки описания аппаратуры кроме возможностей, предоставляемых структурным описанием, имеют набор возможностей и для поведенческого описания. Да, можно описать то, как должно работать устройство. Но здесь необходимо отметить, что поведенческое описание не всегда можно превратить в загружаемый в микросхему FPGA файл. Только самые элементарные поведенческие описания компилируются в синтезируемые конструкции. И из этого описания компилятор синтезирует опять только связи внутри устройства. А алгоритм работы на все устройство, как в целом, так и в этом случае, будет зависеть от связей и от входных воздействий на данное устройство.
Чем еще отличаются эти языки?
Текст программы на языке программирования пишется для того, чтобы он исполнялся на процессоре. Конечно, программа может быть написана на языке высокого уровня, который сам по себе не зависит от аппаратной платформы. Но компилятор с языка высокого уровня переводит весь текст программы в исполняемый код для определенного целевого процессора, на котором он и выполняется. И в текст программы могут быть добавлены фрагменты, которые позволяют на этапе ее отладки совершать какие-либо дополнительные действия. Можно применить условную компиляцию и вставить дополнительно фрагменты программы, позволяющие гибко перестраивать текст под нужды программиста. Текст описания аппаратуры на HDL-языке пишется и для того, чтобы провести симуляцию работы устройства, и для того, чтобы получить «прошивку», то есть загружаемый в FPGA файл. Поэтому в этих языках есть часть языковых конструкций, которые применяются только для симуляции и не могут быть синтезированы в аппаратные узлы. Разработчик обязан следить за тем, чтобы при описании того узла, который должен быть загружен в FPGA, применялись только синтезируемые конструкции языка или библиотечные компоненты, поставляемые производителем FPGA.
Что же общего у этих языков?
Общее — это то, что проекты и в том, и в другом языке строятся иерархически. Часть кода выделяется в классы, и экземпляры классов инстанциируются в проект. Используются библиотеки.
Далее необходимо отметить тенденцию по объединению этих языков. Дело в том, что сейчас появились версии языков программирования SystemC, System Verilog, позволяющие выполнять проекты на языке Си, с последующей автоматической компиляцией этих проектов на языки HDL.
VHDL и Verilog
Когда автора на одной из встреч в университете спросили студенты: «Что же нам надо изучать: VHDL или Verilog?», то ответ был такой: «А вы готовы пренебречь половиной рабочих мест только потому, что вы не захотели выучить оба эти языка?»
Нет нужды объяснять, что, как минимум, надо понимать оба этих языка. А на каком языке специализироваться? Есть такое негласное правило: фирма должна делать разработки на том языке программирования, на котором пишет ее лучший программист. Но, поскольку в нашей стране большинство книг написано университетскими преподавателями, а не разработчиками аппаратуры, то есть явный перекос в сторону VHDL. В то время как довольно большая часть инженеров с успехом пользуется языком Verilog. Поэтому автор уделит значительно больше внимания именно этому языку программирования. Практически, это и будет учебник по языку Verilog, а небольшие вкрапления примеров на VHDL помогут сравнить эти два языка и при необходимости быстрее перейти с одного языка на другой.
Переход от «картинок» к HDL
Схемное описание проекта, или «картинки» — это наиболее простое и доступное решение для небольших проектов. Оно, несомненно, наглядно и просто. И на этом все преимущества схемного описания проекта заканчиваются. Можно лишь добавить, что при использовании библиотек компонентов, поставляемых фирмой-изготовителем, удается применять параметризированные компоненты. Недостатки также очевидны. При увеличении сложности и объема проекта объем файлов тоже растет, и отладка такого проекта становится сложной. Более подробно об этом можно будет прочитать в тех разделах КК, где будут описаны методики отладки пользовательских проектов.
Несколько слов о терминологии
В любом языке, как в обычном разговорном, так и в техническом, есть свои устоявшиеся нормы и критерии. Есть свои слова для определения объектов и событий, а есть слова заимствованные. Когда заимствованные слова теряют свою новизну, то они воспринимаются уже как свои, «родные». Более сотни лет тому назад в литературных кругах шли дискуссии о «мокроступах» — так предлагали называть калоши некоторые отечественные литераторы, но в обиход вошло «импортное» слово. А когда СССР был ведущей научной державой, то все народы ввели в свои словари и начали применять слово «спутник». То же самое происходит и в других областях знаний. Те термины, которые первыми входят в оборот, получают наиболее широкое употребление. К сожалению, в той области знаний, к которой относится данная книга, наша страна сегодня не является лидером. Поэтому здесь нам приходится пользоваться терминологией, базирующейся на принятых во всем мире англоязычных терминах. Естественно, часть из этих терминов имеет понятный и привычный перевод. Но некоторые из них могут показаться читателю непривычными. Однако поскольку подавляющее большинство литературы в этой области написано на английском языке, то читателю, рано или поздно, придется к такой литературе обратиться. Поэтому автор не считает нужным вводить какие-либо «более литературные термины», для того чтобы читатель мог подготовить себя к чтению англоязычной литературы.
Теперь несколько слов о том, «как это работает». Если вы увидите такое выражение:
2+2 = 4;
то это, конечно, равенство. И тут все должно быть понятно.
Выражение Y = X в математике называют уравнением. А вот в языках HDL смысл такого выражения будет зависеть от того места, где оно приведено. Если выражение используется как математическое, то тут все понятно. А вот в том случае, когда такое выражение применяется для описания передачи сигналов от одних компонентов схемы к другим, его смысл меняется. При описании схемы используются термины операция и операнд. Операнды различаются на те, которые находятся справа и слева от знака операции.
Теперь необходимо познакомиться с теми терминами, которыми пользователь оперирует при описании проекта на языке Verilog.
Термин «назначение на цепь»: assign — назначить; assignment — назначение.
В терминах HDL приведенный пример можно трактовать так. Есть цепи Y — это приемник данных и X — это источник данных. И этим выражением цепи Y назначаются те данные, которые ей передает цепь X. При моделировании под выражениями Y и X понимаются и переменные.
Утверждение. Еще раз обратимся к нашему примеру. Вот такие выражения:
Y = X или Y <= X.
Это не формула, не уравнение. Это нечто совсем другое. В англоязычной литературе для такого выражения применяется термин statement (утверждение).
Драйвер сигнала. Это тот компонент схемы, который управляет сигналом в какой-либо конкретной цепи. Одна цепь может иметь несколько драйверов.
Instance — установленный в проекте пользователя компонент, представляющий собой экземпляр того, что сделано в описании модуля. Аналогичен применяемому в С++ экземпляру класса.
Положительный фронт — переход сигнала из состояния низкого уровня в состояние высокого уровня.
Отрицательный фронт — переход сигнала из состояния высокого уровня в состояние низкого уровня.
Примечание. В данном описании оставлены некоторые термины на английском языке, для того чтобы читатель смог в дальнейшем легко узнать их в англоязычной литературе.
Предупреждение об ответственности
Все приведенные в книге примеры являются учебными и могут использоваться в том виде, в каком приведены. Автор не несет ответственности за применение этих примеров читателями в своих разработках.
Продолжение следует
Quartus II по-русски
Главная > Quartus II по-русски
  Работа в среде Quartus II помимо очевидных плюсов, заложенных
инженерами Altera, таит некоторые нюансы, связанные с тонкостями
настройки приложений программы и организации ведения проектов Quartus II.
Неочевидным минусом является то, что программа и документация к ней
написаны на родном языке её авторов, а значит на неродном
для большинства русскоговорящего контингента инженеров.
Нарастающая сложность проектов требует внимания к деталям,
а значит научиться думать на двух языках одновременно.
Избежать возможной неопределённости можно с помощью
документов раздела «Quartus II по-русски».
Приятного чтения!
СОДЕРЖАНИЕ
«Вводный курс Quartus II для пользователей Verilog»
«Инкрементная компиляция в Quartus II для иерархических и командных проектов»
«Tcl скриптирование»
«Симуляция проекта с помощью инструментов EDA»
«Поддержка Mentor Graphics ModelSim/QuestaSim»
«Временной анализатор Quartus II TimeQuest»
«Лучшие примеры для временного анализатора Quartus II TimeQuest»
«Экосистема отладки в чипе»
«Быстрая отладка проекта с помощью SignalProbe»
«Отладка в системе с использованием встроенного логического анализатора SignalTap II»
«Отладка в системе с использованием внешних логических анализаторов»
«Обновление памяти и констант в системе»
«Отладка в системе с помощью исходников и пробников в системе»
«Отладка цепей приёмопередатчика с помощью System Console»
Вводный курс Quartus II для пользователей Verilog
Это небольшой самоучитель по проектированию в программе Quartus II. Существуют две версии этого самоучителя: для разработчиков на языке VHDL и для разработчиков на языке Verilog HDL. Я «прикипел» именно к Verilog HDL, а между двумя этими файлами отличие только в синтаксисе языка HDL. Вводный курс очень полезен начинающим разработчикам. |
Инкрементная компиляция в Quartus II для иерархических и командных проектов
Это мой перевод 2 главы 1 раздела 1 тома Quartus II Handbook. Volume 1: Design and Synthesis. 2.Quartus II Incremental Compilation for Hierarchical and Team-Based Design Без средства «инкрементная компиляция» сложно представить современный проект на ПЛИС. Инкрементная компиляция позволяет зафиксировать уже разработанные части проекта, чтобы они не загружали компилятор, пока будут разрабатываться другие модули; позволяет обмениваться готовыми модулями между разработчиками; планировать размещение будущего проекта в чипе, резервируя место под модули. Облегчает достижение проектом временных ограничений. В общем, значительно экономит ваше время. |
Титульный Введение  2-1 Решим, стоит ли использовать процесс инкрементной компиляции   2-1   Линейный процесс компиляции без создания разделов   2-2     Интеллектуальная компиляция Quartus II   2-3   Процесс инкрементной компиляции с разделами проекта   2-3   Нисходящая версия процесса восходящей компиляции   2-6 Руководству по быстрому старту – общий подход к процессу инкрементной компиляции   2-7   Подготовка проекта к нисходящей инкрементной компиляции   2-8   Компиляция проекта с использованием инкрементной компиляции   2-9 Решим, какие блоки проекта будут его разделами   2-9   Влияние разделов проекта на оптимизацию проекта   2-10   Отчёты статистики разделов   2-11   Временные отчёты разделов   2-13   Советник по инкрементной компиляции   2-13   Использование разделов с помощью инструментов синтеза сторонних разработчиков   2-15     Synplicity Synplify Pro/Premier и Mentor Graphics Precision RTL Plus   2-15     Другие инструментарии синтеза   2-15   Сравнение Назначений разделов проекта и Назначений физического размещения   2-15 Создание назначений разделов проекта   2-16   Создание разделов проекта с помощью Планировщика разделов проекта   2-16   Создание разделов проекта в Окне разделов проекта   2-18   Создание разделов проекта в Навигаторе проекта   2-18   Создание разделов проекта с помощью Tcl скриптов   2-19   Имя раздела   2-19 Установка типа списка соединений для раздела проекта  2-19   Уровень сохранения компоновки   2-21   Пустые разделы   2-22   Где хранятся базы данных списков соединений?   2-23   Какие изменения перезапускают автоматический синтез раздела?   2-23     Определим, когда в разделах перезапускается синтез при изменении исходного кода   2-24     Форсированное использование списка соединений пост-компоновка после внесения изменений в раздел   2-25 Создание архитектуры проекта с назначениями локализации LogicLock   2-25   Привлекательные преимущества Начальной Временной Оценки   2-28   Какие изменения в LogicLock перезапускают компоновку?   2-28 Экспорт и импорт разделов   2-29   Файлы экспорта разделов Quartus II (.   Общие сведения об инкрементной компиляции в восходящем проектировании   2-30     Подготовка проекта для инкрементной компиляции в восходящем проектировании   2-31     Создание и компиляция проектов нижнего уровня   2-31     Экспорт низкоуровневых проектов   2-32     Включение или импорт низкоуровневых проектов в головной проект   2-32     Выполнение инкрементной компиляции в головном проекте   2-32   Типы списков соединений для импортированных разделов   2-33   Экспорт низкоуровневого раздела для использования его в головном проекте   2-34   Экспорт низкоуровневого блока внутри проекта   2-35   Использование .qxp файла в качестве исходного файла в головном проекте   2-36   Импорт низкоуровневого раздела в головной проект   2-36   Импорт назначений и расширенные настройки импорта   2-38     Свойства разделов проекта после импортирования   2-38     Импортирование назначений раздела из подпроекта   2-38     Файлы Ограничений Проекта Synopsys для временного анализатора Quartus II TimeQuest   2-38     Импортирование назначений LogicLock   2-38     Импорт других назначений для блоков   2-39     Импорт глобальных назначений   2-39     Расширенные настройки импорта   2-39       Позволить создавать новые назначения   2-39       Снабдить назначениями все модули в импортированном блоке   2-39       Назначение разрешения конфликтов: регионы LogicLock   2-39       Назначение разрешение конфликтов: прочие назначения   2-40   Генерация скриптов раздела восходящего проектирования для менеджера проекта  2-40     Создание проекта   2-41     Исключенные разделы   2-41     Назначения из головного проекта   2-41     Назначения виртуальных выводов   2-42       Временные и локальные назначения для виртуальных выводов   2-42       Назначения регионов LogicLock   2-43       Назначения продвижения глобальных сигналов   2-43       Генерация сборочного файла   2-44   Импорт SDC ограничений из низкоуровневого проекта   2-45     Создание .       Пример первого шага: Руководитель проекта создает файл .sdc с общими ограничениями проекта для проекта нижнего уровня   2-47     Создание .sdc файла со специальными ограничениями для проекта   2-47       Пример второго шага: Разработчик проекта нижнего уровня создает файл .sdc со специальными ограничениями раздела     Объединение SDC файлов в головном проекте   2-48       Пример третьего шага: Руководитель проекта выполняет окончательный временной анализ и заканчивает работу   2-48 Рекомендованные процессы проектирования и примеры компиляции  2-49   Уменьшение времени компиляции при изменении исходного файла для одного раздела   2-49   Оптимизация размещения для критичных ко времени разделов для достижения временного завершения   2-50   Сохранение результатов для выбранных разделов перед добавлением других разделов   2-51   Инкрементная отладка с помощью Логического Анализатора SignalTap II   2-52   Выполнение командного проекта в восходящем проектировании   2-53     Разрешение конфликтов назначений во время импорта   2-55     Импортирование раздела для многократного использования   2-55   Выполнение итерации проекта в восходящем проектировании   2-56   Создание макроса на аппаратном уровне (или предкомпилированных блоков проекта) для повторного использования IP   2-57   Использование экспортированного раздела для передачи проекта без включения исходных файлов   2-59 Ограничения в инкрементной компиляции  2-60   Сохранение точных временных характеристик   2-61   Когда размещение и разводка не могут быть в точности сохранены   2-61   Использование инкрементной компиляции с архивными файлами Quartus II   2-61   Поддержка формальной верификации   2-61   Импорт зашифрованного IP ядра в восходящем проектировании   2-61   Выводы SignalProbe и менеджер инженерных изменений в Планировщике Чипа   2-62     Разделы, связанные с выводами SignalProbe или изменениями ЕСО   2-62     Экспортируемые разделы   2-63   Встроенный логический анализатор SigalTap II в процессе восходящей компиляции   2-64   Интерфейс логического анализатора в процессе восходящей компиляции   2-64   Миграция проекта с разделами в различные чипы   2-64   Компиляция HardCopy и процесс миграции   2-65     Чипы HardCopy APEX и HardCopy Stratix   2-65     Процесс миграции HardCopy ASIC   2-65     Автономные компиляции HardCopy ASIC   2-65   Назначения, сделанные в исходном коде HDL в восходящем проектировании   2-65   Ограничения в разделах мегафункций   2-65   Упаковка регистров и границы разделов   2-66   Упаковка I/O регистров   2-66   Ограничения в скриптах раздела восходящего проектирования   2-66     Предупреждения о дополнительных тактах в отношении скриптов раздела восходящего проектирования   2-67     Файл ограничения проекта Synopsys для временного анализатора TimeQuest в скриптах раздела восходящего проектирования   2-67     Поддержка дикой карты в скриптах раздела восходящего проектирования   2-67     Полученные такты и PLL в скриптах раздела восходящего проектирования   2-67     Назначение выводов для блоков GXB и LVDS в скриптах раздела восходящего проектирования   2-68     Временные назначения для виртуальных выводов в скриптах раздела восходящего проектирования   2-68     Порты головного проекта, ведущие к множеству выводов проектов нижнего уровня в скриптах раздела восходящего проектирования   2-68 Поддержка скриптов  2-69   Подготовка проекта для инкрементной компиляции   2-69   Создание разделов проекта   2-69   Настройка свойств разделов проекта   2-70   Создание назначений локализации архитектуры – исключение или фильтрация определенные элементов чипа (таких как блоки памяти и DSP)   2-71   Генерация скриптов раздела восходящего проектирования   2-71     Поддержка командной строки   2-72   Экспорт раздела для использования в головном проекте   2-73   Импорт раздела нижнего уровня в головной проект   2-74   Создатель файлов   2-74   Рекомендуемый процесс разработки и примеры приложений компиляций – скриптирование и операции с командной строкой   2-74     Уменьшение времени компиляции, когда изменяется исходный файл для одного раздела – пример с командной строкой   2-75     Оптимизация размещения для критичных ко времени разделов   2-75 Заключение   2-76 |
Tcl скриптирование
Это мой перевод 3 главы 1 раздела 2 тома Quartus II Handbook.
Volume 2: Design Implementation and Optimization Chapter 3. Tcl Scripting
Скрипты представляют более детальный подход в организации и управлении проектом. Они позволяют значительно экономить
время за счёт автоматизации некоторых процессов разработки. В этой главе описаны общие вопросы использования Tcl скриптов
в проекте Quartus II, а также описаны основы языка TCL.
Введение   3-1     Что такое Tcl?   3-2 Quartus II Tcl пакеты   3-2     Загрузка пакетов   3-3 Quartus II Tcl API помощь   3-3     Опции командной строки: -t, -s, и —tcl_eval   3-6         Запуск Tcl скрипта   3-6         Режим интерактивной оболочки   3-6         Определение в качестве Tcl   3-7     Использование окна Quartus II Tcl консоли   3-7 Сквозной процесс проектирования   3-7 Создание проектов и назначений   3-8     Проекты в чипах HardCopy   3-8 Компиляция проектов   3-9     Пакет flow   3-9     Компиляция всех версий   3-9 Отчёты   3-10     Создание .csv файлов для Excel   3-11 Временной анализ   3-12 Автоматическое исполнение скрипта   3-12     Примеры исполняемых компонентов   3-13     Контролирование процессов   3-14     Отображение сообщений   3-14 Другие средства скрипта   3-14     Обычное наименование шины   3-15     Опция сокращения имён   3-15     Использование коллекции команд   3-15         Команда foreach_in_collection   3-16         Команда get_collection_size   3-16     Использование команды post_message   3-16     Доступ к аргументам командной строки   3-17         Использование пакета cmdline   3-17 Использование оболочки Quartus II Tcl в интерактивном режиме   3-19 Использование оболочки tclsh   3-20 Основы Tcl скриптов   3-20     Пример “Hello world”   3-20     Переменные   3-20     Подстановка   3-21         Подстановка значения переменной   3-21         Подстановка вложенной команды   3-21         Подстановка обратным слешем   3-21     Арифметика   3-21     Списки   3-22     Массивы   3-22     Контролирующие структуры   3-23     Процедуры   3-24     Входные/выходные файлы   3-25     Синтаксис и комментарии   3-25 |
Симуляция проекта с помощью инструментов EDA
Это мой перевод 1 главы 1 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
1. Simulating Designs with EDA Tools
После того, как фирма Altera прекратила поддержку собственного встроенного симулятора,
разработчики были вынуждены выбрать себе альтернативный симулятор:
ModelSim, QuestaSim, Active-HDL, Riviera-PRO, VCS, VCS MX или NCSim.
В этой главе рассказывается о настройках программы Quartus II в разделе симуляции,
о том, какие библиотеки симуляции потребуются для выполнения функциональной симуляции,
временной на уровне вентилей и симуляции списка соединений пост-синтез.
А также о настройках и использовании средства NativeLink, которое
позволяет автоматизировать процесс запуска симулятора в оболочке Quartus II.
Введение   1-1 PLD процесс проектирования   1-2     Процесс функциональной симуляции RTL   1-3     Процесс временной симуляции на уровне вентилей   1-4     Конвертирование формата BDF в формат HDL   1-4 Библиотеки симуляции   1-5     Функциональная симуляция RTL   1-5     Временная симуляция на уровне вентилей   1-6     Файлы симуляции списков соединений   1-6     Генерация файлов списков соединений для пост-синтез симуляции   1-7     Генерация файлов списков соединений для временной симуляции на уровне вентилей   1-7     Генерация файлов списков соединений для временной симуляции в различных временных моделях   1-8 EDA компилятор библиотек симуляции   1-9     Запуск EDA компилятора библиотек симуляции в графической оболочке   1-10     Запуск EDA компилятора библиотек симуляции из командной строки   1-11 Использование средства NativeLink   1-11     Установка пути к исполняемым файлам EDA симулятора   1-11     Конфигурирование настоек NativeLink   1-12     Запуск RTL функциональной симуляции с помощью средства NativeLink   1-14     Запуск временной симуляции на уровне вентилей с помощью средства NativeLink   1-14     Установка файлов тестовых стендов в средстве NativeLink   1-14 Заключение   1-16 |
Поддержка Mentor Graphics ModelSim/QuestaSim
Это мой перевод 2 главы 1 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
2. Mentor Graphics ModelSim/QuestaSim Support
В этой главе содержатся подробные инструкции, как симулировать ваш проект в программах ModelSim-Altera®,
Mentor Graphics® ModelSim и Mentor Graphics QuestaSim.
Рассматривается три способа симуляции: функциональная, пост-синтез и временная на уровне вентилей.
Подробно рассмотрены различные способы симуляции с чипами,
имеющими встроенные передатчики. Изложены инструкции по выполнению симуляции:
в графической оболочке, из командной строки и с помощью Tcl скриптов.
Программные требования   2-1 Процесс проектирования с программой ModelSim-Altera или ModelSim/QuestaSim   2-2 Библиотеки симуляции   2-2     Предварительно скомпилированные библиотеки симуляции в программе ModelSim-Altera   2-2     Файлы библиотек симуляции в программе Quartus II   2-3     Запрещение временных нарушений в регистрах   2-3 Выполнение симуляции в программе ModelSim-Altera   2-3     Выполнение функциональной симуляции   2-3         Установка проекта Quartus II для программы ModelSim-Altera   2-4         Компиляция и загрузка проектов в программе ModelSim-Altera   2-4         Выполнение симуляции   2-4     Выполнение пост-синтез симуляции   2-4     Выполнение временной симуляции на уровне вентилей   2-4 Выполнение симуляции в программе ModelSim/QuestaSim   2-5     Симуляция VHDL проектов в графической оболочке   2-5         Выполнение функциональной симуляции   2-5         Выполнение пост-синтез симуляции   2-6         Выполнение симуляции на уровне вентилей   2-7     Симуляция Verilog HDL проектов в графической оболочке   2-7         Выполнение функциональной симуляции   2-7         Выполнение пост-синтез симуляции   2-8         Выполнение симуляции на уровне вентилей   2-9     Симуляция VHDL проектов в командной строке   2-9         Выполнение функциональной симуляции   2-9         Выполнение пост-синтез симуляции   2-11         Выполнение симуляции на уровне вентилей   2-12     Симуляция Verilog HDL проектов в командной строке   2-13         Выполнение функциональной симуляции   2-13         Выполнение пост-синтез симуляции   2-14         Выполнение симуляции на уровне вентилей   2-15     Передача параметрической информации от Verilog HDL к VHDL   2-15     Ускорение симуляции   2-16 Симуляция проектов, имеющих передатчики   2-16     Функциональная симуляция чипов Stratix GX   2-17         Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-17         Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-17         Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-17         Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-17     Временная симуляция на уровне вентилей для чипов Stratix GX   2-18         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-18         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-18         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-18         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-19     Функциональная симуляция чипов Stratix II GX   2-19         Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-19         Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-19         Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-20         Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-20     Временная симуляция на уровне вентилей для чипов Stratix II GX   2-20         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-20         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-20         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-21         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-21     Функциональная симуляция чипов Stratix IV GX   2-21         Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-21         Выполнение функциональной симуляции VHDL (ModelSim/QuestaSim)   2-21         Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-22         Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-22     Временная симуляция на уровне вентилей для чипов Stratix IV GX   2-22         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim-Altera)   2-22         Выполнение временной симуляции на уровне вентилей VHDL (ModelSim/QuestaSim)   2-22         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim-Altera)   2-23         Выполнение временной симуляции на уровне вентилей Verilog HDL (ModelSim/QuestaSim)   2-23     Функциональная симуляция чипов Stratix V GX   2-23         Выполнение функциональной симуляции VHDL (ModelSim-Altera)   2-24         Выполнение функциональной симуляции Verilog HDL (ModelSim-Altera)   2-24         Выполнение функциональной симуляции Verilog HDL (ModelSim/QuestaSim)   2-24     Транспортные задержки   2-24 Использование средства NativeLink с программой ModelSim-Altera или ModelSim/QuestaSim   2-24 Верификация сообщений об ошибке в ModelSim/QuestaSim   2-25 Генерация файла дампа изменений временных значений (. Просмотр временных диаграмм из .wlf файла   2-26 Поддержка скриптов   2-26     Генерирование списка соединений для пост-синтез симуляции в ModelSim/QuestaSim   2-27         Tcl команды   2-27         Командная строка   2-27     Генерирование списка соединений для временной симуляции на уровне вентилей в ModelSim/QuestaSim   2-27         Tcl команды   2-27         Командная строка   2-28 Лицензирование программы и установка лицензии в ModelSim-Altera Subscription Edition   2-28     Переменная LM_LICENSE_FILE   2-29 Заключение   2-29 |
Временной анализатор Quartus II TimeQuest
Это мой перевод 7 главы 2 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 7.The Quartus II TimeQuest Timing Analyser Средство TimeQuest — обязательный инструмент разработки любого более-менее сложного проекта. Временной анализатор Quartus II TimeQuest – это следующее поколение инструментария временного анализа, который поддерживает формат промышленного стандарта SDC и позволяет разработчикам создавать, управлять и анализировать сложные временные ограничения, а также выполнять расширенную временную верификацию. |
Титульный Введение   7-1 Начало работы с временным анализатором Quartus II TimeQuest   7-2   Установка временного анализатора Quartus II TimeQuest   7-2 Процесс компиляции с указаниями временного анализатора Quartus II TimeQuest   7-2 Запуск временного анализатора Quartus II TimeQuest   7-4   Непосредственно из программы Quartus II   7-4   В автономном режиме   7-4   В режиме командной строки   7-4 Общий вид временного анализатора   7-6   Анализ тактов   7-10     Контроль времени установки   7-10     Контроль удержания тактов   7-11     Восстановление и удаление   7-12   Мультицикловые пути   7-14   Метастабильность   7-15   Пессимизм общих тактовых путей   7-16   Такты в качестве данных   7-18 Руководство по процессу временного анализа в Quartus II   7-19   Создание временного списка соединений   7-20   Прочитать файл ограничений проекта Synopsys   7-20   Обновление временного списка соединений   7-20   Генерация временных отчётов   7-20 Коллекции   7-21   Примеры приложений   7-22 Файл ограничения SDC   7-22   Компоновка и временной анализ с помощью файлов SDC   7-22   Определение SDC файлов для размещения и разводки   7-23   Определение SDC файлов для статического временного анализа   7-23   Первенство файла ограничений Synopsys   7-23 Спецификация тактов   7-24   Такты   7-24     Сгенерированные такты   7-25   Виртуальные такты   7-28   Мульти-частотные такты   7-29   Автоматическое детектирование тактов   7-30   Получение тактов PLL   7-30   Ограничения тактов по умолчанию   7-33   Тактовые группы   7-33   Эффективные характеристики тактов   7-35     Задержка тактов   7-35     Неопределённость тактов   7-36   Вычисление тактовой неопределённости   7-37     Межтактовые переходы   7-38     Внутритактовые переходы   7-38     Тактовые переходы интерфейса I/O   7-38 Спецификация I/O   7-39   Задержки входа и выхода   7-39     Установка входной задержки   7-39     Установка выходной задержки   7-41 Спецификация задержки и расфазировки   7-42   set_net_delay   7-42   set_max_skew   7-43 Временные исключения   7-44   Приоритеты   7-44   Ложный путь   7-44   Минимум задержки   7-45   Максимум задержки   7-46   Мультицикловый путь   7-47   Аннотированная задержка   7-48   Примеры применения   7-50 Удаление ограничений и исключений   7-51 Временные отчеты   7-51   report_timing   7-52   report_exceptions   7-55   report_metastability   7-57   report_clock_transfers   7-57   report_clocks   7-58   report_min_pulse_width   7-59   report_net_timing   7-60   report_sdc   7-61   report_ucp   7-61   report_bottleneck   7-62   report_datasheet   7-64   report_rskm   7-64   report_tccs   7-65   report_partitions   7-66   report_path   7-66   report_net_delay   7-68   report_max_skew   7-69   check_timing   7-70   report_clock_fmax_summary   7-73   create_timing_summary   7-73 Средства временного анализа   7-74   Многоугольный анализ   7-74   Расширенные временные назначения I/O и модели трассировки платы   7-76   Назначение «дикой карты» и коллекции   7-76   Сброс проекта   7-78   Межпробник   7-78     locate   7-78 Графическая оболочка (GUI) временного анализатора TimeQuest   7-79   Интерфейс и опции программы Quartus II   7-80   Панель вида   7-81     Панель вида: Дробление   7-81     Панель вида: удаление разделённых окон   7-82   Панель задач   7-83     Открытие проекта и запись файла ограничений проекта Synopsys   7-83     Папка установки списка соединений   7-83     Папка отчётов   7-84     Папка макросов   7-84   Панель консоли   7-85   Панель отчётов   7-85   Ограничения   7-85   Поиск по имени   7-87   Панель объектов   7-88   Редактор SDC   7-89 Заключение   7-89 |
Лучшие примеры для временного анализатора Quartus II TimeQuest
Это мой перевод 8 главы 2 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
8.Best practices for the Quartus II TimeQuest Timing Analyser
В этой главе в очень сжатом виде преподносится информация о применении
временных ограничений в проекте. Рассматриваются примеры написания
TCL скриптов различных временных ограничений. Определённый минимум навыков.
Экосистема отладки в чипе
Это мой перевод вводной главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. In system debugging Даётся вводная информация о средствах отладки проекта в системе. Приводится методика выбора оптимального средства отладки с точки зрения использования доступных ресурсов и скорости получения данных. Приведено краткое сравнение таких средств: SignalProbe,встроенный логический анализатор SignalTap II, использование внешних логических анализаторов, редактор памяти и констант в системе, исходники и пробники в системе. |
Введение   IV-1   Экосистема отладки в чипе   IV-1     Инструменты анализа для RTL узлов   IV-3     Использование ресурсов   IV-4     Использование выводов   IV-5     Улучшенное удобство в применении   IV-6   Инструменты, оказывающие воздействие   IV-8     Исходники и пробники в системе   IV-8     Редактор содержимого памяти в системе   IV-8     Мегафункция интерфейса виртуального JTAG   IV-9   Заключение   IV-9 |
Быстрая отладка проекта с помощью SignalProbe
Это мой перевод 13 главы 4 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
13. Quick Design Debugging Using SignalProbe
SignalProbe, или пробники сигналов, — это действительно
быстрый способ «установить» щуп осциллографа на выход
практически любого регистра в проекте.
При этом отсутствует какое-либо влияние от размещения
SignalProbe на внутреннюю логику проекта и использование
сетей линий трассировки сигнала.
Введение   13-1   Отладка с использованием средства SignalProbe   13-1     Резервирование выводов SignalProbe   13-2     Выполнение полной компиляции   13-3     Назначение исходников для выводов SignalProbe   13-3     Добавление регистров линиям пути до вывода SignalProbe   13-4     Выполнение SignalProbe компиляции   13-5     Анализ результатов SignalProbe компиляции   13-5 Процессы SignalProbe ECO   13-6     Процесс SignalProbe ECO с инкрементной компиляцией Quartus II   13-6     Процесс SignalProbe ECO без инкрементной компиляции Quartus II   13-7   Общие вопросы о средстве SignalProbe   13-8 Поддержка скриптов   13-11     Создание вывода SignalProbe   13-11     Удаление вывода SignalProbe   13-11     Разрешение вывода SignalProbe   13-11     Запрещение вывода SignalProbe   13-11     Выполнение SignalProbe компиляции   13-11     Перемещение предыдущих выводов SignalProbe в версии программы Quartus II 6.     Пример скрипта   13-12     Использование SignalProbe для семейства чипов APEX™   13-12     Добавление исходников SignalProbe   13-12     Выполнение SignalProbe компиляции   13-13     Запуск SignalProbe в интеллектуальной компиляции   13-13     Осмысление результатов SignalProbe компиляции   13-14     Средства анализа разводки SignalProbe   13-15     Поддержка скриптов SignalProbe для чипов APEX   13-15 Резервирование выводов SignalProbe   13-16     Добавление исходников SignalProbe   13-16     Назначение стандартов I/O   13-16     Добавление регистров к линиям пути   13-16     Автоматический запуск SignalProbe   13-17     Ручной запуск SignalProbe   13-17     Разрешение или запрещение всей SignalProbe разводки   13-17     Запуск SignalProbe в интеллектуальной компиляции   13-17     Позволять SignalProbe модифицировать результаты предыдущей компоновки   13-17   Заключение   13-18 |
Отладка в системе с использованием встроенного логического анализатора SignalTap II
Это мой перевод 14 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 14. Design Debugging Using the SignalTap II Embedded Logic Analyzer Этот логический анализатор помогает отлаживать проект FPGA путём пробирования состояний внутренних сигналов без использования внешней обвязки. Все захваченные сигналы данных легко сохраняются в памяти чипа, пока вы не будете готовы для чтения и анализа данных. Обладая достаточными ресурсами внутренней памяти и логических элементов FPGA, вы достаточно просто сможете построить любую схему события (или последовательности событий), по которому данные будут защёлкиваться в памяти встроенного анализатора. SignalTap II — это наиболее экономичный способ получения многофункционального логического анализатора для быстрой и эффективной отладки проектов любой сложности. |
Введение   14-1     Требования к программе и оборудованию   14-2 Процесс разработки с использованием встроенного логического анализатора SignalTap® II   14-4 Задачи процесса встроенного логического анализатора SignalTap® II   14-4     Добавление встроенного логического анализатора SignalTap® II в ваш проект   14-5     Конфигурирование встроенного логического анализатора SignalTap® II   14-5     Определение состояний триггеров   14-6     Компиляция проекта   14-6     Программирование выбранного чипа или чипов   14-6     Запуск встроенного логического анализатора SignalTap II   14-6     Наблюдение, анализ и использование захваченных данных   14-6 Добавление встроенного логического анализатора SignalTap® II в ваш проект   14-6     Создание и разрешение файла SignalTap II   14-7         Создание файла SignalTap II   14-7         Разрешение или запрещение файла SignalTap II в текущем проекте   14-8     Встраивание нескольких анализаторов в один FPGA   14-9     Мониторинг ресурсов, используемых встроенным логическим анализатором SignalTap II   14-9     Использование менеджера плагинов MegaWizard для создания вашего встроенного логического анализатора   14-10         Создание HDL описания с использованием менеджера плагинов MegaWizard   14-10         Порты мегафункции SignalTap II   14-13         Размещение встроенного логического анализатора SignalTap II в вашем HDL коде   14-14 Конфигурирование встроенного логического анализатора SignalTap® II   14-14     Назначение такта захвата   14-14     Добавление сигналов в файл SignalTap II   14-15         Сохранение сигнала   14-17         Назначение сигналов данных с помощью поиска узлов   14-17         Назначение сигналов данных с помощью обозревателя технологической карты   14-18         Использование опций для сигналов из списка узлов   14-19         Защищённые от захвата сигналы   14-19     Добавление сигналов с помощью плагина   14-19     Добавление регистров состояний конечного автомата   14-20         Изменение и восстановление мнемонических таблиц для конечных автоматов   14-22         Дополнительные возможности анализа   14-22     Определение глубины замеров   14-23     Сбор данных в RAM определённого типа   14-23     Выбор режима для буфера сбора данных   14-23         Несегментный буфер   14-24         Сегментный буфер   14-24     Использование средства квалификации памяти   14-25         Режим входной порт   14-27         Переходный режим   14-28         Условный режим   14-29         Режим старт/стоп   14-30         Базовое состояние   14-31         Показ прерываний данных   14-31         Запрещение квалификатора памяти   14-31     Менеджер нескольких файлов SignalTap II и конфигураций   14-32 Определение триггеров   14-33     Создание базовых состояний триггера   14-33     Создание расширенных состояний триггера   14-34         Примеры выражений расширенных состояний триггера   14-35     Контроль процесса состояний триггера   14-36         Последовательный триггер   14-36         Настраиваемые триггеры базовых состояний   14-38         Язык описания процесса триггера SignalTap II   14-42         Метки состояний   14-42         Булевы соотношения   14-43         Список действий   14-43         Действия манипуляции с ресурсами   14-43         Действия контроля буфера   14-44         Действие перехода состояния   14-44         Использование средства квалификатора памяти базовых состояний   14-45     Определение позиции триггера   14-48     Создание триггера включения   14-49         Разрешение триггера включения   14-49         Управление и конфигурирование состояний триггера включения и триггера в запущенном времени   14-50     Использование внешних триггеров   14-51         Входной триггер   14-51         Выходной триггер   14-51         Использование выхода триггера одного анализатора как входа триггера другого анализатора   14-52 Компиляция проекта   14-53     Быстрые компиляции с инкрементной компиляцией Quartus II   14-53         Разрешение инкрементной компиляции в вашем проекте   14-54         Использование инкрементной компиляции со встроенным логическим анализатором SignalTap II   14-55     Предотвращение изменений вынужденной перекомпиляции   14-57     Сохранение временных параметров во встроенном логическом анализаторе SignalTap II   14-57     Анализ ресурсов и характеристик   14-57 Программирование выбранного чипа или чипов   14-59     Программирование одного чипа   14-59     Программирование нескольких чипов для отладки нескольких проектов   14-60 Запуск встроенного логического анализатора SignalTap II   14-60     Запуск с триггером включения   14-62     Запуск с триггером в запущенном времени   14-62     Выполнение форсированного триггера   14-62     Опции реконфигурации в запущенном времени   14-63     Статусные сообщения SignalTap II   14-65 Наблюдение, анализ и использование захваченных данных   14-66     Наблюдение захваченных данных   14-66     Захват данный с использованием сегментных буферов   14-67     Создание мнемоники для последовательности битов   14-69     Автоматическая мнемоника с плагином   14-69     Локализация узлов в проекте   14-69     Сохранение захваченных данных   14-70     Конвертация захваченных данных в другие форматы файлов   14-70     Создание файла списка SignalTap II   14-71 Другие средства   14-71     Использование функции SignalTap II MATLAB MEX для захвата данных   14-71     Использование SignalTap II в лаборатории   14-73     Удалённая отладка с использованием встроенного логического анализатора SignalTap II   14-73         Установка оборудования   14-73         Установка программы на удалённом ПК   14-73         Установка программы на локальный ПК   14-74         Установка SignalTap II на локальный ПК   14-75     Использование встроенного логического анализатора SignalTap II в чипах с конфигурацией Bitstream Security   14-75     Обратная совместимость с предыдущими версиями программы Quartus II   14-76 Поддержка скриптов в SignalTap II   14-76     Опции командной строки SignalTap II   14-76     Опции Tcl команд SignalTap II   14-78 Пример проекта: использование встроенного логического анализатора SignalTap II в системах разработки SOPC   14-79 Примеры приложений процесса настраиваемого триггера   14-79     Пример проекта 1: Определение позиции настраиваемого триггера   14-80     Пример проекта 2: Захват, когда срабатывает triggercond1 ожидать десять тактов между triggercond2 и triggercond3   14-80 Заключение   14-81 |
Отладка в системе с использованием внешних логических анализаторов
Это мой перевод 15 главы 4 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
15. In-System Debugging Using External Logic Analyzers
Это средство отладки имеет ряд отличий от встроенного логического анализатора SignalTap II.
Внешний логический анализатор использует минимум логики чипа FPGA для реализации
управляемых мультиплексоров, на которые поступают пробники сигналов.
Он использует внешний тактовый сигнал, позволяя асинхронно контролировать пробники.
Глубина захвата данных не зависит от внутренних ресурсов FPGA (в отличии от SignalTap II).
Однако скорость получения данных меньше, чем в SignalTap II.
И для размещения выводов анализатора приходиться резервировать внешние выводы FPGA,
тогда как SignalTap II использует для отладки стандартные выводы JTAG.
В этой главе содержится полная информация по элементов LAI и подводу к ним пробников.
А также описано использование LAI в инкрементной компиляции Quartus II.
Введение   15-1 Выбор логического анализатора   15-1     Необходимые компоненты   15-2     Поддержка чипов FPGA   15-3 Отладка вашего проекта с использованием интерфейса логического анализатора   15-3     Создание LAI файла   15-4         Создание нового файла логического анализатора   15-5         Открытие существующего файла интерфейса внешнего анализатора   15-5         Сохранение файла интерфейса внешнего анализатора   15-5     Конфигурирование основных параметров файла интерфейса логического анализатора   15-5     Разводка выводов файла интерфейса логического анализатора по доступным I/O выводам   15-6     Разводка внутренних сигналов к банкам интерфейса логического анализатора   15-7     Использование поиска узлов   15-7     Разрешение интерфейса логического анализатора перед компиляцией вашего проекта Quartus II   15-8     Компилирование вашего проекта Quartus   II 15-8     Программирование вашего FPGA, используя интерфейс логического анализатора   15-9     Использование интерфейса логического анализатора с несколькими чипами   15-10     Конфигурирование банков в файле интерфейса логического анализатора   15-10     Получение данных в вашем логическом анализаторе   15-10 Расширенные средства   15-11     Использование интерфейса логического анализатора в инкрементной компиляции   15-11     Создание различных элементов интерфейса логического анализатора в одном FPGA   15-11 Выводы   15-12 |
Обновление памяти и констант в системе
Это мой перевод 16 главы 4 раздела 3 тома Quartus II Handbook.
Volume 3: Verification.
16. In-System Updating of Memory and Constants
Это прекрасное средство отладки.
С его помощью можно просматривать данные во внутренней памяти Altera,
а также в реальном времени изменять их.
Удобное средство для обновления программы встроенного процессора,
а также для подбора коэффициентов цифрового фильтра.
Введение   16-1 Общее представление   16-1 Поддержка мегафункций чипом   16-2 Использование обновления в системе памяти и констант в вашем проекте   16-2 Создание модифицируемых в системе памяти и констант   16-3 Запуск редактора содержимого памяти в системе   16-3     Менеджер элемента   16-4     Редактирование данных в редакторе Hex   16-6     Импорт и экспорт файлов памяти   16-6     Просмотр содержимого памяти и констант   16-6     Поддержка скриптов   16-8     Программирование чипа, используя редактор содержимого памяти в системе   16-8     Пример использования редактора содержимого памяти в системе вместе с встроенным логическим анализатором SignalTap II   16-9 Заключение   16-9 |
Отладка в системе с помощью исходников и пробников в системе
Это мой перевод 17 главы 4 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 17. Design Debugging Using In-System Sources and Probes Данное средство дополняет использование SignalTap II и SignalProbe. С его помощью вы можете создать исходные стимулы и проследить реакцию на их воздействие. Таким образом, оно позволяет создавать примитивное воздействие, например, нажатие на виртуальную кнопку или срабатывание виртуального датчика, с тем, чтобы уже в более мощных средствах отладки проследить реакцию на это воздействие. |
Отладка цепей приёмопередатчика с помощью System Console
Это мой перевод 11 главы 3 раздела 3 тома Quartus II Handbook. Volume 3: Verification. 11. Transceiver Link Debugging Using the System Console Средство Transceiver Toolkit появилось в 10 версии программы Quartus II. Оно предназначено для отладки и настройки цепей высокоскоростных приёмопередатчиков. Transceiver Toolkit позволяет проводить тестирование между платами, тестирование между чипами на одной отладочной плате, а также тестирование внутренней обратной связи в одном канале, без необходимости использования внешних обратных связей. Критерием тестирования является частота появления ошибочных битов (BER). |
Введение в Transceiver Toolkit   11-1     Интерфейс пользователя Transceiver Toolkit   11-2 Примеры проектов отладки цепи приёмопередатчика   11-3     Установки тестов для цепи отладки   11-3     Компиляция примеров проектов   11-8     Изменение назначений выводов   11-8 Настройки тестовой цепи в Transceiver Toolkit   11-9     Загрузка проекта в System Console   11-9     Компоновка аппаратных ресурсов   11-9     Создание каналов   11-10     Запуск тестов цепи   11-11     Просмотр результатов в средстве EyeQ   11-12 Использование Tcl в System Console   11-13     Запуск Tcl скриптов   11-14 Использование сценариев   11-14     Линковка одного проекта с одним чипом, подключение через один кабель USB-Blaster   11-15     Линковка двух проектов с двумя отдельными чипами на одной плате (цепь JTAG), подключение через один кабель USB-Blaster   11-15     Линковка двух проектов с двумя отдельными чипами на разных платах, подключение через отдельные кабели USB-Blaster   11-15     Линковка одного проекта с двумя отдельными чипами   11-15     Линковка несвязанных проектов   11-16     Сохранение ваших установок в виде Tcl скриптов   11-16     Проверка корректности каналов после создания цепи   11-16     Использование рекомендованного DFE процесса   11-17     Запуск синхронных тестов   11-17     Разрешение внутренней последовательной обратной связи   11-18 Быстрый проводник по использованию Transceiver Toolkit в программе Quartus II   11-18     Подготовка к использованию Transceiver Toolkit   11-18     Работа с примерами проектов   11-19     Редактирование примеров проектов   11-20     Задание цепи в Transceiver Toolkit для тестов высокоскоростных цепей   11-21     Запуск тестов Auto Sweep   11-22     Запуск тестов EyeQ   11-22     Запуск ручных тестов   11-23     Использование обычного процесса   11-23     Посмотрите онлайн демонстрацию   11-24 Заключение   11-24 |
Иллюстрированный самоучитель по OrCAD › Создание проекта в OrCAD Capture › Выбор типа проекта [страница — 18] | Самоучители по инженерным программам
Выбор типа проекта
Проекты, созданные с помощью программы OrCAD Capture, заносятся в файлы с расширением . opj (по терминологии, принятой в программе, проект называется Project), которые содержат ссылки на имена всех используемых файлов: файлов отдельных схем (*.dsn, по принятой терминологии файлы схем называются Design, в переводе также «проект»), библиотек, текстовых VHDL-файлов, файлов отчетов о проекте и др. В файле проекта могут содержаться ссылки на одну или несколько папок (эти папки изображаются в окне менеджера проектов, см. рис. 2.2), ассоциируемых с файлами принципиальных схем. Папка принципиальной схемы содержит одну или несколько страниц схемы. Файл схемы содержит также Design cahe – кэш проекта, который содержит копии символов компонентов, используемых в схеме. Проект может содержать ссылки на несколько библиотек. Однако он может иметь только одну схему (файл с расширением имени .dsn), состоящую из одной или нескольких страниц. Можно создать новый проект и затем создать новые схемы, библиотеки и VHDL-файлы. Для создания нового проекта выполняется команда File › New Project, после чего в открывшемся диалоговом окне (рис. 2.16) на строке Name указывается имя проекта (символы кириллицы не допускаются, если предполагается моделирование), а на строке Location – имя подкаталога расположения проекта (при этом для просмотра файловой структуры удобно пользоваться кнопкой Browse). Далее в средней части этого окна выбирается тип проекта.
Рис. 2.16. Выбор типа проекта
Analog or Mixed-Signal Circuit – аналоговые, цифровые или смешанные аналого-цифровые устройства, моделируемые с помощью программы PSpice A/D (возможна также дальнейшая разработка печатной платы с помощью OrCAD Layout). В начале создания проекта предусмотрена загрузка прототипа, указав его имя в изображенном на рис. 2.17, а диалоговом окне (вариант Create based upon an existing project) – возможна загрузка одного из 4 стандартных прототипов или любого созданного ранее проекта.
Рис. 2.17, а) Выбор прототипа проекта (а) или возможности моделирования РСВ-проекта (б) с выбором библиотек символов PSpice
Рис. 2.17, б)
PC Board – печатные платы (моделирование смешанных аналого-цифровых устройства выполняется с помощью PSpice). Необходимость проведения моделирования указывается в диалоговом окне, показанном на рис. 2.17, б – для этого нужно пометить галочкой строку Enable project simulation для добавления в проект перечня библиотек символов PSpice (Add analog or mixed-signal simulation resources).
Schematic – не специализированные проекты (возможно только создание и документирование принципиальных схем, моделирование и разработка печатных плат не предусматривается).
Замечание
Выбор типа проекта определяет набор команд меню OrCAD Capture, что не очень принципиально, так как имеется возможность обмена данными между любыми проектами.
Самоучитель немецкого языка
Многие пытаются учить немецкий язык при помощи самоучителя и затем бросали. Разочаровывались в своих лингвистических способностях, но возможно, что самоучитель был подобран неудачно. Чем же должен отличаться такой самоучитель, и какую информацию нести. Прежде всего, выбирая самоучитель, необходимо обратить внимание на то, чтобы он был полным, качественным поурочным или потекстовым самоучителем. То есть, если в тексте встречаются новые слова, то они должны быть в задании после предоставленного текста или урока. Поэтому пробежав их глазами, будет возможность запомнить большинство из новых слов.
Для такого обучения не годиться один словарь, где придется искать необходимые слова. Больше времени будет уходить на поиск необходимых слов, чем на их заучивание. Также хороший пошаговый самоучитель немецкого языка должен предоставлять кроме поурочного словаря, повторяемость всех выученных слов. Так, каждое новое слово, должно повторяться на протяжении нескольких уроков, пока полностью не усвоиться. Если слово встретиться в первом уроке, а потом после десятого, то к этому времени оно забудется, это и будет снижение эффективности.
В самоучителе должен быть правильный подбор слов, это обеспечит качественную повторяемость вне самоучителя. Ведь никто не говорит, что после самостоятельного обучения можно начать бегло говорить или читать на немецком. Для этого необходимо пытаться читать учебники и книги, статьи в интернете и газеты. Можно пробовать разговаривать на немецком с людьми, которые его знают, слушать радио или телевидение. При правильном подборе в самоучителе слов, они будут часто встречаться, как при чтении, так и при общении. Благодаря этому слова быстро запомнятся, но при этом стоит всегда правильно учить произношение слов, так как переучивать будет более сложно.
Для понимания устной речи будет недостаточно записей, необходимо включать радио или телевидение и не пытаться слушать, а заниматься своими делами. К речи необходимо привыкать, нужно дать ушам возможность привыкнуть к чужой речи. Первое время она будет казаться непонятным и сложным потоком, но через время можно будет услышать выученные знакомые слова. После этого начать понимать, где начало незнакомого слова и конец, а так как слово повторяется часто среди известных слов, его смысл станет понятен. Если смотреть на сложность изучения немецкого языка, то его можно отнести к одному из сложных европейских языков.
Немецкий язык на данный момент является одним из перспективных языков. Во всем мире больше ста двадцати миллионов говорят на нем, так как это их родной язык. Для дипломатии, туризма или бизнеса он является вторым во всем мире. Для Восточной и Центральной Европы это самый важный иностранный язык. Во многих странах Европы предпочитают общение на немецком языке английскому. Даже в Японии почти семьдесят процентов всех студентов изучают немецкий язык.
Проектирование на компьютере: 86 книг
Проектирование на компьютере
Слишком много книг? Вы можете уточнить книги по запросу «Проектирование на компьютере» (в скобках показано количество книг для данного уточнения)
Показать все уточнения
Сохранить страничку в социалках/поделиться ссылкой:
Переключить стиль отображения :
AutoCAD 2009. Учебный курс
Татьяна Соколова
Программы
Учебный курс
Эта книга – практическое и справочное руководство, основа для самостоятельного изучения и освоения новой англоязычной версии самой популярной и мощной универсальной среды проектирования AutoCAD 2009, разработанной компанией Autodesk. В издании приведены общие сведения об AutoCAD, подробно описан инт…
Расчет конструкций в MSC.visualNastran for Windows
Д. Г. Шимкович
Программы
Проектирование
В книге рассматривается расчет конструкций в среде широко известного пакета моделирования и конечно-элементного анализа MSC.visualNastran for Windows, предназначенного для работы в среде Windows 98/NT/ 2000/XP. Для данного программного продукта характерен широкий спектр возможностей, ориентированн…
ORCAD 9.x, ORCAD 10.x. Практика моделирования
Ю. И. Болотовский
Программы
Системы проектирования (Солон-пресс)
Книга посвящена описанию моделирования в среде OrCAD. В книге приводятся: сопоставительный анализ функциональных возможностей среды OrCAD версий 9.х и 10.х; модели элементов, входящих в OrCAD; обзор приемов и методов моделирования; примеры функционального моделирования; ряд алгоритмов решения пробл…
Каталог САПР. Программы и производители
П. Н. Латышев
Программы
Системы проектирования (Солон-пресс)
В Каталоге представлен перечень значительной части программных продуктов по САПР, имеющих хождение в России, с кратким описанием основных особенностей и имеющих ссылки на первоисточники. Каталог может быть полезен всем, перед кем стоит вопрос выбора той или иной системы автоматизированного проекти…
Оформление дипломных проектов на компьютере
Е. М. Кудрявцев
Учебная литература
Отсутствует
В учебном издании излагаются общие положения по оформлению дипломных проектов в полном соответствии с ЕСКД и СПДС. Даются подробные сведения по оформлению как графической, так и текстовой документации, формул, таблиц, рисунков и другой информации в пояснительной записке (ПЗ). Для эффективного оформ…
Самоучитель 3ds Max 2014
Александр Горелик
Учебная литература
Самоучитель (BHV)
В основу книги положена эффективная методика обучения работе с программой 3ds Max на примерах и упражнениях, проверенная на нескольких поколениях студентов специальности «Дизайн». Рассмотрены все основные разделы программы: создание моделей трехмерных объектов, наложение текстур, выбор источников с…
Самоучитель 3ds Max 2012
Александр Горелик
Программы
Самоучитель (BHV)
В основу книги положена эффективная методика обучения работе в программе 3ds Max на примерах и упражнениях, проверенная на нескольких поколениях студентов специальности «Дизайн». Рассмотрены основные методы моделирования с помощью геометрических объектов и сплайнов, применение материалов, обработка…
Основы работы в Ansys 17
Н. Н. Фёдорова
Программы
САПР от А до Я
Книга посвящена вопросам численного моделирования задач механики сплошных сред в программном комплексе ANSYS 17. Описаны этапы подготовки геометрических моделей, построения расчетных сеток, настройки решателей Fluent (механика жидкости и газа) и Workbench Mechanical (механика деформируемого твердог…
Разработка печатных плат в NI Ultiboard
Сергей Певницкий
Программы
Отсутствует
В книге рассмотрены основные функции приложения Ultiboard системы свозного проектирования NI Circuit Design Suite. Даны рекомендации по настройке интерфейса программы, позволяющие впервые приступившим к работе с ней быстро понять идеологию Ultiboard и основы работы с этим приложением. Значительная …
AutoCAD Electrical 2016. Подключаем 3D
Гаурав Верма
Программы
САПР от А до Я
Это обновленное и дополненное издание книги «AutoCAD Electrical 2015 Подключайтесь!», при написании которой авторы ставили перед собой задачу сделать ее понятной и простой в освоении. По отзывам читателей цель была достигнута, и книга стала источником базовых знаний. Новое издание дополнено такими…
2D-черчение в AutoCAD
А. С. Уваров
Учебная литература
Самоучитель (ДМК-Пресс)
Книга является практическим курсом изучения системы автоматизированного проектирования AutoCAD – фактического стандарта автоматизированного проектирования в мире, и ориентирована на широкий круг лиц, связанных с разработкой и выпуском конструкторской документации для различных отраслей техники. Изд…
ANSYS для конструкторов
К. А. Басов
Программы
Проектирование
В книге рассмотрен Графический интерфейс пользователя (GUI) комплекса метода конечных элементов (МКЭ) ANSYS. В книгу входят общее описание комплекса, сведения о графическом интерфейсе пользователя и типах применяемых конечных элементов. Книга предназначена лицам, изучающим комплекс под руководство…
Компас-3D v.5.11-8.0. Практикум для начинающих
Т. М. Третьяк
Учебная литература
Элективный курс. Профильное обучение (Солон-Пресс)
Книга написана на основе самой современной методики обучающих дистанционных курсов по популярному графическому редактору КОМПАС-3D LT рамках проекта «Обучающие Сетевые Олимпиады» (ОСО-2006). Проект ОСО-2005 является номинантом международного конкурса «ИТ-образование в Рунете» (http://ict.edu.ru/kon…
ArchiCAD 11
Кристофер Гленн
Программы
Читай и смотри (Солон-пресс)
Эта книга знакомит читателя с основными средствами и приемами работы с приложением ArchiCAD 11, признанным лидером программ для строительства и архитектуры. Изложение ориентировано на начинающего читателя и опирается на серии практических пошаговых процедур. Вначале в простой и доступной форме опис…
Самоучитель 3ds Max 2008
Ольга Миловская
Программы
Самоучитель (BHV)
Самоучитель по использованию программы 3ds Max 2008 состоит из уроков, содержащих не только теоретический материал, но и практические примеры с пошаговыми инструкциями. В каждом уроке есть упражнения для самостоятельной работы, которые помогут закрепить полученные знания и приобрести необходимые пр…
Создаем чертежи на компьютере в AutoCAD 2012
И. Б. Аббасов
Программы
Проектирование
Книга предназначена для освоения графической системы AutoCAD в рамках изучения курса «Инженерная и компьютерная графика» студентами машиностроительных специальностей и дизайнеров. Содержит методические материалы для выполнения чертежей по стандартам ЕСКД в графическом редакторе AutoCAD. Описана тех…
Создание трехмерных моделей и конструкторской документации в системе КОМПАС-3D. Практикум
В. П. Большаков
Программы
Учебное пособие (BHV)
Раскрыты особенности современного подхода к автоматизированному проектированию, когда конструкторская документация изделий создается на основе трехмерного моделирования этих изделий. Рассмотрены вопросы решения чертежно-графических задач с применением 2D– и 3D-технологий. Выполнение учебных заданий…
Самоучитель AutoCAD 2014
Николай Полещук
Программы
Самоучитель (BHV)
Книга предназначена для освоения методики создания двумерных объектов и трехмерных моделей в системе AutoCAD 2014. Рассматриваются процессы параметризации, аннотирования и визуализации, средства коллективной работы с применением облачных ресурсов. Излагается схема перехода от плоских элементов к об…
Основы языка VHDL
П. Н. Бибило
Техническая литература
Отсутствует
Эффективная работа в современных САПР, разработанных ведущими зарубежными фирмами в области микроэлектроники (XILINX, Altera, Cadence, Synopsys, Mentor Graphics и др.), требует знания языка VHDL – исходного языка описания проектов. Книга доктора технических наук, профессора Бибило П. Н. предназнач…
Адаптация AutoCAD под стандарты предприятия
В. М. Габидулин
Программы
САПР от А до Я
Освоив основные приемы работы в системе AutoCAD и выполнив первый реальный проект, проектировщик, как правило, не достигает идеала при оформлении работы. Например, типы линий и штриховок в стандартной поставке системы не удовлетворяют стандартам, принятым на предприятии. В данной книге подробно, с …
LabVIEW для всех
Джим Кринг
Программы
Отсутствует
В книге приведено описание функциональных элементов среды проектирования виртуальных приборов LabVIEW 2010. Описание выполнения функций сопровождается примерами их использования. Для большинства Экспресс-ВП приведены окна конфигурирования с переводом их содержимого. В справочнике большое внимание у…
Компас-3D. Версии 5.11-8. Практическая работа
С. А. Лукянчук
Программы
Системы проектирования (Солон-пресс)
В предлагаемой книге рассматриваются основы работы с КОМПАС-3D. В основе три больших практических примера, при выполнении которых пошагово осваиваются основные приемы разработки трехмерных моделей деталей и сборок, ассоциативных чертежей и спецификаций. Дополнительно приводится пример использования…
Электронная лаборатория на IBM PC. Том 2. Моделирование элементов телекоммуникационных и цифровых си
В. И. Карлащук
Программы
Системы проектирования (Солон-пресс)
Книга посвящена применению программ Electronics Workbench фирмы Interactive Image Technologies (Канада) и VisSim корпорации Visual Solution Inc. (США) для моделирования элементов телекоммуникационных и цифровых систем: модуляторов/демодуляторов, кодеков, каналов связи, аналоговых и цифровых фильтро…
Трехмерное моделирование в AutoCAD 2014
В. М. Габидулин
Программы
Проектирование
Книга предназначена для быстрого освоения 3D-моделирования в новейшей версии системы автоматизированного проектирования AutoCAD 2014. Начиная с версии 2013, система AutoCAD дополнилась очень мощными средствами автоматизированного создания чертежной документации при помощи проекционных видов. Сохран…
VHDL. Эффективное использование при проектировании цифровых систем
П. Н. Бибило
Программы
Системы проектирования (Солон-пресс)
Рассматриваются наиболее распространенные на практике пакеты STD_LOGIC_1164, NUMERIC_STD, EXEMPLAR_1164, TEXTIO, STD_LOGIC_TEXTIO, VITAL языка VHDL и их использование при проектировании цифровых систем на элементной базе сверхбольших интегральных схем, в том числе базовых матричных кристаллов. Прив…
Самоучитель AutoCAD 2016
Николай Полещук
Учебная литература
Самоучитель (BHV)
Книга предназначена для освоения методики создания двумерных объектов и трехмерных моделей в системе AutoCAD 2016. Описаны особенности новой версии. Рассмотрены прогрессивные подходы к созданию графических документов и технология стилей (текста, размеров, таблиц, сечений и выносных элементов), спос…
CATIA и ANSYS. Твердотельное моделирование
К. А. Басов
Программы
Проектирование
Книга посвящена совместному применению возможностей комплекса LMS Virtual Lab, использующего ряд модулей комплекса CATIA, и комплекса МКЭ ANSYS. В книгу входит описание модулей комплекса LMS Virtual Lab, предназначенных для создания геометрической модели, порядка передачи данных в комплекс МКЭ ANSY…
Основы автоматизации проектирования в строительстве
С. Колоколов
Учебная литература
Отсутствует
В пособии излагаются основные принципы автоматизации проектирования с помощью компьютерной техники. Рассматриваются примеры составления алгоритмов расчета строительных конструкций и построения графических объектов. Излагаются основы построения систем автоматизированного строительного проектирования…
Самоучитель AutoCAD 2014
Михаил Райтман
Программы
Компьютер на 100%
Вам нужно научиться создавать чертежи и проекты на компьютере? Для этого лучше всего подходит программа AutoCAD 2014. А эта книга – отличное подробное практическое руководство по освоению этой программы. Она подойдет для всех, кто хочет научиться чертить и проектировать на компьютере. В книге опис…
Трехмерное моделирование в AutoCAD 2016
В. М. Габидулин
Учебная литература
Проектирование
Книга предназначена для быстрого освоения 3D-моделирования в новейшей версии системы автоматизированного проектирования AutoCAD 2016. В пособии приводится необходимый и достаточный набор команд для понимания принципов работы и начала работы в 3D-пространстве. Книга содержит большое количество упраж…
LabVIEW для радиоинженера: от виртуальной модели до реального прибора
Г. И. Щербаков
Программы
Отсутствует
В данной книге возможности LabVIEW как среды программирования демонстрируются на примерах в области цифровой обработки сигналов, радиоэлектроники, компьютерных измерений и автоматизации эксперимента, электродинамики и распространения радиоволн. Большая часть примеров в книге строится по принципу «о…
MATLAB. Полный самоучитель
В. П. Дьяконов
Программы
Отсутствует
Самоучитель по массовой матричной системе MATLAB, занимающей лидирующее место в области численных научно-технических вычислений, расчетов и моделирования. Основное внимание уделено описанию основ применения и языка программирования базовой системы MATLAB, реализации численных методов вычислений и в…
Автоматизация работы в КОМПАС-График
Анатолий Герасимов
Программы
Мастер (BHV)
Книга посвящена работе в чертежно-конструкторском редакторе КОМПАС-График на базе систем КОМПАС 5.11, КОМПАС-3D V7 Plus и КОМПАС-3D V10. Описано создание конструкторской документации в соответствии с ЕСКД и возможности автоматизации проектно-конструкторских работ по принципу постепенного изучения ф…
Электронная лаборатория на IBM PC
В. И. Карлащук
Техническая литература
Системы проектирования (Солон-пресс)
Книга посвящена применению программы Electronics Workbench фирмы Interactive Image Technologies (Канада) для схемотехнического моделирования аналоговых и цифровых радиоэлектронных устройств различного назначения, представленных большим количеством практических схем, что делает книгу своеобразным сп…
Введение в математические основы САПР
Д. М. Ушаков
Программы
САПР от А до Я
Книга представляет собой краткое изложение курса лекций «Введение в математические основы САПР», организованного Новосибирским государственным университетом при поддержке компании ЛЕДАС. Лекции рассчитаны на студентов старших курсов, специализирующихся в области прикладной математики, информатики и…
Восемь уроков по P-CAD 2001
М. Я. Мактас
Программы
Библиотека студента (Солон-пресс)
В пособии на примере конкретной электрической схемы с использованием дидактического приема «делай как я» излагается весь цикл проектирования узла РЭС с помощью системы P-CAD 2001. В нем рассмотрен такой маршрут проектирования, при котором задействованы основные программные модули системы. Подобная …
Трехмерное моделирование в AutoCAD 2013
В. М. Габидулин
Программы
Проектирование
Книга предназначена для быстрого освоения 3D-моделирования в новейших версиях системы автоматизированного проектирования AutoCAD 2012/AutoCAD 2013. Начиная с версии AutoCAD 2012 система выходит вместе с приложением Inventor Fusion, что в значительной степени улучшает возможности пакета. Версия Auto…
Создаем чертежи на компьютере в AutoCAD 2007/2008: учебное пособие
И. Б. Аббасов
Программы
Проектирование
Книга предназначена для освоения графической системы AutoCAD в рамках изучения курса «Инженерная и компьютерная графика» студентами машиностроительных специальностей и дизайнеров. Содержит методические материалы для выполнения чертежей по стандартам ЕСКД в графическом редакторе AutoCAD. Описана тех…
Altium Designer. Проектирование функциональных узлов РЭС на печатных платах
В. Ю. Суходольский
Программы
Учебное пособие (BHV)
Книга посвящена проектированию радиоэлектронных функциональных узлов в среде Altium Designer. Описаны состав, настройка и основные приемы работы в среде Altium Designer. Подробно освещены вопросы формирования и редактирования электрической схемы, разработки печатной платы, а также трассировки печат…
Автотрассировщики печатных плат
А. С. Уваров
Программы
Проектирование
Настоящая книга представляет собой сборник описаний прикладных программ проектирования печатных плат. Среди описываемых программ имеются хорошо известные и недавно появившиеся; узкоспециализированные, предназначенные только для трассировки печатных проводников, и обеспечивающие полный цикл проектир…
Для архитекторов: Revit Architecture 2009/2010. Самоучитель по технологии BIM
Эдвард Голдберг
Учебная литература
Проектирование
Эта книга, написанная известным американским педагогом и архитектором Эдвардом Голдбергом, является хорошим самоучителем по программе Revit Architecture. Даже учебником, а не руководством пользователя или сборником команд, в котором хорошо виден педагогический подход автора и его многоплановая мето…
Программирование для AutoCAD 2013–2015
Николай Полещук
Программы
САПР от А до Я
Данная книга рассказывает об особенностях программирования для новых версий AutoCAD (2013–2015). В ней разъясняется процесс написания программного кода на четырех языках: C++, C#, LISP, VBA. Рассмотрены среды разработки Microsoft Visual Studio 2010–2013, Microsoft Visual Basic 7.1, а также библиоте…
Электронная лаборатория на IBM PC. Том 1. Моделирование элементов аналоговых систем
В. И. Карлащук
Программы
Системы проектирования (Солон-пресс)
Книга посвящена применению программы Electronics Workbench фирмы Interactive Image Technologies (Канада) для схемотехнического моделирования аналоговых и цифровых радиоэлектронных устройств различного назначения, представленных большим количеством практических схем, что делает книгу своеобразным «ж…
Altium Designer: сквозное проектирование функциональных узлов РЭС на печатных платах (2-е издание)
В. Ю. Суходольский
Учебная литература
Учебное пособие (BHV)
Книга посвящена проектированию радиоэлектронных функциональных узлов в среде Altium Designer. Описан состав, настройка и основные приемы работы в среде Altium Designer. Подробно освещены вопросы формирования и редактирования электрической схемы, разработки печатной платы, а также трассировки печатн…
LabVIEW FPGA. Реконфигурируемые измерительные и управляющие системы
Е. Д. Баран
Компьютеры: прочее
Отсутствует
В книге представлено описание нового модуля графической среды проектирования LabVIEW. С помощью этого модуля, расширяющего концепцию виртуальных инструментов в область разработки аппаратных средств, можно создавать собственные каналы ввода-вывода и устройства обработки данных, функциональность и ха…
AutoCAD. Начали!
Татьяна Соколова
Программы
Начали!
Эта книга посвящена самой популярной и мощной универсальной среде проектирования AutoCAD, разработанной компанией Autodesk. Книга предназначена для начинающего пользователя, незнакомого с методами автоматизированного геометрического моделирования и компьютерными технологиями. …
Проектируем на VHDL
Е. З. Перельройзен
Программирование
Библиотека профессионала (Солон-пресс)
Книга посвящена проектированию цифровых систем с помощью языка описания аппаратуры VHDL (VHSIC Hardware Description Language). Первая часть книги описывает процесс проектирования на языках описания аппаратуры. Во второй части книги рассматривается работа с VHDL в различных средах проектирования: …
Твердотельное моделирование машиностроительных изделий в Autodesk Inventor
В. Г. Концевич
Программы
Проектирование
Autodesk Inventor – это инженерный пакет для параметрического твердотельного и поверхностного моделирования машин и механизмов. Инструментальные средства Autodesk Inventor обеспечивают полный цикл конструирования и создания конструкторской документации. С помощью пакета можно создавать трехмерные м…
AutoCAD. Техническое черчение и 3D-моделирование
Татьяна Николаевна Климачева
Программы
Мастер (BHV)
Книга является полным учебным курсом для пользователей AutoCAD, имеющих базовую инженерную подготовку. Рассматриваются новшества AutoCAD 2009, работа в среде AutoCAD 2008, черчение на плоскости, 3D-моделирование, вывод чертежей и документов на печать, создание электронных публикаций, автоматизация …
PCAD 2002 и SPECCTRA. Разработка печатных плат
А. С. Уваров
Программы
Системы проектирования (Солон-пресс)
Книга является практическим курсом проектирования и конструирования радиоэлектронных устройств различной степени сложности с использованием программы P-CAD 2002. Дано описание приемов работы, рекомендации и советы по разработке символов элементов, электрических схем, разработке посадочных мест элем…
ArchiCAD 18 в примерах. Русская версия (pdf+epub)
Наталья Малова
Программы
Отсутствует
Книга основана на авторской методике обучения, отработанной за пятнадцать лет преподавания студентам архитектурно-строительных специальностей. Рассматриваются основные приемы работы при индивидуальном проектировании, общие принципы построения и операций редактирования, правила создания геометрическ…
SolidWorks Simulation. Инженерный анализ для профессионалов: задачи, методы, рекомендации
Андрей Алямовский
Программы
Проектирование
Книга развивает тему практического использования инструментов инженерного анализа SolidWorks для решения задач прочности, устойчивости, динамики, механики композитов, гидродинамики и теплопередачи. Подобраны актуальные примеры, потребовавшие использования большей части функционала программ, а также…
Компьютерные методы проектирования зданий
М. А. Рылько
Учебная литература
Отсутствует
Пособие предназначено для студентов архитектурно-строительных вузов по специальностям «Проектирование зданий», «Промышленное и гражданское строительство», «Реконструкция и реставрация зданий и сооружений», изучающих компьютерные методы проектирования в курсах «Информатика», «Компьютеризация проектн…
3ds Max 2013. Лучший самоучитель
Александр Харьковский
Программы
Отсутствует
В книге описывается популярный редактор трехмерной графики и анимации 3ds Мах 2013. Подробно рассматривается создание простых и сложных 3D-моделей, применение материалов и текстур. Изучается управление источниками света, которые позволяют создавать фотореалистичные статические и динамические сцены.…
ArchiCAD 12
Александр Днепров
Учебная литература
Видеосамоучитель
Эта книга поможет вам быстро освоить программу ArchiCAD 12. Вы познакомитесь с мощнейшими возможностями этой автоматизированной системы, научитесь создавать удобную среду проектирования и организовывать на ее базе эффективную работу по созданию архитектурных проектов. Структура книги способствует б…
Инженерная и компьютерная графика. Теоретический курс и тестовые задания
В. П. Большаков
Учебная литература
Учебная литература для вузов (BHV)
Учебник состоит из трех частей. В частях I и II рассматривается традиционный (классический) для дисциплины «Инженерная и компьютерная графика» материал – элементы начертательной геометрии и основы инженерной графики, необходимые для построения изображений и создания конструкторской документации: ос…
Автоматизация проектирования корпусной мебели: основы, инструменты, практика
П. Ю. Бунаков
Программы
Проектирование
В настоящем издании рассмотрены основы автоматизированного конструирования и технологической подготовки производства изделий корпусной мебели в отечественной САПР БАЗИС. Приведены основные понятия и положения конструкторского проектирования корпусной мебели и конструкторско-технологической подготов…
AutoCAD 2014
Андрей Орлов
Программы
Отсутствует
Программа AutoCAD уже многие годы является одним из наиболее мощных и широко распространенных инструментов проектирования. Данная книга представляет собой превосходное практическое руководство по AutoCAD 2014 – новейшей версии программы. Издание предназначено для всех, кто хочет освоить работу с эт…
Самоучитель AutoCAD 2011
Николай Полещук
Программы
Самоучитель (BHV)
Книга предназначена для освоения двумерного параметрического рисования и трехмерного моделирования в системе AutoCAD 2011. Рассматриваются графические объекты, команды построения специальных трехмерных объектов, включая сети, процедурные поверхности, NURBS-поверхности и др., средства построения и п…
Компьютерное проектирование для архитекторов
Джон Элис
Программы
Отсутствует
Сегодня большая часть архитектурных проектов разрабатывается при помощи CAD, различных программ компьютерного дизайна и моделирования. Как студентам, так и практикующим профессионалам приходится осваивать технологии работы с такими программами. Эта книга описывает наиболее полезные для архитекторов…
Электронное моделирование в Multisim
Марк Е. Хернитер
Программы
Отсутствует
Книга представляет собой подробное руководство по моделированию электрических и электронных схем в программе Multisim компании Electronics Workbench. В ней на примерах из области электротехники и электроники демонстрируется методика построения схем и проведения различных типов анализа в программе. …
Основы проектирования в Autodesk Inventor 2016
Дмитрий Зиновьев
Программы
Отсутствует
Данная книга позволяет в кратчайшие сроки освоить принципы работы в программе Autodesk Inventor, и научиться создавать трехмерные модели высокой сложности. Издание рассчитано как для начинающих пользователей программы, так и для опытных инженеров, желающих улучшить свои навыки благодаря советам пр…
Железобетонные конструкции. Примеры расчета
А. Н. Добромыслов
Техническая литература
Отсутствует
В книге приведены примеры расчёта конструкций зданий: балок, плит, колонн, фундаментов, ферм, оболочек и инженерных сооружений: подпорных стен, тоннелей и каналов, резервуаров, бункеров, силосов, водонапорных башен, труб и коллекторов. Содержатся необходимые справочные материалы и пояснения для вып…
Модельное проектирование встраиваемых систем в LabVIEW
Константин Жуков
Программы
Отсутствует
Материал книги является учебным курсом по модельному проектированию динамических систем в инструментальной среде LabVIEW. Значительная часть книги посвящена математическому моделированию физических процессов и технических систем. Приведен математический аппарат исследования подобных систем, рассмот…
ArchiCAD 14. Примеры и секреты
А. В. Крючков
Программы
Учебный курс (АСТ)
В книге изучается последняя версия популярной программы строительного проектирования – ArchiCAD 14. Рассматриваются основные инструменты и функции, которые сопровождаются подробными пояснениями и примерами. Описывается создание проекта загородного коттеджа «с нуля» с подробной проектной документаци…
Анализ и оптимизация трехмерных СВЧ-структур с помощью HFSS
С. Е. Банков
Программы
Системы проектирования (Солон-пресс)
Данная книга открывает новый подход в проектированию трехмерных СВЧ-устройств. Впервые в России в практику проектирования вводится электродинамический метод, реализованный в программе HP HFSS, обеспечивающий точные результаты моделирования объемных конструкций в СВЧ-диапазоне. Описан интерфейс прог…
Планировка пространства и дизайн помещений на компьютере. Работаем в 3ds Max, ArchiCAD, ArCon
Александр Лебедев
Программы
Компьютерная графика и мультимедиа
Эта книга знакомит читателей с особенностями проектирования помещений, дает рекомендации по планировке пространства как общественных зданий, так и частных домов. Теоретический блок позволит выполнить проектирование и дизайн любого помещения на современном профессиональном уровне. В первой части кни…
AutoCAD 2016
Андрей Орлов
Программы
Отсутствует
С помощью данного практического руководства вы изучите новую версию самой популярной программы для проектирования и черчения – AutoCAD 2016. Книга идеально подойдет как для пользователей, которые только начинают осваивать черчение на компьютере, так и для тех, кто уже знаком с продукцией Autodesk и…
AutoCAD 2010. От простого к сложному. Пошаговый самоучитель
В. Н. Тульев
Учебная литература
Самоучитель пользователя
Книга представляет собой самоучитель по новейшей версии AutoCAD. Рассчитана как на новичков, так и на опытных пользователей. Она позволит новичку за короткий срок обучиться AutoCAD на основе его последней версии. Она интересна для опытного пользователя тем, что подробно рассматривает новые возмо…
Самоучитель SketchUp
В. Т. Тозик
Программы
Самоучитель (BHV)
Книга научит создавать и редактировать архитектурные модели в программе SketchUp. Рассмотрены основные инструменты и приемы работы с объектами, применение специальных эффектов, вывод документа на печать и др. Даны основы поиска архитектурного образа методами SketchUp и архитектурного проектирования…
Проектируем интерьер сами. Sweet Home 3D, FloorPlan 3D, Google SketchUp и IKEA Home Planner
Владимир Пташинский
Программы
Отсутствует
Сам себе дизайнер интерьера? Это возможно благодаря простым в использовании бесплатным программам Sweet Home 3D, FloorPlan 3D, Google SketchUp и IKEA Home Planner. С помощью этой книги вы создадите виртуальный образ своего жилища! Вы можете расклеивать виртуальные обои, менять окна и двери, увидет…
P-CAD 2000, ACCEL EDA. Конструирование печатных плат
А. С. Уваров
Программы
Проектирование
В настоящем издании приведены рекомендации и советы по созданию библиотек элементов, вычерчиванию электрических схем и проектированию печатных плат средствами программ P-CAD 2000 и ACCEL EDA. Особое внимание уделено системам обозначений металлизированных отверстий, контактных площадок и посадочных …
COSMOSWorks. Основы расчета конструкций в среде SolidWorks
Андрей Алямовский
Программы
Проектирование
В данной книге рассматривается конечно-элементный пакет COSMOSWorks, интегрированный в CAD-систему SolidWorks. Представлено описание системы; функциональные возможности продукта рассмотрены с позиции инженерного расчета на прочность. Выделен круг задач, которые могут быть объектом расчета. Акцент с…
LabVIEW: практический курс для инженеров и разработчиков
Юрий Магда
Программы
Отсутствует
Книга представляет собой практическое руководство по разработке систем управления, сбора и обработки данных с применением инструментальной среды проектирования LabVIEW. Материал книги ориентирован на инженеров-практиков и включает примеры решения типовых задач измерения, анализа и цифрового синтеза…
Введение в UML от создателей языка
Гради Буч
Компьютеры: прочее
Классика программирования
Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль принадлежит программному обеспечению. С помощью UML можно разработать детальный план создаваемой сист…
AutoCAD Electrical 2015. Подключайтесь!
Гаурав Верма
Программы
Проектирование
AutoCAD Electrical 2015 является расширенным приложением к AutoCAD. Легкий в использовании инструмент для создания электрических схем и чертежей монтажных панелей позволит выполнять самые сложные электротехнические проекты, сэкономить время и сократить ваши затраты на разработку. Книга написана с …
Проектирование печатных плат в Altium Designer
А. В. Лопаткин
Программы
Отсутствует
На примере несложного устройства рассмотрены практические приемы проектирования печатных плат в системе Altium Designer. Очень подробно с применением пошаговых инструкций описывается весь цикл проектирования печатной платы – от ввода схемы до верификации проекта и выпуска рабочей документации. Расс…
Самоучитель AutoCAD 2012
Николай Полещук
Программы
Самоучитель (BHV)
Книга предназначена для освоения двумерного рисования и трехмерного моделирования в системе AutoCAD 2012. Рассматривается процесс построения и параметризации графических объектов, подключения подложек, динамических блоков. Излагается поэтапная методика перехода от двумерных элементов к трехмерной м…
Инженерная графика для конструкторов в AutoCAD
А. С. Уваров
Учебная литература
Проектирование
Книга является практическим курсом изучения программы AutoCAD и ориентирована на широкий круг лиц, связанных с разработкой и выпуском конструкторской документации для различных отраслей техники. Издание рассчитано в первую очередь на конструкторов, впервые пытающихся использовать автоматизированные…
AutoCAD 2015
Андрей Орлов
Программы
Отсутствует
С помощью данного практического руководства вы изучите новую версию самой популярной программы для проектирования и черчения – AutoCAD 2015. Книга идеально подойдет как для пользователей, которые только начинают осваивать черчение на компьютере, так и для пользователей, уже знакомых с продукцией Au…
Это руководство по VHDL написано, чтобы помочь инженерам быстро начать работу с VHDL, как для моделирования с использованием VHDL, так и для проверки с использованием VHDL. Вы всегда обращаетесь к VHDL LRM, если что-то сбивает с толку в представленном здесь руководстве по VHDL. | ||||||||
Примечание: Это руководство еще далеко от завершения, оно будет завершено до февраля 2007 г. | ||||||||
Задача: | ||||||||
— Добавить карту главы для каждой главы. | ||||||||
— Завершите все незавершенные главы. | ||||||||
Важно: Это руководство протестировано в веб-браузере Firefox и может не работать в Internet Explorer. | ||||||||
Введение | ||||||||
История VHDL | ||||||||
Моя первая программа на VHDL | ||||||||
Структура кода VHDL | ||||||||
Типы данных VHDL | ||||||||
Операторы VHDL | ||||||||
Последовательные операторы | ||||||||
Краткий справочник по VHDL | ||||||||
| ||||||||
Учебное пособие по VHDL — Gadget Factory
Представьте, как круто было бы контролировать то, что появляется на вашем экране и по выгодной цене, просто используя вашу FPGA (да! Ваш Papilio!) И некоторые другие простые в использовании компоненты.
Все, что вам нужно, — это прочитать сегодняшнюю статью (и, конечно, покупать мелочи).Этот пост с практическими рекомендациями — один из тех, которые написаны с мыслями о пользователе. Это объясняет все, даже физику, которая управляет системой.
В этом конкретном примере резистор ЦАП подключен к FPGA на плате CPLD, поэтому он может выводить 512 цветов на экран VGA . Знание VHDL необходимо для реализации вашего собственного кода, в противном случае просто используйте тот, который предоставлен, хотя вы можете перейти по ссылкам в статье, чтобы узнать больше о VHDL.
Настоящее преимущество заключается в том, что вы сможете реализовать свои собственные модули VHDL, так что вы фактически будете контролировать то, что отображается на экране !
Теперь ваше время. Покажите миру, на что вы способны… через монитор VGA!
Крис
У Пола Кларка из Design Spark есть отличная вики по VHDL 101 — Combinational Logic , которую, как мы думали, мы разместим здесь, чтобы дать тем из вас, кто плохо знаком с VHDL, своего рода толчок. На самом деле эта статья является продолжением его первой статьи под названием What Is VHDL , в которой есть отличные объяснения того, что, как и почему VHDL для начинающих.Вот что Пол говорит по этому поводу:
[Эта wiki -] краткое руководство по основам VHDL, и [мы] поработаем над некоторыми примерами того, что вы можете сделать. Я проведу параллели с написанием кода C, так как предполагаю, что многие из вас видели или использовали код C. Некоторые люди посчитали мой комментарий о том, что VHDL - чистый и красивый язык, немного трудно проглотить. Я покажу, насколько это просто написать, и на одном примере покажу, насколько мощным он может быть. Надеюсь, этого должно быть достаточно, чтобы заставить вас задуматься и отойти от стартовых блоков.
Пол упростил чтение кода VHDL в вики VHDL 101, разместив объяснение того, как этот код работает, рядом с каждым примером кода. Каждый шаг хорошо объяснен и должен быть довольно простым для выполнения. Вики описана базовая структура VHDL, а также конкретные примеры различных функций, а также их отношение к написанию кода C для тех, кто, возможно, уже знаком с этим языком. Сделать его простым и понятным, безусловно, поможет, когда вы только начинаете!
Ознакомьтесь с вики по VHDL 101 здесь.
(через Design Spark)
С Новым годом! 2012 год — это год, который, по предсказанию майя, станет концом света или какой-то подобной гнилью. Не волнуйтесь, мы совершенно в это не верим. Мы верим в точную науку. Но если вы, , верите, значит, времени осталось не так много — так почему бы не начать с некоторых добра с ПЛИС?
Энтузиаст Papilio Майк Филд недавно был представлен на Hackaday для своего руководства по VHDL:
«FPGA — это колени пчелы.Вместо того, чтобы программировать микросхему, сообщая ей, что делать, FPGA позволяют вам указывать микросхеме, чем она должна быть. Однако, как и все остальное, необходим новый набор навыков, чтобы в полной мере использовать возможности ПЛИС. [Майк Филд] решил отдать должное всему Интернет-сообществу и устроил ускоренный курс по проектированию FPGA.
Прямо сейчас у [Майка] есть пара модулей, которые включают такие предметы, как двоичная математика, шины, счет и, конечно же, настройка оборудования FPGA. Рекомендуемое оборудование — Papilio One… »
Вы можете посмотреть уроки Майка здесь!
Заинтересованы в FPGA? Может быть, начни свой новый год правильно и попробуй.
(через Hackaday, цитируется статья Брайана Бенчоффа)
ПРИМЕЧАНИЕ. Обратите внимание, что в руководстве не показано, что вы должны выбрать «Gadget Factory Papilio Custom Board» в разделе tools / board в среде Arduino IDE для создания файла моделирования.
Этот скринкаст показывает, как имитировать пользовательское ядро, подключенное к программному процессору AVR8. Моделирование — это наиболее эффективный способ отладки вашего пользовательского кода VHDL или Verilog или изучения внутреннего устройства AVR8.
Следуйте инструкциям по отладке пользовательского ядра, расширяющего функциональные возможности процессора AVR8 Soft.Мы копаемся в программном счетчике, кодах операций и внешних выводах AVR8, когда копаемся во внутренностях программного процессора.
Предварительные требования:
Связанные
Часть 1
- Измените файл сборки Arduino, чтобы включить симуляцию (2:00)
- Загрузить и изменить пользовательский эскиз ядра. (3:05)
- Скомпилируйте эскиз с подробным выводом. (4:30)
Прочтите всю статью для видео 2–5.
Продолжить чтение «Учебное пособие: моделирование AVR8 и пользовательских ядер»
В этом ролике представлены инструкции по загрузке и синтезированию специального программного процессора AVR8 для использования с версией Arduino IDE, которая была модифицирована для использования с Papilio.
Предварительные требования:
Связанные
Часть 1
Продолжить чтение «Учебное пособие: пользовательские ядра в программном процессоре AVR8».
В этом ролике представлены инструкции по загрузке и синтезированию специального программного процессора AVR8 для использования с версией Arduino IDE, которая была модифицирована для использования с Papilio.
Предварительные требования:
Часть 1:
- Загрузка исходного кода AVR8.
- Выбор только необходимых периферийных устройств.
Продолжить чтение «Учебное пособие: пользовательский программный процессор AVR8 для использования с Arduino IDE. (V1.2) ”
В этом руководстве показано, как использовать анализатор логики OpenBench за 50 долларов для отладки внутренней логики ПЛИС. Отладка внутренней логики FPGA может быть довольно сложной и трудоемкой, многое можно сделать с помощью моделирования, но когда у вас есть логика, которая взаимодействует с внешним миром, отладка может остановиться. Традиционное решение — использовать программное обеспечение Chipscope Pro стоимостью 500 долларов США, но для многих это слишком дорого.В этом руководстве показан дешевый и эффективный способ взглянуть на то, что происходит внутри вашей FPGA.
Плата для разработки FPGA, использованная в скринкасте, — это плата Papilio One с открытым исходным кодом Gadget Factories. Думайте о Papilio One как о «Arduino» плат для разработки FPGA.
Часть 1
Введение, обзор и справочная информация.
Вот трехчастный скринкаст, в котором показан пример реализации высокоскоростного UART 3 Мбит / с с платой Papilio One и USB-чипом FT2232.
В проекте используется бесплатный пример Xilinx VHDL UART, потому что он оптимизирован для оборудования Xilinx, он предоставляет самый маленький и самый быстрый из возможных UART. Исходный код требует лицензионного соглашения с конечным пользователем, которое не позволяет нам предоставлять исходный код. В первой части видеоурока вы узнаете, как добавить исходный код в проект после его загрузки с Xilinx.
Часть 1
http://youtu.be/Hwq0mF0SxOM
Ссылки:
Загрузите пример проекта с Gadget Factory.
Xilinx App Примечание. XAPP223
Загрузите исходный код Picoblaze.
Щелкните ссылку, чтобы просмотреть остальные видео.
Читать далее «Пример Xilinx VHDL UART»
материал VHDL
материал VHDL
Информация о VHDL
VHDL материал
- локальная копия VHDL Cookbook
- Лекции Питера Эшендена на VHDL
- Питер Эшенден
домашняя страница - Введение в VHDL (Accolade)
- Поваренная книга Питера Эшендена по VHDL
- Организации и веб-сайты VHDL
- VHDL International (организация
для продвижения использования VHDL) - VHDL International — Часто задаваемые вопросы
- Интерактивное руководство по VHDL (IEEE)
- Небольшой учебник по VHDL (учебный проект с открытым исходным кодом)
- Руководство по VHDL для EE475 (Cornell U.)
- Руководство инженера по аппаратному обеспечению для VHDL (Doulos)
- ресурсов VHDL
(много ссылок) - Учебное пособие по моделированию Aldec Active-HDL:
VHDL Дизайн 1-битного сумматора и 4-битного сумматора
(Калифорнийский университет в Риверсайд) Справочное руководство по стандартному языку VHDL IEEE (Microlab, Швейцария)
- RASSP (быстрое прототипирование сигнальных процессоров для конкретных приложений — DARPA)
- Страница поддержки RASSP для VHDL
- Гамбургский архив VHDL
- Интернет-ресурсы на
VHDL, FPGA, схемотехника ,.. - Группы новостей FPGA, VHDL, Verilog, часто задаваемые вопросы и архивы
- Домашняя страница VHDL UK WWW (форум пользователей VHDL, ссылки, информация о книгах …) (мертва?)
- J.W.Park’s EDA
страница (документация и ссылки EDA и VHDL) (мертва?) - Коллекция моделей VHDL (Miss State Univ.)
- Генерация испытательного стенда из временных диаграмм
(Приложение D к VHDL Made Easy, Дэвид Пеллерин, 1996 г.) - VHDL онлайн (U.
Эрланген) - Northeastern Univ.Страница VHDL
- Страница ресурсов VHDL (Университет Огайо)
- Ресурс VHDL
страница (Университет Цинцинатти) - VHDL-страница
(Perso-Club, Франция) - VHDL-страница
Дрезден - о OO VHDL
- OO — Исследовательская группа VHDL
- Исследования СБИС в У. Ольденбурге (объектно-ориентированный VHDL)
- Часто задаваемые вопросы о VHDL
- Автоматизация проектирования электроники
- Ассоциация по развитию методологий проектирования ПЛИС
- Цифровой симулятор (MIT)
- Закладки (ссылки на VHDL и т. Д.) (ТУ Дрезден)
- Руководства по VHDL
(Университет Ольстера) - Материал VHDL (UCSanDiego) (дает примеры кода VHDL для простых цифровых схем)
- о VHDL и Powerview (Duke Univ.) (также есть примеры)
- Документация VHDL (Университет Дортмунда)
- VHDL ссылки по теме (Tufts Univ.)
- связанные с VHDL
условно-бесплатный архив - Логические симуляторы
- Учебное пособие по VHDL (Green Mountain Systems)
- различные документы и заметки по VHDL
- «Страница Altera Doc» (есть несколько примеров кода)
- Виртуальная библиотека WWW: Электротехника (НАСА)
- Обучение Doulos VHDL
- Руководство инженера по аппаратному обеспечению для VHDL
- Виртуальная библиотека WWW: Компьютерные языки
- Альтера
- Aldec («Активный VHDL» моделирование
программного обеспечения) - Наставник Графика
- Xilinx
- Сводка
- Accolade
- CAD _ Ссылки CAE
- Образец
- DPC — модели VHDL
- локальная копия VHDL Cookbook:
- обложка
- содержание
- ч2
- ч3
- ч4
- ч5
- ч5
- ч6
- ч7
- обложка
Режим VHDL, режим Emacs для редактирования кода VHDL
Этот файл документирует режим VHDL, режим Emacs для редактирования кода VHDL.
Авторское право © 1995–2008, 2010, 2012, 2015–2020 Бесплатное программное обеспечение
Foundation, Inc.
Разрешено копировать, распространять и / или изменять этот документ.
в соответствии с условиями лицензии свободной документации GNU версии 1.3 или
любая более поздняя версия, опубликованная Free Software Foundation; без
Неизменяемые разделы с текстом на передней обложке — «Руководство GNU»,
и с текстами на задней обложке, как в подпункте (а) ниже. Копия лицензии
включен в раздел «Лицензия свободной документации GNU».”(a) Текст на задней обложке FSF гласит: «Вы имеете право копировать и
изменить это руководство GNU ».
1 Введение
Добро пожаловать в режим VHDL. Это режим GNU Emacs для редактирования файлов.
содержащий код VHDL.
В данном руководстве описывается следующее:
- Как начать использовать режим VHDL.
- Как работает механизм вдавливания.
- Как настроить механизм отступов.
Главный номер версии был увеличен до 3 с добавлением
множество новых функций для редактирования кода VHDL в новом механизме отступов,
который был представлен в основной версии 2.Чтобы найти второстепенную редакцию
Для номера этого выпуска используйте M-x vhdl-version RET .
Особые слова благодарности Роду Уитби, который написал
Механизм отступов VHDL Mode и Барри Варшаве, который написал
механизм отступов CC Mode, который лег в основу
из них. Их руководства также послужили основой для этого руководства.
Это руководство не очень актуально. Он в основном содержит
документация по машине для вдавливания Рода Уитби с незначительными
адаптации. Доступна краткая документация по всему режиму VHDL.
в самом режиме, набрав C-c C-h .Также все команды и
настройка большинства переменных доступна через меню, которое
делает все очень самоочевидным.
2 Подключение
Для начала просто посетите файл .vhd в Emacs; или введите
M-x vhdl-mode RET .
3 Новый двигатель с вдавливанием
VHDL Mode имеет новый механизм отступов, обеспечивающий упрощенный, но
гибкий и общий механизм настройки отступов. Это ломает
расчет отступов в два этапа.Сначала строка кода
с отступом, режим VHDL анализирует, что это за языковая конструкция
глядя на, затем он применяет определенные пользователем смещения к текущей строке
на основе этого анализа.
В этом разделе кратко рассмотрено, как рассчитывается отступ в
Режим VHDL. Важно понимать модель отступов.
используется, чтобы вы знали, как настроить режим VHDL для
ваш личный стиль программирования.
3.1 Синтаксический анализ
Первое, что делает режим VHDL при отступе строки кода, это
для анализа строки, определение списка синтаксических компонентов из
конструкция на этой линии.Синтаксический компонент состоит из
пара информации (на языке лиспа, cons-ячейка ), где
первая часть — это синтаксический символ , а вторая часть — это
относительное положение буфера . Синтаксические символы описывают элементы
Код VHDL, например, оператор
, комментарий
, открытие блока
,
закрыть блок
и т. Д. См. Полный список в разделе «Синтаксические символы».
признанных в настоящее время синтаксических символов и их семантики.Также,
переменная vhdl-offsets-alist
содержит список текущих
поддерживаемые синтаксические символы.
По идее, строка кода VHDL всегда имеет отступ относительно
отступ некоторой строки выше в буфере. Это представлено
по относительной позиции буфера в синтаксическом компоненте.
Это может помочь увидеть пример. Предположим, у нас есть следующий код как
единственное в буфере VHDL Mode 1 :
1: инвертор: процесс 2: начало 3: q <= не d; 4: ждать d; 5: конечный инвертор;
Мы можем использовать команду C-c C-x
( vhdl-show-syntactic-information
), чтобы просто сообщить, что
синтаксический анализ для текущей строки.Запуск этой команды на
В строке 4 примера 1 мы увидим в эхо-области:
Это говорит нам, что строка является утверждением и имеет относительный отступ.
в буферную позицию 28, которая оказывается « q » в строке 3. Если
вы должны были переместить точку в строку 3 и нажать C-c C-x , вы увидите:
((инструкция-блок-введение. 20))
Это означает, что строка 3 является первым оператором в блоке и является
с отступом относительно позиции 20 буфера, которая является « b » в
начало ключевого слова
в строке 2.
Списки синтаксических компонентов могут содержать более одного компонента, и
отдельные синтаксические компоненты не обязательно должны иметь относительные позиции буфера.
Самый распространенный пример - строка, содержащая комментарий .
только строка .
Нажатие C-c C-x в строке 3 примера дает нам:
((comment-intro) (block-intro. 46))
, поэтому вы можете видеть, что список синтаксических компонентов содержит два синтаксических
составные части. Также обратите внимание, что первый компонент,
‘ (comment-intro) ’ не имеет относительной позиции в буфере.
3.2 Расчет отступов
Отступ для текущей строки рассчитывается с использованием синтаксиса
список компонентов, полученный на шаге 1 выше (см. Синтаксический анализ). Каждый компонент вносит свой вклад в окончательный общий отступ
линии двумя способами.
Сначала синтаксические символы ищутся в vhdl-offsets-alist
переменная, которая представляет собой список ассоциаций синтаксических символов и
смещения, применяемые для этих символов. Эти смещения добавляются к
текущая сумма.
Во-вторых, если компонент имеет относительную буферную позицию, режим VHDL
добавляет номер столбца этой позиции к промежуточной сумме. Добавляя
вверх смещения и столбцы для каждого синтаксического компонента в списке,
вычисляется окончательный общий отступ для текущей строки.
Давайте воспользуемся приведенным выше примером кода, чтобы увидеть, как это работает. Вот наш
пример снова.
1: инвертор: процесс 2: начало 3: q <= не d; 4: ждать d; 5: конечный инвертор;
Допустим, точка находится в строке 3, и мы нажимаем клавишу TAB, чтобы изменить отступ.
линия.Помните, что список синтаксических компонентов для этого
строка:
((инструкция-блок-введение. 20))
Режим VHDL выполняет поиск инструкции-блока-вступления
в
vhdl-offsets-alist
переменная. Допустим, он находит значение « 2 »;
он добавляет это к промежуточной сумме (инициализируется нулем), что дает
общий отступ в 2 пробела.
Следующий режим VHDL переходит в буферную позицию 20 и запрашивает
текущий столбец. Поскольку ключевое слово begin
в позиции 20 буфера равно
в нулевом столбце к промежуточной сумме добавляется « 0 ».Поскольку есть
только один синтаксический компонент в списке для этой строки, отступ
расчет завершен, и общий отступ для строки равен 2
пробелы.
Все просто, а?
На самом деле, режим обычно просто делает то, что нужно, без вашего
подумать об этом более подробно. Но при настройке
отступа, полезно понять общую модель отступа
быть использованным.
Чтобы помочь вам настроить режим VHDL, вы можете установить переменную
vhdl-echo-syntactic-information-p
на non- nil
, чтобы
список синтаксических компонентов и вычисленное смещение всегда будет отображаться в
минибуфер, когда вы нажмете TAB .
4 Настройка отступа
Переменная vhdl-offsets-alist
- это то место, где вы настраиваете все свои
вмятины. Вам просто нужно решить, какое дополнительное смещение вы хотите
добавить для каждого синтаксического символа. Вы можете использовать команду C-c
O ( vhdl-set-offset
) как способ установки смещения, оба
интерактивно и из вашего режима. Также вы можете настроить
стили отступов. Скорее всего, вы найдете один из
заранее определенные стили будут соответствовать вашим потребностям, но если нет, этот раздел будет
опишите, как установить базовые конфигурации редактирования.См. "Стили" для
объяснение того, как настроить именованные стили.
Как упоминалось ранее, переменная vhdl-offsets-alist
является
список ассоциаций между синтаксическими символами и применяемыми смещениями
для этих символов. Фактически, эти значения смещения могут быть целыми числами,
имя функции или переменной или один из следующих символов: +
,
-
, ++
, -
, *
или /
. Символ
значения имеют следующие значения:
-
+
- 1 xvhdl-basic-offset
-
-
- -1 xvhdl-basic-offset
-
++
- 2 xvhdl-basic-offset
-
-
- -2 xvhdl-basic-offset
-
*
- 0.5 xvhdl-basic-offset
-
/
- -0,5 xvhdl-basic-offset
Так, например, поскольку большинство смещений по умолчанию определены в
условия +
, -
и 0
, если вам нравится общий
стиль отступа, но вы используете 2 пробела вместо 4 на уровень,
вы, вероятно, сможете достичь своего стиля, просто изменив
vhdl-basic-offset
вот так (в вашем файле .emacs ):
(setq vhdl-basic-offset 2)
Чтобы изменить стили отступов более радикально, вы захотите изменить
значение, связанное с синтаксическими символами в
vhdl-offsets-alist
переменная.Сначала я покажу вам, как это сделать
в интерактивном режиме, а затем я опишу, как внести изменения в ваш
.emacs , чтобы ваши изменения были более постоянными.
4.1 Интерактивная настройка
В качестве примера настройки отступа давайте изменим
стиль приведенного выше примера из:
1: инвертор: процесс 2: начало 3: q <= не d; 4: ждать d; 5: конечный инвертор;
к:
1: инвертор: процесс 2: начало 3: q <= не d; 4: ждать d; 5: конечный инвертор;
Другими словами, мы хотим изменить отступ операторов
внутри инверторного процесса.Обратите внимание, что конструкция, которую мы хотим
изменение начинается в строке 3. Чтобы изменить отступ строки, нам нужно
чтобы увидеть, какой синтаксический компонент влияет на вычисления смещения для этого
линия. Нажатие C-c C-x в строке 3 дает:
((инструкция-блок-введение. 20))
Итак, мы знаем, что для изменения смещения первого назначения сигнала нам нужно
изменить отступ для синтаксиса statement-block-intro
символ. Чтобы сделать это в интерактивном режиме, просто нажмите C-c O
( vhdl-set-offset
).Вам будет предложено ввести синтаксический символ для
изменить, обеспечивая разумный дефолт. В этом случае по умолчанию
statement-block-intro
, это просто синтаксический символ, который мы хотим
изменять!
После того, как вы нажмете «Return», режим VHDL предложит вам ввести новый
значение смещения со старым значением по умолчанию. По умолчанию в этом
регистр - « + », поэтому нажмите клавишу Backspace, чтобы удалить « + », затем нажмите
« ++ » и RET . Это приведет к смещению в два раза больше
базовый отступ с синтаксическим символом оператор-блок-вступление
в
переменная vhdl-offsets-alist
.
Чтобы быстро проверить изменения, просто введите M-x vhdl-indent-defun в
повторно обозначить всю функцию. Теперь пример должен выглядеть так:
1: инвертор: процесс 2: начало 3: q <= не d; 4: ждать d; 5: конечный инвертор;
Обратите внимание, что нам достаточно просто изменить смещение в строке 3.
Поскольку другие затронутые строки имеют отступ относительно строки 3, они
автоматически с отступом, как вы и ожидали. Для более сложных
примеры, это может не всегда работать.Общий подход заключается в следующем:
всегда начинайте настраивать смещения для строк выше в файле, затем
измените отступ и посмотрите, нуждаются ли следующие строки в дополнительных настройках.
4.2 Постоянная вмятина
Чтобы сделать это изменение постоянным, вам нужно добавить код Lisp в ваш
.emacs файл. VHDL Mode предоставляет vhdl-mode-hook
которые вы можете использовать для настройки стилей редактирования вашего языка. Этот крючок
запускается в последнюю очередь при входе в режим VHDL.
Вот упрощенный пример того, что вы можете добавить к вашему .emacs
файл, чтобы внести изменения, описанные в предыдущем разделе
(Интерактивная настройка) более постоянный. См. Emacs
руководства для получения дополнительной информации о настройке Emacs с помощью хуков.
См. Образец файла инициализации, чтобы получить более полный образец файла .emacs .
(defun my-vhdl-mode-hook () ;; мои настройки для всего vhdl-режима (vhdl-set-offset 'инструкция-блок-введение' ++) ;; другие настройки можно найти здесь ) (add-hook 'vhdl-mode-hook' мой-vhdl-mode-hook)
Для сложных настроек вы, вероятно, захотите настроить
стиль , который объединяет все ваши настройки в одну
имя.См. Стили.
Значение смещения также может быть функцией, и именно так опытные пользователи
получить огромную гибкость в настройке отступов. См. Расширенные настройки.
4.3 Стили
Большинству людей нужно только редактировать код, отформатированный всего несколькими четко определенными
и последовательные стили. Например, их организация может навязывать
«Благословенный» стиль, которому должны соответствовать все его программисты. По аналогии,
люди, которые работают над программным обеспечением GNU, должны будут использовать стиль кодирования GNU на
Код C.Некоторые магазины более снисходительны, допускают различные варианты кодирования.
стилей, и по мере того, как программисты приходят и уходят, может появиться ряд
стили в использовании. По этой причине режим VHDL делает его удобным для
вы можете настроить логические группы настроек, называемые стилями ,
связать одно имя для любого конкретного стиля и довольно легко
начать редактировать новый или существующий код, используя эти стили. Эта глава
описывает, как настраивать стили и как редактировать код C с помощью стилей.
4.3.1 Встроенные стили
Если вам повезет, один из встроенных стилей режима VHDL может быть просто
то, что вы ищете. Некоторые из наиболее распространенных стилей VHDL:
уже встроенный. К ним относятся:
-
GNU
- стиль кодирования в Справочном руководстве по языку IEEE.
Если вы хотите поэкспериментировать с этими встроенными стилями, вы можете просто
введите M-x vhdl-set-style RET в буфере режима VHDL.
Вам будет предложено ввести один из вышеперечисленных стилей (с завершением).Введите один из стилей и нажмите RET . Обратите внимание, однако, что установка
style таким образом , а не , автоматически изменяет отступ в файле.
Как только вы найдете встроенный стиль, который вам нравится, вы можете внести изменения
постоянный, добавив вызов в ваш файл .emacs . Скажем для
пример, что вы хотите использовать стиль IEEE
во всех своих
файлы. Вы бы добавили это:
(defun my-vhdl-mode-hook () ;; использовать стиль IEEE для всего кода VHDL (vhdl-set-style "IEEE") ;; другие настройки можно найти здесь ) (add-hook 'vhdl-mode-hook' мой-vhdl-mode-hook)
См. Постоянная настройка.
4.3.2 Добавление стилей
Если ни один из встроенных стилей не подходит, вы, вероятно, захотите
добавить новое определение стиля. Стили хранятся в vhdl-style-alist
переменная, но вы, вероятно, не захотите изменять эту переменную напрямую.
Режим VHDL предоставляет функцию vhdl-add-style
, которую вы
можно использовать для простого добавления новых стилей или обновления существующих стилей. Этот
функция принимает два аргумента, строку stylename и
список ассоциаций описание настроек стиля.Если
stylename уже нет в vhdl-style-alist
, новый стиль
добавлен, иначе стиль, уже связанный с именем стиля , будет
поменял на новый описание . Эта функция также принимает
необязательный третий аргумент, который, если не nil
, автоматически
устанавливает новый стиль в текущий буфер.
Образец файла .emacs представляет собой конкретный пример того, как новый
стиль может быть добавлен и установлен автоматически.См. Образец файла инициализации.
4.3.3 Стили файлов
Руководство Emacs описывает, как вы можете настроить определенные переменные на
для каждого файла путем включения блока Local Variable в конце
файл. До сих пор вы видели только функциональный интерфейс для
Режим VHDL, который очень неудобен для использования в локальной переменной
блокировать. Режим VHDL предоставляет две переменные, которые упрощают
вы можете настроить свой стиль для каждого файла.
Переменная vhdl-file-style
может быть установлена в строку имени стиля как
описано во встроенных стилях.Когда файл посещается,
Режим VHDL автоматически установит этот стиль для файла.
используя vhdl-set-style
.
Другая переменная, vhdl-file-offsets
, принимает список ассоциаций
аналогично тому, что разрешено в vhdl-offsets-alist
. Когда файл
посещены, режим VHDL автоматически установит эти смещения, используя
vhdl-набор-смещение
. См. Настройка отступа.
Обратите внимание, что применяются настройки стиля файла (например, vhdl-file-style
)
перед настройками смещения файла (т.е.е., vhdl-файл-смещения
).
4.4 Расширенные настройки
Для большинства пользователей режим VHDL будет поддерживать их стили кодирования с
очень небольшая потребность в настройке. Обычно один из стандартных
стили, определенные в vhdl-style-alist
, помогут. Иногда,
одно из смещений синтаксических символов необходимо будет немного изменить, или
возможно, потребуется изменить vhdl-basic-offset
. Однако некоторые
стили требуют более продвинутых возможностей для настройки, и один из
реальные сильные стороны VHDL Mode в том, что модель синтаксического анализа
предоставляет очень гибкую структуру для настройки отступов.Этот
позволяет выполнять специальные расчеты отступов для ситуаций
не обрабатывается режимом напрямую.
4.4.1 Пользовательские функции отступа
Один из наиболее распространенных способов настройки режима VHDL - это написать
пользовательских функций отступа и связывание их с определенными
синтаксические символы (см. Синтаксические символы). Сам режим VHDL
использует настраиваемые функции отступа для обеспечения более сложных
отступ, например, при выстраивании выбранных назначений сигналов:
В этом примере синтаксический символ statement-cont
имеет
смещение +
и vhdl-basic-offset
равно 2, поэтому строки 4
до 6 - это просто отступ на два пробела справа от строки 3.Но
возможно, мы хотели бы, чтобы режим VHDL был немного умнее, поэтому
что он смещает описания формы волны относительно сигнала
оператор присваивания в строке 3. Для этого мы должны написать собственный
функция отступа, которая находит столбец назначения сигнала
оператор в первой строке оператора. Вот код Lisp
(из исходного файла vhdl-mode.el ), который реализует это:
(определение определения vhdl-lineup-statement-cont (langelem) ;; выровнять оператор-продолжение после оператора присваивания (сохранить экскурсию (пусть * ((relpos (cdr langelem)) (assignp (сохранить экскурсию (goto-char (vhdl-point 'boi)) (и (повторный поиск-вперед "\\ (<\\ |: \\) =" (vhdl-point 'eol) т) (- (точка) (vhdl-point 'boi))))) (curcol (progn (goto-char relpos) (текущий столбец))) foundp) (пока (и (не найдено)) (<(точка) (vhdl-точка 'eol))) (повторный поиск-вперед "\\ (<\\ |: \\) = \\ | (" (vhdl-point 'eol)' переместить) (если (vhdl-in-literal (cdr langelem)) (вперед-символ) (если (= (предшествующий символ)? \ () ;; пропустить любые выражения в скобках (goto-char (min (vhdl-point 'eol) (скан-листы (точка) 1 1))) ;; нашел оператор присваивания (не в eol) (setq foundp (not (глядя на "\\ s - * $")))))) (если (не найденоp) ;; в строке нет оператора присваивания vhdl-базовое смещение ;; вычислить столбец отступа после присваивания и ws, если только ;; наша строка содержит оператор присваивания (если (не assignp) (прогноз (вперед-символ) (пропустить символы вперед "\ t") (setq assignp 0))) (- (текущий столбец) assignp curcol)) )))
Пользовательские функции отступа принимают единственный аргумент, который является синтаксисом.
компонент cons-ячейка (см. Синтаксический анализ).В
функция возвращает целочисленное значение смещения, которое будет добавлено к
полный отступ для строки. Обратите внимание, что на самом деле
возвращается разница между столбцом, который присваивается сигналу.
оператор включен, а столбец относительного положения буфера передается в
аргумент функции. Помните, что режим VHDL автоматически
добавляет в столбец относительную позицию буфера компонента, и мы
не хочу, чтобы эта ценность добавлялась к итоговой сумме дважды.
Теперь, чтобы связать функцию vhdl-lineup-statement-cont
с
statement-cont
синтаксический символ, мы можем добавить что-то вроде
следующее к нашему vhdl-mode-hook
:
(vhdl-set-offset 'statement-cont' vhdl-lineup-statement-cont)
Теперь функция выглядит так после повторного отступа (с использованием M-x
vhdl-indent-defun ):
Пользовательские функции отступа могут быть как простыми, так и сложными, как вам нравится,
и любой синтаксический символ, который появляется в vhdl-offsets-alist
, может иметь
связанная с ним настраиваемая функция отступа.Обратите внимание, однако, что
использование множества настраиваемых функций отступа может повлиять на производительность
Режим VHDL.
4.4.2 Другие специальные выемки
Еще одна переменная доступна для настройки режима VHDL:
крючок vhdl-special-indent
. Это стандартная переменная ловушки, которая
вызывается после того, как каждая строка имеет отступ в режиме VHDL. Вы можете использовать
он позволяет делать какие-либо специальные отступы или корректировать линии в вашем стиле
диктует, например, добавление дополнительного отступа в предложение карты портов в
создание экземпляров компонентов и т. д.Однако обратите внимание, что вы не должны изменять
точка
или метка
внутри вашего vhdl-special-indent-hook
функции.
5 Синтаксических символов
Полный список распознанных синтаксических символов описан в
vhdl-offsets-alist
переменная. В этой главе будут представлены некоторые
примеры, помогающие прояснить эти символы.
Большинство синтаксических имен символов соответствуют общему соглашению об именах. Когда
строка начинается с ключевого слова begin
или end
, синтаксис
символ будет содержать суффикс -open
или -close
соответственно.
Обычно проводится различие между первой строкой, которая вводит
конструкция и строки, продолжающие конструкцию, и синтаксические символы
, представляющие эти строки, будут содержать суффикс -intro
или
-cont
соответственно. В качестве подкласса этой схемы
строка, которая является первой из конкретной блочной конструкции, будет содержать
суффикс -block-intro
.
распознанный символ
6 Часто задаваемых вопросов
В. Как изменить отступ для всего файла?
A. Посетите файл и нажмите C-x h , чтобы отметить все
буфер. Затем нажмите ESC C- \ , чтобы изменить отступ для всей области.
который вы только что отметили. Или просто введите M-x vhdl-indent-buffer .Q. Как изменить отступ для всей функции?
A. Нажмите ESC C-h , чтобы отметить всю функцию. потом
нажмите ESC C- \ , чтобы изменить отступ всей области, которую вы только что
отмечен.Q. Как изменить отступ для текущего блока?
A. Сначала перейдите к скобе, которая открывает блок с помощью
ESC C-u , затем измените отступ этого выражения с помощью
ESC C-q .Q. Как изменить отступ текущего оператора?
A. Сначала перейти к началу выписки с помощью
ESC a , затем измените отступ этого выражения с помощью ESC
К-д .В. Я положил
(vhdl-set-offset 'statement-cont 0)
в моем файле .emacs , но я получаю сообщение об ошибке
vhdl-set-offset Определение функции
недействительно.A. Это означает, что режим VHDL не был загружен в ваш
Сеанс Emacs к моменту достижения вызоваvhdl-set-offset
,
скорее всего, потому что режим VHDL загружается автоматически. Вместо
размещения строкиvhdl-set-offset
в вашем верхнем уровне
.emacs файл, поместите его в свойvhdl-mode-hook
, или
просто добавьте следующее в верхнюю часть .emacs файл:См. Образец файла .emacs Образец файла инициализации для
Детали.
7 Получение последней версии режима VHDL
Лучший способ быть уверенным, что у вас всегда будет последняя версия режима VHDL.
должен присоединиться к списку рассылки vhdl-mode-announce
. Если вы
смелая душа, и желаем принять участие в бета-тестировании новых выпусков
VHDL Mode, вы также можете присоединиться к рассылке vhdl-mode-жертвы
список. Отправьте письмо обслуживающему персоналу reto @ gnu.org присоединиться
любой из этих списков.
Официальную домашнюю страницу режима Emacs VHDL можно найти по адресу
http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html.
8 Пример файла инициализации
Большинство настроек можно выполнить с помощью записи «Настроить» в
Меню режима VHDL, которое не требует редактирования файла .emacs.
Если вы хотите настроить отступы, вот и все:
;; Вот образец файла .emacs, который может вам помочь. Только ;; скопируйте этот регион и вставьте его в свой.emacs файл. Вы можете захотеть ;; изменить некоторые фактические значения. (defconst my-vhdl-style '((vhdl-tab-always-indent. t) (vhdl-comment-only-line-offset. 4) (vhdl-offsets-alist. ((arglist-close. vhdl-lineup-arglist) (продолжение заявления 0) (случай-альтернатива. 4) (блок-открыть. 0))) (vhdl-echo-syntactic-information-p. t) ) "Мой стиль программирования VHDL") ;; Настройки для vhdl-mode (defun my-vhdl-mode-hook () ;; добавить мой личный стиль и установить его для текущего буфера (vhdl-add-style "ЛИЧНЫЙ" my-vhdl-style t) ;; настройки смещения не в стиле my-vhdl (vhdl-set-offset 'инструкция-case-intro' ++) ;; другие настройки (установить ширину табуляции 8 ;; это обеспечит использование пробелов вместо вкладок indent-tabs-mode nil) ;; привязки клавиш для VHDL помещаются в vhdl-mode-map (определение-ключ vhdl-mode-map "\ C-m" 'новая строка-и-отступ) ) (add-hook 'vhdl-mode-hook' мой-vhdl-mode-hook)
9 ограничений и известные ошибки
- Изменение отступа больших областей или выражений может быть медленным.
10 списков рассылки и отправка отчетов об ошибках
Чтобы сообщать об ошибках, используйте C-c C-b ( vhdl-submit-bug-report
)
команда. Это дает мне важную информацию, необходимую для воспроизведения вашего
проблема. Убедитесь, что вы включили краткий, но полный пример кода.
Пожалуйста, попробуйте свести свой пример к необходимому основному коду.
воспроизвести проблему и включить точный рецепт шагов, необходимых для
выявить ошибку. Обязательно включите любой код, который появляется
до ваш пример ошибки.
Для получения другой помощи или предложений отправьте сообщение по адресу [email protected]
Отправьте сообщение на [email protected], чтобы попасть на
vhdl-mode-жертвы
бета-тестеров список, где бета-версии
Выложены VHDL Mode. Учтите, что бета-версии ожидать не стоит.
релизы должны быть такими же стабильными, как и публичные релизы.
Существует также список только для анонсов, в котором представлены последние публичные выпуски
режима VHDL выложены. Отправить сообщение на
[email protected] для добавления в этот список.
Приложение A Лицензия свободной документации GNU
Версия 1.3, 3 ноября 2008 г.
Авторские права © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. https://fsf.org/ Всем разрешено копировать и распространять дословные копии. этого лицензионного документа, но его изменение не допускается.
- ПРЕАМБУЛА
Целью данной Лицензии является создание руководства, учебника или другого
функционально-полезный документ бесплатно в смысле свободы: в
гарантировать каждому реальную свободу копировать и распространять его,
с модификацией или без модификации, коммерческой или некоммерческой.Во-вторых, эта Лицензия предоставляет автору и издателю возможность
получить признание за свою работу, при этом не считаясь ответственным
для модификаций, сделанных другими.Эта Лицензия представляет собой своего рода «авторское лево», что означает, что производная
сами произведения документа должны быть бесплатными в том же смысле. Это
дополняет Стандартную общественную лицензию GNU, которая является авторским левом
лицензия, предназначенная для бесплатного программного обеспечения.Мы разработали эту Лицензию для того, чтобы бесплатно использовать ее для руководств.
программного обеспечения, потому что свободным программам нужна бесплатная документация: бесплатный
программа должна поставляться с руководствами, предоставляющими те же свободы, что и
программное обеспечение делает.Но эта Лицензия не ограничивается руководствами по программному обеспечению;
его можно использовать для любой текстовой работы, независимо от тематики или
опубликована ли она в виде печатной книги. Мы рекомендуем эту лицензию
в основном для работ, цель которых - инструкция или справка. - ПРИМЕНЕНИЕ И ОПРЕДЕЛЕНИЯ
Настоящая Лицензия применима к любому руководству или другой работе на любом носителе, которая
содержит уведомление правообладателя о том, что он может быть
распространяется в соответствии с условиями данной Лицензии. Такое уведомление дает
всемирная бесплатная лицензия на неограниченный срок для использования
работать на условиях, изложенных в данном документе.«Документ» ниже,
относится к любому такому руководству или работе. Любой представитель общественности является
лицензиат, и к нему обращаются как «вы». Вы принимаете лицензию, если вы
копировать, изменять или распространять работу способом, требующим разрешения
в соответствии с законом об авторском праве.«Измененная версия» документа означает любую работу, содержащую
Документ или его часть, либо дословно скопированные, либо с
модификации и / или переведены на другой язык.«Дополнительный раздел» - это именованное приложение или вступительный раздел.
Документа, который касается исключительно отношений
издателей или авторов Документа в целом
предмет (или связанные вопросы) и не содержит ничего, что могло бы упасть
непосредственно в рамках этой общей темы.(Таким образом, если Документ находится в
часть учебника математики, второй раздел не может объяснить
любая математика.) Отношения могут быть историческими
связь с предметом или со смежными вопросами, или юридическими,
коммерческая, философская, этическая или политическая позиция в отношении
их.«Неизменяемые разделы» - это определенные второстепенные разделы, названия которых
обозначены в уведомлении как неизменяемые разделы.
это говорит о том, что Документ выпущен под этой Лицензией.Если
раздел не соответствует приведенному выше определению вторичного, то это не
разрешено обозначать как инвариантный. Документ может содержать ноль
Инвариантные сечения. Если в Документе не указан инвариант
Разделов тут нету.«Тексты на обложке» - это определенные короткие отрывки текста, которые перечислены,
как тексты передней обложки или тексты задней обложки, в примечании, в котором говорится, что
Документ выпущен под этой Лицензией. Текст на передней обложке может
быть не более 5 слов, а текст на задней обложке может состоять не более чем из 25 слов.«Прозрачная» копия Документа означает машиночитаемую копию,
представлены в формате, спецификация которого доступна
широкая публика, которая подходит для редактирования документа
напрямую с помощью обычных текстовых редакторов или (для изображений, состоящих из
пикселей) общие программы рисования или (для рисунков) некоторые широко доступные
редактор чертежей, который подходит для ввода в программы форматирования текста или
для автоматического перевода в различные форматы, подходящие для ввода
в средства форматирования текста.Копия, сделанная в другом прозрачном файле
формат, разметка которого или отсутствие разметки были организованы таким образом, чтобы препятствовать
или препятствовать последующим изменениям читателями не является прозрачным.
Формат изображения непрозрачный, если он используется в значительных объемах.
текста. Копия, которая не является «прозрачной», называется «непрозрачной».Примеры подходящих форматов для прозрачных копий включают простые
ASCII без разметки, формат ввода Texinfo, ввод LaTeX
формат, SGML или XML с использованием общедоступных
DTD и стандартный простой HTML,
PostScript или PDF, предназначенные для редактирования человеком.Примеры
форматов прозрачных изображений, включая PNG, XCF и
JPG. Непрозрачные форматы включают собственные форматы, которые можно
читаются и редактируются только собственными текстовыми редакторами, SGML или
XML, для которого DTD и / или инструменты обработки являются
не общедоступный, а также созданный машиной HTML,
PostScript или PDF, созданный некоторыми текстовыми редакторами для
только для целей вывода.«Титульный лист» означает для печатной книги сам титульный лист,
плюс такие следующие страницы, которые необходимы для разборчивости материала
эта Лицензия требует размещения на титульной странице.Для работ в
форматы, которые не имеют титульного листа как такового, «Титульный лист» означает
текст рядом с названием работы, которое выделяется на наиболее заметном месте,
перед началом основного текста.«Издатель» означает любое физическое или юридическое лицо, распространяющее копии
Документа для общественности.Раздел «Право XYZ» означает именованный подраздел Документа, чей
title либо в точности XYZ, либо содержит XYZ в скобках после
текст, переводящий XYZ на другой язык.(Здесь XYZ означает
конкретное название раздела, указанное ниже, например «Благодарности»,
«Посвящения», «Подтверждения» или «История».) Чтобы «сохранить титул»
такого раздела при изменении документа означает, что он остается
раздел «Право XYZ» в соответствии с этим определением.Документ может включать отказ от гарантий рядом с уведомлением, которое
заявляет, что эта Лицензия применяется к Документу. Настоящая гарантия
Заявления об ограничении ответственности считаются включенными в настоящий документ посредством ссылки.
Лицензия, но только в части отказа от гарантий: любые другие
последствия, которые могут иметь эти Отказ от гарантий, являются недействительными и имеют
не влияет на смысл данной Лицензии. - ВЕРБАТИМНОЕ КОПИРОВАНИЕ
Вы можете копировать и распространять Документ на любом носителе, либо
коммерчески или некоммерчески, при условии, что данная Лицензия,
уведомления об авторских правах и уведомление о лицензии, в котором говорится, что эта Лицензия применяется
к Документу воспроизводятся во всех копиях, и вы не добавляете никаких других
любых условий, отличных от условий настоящей Лицензии. Вы не можете использовать
технические меры по воспрепятствованию или контролю чтения или дальнейшее
копирование копий, которые вы делаете или распространяете. Однако вы можете принять
компенсация в обмен на копии.Если вы раздаете достаточно большой
количество копий вы также должны соблюдать условия раздела 3.Вы также можете предоставлять копии на условиях, указанных выше, и
вы можете публично демонстрировать копии. - КОЛИЧЕСТВЕННОЕ КОПИРОВАНИЕ
Если вы публикуете печатные копии (или копии на носителях, которые обычно
печатные обложки) Документа, количество которых превышает 100, и
В уведомлении о лицензии документа требуются тексты на обложке, вы должны приложить
копии в обложках, которые ясно и разборчиво содержат все эти обложки
Тексты: тексты передней обложки на передней обложке и тексты задней обложки на
задняя крышка.Обе обложки также должны четко и разборчиво обозначать
вы как издатель этих копий. Передняя обложка должна присутствовать
полный заголовок со всеми словами заголовка одинаково заметными и
видимый. Вы можете дополнительно добавить другие материалы на обложки.
Копирование с изменениями, ограниченными обложками, при условии, что они сохраняют
название документа и удовлетворяет этим условиям, можно рассматривать
как дословное копирование в остальном.Если требуемые тексты для любой обложки слишком объемны, чтобы уместиться
разборчиво, вы должны указать первые из перечисленных (столько, сколько подходит
разумно) на фактическом покрытии, а остальные продолжайте на соседнем
страниц.Если вы публикуете или распространяете Непрозрачные копии нумерации документов
более 100, вы должны либо включить машиночитаемый прозрачный
копировать вместе с каждой непрозрачной копией или состояние внутри или с каждой непрозрачной копией
расположение в компьютерной сети, из которого общее использование сети
общедоступный имеет доступ к загрузке с использованием стандартных сетевых протоколов
полная прозрачная копия документа без дополнительных материалов.
Если вы используете последний вариант, вы должны предпринять разумные меры.
когда вы начнете распространение непрозрачных копий в большом количестве, чтобы гарантировать
что эта Прозрачная копия останется доступной по указанным
место, по крайней мере, через год после последнего распространения
Непрозрачная копия (напрямую или через ваших агентов или розничных продавцов) этого
выпуск для публики.Требуется, но не обязательно, чтобы вы связались с авторами
Задокументируйте, прежде чем распространять большое количество копий, чтобы
им шанс предоставить вам обновленную версию Документа. - МОДИФИКАЦИИ
Вы можете копировать и распространять Измененную версию документа по
условия разделов 2 и 3 выше, при условии, что вы освобождаете
Модифицированная версия именно под этой Лицензией, с Модифицированной
Версия, выполняющая роль Документа, тем самым лицензируя распространение.
и модификация Модифицированной версии для всех, кто владеет копией
этого.Кроме того, в Модифицированной версии вы должны сделать следующее:- Используйте на титульном листе (и на обложках, если таковые имеются) отдельный заголовок
из документа и из предыдущих версий
(которые, если таковые были, должны быть перечислены в разделе истории
Документа). Вы можете использовать то же название, что и в предыдущей версии
если исходный издатель этой версии дает разрешение. - Укажите на титульном листе одно или несколько физических или юридических лиц в качестве авторов
несет ответственность за авторство изменений в Модифицированном
Версия, вместе с как минимум пятью из основных авторов
Документ (все его основные авторы, если их меньше пяти),
если они не освободят вас от этого требования. - Укажите на титульном листе имя издателя
Модифицированная версия, как издатель. - Сохраните все уведомления об авторских правах документа.
- Добавьте соответствующее уведомление об авторских правах для ваших изменений
рядом с другими уведомлениями об авторских правах. - Включите сразу после уведомления об авторских правах уведомление о лицензии
предоставление публичного разрешения на использование Модифицированной версии под
условия данной Лицензии в форме, показанной в Приложении ниже. - Сохранить в уведомлении о лицензии полные списки неизменяемых разделов
и необходимые тексты обложки, указанные в уведомлении о лицензии. - Включите неизмененную копию этой Лицензии.
- Сохранить раздел под названием «История», сохранить его заголовок и добавить
к нему элемент с указанием, по крайней мере, названия, года, новых авторов и
издатель Модифицированной версии, как указано на Титульной странице. Если
в документе нет раздела «История», создайте его
с указанием названия, года, авторов и издателя Документа как
на титульном листе, затем добавьте элемент, описывающий измененный
Версия, как указано в предыдущем предложении. - Сохранить местоположение в сети, если таковое имеется, указанное в Документе для
публичный доступ к Прозрачной копии Документа, а также
сетевые расположения, указанные в Документе для предыдущих версий
это было основано на. Их можно разместить в разделе «История».
Вы можете не указывать сетевое расположение для работы, опубликованной на
не менее чем за четыре года до самого документа, или если оригинал
издатель версии, на которую он ссылается, дает разрешение. - Для любого раздела, озаглавленного «Благодарности» или «Посвящения», сохранить
заголовок раздела и сохранить в разделе все
суть и тон благодарности и / или
посвящения, данные в нем. - Сохранить все неизменяемые разделы документа,
без изменений в тексте и заголовках. Номера разделов
или эквивалент не считаются частью заголовков разделов. - Удалить любой раздел, озаглавленный «Подтверждения». Такой раздел
не могут быть включены в Модифицированную версию. - Не переименовывайте существующие разделы, которые будут озаглавлены «Подтверждения» или
противоречить названию с любым неизменяемым разделом. - Сохраните все отказ от гарантии.
Если Модифицированная версия включает новые предварительные разделы или
приложения, которые квалифицируются как второстепенные разделы и не содержат материалов
скопировано из Документа, вы можете по своему усмотрению указать некоторые или все
этих участков как инвариантные. Для этого добавьте их заголовки в
список неизменяемых разделов в уведомлении о лицензии Модифицированной версии.
Эти заголовки должны отличаться от любых других заголовков разделов.Вы можете добавить раздел «Подтверждения», если он содержит
ничего, кроме одобрения вашей Модифицированной версии различными
стороны - например, заявления о рецензировании или о том, что в тексте
одобрено организацией как авторитетное определение
стандарт.Вы можете добавить отрывок длиной до пяти слов в качестве текста на лицевой стороне обложки и
переход до 25 слов в виде текста задней обложки в конец списка
текстов обложек в доработанной версии. Только один отрывок из
Текст передней обложки и один из текстов задней обложки могут быть добавлены с помощью (или
посредством договоренностей, заключенных) любым одним лицом. Если документ уже
включает текст обложки для той же обложки, ранее добавленной вами или
по договоренности, заключенной той же организацией, от имени которой вы действуете,
вы не можете добавить еще один; но вы можете заменить старую на явную
разрешение от предыдущего издателя, который добавил старый.Автор (ы) и издатель (ы) Документа не в соответствии с данной Лицензией
дать разрешение использовать их имена для рекламы или для утверждения или
означают одобрение любой Модифицированной версии. - Используйте на титульном листе (и на обложках, если таковые имеются) отдельный заголовок
- ОБЪЕДИНЕНИЕ ДОКУМЕНТОВ
Вы можете объединить Документ с другими документами, выпущенными в соответствии с этим
Лицензия на условиях, определенных в разделе 4 выше для измененных
версий при условии, что вы включите в комбинацию все
Неизменяемые разделы всех исходных документов, без изменений и
перечислите их все как неизменные разделы вашей совместной работы в своем
уведомление о лицензии, и что вы сохраняете все их Отказ от гарантий.Совместная работа должна содержать только одну копию данной Лицензии, и
несколько идентичных неизменяемых разделов могут быть заменены одним
копировать. Если существует несколько неизменяемых разделов с одинаковым именем, но
различного содержания, сделайте заголовок каждого такого раздела уникальным,
добавив в конце в круглых скобках название оригинала
автор или издатель этого раздела, если он известен, либо уникальный номер.
Сделайте такую же настройку заголовков разделов в списке
Неизменяемые разделы в уведомлении о лицензии на совместное произведение.В комбинации необходимо объединить любые разделы с названием «История».
в различных оригинальных документах, образующих один раздел под названием
«История»; аналогичным образом объедините любые разделы, озаглавленные «Благодарности»,
и любые разделы, озаглавленные «Посвящения». Вы должны удалить все
разделы, озаглавленные «Подтверждения». - КОЛЛЕКЦИИ ДОКУМЕНТОВ
Вы можете составить коллекцию, состоящую из Документа и других документов.
выпущен в соответствии с этой Лицензией, и заменяет отдельные копии этого
Лицензия в различных документах с единственной копией, которая включена в
сбор, при условии, что вы соблюдаете правила данной Лицензии на
дословное копирование каждого из документов во всех остальных отношениях.Вы можете извлечь один документ из такой коллекции и распространить
это индивидуально под этой Лицензией, при условии, что вы вставите копию этого
Лицензию в извлеченный документ и следуйте этой Лицензии во всех
другие аспекты, касающиеся дословного копирования этого документа. - ОБЪЕДИНЕНИЕ С НЕЗАВИСИМЫМИ РАБОТАМИ
Компиляция Документа или его производных с другими отдельными
и независимые документы или работы, в или на томе хранилища или
средство распространения, называется «совокупным», если авторское право
полученный в результате компиляции не используется для ограничения юридических прав
пользователей компиляции за пределами того, что позволяют отдельные работы.Когда Документ включен в совокупность, эта Лицензия не
применяются к другим произведениям в совокупности, которые сами не являются
производные работы от Документа.Если требование раздела 3 к тексту обложки применимо к этим
копии Документа, то, если Документ меньше половины
всю совокупность, Тексты Обложки Документа могут быть размещены на
охватывает эту скобку Документа в совокупности, или
электронный эквивалент обложек, если Документ находится в электронном виде.В противном случае они должны появиться на печатных обложках, которые скрепляют весь
совокупный. - ПЕРЕВОД
Перевод считается своего рода модификацией, поэтому вы можете
распространять переводы Документа согласно условиям раздела 4.
Замена неизменяемых разделов переводами требует специальных
разрешение от их правообладателей, но вы можете включить
переводы некоторых или всех неизменяемых разделов в дополнение к
оригинальные версии этих неизменяемых сечений. Вы можете включить
перевод этой Лицензии и всех лицензионных примечаний в
Документ и любые заявления об отказе от гарантий при условии, что вы также включите
оригинальная английская версия данной Лицензии и оригинальные версии
этих уведомлений и заявлений об отказе от ответственности.В случае разногласий между
перевод и оригинальная версия данной Лицензии или уведомления
или отказ от ответственности, исходная версия имеет преимущественную силу.Если раздел в документе озаглавлен «Благодарности»,
«Посвящения» или «История», требование (раздел 4) о сохранении
его Заголовок (раздел 1) обычно требует изменения фактического
заглавие. - ПРЕКРАЩЕНИЕ
Вы не можете копировать, изменять, сублицензировать или распространять Документ.
кроме случаев, явно предусмотренных настоящей Лицензией.Любая попытка
в противном случае копирование, изменение, сублицензирование или распространение его является недействительным, и
автоматически прекращает ваши права по этой Лицензии.Однако, если вы прекратите все нарушения этой Лицензии, ваша лицензия
от конкретного правообладателя восстанавливается (а) временно,
до тех пор, пока правообладатель явно и окончательно не
прекращает действие вашей лицензии и (б) навсегда, если правообладатель
не уведомляет вас о нарушении каким-либо разумным способом до
60 дней после прекращения.Более того, ваша лицензия от конкретного правообладателя
восстанавливается навсегда, если правообладатель уведомит вас о
нарушение каким-либо разумным способом, это первый раз, когда вы
получил уведомление о нарушении данной Лицензии (на любую работу) от этого
правообладателя, и вы устраните нарушение до 30 дней после
получение уведомления.Прекращение ваших прав по этому разделу не прекращает
лицензии сторон, получивших от вас копии или права в соответствии с
эта Лицензия.Если ваши права были прекращены и не окончательно
восстановлен, получение копии некоторых или всех тех же материалов не
не дает вам никаких прав на его использование. - БУДУЩИЕ ИЗМЕНЕНИЯ ДАННОЙ ЛИЦЕНЗИИ
Фонд свободного программного обеспечения может публиковать новые исправленные версии.
лицензии GNU Free Documentation License. Такой новый
версии будут похожи по духу на настоящую, но могут
отличаться в деталях для решения новых проблем или опасений. Видеть
https://www.gnu.org/licenses/.Каждой версии Лицензии присваивается отличительный номер версии.
Если в Документе указано, что конкретная пронумерованная версия этого
К нему применяется лицензия «или любая более поздняя версия», у вас есть возможность
соблюдая условия либо указанной версии, либо
любой более поздней версии, которая была опубликована (не как черновик)
Фонд свободного программного обеспечения. Если в Документе не указана версия
номер этой Лицензии, вы можете выбрать любую когда-либо опубликованную версию (не
как проект) Free Software Foundation.Если документ
указывает, что прокси может решить, какие будущие версии этого
Лицензия может быть использована, публичное заявление этого доверенного лица о принятии
версия навсегда разрешает вам выбрать эту версию для
Документ. - РЕЛИЦЕНЗИЯ
«Массовый сайт для совместной работы с несколькими авторами» (или «Сайт MMC») означает любой
Сервер World Wide Web, на котором публикуются произведения, защищенные авторским правом, а также
предоставляет всем желающим возможность редактировать эти работы на видном месте. А
публичная вики, которую может редактировать любой, является примером такого сервера.А
«Массовое сотрудничество с несколькими авторами» (или «MMC»), содержащееся в
сайт означает любой набор охраняемых авторским правом произведений, опубликованных таким образом на MMC.
сайт.«CC-BY-SA» означает лицензию Creative Commons Attribution-Share Alike 3.0
лицензия, опубликованная Creative Commons Corporation, некоммерческой
корпорация с головным офисом в Сан-Франциско,
Калифорния, а также будущие версии этой лицензии с авторским левом
опубликовано той же организацией.«Включить» означает опубликовать или переиздать Документ полностью или
частично, как часть другого документа.MMC «имеет право на перелицензирование», если она лицензирована в соответствии с этим
Лицензия, и все ли работы, которые были впервые опубликованы под этой Лицензией
где-то в другом месте, кроме этой MMC, и впоследствии полностью
или частично в MMC, (1) не было обложек или инвариантных разделов,
и (2), таким образом, были включены до 1 ноября 2008 г.Оператор сайта MMC может переиздать MMC, содержащуюся на сайте.
под CC-BY-SA на том же сайте в любое время до 1 августа 2009 г.,
при условии, что MMC имеет право на перелицензирование.
ПРИЛОЖЕНИЕ: Как использовать эту лицензию для ваших документов
Чтобы использовать эту Лицензию в документе, который вы написали, включите копию
Лицензию в документе и поставить следующие авторские права и
уведомления о лицензии сразу после титульной страницы:
Copyright (C) год ваше имя . Разрешается копировать, распространять и / или изменять этот документ. в соответствии с условиями лицензии GNU Free Documentation License, версия 1.3 или любой более поздней версии, опубликованной Free Software Foundation; без неизменяемых разделов, без текста на лицевой обложке и без задней обложки Тексты.Копия лицензии включена в раздел под названием `` GNU Бесплатная лицензия на документацию ''.
Если у вас есть неизменяемые разделы, тексты передней и задней обложек,
заменить «на… тексты». строка с этим:
с неизменяемыми разделами, равными , перечисляют их названия , с текст передней обложки - - список , а тексты задней обложки - список .
Если у вас есть неизменяемые разделы без текста на обложке или другие
комбинация трех, объедините эти две альтернативы, чтобы они соответствовали
ситуация.
Если ваш документ содержит нетривиальные примеры программного кода, мы
рекомендую выпустить эти примеры параллельно под ваш выбор
лицензия свободных программ, например Стандартная общественная лицензия GNU,
чтобы разрешить их использование в свободных программах.
Указатель концепций
Перейти к: | - А B С F G H I L M N O P R S т В |
---|
Перейти к: | - А B С F G H I L M N O P R S т В |
---|
Указатель команд
Поскольку все команды режима VHDL начинаются со строки
« vhdl- », каждое из которых фигурирует под своим именем vhdl-
и
<вещь> (vhdl-)
имя.
Перейти к: | A I L N S В |
---|
Перейти к: | A I L N S В |
---|
Ключевой указатель
Перейти к: | C E L R т |
---|
Перейти к: | C E L R т |
---|
Индекс переменной
Так как все переменные режима VHDL предваряются строкой
« vhdl- », каждое из которых фигурирует под своим именем vhdl-
и
<вещь> (vhdl-)
имя.
Перейти к: | B E F O S В |
---|
Перейти к: | B E F O S В |
---|
Java | Универсальный, параллельный, основанный на классах, объектно-ориентированный язык высокого уровня |
C | Универсальный, процедурный, переносной язык высокого уровня |
Python | Универсальный, структурированный, мощный язык |
C ++ | Универсальный, переносимый, многопарадигмальный язык произвольной формы в свободной форме |
C # | Сочетает в себе мощность и гибкость C ++ с простотой Visual Basic |
JavaScript | Интерпретируемый, основанный на прототипах, язык сценариев |
PHP | PHP был у руля Интернета в течение многих лет |
Ruby | Универсальный, скриптовый, структурированный, гибкий, полностью объектно-ориентированный язык |
Сборка | Как можно ближе к написанию машинного кода без записи в чистом шестнадцатеричном формате |
Swift | Мощный и интуитивно понятный язык программирования общего назначения |
Groovy | Мощный, опционально типизированный и динамический язык |
Go | Скомпилированный статически типизированный язык программирования |
Pascal | Императивный и процедурный язык, разработанный в конце 1960-х |
Perl | Высокоуровневый, универсальный, интерпретируемый, скриптовый, динамический язык |
R | Фактический стандарт среди статистиков и аналитиков |
COBOL | Общий бизнес-ориентированный язык |
Scala | Современный, объектно-функциональный, мультипарадигмальный язык на основе Java |
Fortran | Первый язык высокого уровня, использующий первый компилятор |
Scratch | Визуальный язык программирования для детей 8-16 лет |
Lua | Разработан как встраиваемый язык сценариев |
Logo | Диалект Lisp, который отличается интерактивностью, модульностью и расширяемостью |
Rust | Идеально подходит для систем, встраиваемых систем и других систем, критичных к производительности. Код |
Lisp | Уникальные особенности - отлично подходят для изучения конструкций программирования |
Ada | АЛГОЛ-подобный язык программирования, расширенный от Pascal и других |
Haskell | Стандартизированный, универсальный, полиморфно статически типизированный язык |
Схема | Универсальный функциональный язык, унаследованный от Lisp и Algol |
Prolog | Декларативный язык логического программирования общего назначения |
Forth | Императивный язык программирования на основе стека |
Clojure | Диалект языка программирования Lisp |
Julia | Высокопроизводительный язык высокого уровня для технических вычислений |
SQL | Доступ и управление данными, хранящимися в системе управления реляционной базой данных |
Erlang | Универсальный, параллельный, декларативный, функциональный язык |
VimL | Мощный язык сценариев редактора Vim |
OCaml | Универсальный, мощный язык высокого уровня |
Awk | Универсальный язык, разработанный для сканирования и обработки шаблонов |
Racket | Платформа для разработки и реализации языков программирования |
BASIC | Семейство универсальных языков программирования высокого уровня |
CoffeeScript | Очень лаконичный язык программирования, который транскомпилируется в JavaScript |
LaTeX | Профессиональная система подготовки документов и язык разметки документов |
Elixir | Относительно новый функциональный язык, работающий на виртуальной машине Erlang |
Dart | Оптимизированный для клиента язык программирования для быстрых приложений |
ABAP | Расширенное программирование бизнес-приложений |
F # | Универсальный, строго типизированный, многопарадигмальный язык.Часть ML |
Chapel | Язык параллельного программирования в разработке в Cray Inc. |
Dylan | Многопарадигмальный язык, поддерживает функциональное и объектно-ориентированное программирование |
D | Язык системного программирования общего назначения с синтаксисом типа C |
Solidity | Объектно-ориентированный язык высокого уровня для реализации смарт-контрактов |
XML | Набор правил для определения семантических тегов, описывающих структуру и значение |
Vala | Объектно-ориентированный язык с автономным компилятором, который генерирует код C |
ECMAScript | Наиболее известен как язык, встроенный в веб-браузеры |
Kotlin | Статически типизированный язык программирования общего назначения с выводом типа |
TypeScript | Строгий синтаксический надмножество JavaScript с добавлением дополнительной статической типизации |
Markdown | Синтаксис форматирования обычного текста, предназначенный для удобства чтения и записи |
Pike | Интерпретируемый, универсальный, высокоуровневый, кроссплатформенный, динамический язык |
HTML | Язык разметки гипертекста |
Фактор | Динамический стековый язык |
Objective-C | Язык общего назначения, который является надмножеством C |
Standard ML | Один из двух основных диалектов языка ML |
Алиса | Образовательный язык с интегрированной средой разработки |
Agda | Функциональный язык с зависимой типизацией, основанный на интуиционистской теории типов |
Значок | Язык общего назначения высокого уровня |
PureScript | Маленький строго статически типизированный язык с выразительными типами |
Tcl | Динамический язык, основанный на концепциях оболочек Lisp, C и Unix |
Eiffel | Объектно-ориентированный язык |
ClojureScript | Компилятор для Clojure, ориентированный на JavaScript |
QML | Иерархический декларативный язык для макета пользовательского интерфейса с синтаксисом JSON |
VHDL | Очень высокоскоростная интегральная схема, язык описания аппаратного обеспечения |
% PDF-1.