Спец курс (Избранные главы VHDL)/Вспомним VHDL — различия между версиями
Материал из Wiki
Vidokq (обсуждение | вклад) (→Слайд: Горчие клавиши) |
Vidokq (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
<slideshow style="custis" headingmark="Слайд:" incmark=":step" scaled="true"> | <slideshow style="custis" headingmark="Слайд:" incmark=":step" scaled="true"> | ||
| − | ;title: | + | ;title: '''Вспомнить все...''' |
;author: Зайцев В.С. | ;author: Зайцев В.С. | ||
</slideshow> | </slideshow> | ||
| Строка 37: | Строка 37: | ||
</source> | </source> | ||
=== Слайд: Entity === | === Слайд: Entity === | ||
| + | <slides split="-----" width="400"> | ||
<div class="tleft" style="clear:none">[[Файл:Пример_entity.jpg|600px|Entity]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_entity.jpg|600px|Entity]]</div> | ||
| + | ----- | ||
<div class="tleft" style="clear:none">[[Файл:Пример_entity_код.jpg|600px|Entity]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_entity_код.jpg|600px|Entity]]</div> | ||
| + | </slides> | ||
<br clear="all" /> | <br clear="all" /> | ||
| Строка 46: | Строка 49: | ||
end beh;</source> | end beh;</source> | ||
===Слайд:Architecture=== | ===Слайд:Architecture=== | ||
| + | <slides split="-----" width="400"> | ||
<div class="tleft" style="clear:none">[[Файл:Пример_architecture.jpg|600px|architecture]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_architecture.jpg|600px|architecture]]</div> | ||
| + | ----- | ||
<div class="tleft" style="clear:none">[[Файл:Пример_architecture_код.jpg|600px|architecture]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_architecture_код.jpg|600px|architecture]]</div> | ||
| + | |||
| + | </slides> | ||
<br clear="all" /> | <br clear="all" /> | ||
| Строка 77: | Строка 84: | ||
<div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew"> | <div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew"> | ||
<div class="tleft" style="clear:none">[[Файл:When_else_code.jpg|when else code]]</div> | <div class="tleft" style="clear:none">[[Файл:When_else_code.jpg|when else code]]</div> | ||
| − | |||
<br clear="all" /> | <br clear="all" /> | ||
</div> | </div> | ||
| Строка 83: | Строка 89: | ||
==Слайд:Работа с редактором EMACS== | ==Слайд:Работа с редактором EMACS== | ||
'''''{{Сн|Emacs }}(Ема́кс, Е́макс, также И́макс) — семейство многофункциональных расширяемых текстовых редакторов.''''' | '''''{{Сн|Emacs }}(Ема́кс, Е́макс, также И́макс) — семейство многофункциональных расширяемых текстовых редакторов.''''' | ||
| + | |||
| + | <slides split="-----" width="400"> | ||
| + | [[Файл:Марк Цукерберг фото емакс]] | ||
| + | </slides> | ||
| + | |||
===Слайд: Первый запуск === | ===Слайд: Первый запуск === | ||
| + | Команда для запуска | ||
| + | '''emacs''' | ||
| + | [[Файл:Emacs_view.jpg]] | ||
===Слайд: Горчие клавиши === | ===Слайд: Горчие клавиши === | ||
| Строка 166: | Строка 180: | ||
| paste | | paste | ||
| Ctrl-Y | | Ctrl-Y | ||
| − | | | + | | shell |
| − | | | + | | M-x shell |
|} | |} | ||
| − | ===Слайд: Возможности === | + | ===Слайд: Возможности :step=== |
| + | |||
| + | * Знает и подскажет <big>{{Сн|'''базовые конструкции'''}}</big> | ||
| + | * Подсветка <big>{{Сн|'''синтаксиса'''}}</big> | ||
| + | * <big>{{Сн|'''Анализ'''}}</big> существующего {{Сн|<big>'''кода'''</big>}} и добавление уже написанных "слов" | ||
| + | * Автоматическая генерация кода простейшего <big>{{Сн|'''тестового окружения'''}}</big> | ||
| + | * Добавление декларации <big>{{Сн|'''component'''}}</big> | ||
| + | * Добавление декларации <big>{{Сн|'''instance'''}}</big> | ||
| + | * Добавление декларации <big>{{Сн|'''signal'''}}</big> | ||
| + | * Возможность работы с <big>{{Сн|'''консолью'''}}</big> | ||
| + | * Возможность работы с <big>{{Сн|'''с несколькими окнами одновременно'''}}</big> | ||
| + | * И многое, многое другое полезное. | ||
| + | |||
| + | |||
| + | ==Слайд: Работа с системой моделирования QuestaSim от Mentor Graphics :step == | ||
| + | |||
| + | * {{Ор|<big>Где моделировать?</big>}} | ||
| + | * <big>{{Зел|'''''QuestaSIM'''''}}</big> | ||
| + | * Язык {{Сн|'''VHDL, Verilog, SystemC, SystemVerilog'''}} | ||
| + | * Смешанное моделирование (все что выше + {{Кр|'''Spice'''}}) | ||
| + | * Автоматизация (поддерживаются скрипты TCL) | ||
| + | * Работа по сети (JobSpy сервер) | ||
| + | * Мощнейший инструмент верификации | ||
| + | ** '''Покрытие''' кода | ||
| + | ** '''Покрытие''' переходов | ||
| + | ** '''Проверка''' значений | ||
| + | ** Поддержка пакетов и стандарта '''верификации''' OVM | ||
| + | * Пакет моделирования подключается и в '''MentorGraphics''' и в '''Cadence''' | ||
| + | |||
| + | |||
| + | |||
| + | ===Слайд: Запуск QuestaSim === | ||
| + | {{Фио|<big>'''vsim'''</big>}} | ||
| − | + | [[Файл:Questa_adms_ex.jpg|700px|Окно программы QuestaSim]] | |
| − | + | # Создание библиотеки | |
| − | + | ## {{Сн|'''<big>vlib</big>'''}} | |
| − | + | # Компиляция кода | |
| − | + | ## {{Сн|'''<big>vcom</big>'''}} | |
| − | + | # Запуск моделирования | |
| − | + | ## {{Сн|'''<big>vsim</big>'''}} | |
| + | # Добавление сигналов | ||
| + | ## {{Сн|'''<big>add wave</big>'''}} | ||
| + | # Запуск исполнения и просмотр результата | ||
| + | ## {{Сн|'''<big>run</big>'''}} | ||
Версия 14:58, 18 сентября 2012
- Заголовок
- Вспомнить все...
- Автор
- Зайцев В.С.
- Нижний колонтитул
- Спец курс (Избранные главы VHDL)/Вспомним VHDL
- Дополнительный нижний колонтитул
- Зайцев В.С., 00:27, 29 сентября 2015
Содержание |
Слайд:Языки описания аппаратуры
- С начала 70-х годов стала актуальна проблема создания стандартного средства документации схем и алгоритмов дискретных систем переработки информации, пригодных как для восприятия человеком, так и для обработки в ЭВМ.
- Этим средством явились языки VHDL и Verilog
- Стандартность (лучше плохой, чем никакого)
- Многоаспектность и многоуровневость
- Схемы
- Тестовые окружения
- Диапазон детализации
- Человеко-машинность
- Язык описания
- Средство документирования
- Было много предшественников
- «МОДИС », «Автокод», «Модис-В78», «MPL», «OCC-2», «Форос», «Алгоритмы», «Пульс», «Симпатия»
- CDL, DDL, ISPS, CONLAN, HILO
VHDL-основные конструкции
Entity
library ieee; use ieee.std_logic_1164.all; entity xc is port ( clk : in std_logic; d : out std_logic); end xc;
Слайд: Entity
Architecture
architecture beh of trig is begin -- beh end beh;
Слайд:Architecture
Process
trig_process: process (clk, rst) begin -- process trig_process if rst = '0' then -- asynchronous reset (active low) data_out <= '0'; elsif clk'event and clk = '1' then -- rising clock edge data_out <= data_in; end if; end process trig_process;
Слайд: Process
When Else
t1 <= not t1 when clk'event and clk = '1' else t1;
Слайд:When Else
Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, Leonardo Spectrum синтезирует данную конструкцию, а в ранних версиях Synopsys`а эта запись не поддерживалась.
Слайд:Работа с редактором EMACS
Emacs (Ема́кс, Е́макс, также И́макс) — семейство многофункциональных расширяемых текстовых редакторов.
Слайд: Первый запуск
Команда для запуска
emacs
Слайд: Горчие клавиши
| Действие | Hot key | Действие | Hot key |
|---|---|---|---|
| command mode | Alt-X | open file | Ctrl-X Ctrl-F |
| insert file | Ctrl-Xi | save file | Ctrl-X Ctrl-S |
| save as file | Ctrl-X Ctrl-W name | close file | Ctrl-XK |
| change buffer | Ctrl-XB | undo | Ctrl-XU, Ctrl-_ |
| redo | Ctrl-^ | exit | Ctrl-X Ctrl-C |
| word left | Alt-B | word right | Alt-F |
| start of line | Ctrl-A | end of line | Ctrl-E |
| page up | Alt-V | page down | Ctrl-V |
| start of buffer | Alt-< | end of buffer | Alt-> |
| line n | Alt-G n. | word left | Alt-DEL |
| word right | Alt-D | end of line | Ctrl-K |
| line | Ctrl-A Ctrl-K | search | Ctrl-S text |
| replace | Alt-% | start selection | Ctrl-SPACE |
| cut | Ctrl-W | copy | Alt-W |
| paste | Ctrl-Y | shell | M-x shell |
Слайд: Возможности :step
- Знает и подскажет базовые конструкции
- Подсветка синтаксиса
- Анализ существующего кода и добавление уже написанных "слов"
- Автоматическая генерация кода простейшего тестового окружения
- Добавление декларации component
- Добавление декларации instance
- Добавление декларации signal
- Возможность работы с консолью
- Возможность работы с с несколькими окнами одновременно
- И многое, многое другое полезное.
Слайд: Работа с системой моделирования QuestaSim от Mentor Graphics :step
- Где моделировать?
- QuestaSIM
- Язык VHDL, Verilog, SystemC, SystemVerilog
- Смешанное моделирование (все что выше + Spice)
- Автоматизация (поддерживаются скрипты TCL)
- Работа по сети (JobSpy сервер)
- Мощнейший инструмент верификации
- Покрытие кода
- Покрытие переходов
- Проверка значений
- Поддержка пакетов и стандарта верификации OVM
- Пакет моделирования подключается и в MentorGraphics и в Cadence
Слайд: Запуск QuestaSim
vsim
- Создание библиотеки
- vlib
- Компиляция кода
- vcom
- Запуск моделирования
- vsim
- Добавление сигналов
- add wave
- Запуск исполнения и просмотр результата
- run




